diff --git a/Makefile b/Makefile index 6bcfbcd..5309a04 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ PHPFILE=example.php -all: compile fmt build run +all: compile fmt build fmt: find . -type f -iregex '.*\.go' -exec gofmt -l -s -w '{}' + @@ -9,9 +9,6 @@ build: go generate ./... go build ./cmd/... -run: - ./php-parser -d go $(PHPFILE) - test: go test ./... @@ -22,7 +19,7 @@ bench: go test -benchmem -bench=. ./internal/php5 go test -benchmem -bench=. ./internal/php7 -compile: ./internal/php5/php5.go ./internal/php7/php7.go ./internal/scanner/scanner.go fmt +compile: ./internal/php5/php5.go ./internal/php7/php7.go ./internal/scanner/scanner.go sed -i '' -e 's/yyErrorVerbose = false/yyErrorVerbose = true/g' ./internal/php7/php7.go sed -i '' -e 's/yyErrorVerbose = false/yyErrorVerbose = true/g' ./internal/php5/php5.go sed -i '' -e 's/\/\/line/\/\/ line/g' ./internal/php5/php5.go diff --git a/internal/php5/parser.go b/internal/php5/parser.go index ee75429..84015d2 100644 --- a/internal/php5/parser.go +++ b/internal/php5/parser.go @@ -1,6 +1,7 @@ package php5 import ( + builder "github.com/z7zmey/php-parser/internal/position" "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/errors" @@ -13,6 +14,7 @@ type Parser struct { currentToken *token.Token rootNode ast.Vertex errHandlerFunc func(*errors.Error) + builder *builder.Builder } // NewParser creates and returns new Parser @@ -20,6 +22,7 @@ func NewParser(lexer *scanner.Lexer, errHandlerFunc func(*errors.Error)) *Parser return &Parser{ Lexer: lexer, errHandlerFunc: errHandlerFunc, + builder: builder.NewBuilder(), } } diff --git a/internal/php5/php5.go b/internal/php5/php5.go index cf203cf..24fa23b 100644 --- a/internal/php5/php5.go +++ b/internal/php5/php5.go @@ -10,12 +10,11 @@ import __yyfmt__ "fmt" import ( "strconv" - "github.com/z7zmey/php-parser/internal/position" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/token" ) -// line internal/php5/php5.y:14 +// line internal/php5/php5.y:13 type yySymType struct { yys int node ast.Vertex @@ -340,7 +339,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php5/php5.y:5637 +// line internal/php5/php5.y:5636 // line yacctab:1 var yyExca = [...]int{ @@ -2314,17 +2313,17 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:267 + // line internal/php5/php5.y:266 { yylex.(*Parser).rootNode = &ast.Root{ - Position: position.NewNodeListPosition(yyDollar[1].list), + Position: yylex.(*Parser).builder.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:278 + // line internal/php5/php5.y:277 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2332,18 +2331,18 @@ yydefault: } case 3: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:284 + // line internal/php5/php5.y:283 { yyVAL.list = []ast.Vertex{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:291 + // line internal/php5/php5.y:290 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.NameNamePart{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -2352,10 +2351,10 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:303 + // line internal/php5/php5.y:302 { part := &ast.NameNamePart{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), StringTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, } @@ -2367,35 +2366,35 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:319 + // line internal/php5/php5.y:318 { // error yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:324 + // line internal/php5/php5.y:323 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:328 + // line internal/php5/php5.y:327 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:332 + // line internal/php5/php5.y:331 { yyVAL.node = yyDollar[1].node } case 10: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:336 + // line internal/php5/php5.y:335 { yyVAL.node = &ast.StmtHaltCompiler{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), HaltCompilerTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, CloseParenthesisTkn: yyDollar[3].token, @@ -2404,13 +2403,13 @@ yydefault: } case 11: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:346 + // line internal/php5/php5.y:345 { yyVAL.node = &ast.StmtNamespace{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), NsTkn: yyDollar[1].token, Name: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2419,13 +2418,13 @@ yydefault: } case 12: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:359 + // line internal/php5/php5.y:358 { yyVAL.node = &ast.StmtNamespace{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), NsTkn: yyDollar[1].token, Name: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2436,10 +2435,10 @@ yydefault: } case 13: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:374 + // line internal/php5/php5.y:373 { yyVAL.node = &ast.StmtNamespace{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsTkn: yyDollar[1].token, OpenCurlyBracket: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -2448,10 +2447,10 @@ yydefault: } case 14: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:384 + // line internal/php5/php5.y:383 { yyVAL.node = &ast.StmtUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -2460,13 +2459,13 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:394 + // line internal/php5/php5.y:393 { yyVAL.node = &ast.StmtUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), UseTkn: yyDollar[1].token, Type: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -2477,13 +2476,13 @@ yydefault: } case 16: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:409 + // line internal/php5/php5.y:408 { yyVAL.node = &ast.StmtUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), UseTkn: yyDollar[1].token, Type: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -2494,15 +2493,15 @@ yydefault: } case 17: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:424 + // line internal/php5/php5.y:423 { yyDollar[1].node.(*ast.StmtConstList).SemiColonTkn = yyDollar[2].token - yyDollar[1].node.(*ast.StmtConstList).Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) + yyDollar[1].node.(*ast.StmtConstList).Position = yylex.(*Parser).builder.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:433 + // line internal/php5/php5.y:432 { 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) @@ -2511,7 +2510,7 @@ yydefault: } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:440 + // line internal/php5/php5.y:439 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2519,12 +2518,12 @@ yydefault: } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:449 + // line internal/php5/php5.y:448 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2532,18 +2531,18 @@ yydefault: } case 21: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:460 + // line internal/php5/php5.y:459 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -2551,13 +2550,13 @@ yydefault: } case 22: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:477 + // line internal/php5/php5.y:476 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2565,19 +2564,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:489 + // line internal/php5/php5.y:488 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -2585,7 +2584,7 @@ yydefault: } case 24: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:510 + // line internal/php5/php5.y:509 { 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) @@ -2594,7 +2593,7 @@ yydefault: } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:517 + // line internal/php5/php5.y:516 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2602,12 +2601,12 @@ yydefault: } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:526 + // line internal/php5/php5.y:525 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2615,18 +2614,18 @@ yydefault: } case 27: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:537 + // line internal/php5/php5.y:536 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -2634,13 +2633,13 @@ yydefault: } case 28: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:554 + // line internal/php5/php5.y:553 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2648,19 +2647,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:566 + // line internal/php5/php5.y:565 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -2668,7 +2667,7 @@ yydefault: } case 30: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:587 + // line internal/php5/php5.y:586 { 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) @@ -2677,7 +2676,7 @@ yydefault: } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:594 + // line internal/php5/php5.y:593 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2685,12 +2684,12 @@ yydefault: } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:603 + // line internal/php5/php5.y:602 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2698,18 +2697,18 @@ yydefault: } case 33: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:614 + // line internal/php5/php5.y:613 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -2717,13 +2716,13 @@ yydefault: } case 34: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:631 + // line internal/php5/php5.y:630 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2731,19 +2730,19 @@ yydefault: } case 35: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:643 + // line internal/php5/php5.y:642 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -2751,15 +2750,15 @@ yydefault: } case 36: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:664 + // line internal/php5/php5.y:663 { constList := yyDollar[1].node.(*ast.StmtConstList) - constList.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) + constList.Position = yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) constList.SeparatorTkns = append(constList.SeparatorTkns, yyDollar[2].token) constList.Consts = append(constList.Consts, &ast.StmtConstant{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Name: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -2771,16 +2770,16 @@ yydefault: } case 37: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:682 + // line internal/php5/php5.y:681 { yyVAL.node = &ast.StmtConstList{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), ConstTkn: yyDollar[1].token, Consts: []ast.Vertex{ &ast.StmtConstant{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), Name: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -2792,7 +2791,7 @@ yydefault: } case 38: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:704 + // line internal/php5/php5.y:703 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2800,41 +2799,41 @@ yydefault: } case 39: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:710 + // line internal/php5/php5.y:709 { yyVAL.list = []ast.Vertex{} } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:718 + // line internal/php5/php5.y:717 { // error yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:723 + // line internal/php5/php5.y:722 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:727 + // line internal/php5/php5.y:726 { yyVAL.node = yyDollar[1].node } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:731 + // line internal/php5/php5.y:730 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:735 + // line internal/php5/php5.y:734 { yyVAL.node = &ast.StmtHaltCompiler{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), HaltCompilerTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, CloseParenthesisTkn: yyDollar[3].token, @@ -2843,18 +2842,18 @@ yydefault: } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:749 + // line internal/php5/php5.y:748 { yyVAL.node = yyDollar[1].node } case 46: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:753 + // line internal/php5/php5.y:752 { yyVAL.node = &ast.StmtLabel{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), LabelName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -2863,10 +2862,10 @@ yydefault: } case 47: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:768 + // line internal/php5/php5.y:767 { yyVAL.node = &ast.StmtStmtList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracket: yyDollar[1].token, Stmts: yyDollar[2].list, CloseCurlyBracket: yyDollar[3].token, @@ -2874,13 +2873,13 @@ yydefault: } case 48: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:777 + // line internal/php5/php5.y:776 { - pos := position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) + pos := yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) if yyDollar[5].node != nil { - pos = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + pos = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) } else if len(yyDollar[4].list) > 0 { - pos = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[4].list) + pos = yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[4].list) } yyVAL.node = &ast.StmtIf{ @@ -2896,10 +2895,10 @@ yydefault: } case 49: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:797 + // line internal/php5/php5.y:796 { yyVAL.node = &ast.StmtIf{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), Alt: true, IfTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn, @@ -2907,7 +2906,7 @@ yydefault: CloseParenthesisTkn: yyDollar[2].node.(*ast.ParserBrackets).CloseBracketTkn, ColonTkn: yyDollar[3].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[4].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[4].list), Stmts: yyDollar[4].list, }, ElseIf: yyDollar[5].list, @@ -2918,22 +2917,22 @@ yydefault: } case 50: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:817 + // line internal/php5/php5.y:816 { 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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) + yyDollar[3].node.(*ast.StmtWhile).Position = yylex.(*Parser).builder.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:827 + // line internal/php5/php5.y:826 { yyVAL.node = &ast.StmtDo{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), DoTkn: yyDollar[1].token, Stmt: yyDollar[2].node, WhileTkn: yyDollar[3].token, @@ -2945,7 +2944,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:840 + // line internal/php5/php5.y:839 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -2958,38 +2957,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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) + yyDollar[9].node.(*ast.StmtFor).Position = yylex.(*Parser).builder.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:857 + // line internal/php5/php5.y:856 { 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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) + yyDollar[3].node.(*ast.StmtSwitch).Position = yylex.(*Parser).builder.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:867 + // line internal/php5/php5.y:866 { yyVAL.node = &ast.StmtBreak{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:875 + // line internal/php5/php5.y:874 { yyVAL.node = &ast.StmtBreak{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), BreakTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -2997,20 +2996,20 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:884 + // line internal/php5/php5.y:883 { yyVAL.node = &ast.StmtContinue{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:892 + // line internal/php5/php5.y:891 { yyVAL.node = &ast.StmtContinue{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ContinueTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3018,20 +3017,20 @@ yydefault: } case 58: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:901 + // line internal/php5/php5.y:900 { yyVAL.node = &ast.StmtReturn{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:909 + // line internal/php5/php5.y:908 { yyVAL.node = &ast.StmtReturn{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ReturnTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3039,10 +3038,10 @@ yydefault: } case 60: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:918 + // line internal/php5/php5.y:917 { yyVAL.node = &ast.StmtReturn{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ReturnTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3050,81 +3049,81 @@ yydefault: } case 61: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:927 + // line internal/php5/php5.y:926 { yyVAL.node = &ast.StmtExpression{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:935 + // line internal/php5/php5.y:934 { 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).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtGlobal).Position = yylex.(*Parser).builder.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:944 + // line internal/php5/php5.y:943 { 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).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtStatic).Position = yylex.(*Parser).builder.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:953 + // line internal/php5/php5.y:952 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token - yyDollar[2].node.(*ast.StmtEcho).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtEcho).Position = yylex.(*Parser).builder.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:961 + // line internal/php5/php5.y:960 { yyVAL.node = &ast.StmtInlineHtml{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:969 + // line internal/php5/php5.y:968 { yyVAL.node = &ast.StmtExpression{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:977 + // line internal/php5/php5.y:976 { 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).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) + yyDollar[3].node.(*ast.StmtUnset).Position = yylex.(*Parser).builder.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:987 + // line internal/php5/php5.y:986 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3138,13 +3137,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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node) + yyDollar[8].node.(*ast.StmtForeach).Position = yylex.(*Parser).builder.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:1005 + // line internal/php5/php5.y:1004 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3158,39 +3157,39 @@ 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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node) + yyDollar[8].node.(*ast.StmtForeach).Position = yylex.(*Parser).builder.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:1023 + // line internal/php5/php5.y:1022 { 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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + yyDollar[5].node.(*ast.StmtDeclare).Position = yylex.(*Parser).builder.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:1034 + // line internal/php5/php5.y:1033 { yyVAL.node = &ast.StmtNop{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 72: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1041 + // line internal/php5/php5.y:1040 { - pos := position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list) + pos := yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list) if yyDollar[6].node != nil { - pos = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) + pos = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) } yyVAL.node = &ast.StmtTry{ @@ -3205,10 +3204,10 @@ yydefault: } case 73: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1058 + // line internal/php5/php5.y:1057 { yyVAL.node = &ast.StmtThrow{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ThrowTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3216,13 +3215,13 @@ yydefault: } case 74: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1067 + // line internal/php5/php5.y:1066 { yyVAL.node = &ast.StmtGoto{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), GotoTkn: yyDollar[1].token, Label: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3231,23 +3230,23 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1083 + // line internal/php5/php5.y:1082 { yyVAL.list = []ast.Vertex{} } case 76: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1087 + // line internal/php5/php5.y:1086 { catch := &ast.StmtCatch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), CatchTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Types: []ast.Vertex{yyDollar[3].node}, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -3261,16 +3260,16 @@ yydefault: } case 77: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1112 + // line internal/php5/php5.y:1111 { yyVAL.node = nil } case 78: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1116 + // line internal/php5/php5.y:1115 { yyVAL.node = &ast.StmtFinally{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), FinallyTkn: yyDollar[1].token, OpenCurlyBracketTkn: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -3279,41 +3278,41 @@ yydefault: } case 79: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1129 + // line internal/php5/php5.y:1128 { yyVAL.list = yyDollar[1].list } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1133 + // line internal/php5/php5.y:1132 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1140 + // line internal/php5/php5.y:1139 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 82: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1144 + // line internal/php5/php5.y:1143 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 83: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1151 + // line internal/php5/php5.y:1150 { yyVAL.node = &ast.StmtCatch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), CatchTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Types: []ast.Vertex{yyDollar[3].node}, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -3326,7 +3325,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1175 + // line internal/php5/php5.y:1174 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3334,7 +3333,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1181 + // line internal/php5/php5.y:1180 { 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) @@ -3343,56 +3342,56 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1191 + // line internal/php5/php5.y:1190 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1198 + // line internal/php5/php5.y:1197 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1205 + // line internal/php5/php5.y:1204 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1212 + // line internal/php5/php5.y:1211 { yyVAL.token = nil } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1216 + // line internal/php5/php5.y:1215 { yyVAL.token = yyDollar[1].token } case 91: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1223 + // line internal/php5/php5.y:1222 { yyVAL.token = nil } case 92: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1227 + // line internal/php5/php5.y:1226 { yyVAL.token = yyDollar[1].token } case 93: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1234 + // line internal/php5/php5.y:1233 { yyVAL.node = &ast.StmtFunction{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[9].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token), FunctionTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, FunctionName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3407,13 +3406,13 @@ yydefault: } case 94: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php5/php5.y:1257 + // line internal/php5/php5.y:1256 { switch n := yyDollar[1].node.(type) { case *ast.StmtClass: - n.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[7].token) + n.Position = yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[7].token) n.ClassName = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, } @@ -3423,9 +3422,9 @@ yydefault: n.Stmts = yyDollar[6].list n.CloseCurlyBracket = yyDollar[7].token case *ast.StmtTrait: - n.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[7].token) + n.Position = yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[7].token) n.TraitName = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, } @@ -3440,13 +3439,13 @@ yydefault: } case 95: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1288 + // line internal/php5/php5.y:1287 { yyVAL.node = &ast.StmtInterface{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), InterfaceTkn: yyDollar[1].token, InterfaceName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3458,22 +3457,22 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1308 + // line internal/php5/php5.y:1307 { yyVAL.node = &ast.StmtClass{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), ClassTkn: yyDollar[1].token, } } case 97: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1315 + // line internal/php5/php5.y:1314 { yyVAL.node = &ast.StmtClass{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), Modifiers: []ast.Vertex{ &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3483,22 +3482,22 @@ yydefault: } case 98: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1329 + // line internal/php5/php5.y:1328 { yyVAL.node = &ast.StmtTrait{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), TraitTkn: yyDollar[1].token, } } case 99: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1336 + // line internal/php5/php5.y:1335 { yyVAL.node = &ast.StmtClass{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), Modifiers: []ast.Vertex{ &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3508,38 +3507,38 @@ yydefault: } case 100: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1353 + // line internal/php5/php5.y:1352 { yyVAL.node = nil } case 101: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1357 + // line internal/php5/php5.y:1356 { yyVAL.node = &ast.StmtClassExtends{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1368 + // line internal/php5/php5.y:1367 { yyVAL.token = yyDollar[1].token } case 103: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1375 + // line internal/php5/php5.y:1374 { yyVAL.node = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1379 + // line internal/php5/php5.y:1378 { yyVAL.node = &ast.StmtInterfaceExtends{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -3547,16 +3546,16 @@ yydefault: } case 105: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1391 + // line internal/php5/php5.y:1390 { yyVAL.node = nil } case 106: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1395 + // line internal/php5/php5.y:1394 { yyVAL.node = &ast.StmtClassImplements{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -3564,7 +3563,7 @@ yydefault: } case 107: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1407 + // line internal/php5/php5.y:1406 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3572,7 +3571,7 @@ yydefault: } case 108: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1413 + // line internal/php5/php5.y:1412 { 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) @@ -3581,13 +3580,13 @@ yydefault: } case 109: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1423 + // line internal/php5/php5.y:1422 { yyVAL.node = nil } case 110: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1427 + // line internal/php5/php5.y:1426 { yyVAL.node = &ast.StmtForeach{ DoubleArrowTkn: yyDollar[1].token, @@ -3596,23 +3595,23 @@ yydefault: } case 111: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1437 + // line internal/php5/php5.y:1436 { yyVAL.node = yyDollar[1].node } case 112: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1441 + // line internal/php5/php5.y:1440 { yyVAL.node = &ast.ExprReference{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1449 + // line internal/php5/php5.y:1448 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -3622,7 +3621,7 @@ yydefault: } yyVAL.node = &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -3632,23 +3631,23 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1470 + // line internal/php5/php5.y:1469 { yyVAL.node = &ast.StmtFor{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } case 115: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1477 + // line internal/php5/php5.y:1476 { yyVAL.node = &ast.StmtFor{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[2].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].list), Stmts: yyDollar[2].list, }, EndForTkn: yyDollar[3].token, @@ -3657,23 +3656,23 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1494 + // line internal/php5/php5.y:1493 { yyVAL.node = &ast.StmtForeach{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } case 117: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1501 + // line internal/php5/php5.y:1500 { yyVAL.node = &ast.StmtForeach{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[2].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].list), Stmts: yyDollar[2].list, }, EndForeachTkn: yyDollar[3].token, @@ -3682,23 +3681,23 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1519 + // line internal/php5/php5.y:1518 { yyVAL.node = &ast.StmtDeclare{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } case 119: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1526 + // line internal/php5/php5.y:1525 { yyVAL.node = &ast.StmtDeclare{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[2].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].list), Stmts: yyDollar[2].list, }, EndDeclareTkn: yyDollar[3].token, @@ -3707,14 +3706,14 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1544 + // line internal/php5/php5.y:1543 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtConstant{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Name: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3726,15 +3725,15 @@ yydefault: } case 121: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1561 + // line internal/php5/php5.y:1560 { 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{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Name: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3747,10 +3746,10 @@ yydefault: } case 122: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1584 + // line internal/php5/php5.y:1583 { yyVAL.node = &ast.StmtSwitch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracketTkn: yyDollar[1].token, CaseList: yyDollar[2].list, CloseCurlyBracketTkn: yyDollar[3].token, @@ -3758,10 +3757,10 @@ yydefault: } case 123: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1593 + // line internal/php5/php5.y:1592 { yyVAL.node = &ast.StmtSwitch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), OpenCurlyBracketTkn: yyDollar[1].token, CaseSeparatorTkn: yyDollar[2].token, CaseList: yyDollar[3].list, @@ -3770,10 +3769,10 @@ yydefault: } case 124: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1603 + // line internal/php5/php5.y:1602 { yyVAL.node = &ast.StmtSwitch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, CaseList: yyDollar[2].list, @@ -3783,10 +3782,10 @@ yydefault: } case 125: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1614 + // line internal/php5/php5.y:1613 { yyVAL.node = &ast.StmtSwitch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), Alt: true, ColonTkn: yyDollar[1].token, CaseSeparatorTkn: yyDollar[2].token, @@ -3797,16 +3796,16 @@ yydefault: } case 126: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1630 + // line internal/php5/php5.y:1629 { yyVAL.list = nil } case 127: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1634 + // line internal/php5/php5.y:1633 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), CaseTkn: yyDollar[2].token, Cond: yyDollar[3].node, CaseSeparatorTkn: yyDollar[4].token, @@ -3815,10 +3814,10 @@ yydefault: } case 128: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1644 + // line internal/php5/php5.y:1643 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), DefaultTkn: yyDollar[2].token, CaseSeparatorTkn: yyDollar[3].token, Stmts: yyDollar[4].list, @@ -3826,35 +3825,35 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1657 + // line internal/php5/php5.y:1656 { yyVAL.token = yyDollar[1].token } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1661 + // line internal/php5/php5.y:1660 { yyVAL.token = yyDollar[1].token } case 131: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1669 + // line internal/php5/php5.y:1668 { yyVAL.node = &ast.StmtWhile{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } case 132: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1676 + // line internal/php5/php5.y:1675 { yyVAL.node = &ast.StmtWhile{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[2].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].list), Stmts: yyDollar[2].list, }, EndWhileTkn: yyDollar[3].token, @@ -3863,16 +3862,16 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1695 + // line internal/php5/php5.y:1694 { yyVAL.list = nil } case 134: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1699 + // line internal/php5/php5.y:1698 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.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, @@ -3882,16 +3881,16 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1714 + // line internal/php5/php5.y:1713 { yyVAL.list = nil } case 136: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1718 + // line internal/php5/php5.y:1717 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), Alt: true, ElseIfTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].node.(*ast.ParserBrackets).OpenBracketTkn, @@ -3899,63 +3898,63 @@ yydefault: CloseParenthesisTkn: yyDollar[3].node.(*ast.ParserBrackets).CloseBracketTkn, ColonTkn: yyDollar[4].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[5].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[5].list), Stmts: yyDollar[5].list, }, }) } case 137: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1738 + // line internal/php5/php5.y:1737 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1742 + // line internal/php5/php5.y:1741 { yyVAL.node = &ast.StmtElse{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1754 + // line internal/php5/php5.y:1753 { yyVAL.node = nil } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1758 + // line internal/php5/php5.y:1757 { yyVAL.node = &ast.StmtElse{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list), Alt: true, ElseTkn: yyDollar[1].token, ColonTkn: yyDollar[2].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[3].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[3].list), Stmts: yyDollar[3].list, }, } } case 141: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1775 + // line internal/php5/php5.y:1774 { yyVAL.node = yyDollar[1].node } case 142: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1779 + // line internal/php5/php5.y:1778 { yyVAL.node = &ast.ParserSeparatedList{} } case 143: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1786 + // line internal/php5/php5.y:1785 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3963,7 +3962,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1792 + // line internal/php5/php5.y:1791 { 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) @@ -3972,15 +3971,15 @@ yydefault: } case 145: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1802 + // line internal/php5/php5.y:1801 { - pos := position.NewTokenPosition(yyDollar[4].token) + pos := yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token) if yyDollar[1].node != nil { - pos = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) + pos = yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) } else if yyDollar[2].token != nil { - pos = position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token) + pos = yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token) } else if yyDollar[3].token != nil { - pos = position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) + pos = yylex.(*Parser).builder.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) } yyVAL.node = &ast.Parameter{ @@ -3989,9 +3988,9 @@ yydefault: AmpersandTkn: yyDollar[2].token, VariadicTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4000,15 +3999,15 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1828 + // line internal/php5/php5.y:1827 { - pos := position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) + pos := yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) if yyDollar[1].node != nil { - pos = position.NewNodesPosition(yyDollar[1].node, yyDollar[6].node) + pos = yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node) } else if yyDollar[2].token != nil { - pos = position.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node) + pos = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node) } else if yyDollar[3].token != nil { - pos = position.NewTokenNodePosition(yyDollar[3].token, yyDollar[6].node) + pos = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[6].node) } yyVAL.node = &ast.Parameter{ @@ -4017,9 +4016,9 @@ yydefault: AmpersandTkn: yyDollar[2].token, VariadicTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4030,52 +4029,52 @@ yydefault: } case 147: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1860 + // line internal/php5/php5.y:1859 { yyVAL.node = nil } case 148: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1864 + // line internal/php5/php5.y:1863 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:1872 + // line internal/php5/php5.y:1871 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:1880 + // line internal/php5/php5.y:1879 { yyVAL.node = yyDollar[1].node } case 151: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1888 + // line internal/php5/php5.y:1887 { yyVAL.node = &ast.ArgumentList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:1896 + // line internal/php5/php5.y:1895 { argumentList := yyDollar[2].node.(*ast.ArgumentList) - argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + argumentList.Position = yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) argumentList.OpenParenthesisTkn = yyDollar[1].token argumentList.CloseParenthesisTkn = yyDollar[3].token @@ -4083,14 +4082,14 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1905 + // line internal/php5/php5.y:1904 { yyVAL.node = &ast.ArgumentList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenParenthesisTkn: yyDollar[1].token, Arguments: []ast.Vertex{ &ast.Argument{ - Position: position.NewNodePosition(yyDollar[2].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[2].node), Expr: yyDollar[2].node, }, }, @@ -4099,7 +4098,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1923 + // line internal/php5/php5.y:1922 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4107,7 +4106,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1929 + // line internal/php5/php5.y:1928 { 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) @@ -4116,45 +4115,45 @@ yydefault: } case 156: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1939 + // line internal/php5/php5.y:1938 { yyVAL.node = &ast.Argument{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Expr: yyDollar[1].node, } } case 157: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1946 + // line internal/php5/php5.y:1945 { yyVAL.node = &ast.Argument{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Expr: yyDollar[1].node, } } case 158: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1953 + // line internal/php5/php5.y:1952 { yyVAL.node = &ast.Argument{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1961 + // line internal/php5/php5.y:1960 { yyVAL.node = &ast.Argument{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1972 + // line internal/php5/php5.y:1971 { 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) @@ -4163,7 +4162,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1979 + // line internal/php5/php5.y:1978 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4171,12 +4170,12 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1989 + // line internal/php5/php5.y:1988 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4184,23 +4183,23 @@ yydefault: } case 163: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2000 + // line internal/php5/php5.y:1999 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2008 + // line internal/php5/php5.y:2007 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), DollarTkn: yyDollar[1].token, VarName: &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), OpenBracketTkn: yyDollar[2].token, Child: yyDollar[3].node, CloseBracketTkn: yyDollar[4].token, @@ -4209,14 +4208,14 @@ yydefault: } case 165: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2025 + // line internal/php5/php5.y:2024 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4228,14 +4227,14 @@ yydefault: } case 166: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2042 + // line internal/php5/php5.y:2041 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4249,16 +4248,16 @@ yydefault: } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2061 + // line internal/php5/php5.y:2060 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{ &ast.StmtStaticVar{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4269,16 +4268,16 @@ yydefault: } case 168: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2079 + // line internal/php5/php5.y:2078 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{ &ast.StmtStaticVar{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4291,22 +4290,22 @@ yydefault: } case 169: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2103 + // line internal/php5/php5.y:2102 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 170: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2107 + // line internal/php5/php5.y:2106 { yyVAL.list = []ast.Vertex{} } case 171: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2115 + // line internal/php5/php5.y:2114 { yyVAL.node = &ast.StmtPropertyList{ - Position: position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -4315,25 +4314,25 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2125 + // line internal/php5/php5.y:2124 { yyDollar[1].node.(*ast.StmtClassConstList).SemiColonTkn = yyDollar[2].token - yyDollar[1].node.(*ast.StmtClassConstList).Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) + yyDollar[1].node.(*ast.StmtClassConstList).Position = yylex.(*Parser).builder.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:2131 + // line internal/php5/php5.y:2130 { yyVAL.node = yyDollar[1].node } case 174: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:2135 + // line internal/php5/php5.y:2134 { - pos := position.NewTokenNodePosition(yyDollar[2].token, yyDollar[8].node) + pos := yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[2].token, yyDollar[8].node) if yyDollar[1].list != nil { - pos = position.NewNodeListNodePosition(yyDollar[1].list, yyDollar[8].node) + pos = yylex.(*Parser).builder.NewNodeListNodePosition(yyDollar[1].list, yyDollar[8].node) } yyVAL.node = &ast.StmtClassMethod{ @@ -4342,7 +4341,7 @@ yydefault: FunctionTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, MethodName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4355,10 +4354,10 @@ yydefault: } case 175: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2162 + // line internal/php5/php5.y:2161 { yyVAL.node = &ast.StmtTraitUse{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.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, @@ -4367,7 +4366,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2175 + // line internal/php5/php5.y:2174 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4375,7 +4374,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2181 + // line internal/php5/php5.y:2180 { 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) @@ -4384,19 +4383,19 @@ yydefault: } case 178: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2191 + // line internal/php5/php5.y:2190 { yyVAL.node = &ast.StmtNop{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 179: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2198 + // line internal/php5/php5.y:2197 { yyVAL.node = &ast.StmtTraitAdaptationList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenParenthesisTkn: yyDollar[1].token, Adaptations: yyDollar[2].list, CloseParenthesisTkn: yyDollar[3].token, @@ -4404,31 +4403,31 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2210 + // line internal/php5/php5.y:2209 { yyVAL.list = nil } case 181: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2214 + // line internal/php5/php5.y:2213 { yyVAL.list = yyDollar[1].list } case 182: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2221 + // line internal/php5/php5.y:2220 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2225 + // line internal/php5/php5.y:2224 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 184: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2232 + // line internal/php5/php5.y:2231 { yyDollar[1].node.(*ast.StmtTraitUsePrecedence).SemiColonTkn = yyDollar[2].token @@ -4436,7 +4435,7 @@ yydefault: } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2238 + // line internal/php5/php5.y:2237 { yyDollar[1].node.(*ast.StmtTraitUseAlias).SemiColonTkn = yyDollar[2].token @@ -4444,10 +4443,10 @@ yydefault: } case 186: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2247 + // line internal/php5/php5.y:2246 { yyVAL.node = &ast.StmtTraitUsePrecedence{ - Position: position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -4456,7 +4455,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2260 + // line internal/php5/php5.y:2259 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4464,7 +4463,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2266 + // line internal/php5/php5.y:2265 { 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) @@ -4473,12 +4472,12 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2276 + // line internal/php5/php5.y:2275 { yyVAL.node = &ast.StmtTraitMethodRef{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), Method: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4486,20 +4485,20 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2287 + // line internal/php5/php5.y:2286 { yyVAL.node = yyDollar[1].node } case 191: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2294 + // line internal/php5/php5.y:2293 { yyVAL.node = &ast.StmtTraitMethodRef{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Trait: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Method: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4507,15 +4506,15 @@ yydefault: } case 192: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2310 + // line internal/php5/php5.y:2309 { yyVAL.node = &ast.StmtTraitUseAlias{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Modifier: yyDollar[3].node, Alias: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4523,10 +4522,10 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2324 + // line internal/php5/php5.y:2323 { yyVAL.node = &ast.StmtTraitUseAlias{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Modifier: yyDollar[3].node, @@ -4534,31 +4533,31 @@ yydefault: } case 194: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2336 + // line internal/php5/php5.y:2335 { yyVAL.node = nil } case 195: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2340 + // line internal/php5/php5.y:2339 { yyVAL.node = yyDollar[1].node } case 196: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2347 + // line internal/php5/php5.y:2346 { yyVAL.node = &ast.StmtNop{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 197: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2354 + // line internal/php5/php5.y:2353 { yyVAL.node = &ast.StmtStmtList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracket: yyDollar[1].token, Stmts: yyDollar[2].list, CloseCurlyBracket: yyDollar[3].token, @@ -4566,17 +4565,17 @@ yydefault: } case 198: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2366 + // line internal/php5/php5.y:2365 { yyVAL.list = yyDollar[1].list } case 199: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2370 + // line internal/php5/php5.y:2369 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4584,98 +4583,98 @@ yydefault: } case 200: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2383 + // line internal/php5/php5.y:2382 { yyVAL.list = nil } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2387 + // line internal/php5/php5.y:2386 { yyVAL.list = yyDollar[1].list } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2394 + // line internal/php5/php5.y:2393 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 203: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2398 + // line internal/php5/php5.y:2397 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 204: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2405 + // line internal/php5/php5.y:2404 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2413 + // line internal/php5/php5.y:2412 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2421 + // line internal/php5/php5.y:2420 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2429 + // line internal/php5/php5.y:2428 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2437 + // line internal/php5/php5.y:2436 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2445 + // line internal/php5/php5.y:2444 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2456 + // line internal/php5/php5.y:2455 { item := &ast.StmtProperty{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4689,14 +4688,14 @@ yydefault: } case 211: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2475 + // line internal/php5/php5.y:2474 { item := &ast.StmtProperty{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4712,16 +4711,16 @@ yydefault: } case 212: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2496 + // line internal/php5/php5.y:2495 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtProperty{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4733,16 +4732,16 @@ yydefault: } case 213: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2515 + // line internal/php5/php5.y:2514 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtProperty{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4755,15 +4754,15 @@ yydefault: } case 214: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2538 + // line internal/php5/php5.y:2537 { constList := yyDollar[1].node.(*ast.StmtClassConstList) - constList.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) + constList.Position = yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) constList.SeparatorTkns = append(constList.SeparatorTkns, yyDollar[2].token) constList.Consts = append(constList.Consts, &ast.StmtConstant{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Name: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4775,16 +4774,16 @@ yydefault: } case 215: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2556 + // line internal/php5/php5.y:2555 { yyVAL.node = &ast.StmtClassConstList{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), ConstTkn: yyDollar[1].token, Consts: []ast.Vertex{ &ast.StmtConstant{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), Name: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -4796,7 +4795,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2578 + // line internal/php5/php5.y:2577 { 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) @@ -4805,7 +4804,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2585 + // line internal/php5/php5.y:2584 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -4813,19 +4812,19 @@ yydefault: } case 218: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2595 + // line internal/php5/php5.y:2594 { yyVAL.node = &ast.ParserSeparatedList{} } case 219: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2599 + // line internal/php5/php5.y:2598 { yyVAL.node = yyDollar[1].node } case 220: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2606 + // line internal/php5/php5.y:2605 { 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) @@ -4834,7 +4833,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2613 + // line internal/php5/php5.y:2612 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4842,22 +4841,22 @@ yydefault: } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2622 + // line internal/php5/php5.y:2621 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2626 + // line internal/php5/php5.y:2625 { yyVAL.list = yyDollar[1].list } case 224: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2633 + // line internal/php5/php5.y:2632 { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -4868,10 +4867,10 @@ yydefault: } case 225: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2645 + // line internal/php5/php5.y:2644 { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), Var: nil, OpenBracketTkn: yyDollar[1].token, Dim: yyDollar[2].node, @@ -4882,41 +4881,41 @@ yydefault: } case 226: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2660 + // line internal/php5/php5.y:2659 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 227: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2664 + // line internal/php5/php5.y:2663 { yyVAL.list = yyDollar[1].list } case 228: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2668 + // line internal/php5/php5.y:2667 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2675 + // line internal/php5/php5.y:2674 { yyVAL.list = nil } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2679 + // line internal/php5/php5.y:2678 { yyVAL.list = yyDollar[1].list } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2686 + // line internal/php5/php5.y:2685 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), NewTkn: yyDollar[1].token, Class: yyDollar[2].node, OpenParenthesisTkn: yyDollar[3].node.(*ast.ArgumentList).OpenParenthesisTkn, @@ -4926,19 +4925,19 @@ yydefault: } } else { yyVAL.node = &ast.ExprNew{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), Class: yyDollar[2].node, } } } case 232: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:2708 + // line internal/php5/php5.y:2707 { yyVAL.node = &ast.ExprAssign{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), Var: &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -4951,10 +4950,10 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2724 + // line internal/php5/php5.y:2723 { yyVAL.node = &ast.ExprAssign{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -4962,10 +4961,10 @@ yydefault: } case 234: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2733 + // line internal/php5/php5.y:2732 { yyVAL.node = &ast.ExprAssignReference{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, @@ -4974,12 +4973,12 @@ yydefault: } case 235: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:2743 + // line internal/php5/php5.y:2742 { var _new *ast.ExprNew if yyDollar[3].token != nil { _new = &ast.ExprNew{ - Position: position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node), NewTkn: yyDollar[4].token, Class: yyDollar[5].node, OpenParenthesisTkn: yyDollar[6].node.(*ast.ArgumentList).OpenParenthesisTkn, @@ -4989,14 +4988,14 @@ yydefault: } } else { _new = &ast.ExprNew{ - Position: position.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node), NewTkn: yyDollar[4].token, Class: yyDollar[5].node, } } yyVAL.node = &ast.ExprAssignReference{ - Position: position.NewNodesPosition(yyDollar[1].node, _new), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, _new), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, @@ -5005,20 +5004,20 @@ yydefault: } case 236: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2772 + // line internal/php5/php5.y:2771 { yyVAL.node = &ast.ExprClone{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2780 + // line internal/php5/php5.y:2779 { yyVAL.node = &ast.ExprAssignPlus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5026,10 +5025,10 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2789 + // line internal/php5/php5.y:2788 { yyVAL.node = &ast.ExprAssignMinus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5037,10 +5036,10 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2798 + // line internal/php5/php5.y:2797 { yyVAL.node = &ast.ExprAssignMul{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5048,10 +5047,10 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2807 + // line internal/php5/php5.y:2806 { yyVAL.node = &ast.ExprAssignPow{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5059,10 +5058,10 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2816 + // line internal/php5/php5.y:2815 { yyVAL.node = &ast.ExprAssignDiv{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5070,10 +5069,10 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2825 + // line internal/php5/php5.y:2824 { yyVAL.node = &ast.ExprAssignConcat{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5081,10 +5080,10 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2834 + // line internal/php5/php5.y:2833 { yyVAL.node = &ast.ExprAssignMod{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5092,10 +5091,10 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2843 + // line internal/php5/php5.y:2842 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5103,10 +5102,10 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2852 + // line internal/php5/php5.y:2851 { yyVAL.node = &ast.ExprAssignBitwiseOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5114,10 +5113,10 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2861 + // line internal/php5/php5.y:2860 { yyVAL.node = &ast.ExprAssignBitwiseXor{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5125,10 +5124,10 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2870 + // line internal/php5/php5.y:2869 { yyVAL.node = &ast.ExprAssignShiftLeft{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5136,10 +5135,10 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2879 + // line internal/php5/php5.y:2878 { yyVAL.node = &ast.ExprAssignShiftRight{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5147,50 +5146,50 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2888 + // line internal/php5/php5.y:2887 { yyVAL.node = &ast.ExprPostInc{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:2896 + // line internal/php5/php5.y:2895 { yyVAL.node = &ast.ExprPreInc{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2904 + // line internal/php5/php5.y:2903 { yyVAL.node = &ast.ExprPostDec{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:2912 + // line internal/php5/php5.y:2911 { yyVAL.node = &ast.ExprPreDec{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2920 + // line internal/php5/php5.y:2919 { yyVAL.node = &ast.ExprBinaryBooleanOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5198,10 +5197,10 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2929 + // line internal/php5/php5.y:2928 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5209,10 +5208,10 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2938 + // line internal/php5/php5.y:2937 { yyVAL.node = &ast.ExprBinaryLogicalOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5220,10 +5219,10 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2947 + // line internal/php5/php5.y:2946 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5231,10 +5230,10 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2956 + // line internal/php5/php5.y:2955 { yyVAL.node = &ast.ExprBinaryLogicalXor{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5242,10 +5241,10 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2965 + // line internal/php5/php5.y:2964 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5253,10 +5252,10 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2974 + // line internal/php5/php5.y:2973 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5264,10 +5263,10 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2983 + // line internal/php5/php5.y:2982 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5275,10 +5274,10 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2992 + // line internal/php5/php5.y:2991 { yyVAL.node = &ast.ExprBinaryConcat{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5286,10 +5285,10 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3001 + // line internal/php5/php5.y:3000 { yyVAL.node = &ast.ExprBinaryPlus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5297,10 +5296,10 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3010 + // line internal/php5/php5.y:3009 { yyVAL.node = &ast.ExprBinaryMinus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5308,10 +5307,10 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3019 + // line internal/php5/php5.y:3018 { yyVAL.node = &ast.ExprBinaryMul{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5319,10 +5318,10 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3028 + // line internal/php5/php5.y:3027 { yyVAL.node = &ast.ExprBinaryPow{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5330,10 +5329,10 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3037 + // line internal/php5/php5.y:3036 { yyVAL.node = &ast.ExprBinaryDiv{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5341,10 +5340,10 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3046 + // line internal/php5/php5.y:3045 { yyVAL.node = &ast.ExprBinaryMod{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5352,10 +5351,10 @@ yydefault: } case 268: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3055 + // line internal/php5/php5.y:3054 { yyVAL.node = &ast.ExprBinaryShiftLeft{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5363,10 +5362,10 @@ yydefault: } case 269: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3064 + // line internal/php5/php5.y:3063 { yyVAL.node = &ast.ExprBinaryShiftRight{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5374,50 +5373,50 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3073 + // line internal/php5/php5.y:3072 { yyVAL.node = &ast.ExprUnaryPlus{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3081 + // line internal/php5/php5.y:3080 { yyVAL.node = &ast.ExprUnaryMinus{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3089 + // line internal/php5/php5.y:3088 { yyVAL.node = &ast.ExprBooleanNot{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3097 + // line internal/php5/php5.y:3096 { yyVAL.node = &ast.ExprBitwiseNot{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3105 + // line internal/php5/php5.y:3104 { yyVAL.node = &ast.ExprBinaryIdentical{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5425,10 +5424,10 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3114 + // line internal/php5/php5.y:3113 { yyVAL.node = &ast.ExprBinaryNotIdentical{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5436,10 +5435,10 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3123 + // line internal/php5/php5.y:3122 { yyVAL.node = &ast.ExprBinaryEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5447,10 +5446,10 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3132 + // line internal/php5/php5.y:3131 { yyVAL.node = &ast.ExprBinaryNotEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5458,10 +5457,10 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3141 + // line internal/php5/php5.y:3140 { yyVAL.node = &ast.ExprBinarySmaller{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5469,10 +5468,10 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3150 + // line internal/php5/php5.y:3149 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5480,10 +5479,10 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3159 + // line internal/php5/php5.y:3158 { yyVAL.node = &ast.ExprBinaryGreater{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5491,10 +5490,10 @@ yydefault: } case 281: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3168 + // line internal/php5/php5.y:3167 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5502,10 +5501,10 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3177 + // line internal/php5/php5.y:3176 { yyVAL.node = &ast.ExprInstanceOf{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Expr: yyDollar[1].node, InstanceOfTkn: yyDollar[2].token, Class: yyDollar[3].node, @@ -5513,22 +5512,22 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3186 + // line internal/php5/php5.y:3185 { yyVAL.node = yyDollar[1].node } case 284: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3190 + // line internal/php5/php5.y:3189 { yyVAL.node = yyDollar[1].node } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3194 + // line internal/php5/php5.y:3193 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -5538,32 +5537,32 @@ yydefault: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprMethodCall: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } } case 286: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:3227 + // line internal/php5/php5.y:3226 { yyVAL.node = &ast.ExprTernary{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, IfTrue: yyDollar[3].node, @@ -5573,10 +5572,10 @@ yydefault: } case 287: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3238 + // line internal/php5/php5.y:3237 { yyVAL.node = &ast.ExprTernary{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, ColonTkn: yyDollar[3].token, @@ -5585,92 +5584,92 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3248 + // line internal/php5/php5.y:3247 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3252 + // line internal/php5/php5.y:3251 { yyVAL.node = &ast.ExprCastInt{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3260 + // line internal/php5/php5.y:3259 { yyVAL.node = &ast.ExprCastDouble{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3268 + // line internal/php5/php5.y:3267 { yyVAL.node = &ast.ExprCastString{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3276 + // line internal/php5/php5.y:3275 { yyVAL.node = &ast.ExprCastArray{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3284 + // line internal/php5/php5.y:3283 { yyVAL.node = &ast.ExprCastObject{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3292 + // line internal/php5/php5.y:3291 { yyVAL.node = &ast.ExprCastBool{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3300 + // line internal/php5/php5.y:3299 { yyVAL.node = &ast.ExprCastUnset{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3308 + // line internal/php5/php5.y:3307 { exit := &ast.ExprExit{ DieTkn: yyDollar[1].token, } if yyDollar[2].node == nil { - exit.Position = position.NewTokenPosition(yyDollar[1].token) + exit.Position = yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token) } else { - exit.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + exit.Position = yylex.(*Parser).builder.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 @@ -5680,38 +5679,38 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3325 + // line internal/php5/php5.y:3324 { yyVAL.node = &ast.ExprErrorSuppress{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3333 + // line internal/php5/php5.y:3332 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3337 + // line internal/php5/php5.y:3336 { yyVAL.node = yyDollar[1].node } case 300: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3341 + // line internal/php5/php5.y:3340 { yyVAL.node = yyDollar[1].node } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3345 + // line internal/php5/php5.y:3344 { yyVAL.node = &ast.ExprShellExec{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBacktickTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseBacktickTkn: yyDollar[3].token, @@ -5719,29 +5718,29 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3354 + // line internal/php5/php5.y:3353 { yyVAL.node = &ast.ExprPrint{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3362 + // line internal/php5/php5.y:3361 { yyVAL.node = &ast.ExprYield{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), YieldTkn: yyDollar[1].token, } } case 304: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:3369 + // line internal/php5/php5.y:3368 { yyVAL.node = &ast.ExprClosure{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[9].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token), FunctionTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].token, @@ -5756,10 +5755,10 @@ yydefault: } case 305: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php5/php5.y:3385 + // line internal/php5/php5.y:3384 { yyVAL.node = &ast.ExprClosure{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[10].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[10].token), StaticTkn: yyDollar[1].token, FunctionTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, @@ -5775,30 +5774,30 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3405 + // line internal/php5/php5.y:3404 { yyVAL.node = &ast.ExprYield{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3413 + // line internal/php5/php5.y:3412 { yyVAL.node = &ast.ExprYield{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3421 + // line internal/php5/php5.y:3420 { yyVAL.node = &ast.ExprYield{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), YieldTkn: yyDollar[1].token, Key: yyDollar[2].node, DoubleArrowTkn: yyDollar[3].token, @@ -5807,10 +5806,10 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3431 + // line internal/php5/php5.y:3430 { yyVAL.node = &ast.ExprYield{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), YieldTkn: yyDollar[1].token, Key: yyDollar[2].node, DoubleArrowTkn: yyDollar[3].token, @@ -5819,10 +5818,10 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3444 + // line internal/php5/php5.y:3443 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -5831,10 +5830,10 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3454 + // line internal/php5/php5.y:3453 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -5843,12 +5842,12 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3464 + // line internal/php5/php5.y:3463 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Var: &ast.ScalarString{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5859,10 +5858,10 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3478 + // line internal/php5/php5.y:3477 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -5871,10 +5870,10 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3491 + // line internal/php5/php5.y:3490 { yyVAL.node = &ast.ExprArray{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ArrayTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -5884,10 +5883,10 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3502 + // line internal/php5/php5.y:3501 { yyVAL.node = &ast.ExprArray{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -5896,22 +5895,22 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3515 + // line internal/php5/php5.y:3514 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3522 + // line internal/php5/php5.y:3521 { yyVAL.node = nil } case 318: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3526 + // line internal/php5/php5.y:3525 { yyVAL.node = &ast.ExprClosureUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), UseTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Uses: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -5921,12 +5920,12 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3540 + // line internal/php5/php5.y:3539 { variable := &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -5939,15 +5938,15 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3556 + // line internal/php5/php5.y:3555 { reference := &ast.ExprReference{ - Position: position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[3].token, yyDollar[4].token), AmpersandTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -5961,14 +5960,14 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3576 + // line internal/php5/php5.y:3575 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5978,17 +5977,17 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3591 + // line internal/php5/php5.y:3590 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprReference{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), AmpersandTkn: yyDollar[1].token, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -5999,12 +5998,12 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3613 + // line internal/php5/php5.y:3612 { yyVAL.node = &ast.ExprFunctionCall{ - Position: position.NewNodeListNodePosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[2].node), + Position: yylex.(*Parser).builder.NewNodeListNodePosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[2].node), Function: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -6016,12 +6015,12 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3628 + // line internal/php5/php5.y:3627 { yyVAL.node = &ast.ExprFunctionCall{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), Function: &ast.NameRelative{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6035,12 +6034,12 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3645 + // line internal/php5/php5.y:3644 { yyVAL.node = &ast.ExprFunctionCall{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Function: &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6053,10 +6052,10 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3661 + // line internal/php5/php5.y:3660 { yyVAL.node = &ast.ExprStaticCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6068,10 +6067,10 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3674 + // line internal/php5/php5.y:3673 { yyVAL.node = &ast.ExprStaticCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6083,10 +6082,10 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3687 + // line internal/php5/php5.y:3686 { yyVAL.node = &ast.ExprStaticCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6098,10 +6097,10 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3700 + // line internal/php5/php5.y:3699 { yyVAL.node = &ast.ExprStaticCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6113,10 +6112,10 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3713 + // line internal/php5/php5.y:3712 { yyVAL.node = &ast.ExprFunctionCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), + Position: yylex.(*Parser).builder.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, @@ -6126,30 +6125,30 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3727 + // line internal/php5/php5.y:3726 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3735 + // line internal/php5/php5.y:3734 { yyVAL.node = &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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:3743 + // line internal/php5/php5.y:3742 { yyVAL.node = &ast.NameRelative{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6158,10 +6157,10 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3753 + // line internal/php5/php5.y:3752 { yyVAL.node = &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6169,20 +6168,20 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3765 + // line internal/php5/php5.y:3764 { yyVAL.node = &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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:3773 + // line internal/php5/php5.y:3772 { yyVAL.node = &ast.NameRelative{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6191,10 +6190,10 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3783 + // line internal/php5/php5.y:3782 { yyVAL.node = &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6202,19 +6201,19 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3795 + // line internal/php5/php5.y:3794 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3799 + // line internal/php5/php5.y:3798 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3806 + // line internal/php5/php5.y:3805 { yyVAL.node = yyDollar[1].node @@ -6224,12 +6223,12 @@ yydefault: switch nn := n.(type) { case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - *yyVAL.node.GetPosition() = *position.NewNodesPosition(yyVAL.node, nn) + *yyVAL.node.GetPosition() = *yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - *yyVAL.node.GetPosition() = *position.NewNodesPosition(yyVAL.node, nn) + *yyVAL.node.GetPosition() = *yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } @@ -6238,37 +6237,37 @@ yydefault: switch nn := n.(type) { case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - *yyVAL.node.GetPosition() = *position.NewNodesPosition(yyVAL.node, nn) + *yyVAL.node.GetPosition() = *yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - *yyVAL.node.GetPosition() = *position.NewNodesPosition(yyVAL.node, nn) + *yyVAL.node.GetPosition() = *yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } } case 341: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3840 + // line internal/php5/php5.y:3839 { yyVAL.node = yyDollar[1].node } case 342: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3848 + // line internal/php5/php5.y:3847 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 343: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3852 + // line internal/php5/php5.y:3851 { yyVAL.list = []ast.Vertex{} } case 344: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3860 + // line internal/php5/php5.y:3859 { yyDollar[2].list[0].(*ast.ExprPropertyFetch).ObjectOperatorTkn = yyDollar[1].token @@ -6276,39 +6275,39 @@ yydefault: } case 345: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3869 + // line internal/php5/php5.y:3868 { yyVAL.node = nil } case 346: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3873 + // line internal/php5/php5.y:3872 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:3881 + // line internal/php5/php5.y:3880 { yyVAL.node = yyDollar[1].node } case 348: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3888 + // line internal/php5/php5.y:3887 { yyVAL.list = []ast.Vertex{} } case 349: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3892 + // line internal/php5/php5.y:3891 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), EncapsedStrTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6316,132 +6315,132 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3902 + // line internal/php5/php5.y:3901 { yyVAL.list = yyDollar[1].list } case 351: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3909 + // line internal/php5/php5.y:3908 { yyVAL.node = &ast.ArgumentList{} } case 352: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3913 + // line internal/php5/php5.y:3912 { yyVAL.node = yyDollar[1].node } case 353: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3920 + // line internal/php5/php5.y:3919 { yyVAL.node = &ast.ScalarLnumber{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3928 + // line internal/php5/php5.y:3927 { yyVAL.node = &ast.ScalarDnumber{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3936 + // line internal/php5/php5.y:3935 { yyVAL.node = &ast.ScalarString{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3944 + // line internal/php5/php5.y:3943 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3952 + // line internal/php5/php5.y:3951 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3960 + // line internal/php5/php5.y:3959 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3968 + // line internal/php5/php5.y:3967 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3976 + // line internal/php5/php5.y:3975 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3984 + // line internal/php5/php5.y:3983 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3992 + // line internal/php5/php5.y:3991 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:4000 + // line internal/php5/php5.y:3999 { yyVAL.node = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenHeredocTkn: yyDollar[1].token, Parts: []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), EncapsedStrTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -6451,24 +6450,24 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4015 + // line internal/php5/php5.y:4014 { yyVAL.node = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:4026 + // line internal/php5/php5.y:4025 { yyVAL.node = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -6476,30 +6475,30 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4042 + // line internal/php5/php5.y:4041 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4049 + // line internal/php5/php5.y:4048 { yyVAL.node = yyDollar[1].node } case 368: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4053 + // line internal/php5/php5.y:4052 { yyVAL.node = yyDollar[1].node } case 369: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4057 + // line internal/php5/php5.y:4056 { yyVAL.node = &ast.ExprConstFetch{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -6507,12 +6506,12 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4068 + // line internal/php5/php5.y:4067 { yyVAL.node = &ast.ExprConstFetch{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameRelative{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6522,12 +6521,12 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4081 + // line internal/php5/php5.y:4080 { yyVAL.node = &ast.ExprConstFetch{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6536,10 +6535,10 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4093 + // line internal/php5/php5.y:4092 { yyVAL.node = &ast.ExprArray{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ArrayTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6549,10 +6548,10 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4104 + // line internal/php5/php5.y:4103 { yyVAL.node = &ast.ExprArray{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -6561,32 +6560,32 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4114 + // line internal/php5/php5.y:4113 { yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4118 + // line internal/php5/php5.y:4117 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:4126 + // line internal/php5/php5.y:4125 { yyVAL.node = yyDollar[1].node } case 377: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4133 + // line internal/php5/php5.y:4132 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6595,10 +6594,10 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4143 + // line internal/php5/php5.y:4142 { yyVAL.node = &ast.ExprBinaryPlus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6606,10 +6605,10 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4152 + // line internal/php5/php5.y:4151 { yyVAL.node = &ast.ExprBinaryMinus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6617,10 +6616,10 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4161 + // line internal/php5/php5.y:4160 { yyVAL.node = &ast.ExprBinaryMul{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6628,10 +6627,10 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4170 + // line internal/php5/php5.y:4169 { yyVAL.node = &ast.ExprBinaryPow{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6639,10 +6638,10 @@ yydefault: } case 382: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4179 + // line internal/php5/php5.y:4178 { yyVAL.node = &ast.ExprBinaryDiv{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6650,10 +6649,10 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4188 + // line internal/php5/php5.y:4187 { yyVAL.node = &ast.ExprBinaryMod{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6661,30 +6660,30 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4197 + // line internal/php5/php5.y:4196 { yyVAL.node = &ast.ExprBooleanNot{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:4205 + // line internal/php5/php5.y:4204 { yyVAL.node = &ast.ExprBitwiseNot{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:4213 + // line internal/php5/php5.y:4212 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6692,10 +6691,10 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4222 + // line internal/php5/php5.y:4221 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6703,10 +6702,10 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4231 + // line internal/php5/php5.y:4230 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6714,10 +6713,10 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4240 + // line internal/php5/php5.y:4239 { yyVAL.node = &ast.ExprBinaryShiftLeft{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6725,10 +6724,10 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4249 + // line internal/php5/php5.y:4248 { yyVAL.node = &ast.ExprBinaryShiftRight{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6736,10 +6735,10 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4258 + // line internal/php5/php5.y:4257 { yyVAL.node = &ast.ExprBinaryConcat{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6747,10 +6746,10 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4267 + // line internal/php5/php5.y:4266 { yyVAL.node = &ast.ExprBinaryLogicalXor{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6758,10 +6757,10 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4276 + // line internal/php5/php5.y:4275 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6769,10 +6768,10 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4285 + // line internal/php5/php5.y:4284 { yyVAL.node = &ast.ExprBinaryLogicalOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6780,10 +6779,10 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4294 + // line internal/php5/php5.y:4293 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6791,10 +6790,10 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4303 + // line internal/php5/php5.y:4302 { yyVAL.node = &ast.ExprBinaryBooleanOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6802,10 +6801,10 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4312 + // line internal/php5/php5.y:4311 { yyVAL.node = &ast.ExprBinaryIdentical{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6813,10 +6812,10 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4321 + // line internal/php5/php5.y:4320 { yyVAL.node = &ast.ExprBinaryNotIdentical{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6824,10 +6823,10 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4330 + // line internal/php5/php5.y:4329 { yyVAL.node = &ast.ExprBinaryEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6835,10 +6834,10 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4339 + // line internal/php5/php5.y:4338 { yyVAL.node = &ast.ExprBinaryNotEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6846,10 +6845,10 @@ yydefault: } case 401: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4348 + // line internal/php5/php5.y:4347 { yyVAL.node = &ast.ExprBinarySmaller{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6857,10 +6856,10 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4357 + // line internal/php5/php5.y:4356 { yyVAL.node = &ast.ExprBinaryGreater{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6868,10 +6867,10 @@ yydefault: } case 403: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4366 + // line internal/php5/php5.y:4365 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6879,10 +6878,10 @@ yydefault: } case 404: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4375 + // line internal/php5/php5.y:4374 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -6890,10 +6889,10 @@ yydefault: } case 405: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4384 + // line internal/php5/php5.y:4383 { yyVAL.node = &ast.ExprTernary{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, ColonTkn: yyDollar[3].token, @@ -6902,10 +6901,10 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:4394 + // line internal/php5/php5.y:4393 { yyVAL.node = &ast.ExprTernary{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, IfTrue: yyDollar[3].node, @@ -6915,30 +6914,30 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4405 + // line internal/php5/php5.y:4404 { yyVAL.node = &ast.ExprUnaryPlus{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:4413 + // line internal/php5/php5.y:4412 { yyVAL.node = &ast.ExprUnaryMinus{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:4421 + // line internal/php5/php5.y:4420 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6946,18 +6945,18 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4433 + // line internal/php5/php5.y:4432 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4437 + // line internal/php5/php5.y:4436 { yyVAL.node = &ast.ExprConstFetch{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -6965,12 +6964,12 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4448 + // line internal/php5/php5.y:4447 { yyVAL.node = &ast.ExprConstFetch{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameRelative{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6980,12 +6979,12 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4461 + // line internal/php5/php5.y:4460 { yyVAL.node = &ast.ExprConstFetch{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -6994,12 +6993,12 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4476 + // line internal/php5/php5.y:4475 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7007,28 +7006,28 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4487 + // line internal/php5/php5.y:4486 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4491 + // line internal/php5/php5.y:4490 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4495 + // line internal/php5/php5.y:4494 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4499 + // line internal/php5/php5.y:4498 { yyVAL.node = &ast.ScalarEncapsed{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenQoteTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseQoteTkn: yyDollar[1].token, @@ -7036,10 +7035,10 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4508 + // line internal/php5/php5.y:4507 { yyVAL.node = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenHeredocTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseHeredocTkn: yyDollar[3].token, @@ -7047,23 +7046,23 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4517 + // line internal/php5/php5.y:4516 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:4528 + // line internal/php5/php5.y:4527 { yyVAL.node = &ast.ParserSeparatedList{} } case 422: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4532 + // line internal/php5/php5.y:4531 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -7074,22 +7073,22 @@ yydefault: } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4544 + // line internal/php5/php5.y:4543 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4548 + // line internal/php5/php5.y:4547 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:4555 + // line internal/php5/php5.y:4554 { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node), Key: yyDollar[3].node, DoubleArrowTkn: yyDollar[4].token, Val: yyDollar[5].node, @@ -7102,10 +7101,10 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4569 + // line internal/php5/php5.y:4568 { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodePosition(yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[3].node), Val: yyDollar[3].node, } @@ -7116,12 +7115,12 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4581 + // line internal/php5/php5.y:4580 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: yyDollar[3].node, @@ -7131,12 +7130,12 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4594 + // line internal/php5/php5.y:4593 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Val: yyDollar[1].node, }, }, @@ -7144,22 +7143,22 @@ yydefault: } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4608 + // line internal/php5/php5.y:4607 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4612 + // line internal/php5/php5.y:4611 { yyVAL.node = yyDollar[1].node } case 431: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4619 + // line internal/php5/php5.y:4618 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7167,10 +7166,10 @@ yydefault: } case 432: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4628 + // line internal/php5/php5.y:4627 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7178,25 +7177,25 @@ yydefault: } case 433: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4641 + // line internal/php5/php5.y:4640 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4649 + // line internal/php5/php5.y:4648 { yyVAL.node = yyDollar[1].node } case 435: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4656 + // line internal/php5/php5.y:4655 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:4663 + // line internal/php5/php5.y:4662 { yyVAL.node = yyDollar[1].node @@ -7208,7 +7207,7 @@ yydefault: case *ast.ExprArrayDimFetch: mc := yyDollar[4].list[0].(*ast.ExprMethodCall) yyDollar[3].list = append(yyDollar[3].list, &ast.ExprFunctionCall{ - Position: position.NewNodePosition(mc), + Position: yylex.(*Parser).builder.NewNodePosition(mc), OpenParenthesisTkn: mc.OpenParenthesisTkn, Arguments: mc.Arguments, SeparatorTkns: mc.SeparatorTkns, @@ -7227,22 +7226,22 @@ yydefault: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprMethodCall: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } @@ -7251,47 +7250,47 @@ yydefault: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprMethodCall: nn.Var = yyVAL.node - nn.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4738 + // line internal/php5/php5.y:4737 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4745 + // line internal/php5/php5.y:4744 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 439: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4749 + // line internal/php5/php5.y:4748 { yyVAL.list = []ast.Vertex{} } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4757 + // line internal/php5/php5.y:4756 { println("FOOFOOFOOFOOFOOFOOFOOFOOFOO") yyDollar[2].list[0].(*ast.ExprPropertyFetch).ObjectOperatorTkn = yyDollar[1].token @@ -7302,7 +7301,7 @@ yydefault: case *ast.ExprArrayDimFetch: mc := yyDollar[3].list[0].(*ast.ExprMethodCall) yyDollar[2].list = append(yyDollar[2].list, &ast.ExprFunctionCall{ - Position: position.NewNodePosition(mc), + Position: yylex.(*Parser).builder.NewNodePosition(mc), OpenParenthesisTkn: mc.OpenParenthesisTkn, Arguments: mc.Arguments, SeparatorTkns: mc.SeparatorTkns, @@ -7321,10 +7320,10 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4787 + // line internal/php5/php5.y:4786 { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7335,10 +7334,10 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4799 + // line internal/php5/php5.y:4798 { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7349,10 +7348,10 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4814 + // line internal/php5/php5.y:4813 { yyVAL.node = &ast.ExprMethodCall{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.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, @@ -7361,35 +7360,35 @@ yydefault: } case 444: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4827 + // line internal/php5/php5.y:4826 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 445: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4831 + // line internal/php5/php5.y:4830 { yyVAL.list = yyDollar[1].list } case 446: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4835 + // line internal/php5/php5.y:4834 { yyVAL.list = nil } case 447: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4842 + // line internal/php5/php5.y:4841 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4846 + // line internal/php5/php5.y:4845 { 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).Position = position.NewNodesPosition(yyDollar[1].list[i], yyDollar[2].node) + yyDollar[1].list[i].(*ast.ExprVariable).Position = yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].list[i], yyDollar[2].node) yyDollar[2].node = yyDollar[1].list[i] } @@ -7397,10 +7396,10 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4859 + // line internal/php5/php5.y:4858 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -7408,10 +7407,10 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4868 + // line internal/php5/php5.y:4867 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -7419,16 +7418,16 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4880 + // line internal/php5/php5.y:4879 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4887 + // line internal/php5/php5.y:4886 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7437,10 +7436,10 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4897 + // line internal/php5/php5.y:4896 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7449,35 +7448,35 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4910 + // line internal/php5/php5.y:4909 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4914 + // line internal/php5/php5.y:4913 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4918 + // line internal/php5/php5.y:4917 { yyVAL.node = yyDollar[1].node } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4926 + // line internal/php5/php5.y:4925 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4930 + // line internal/php5/php5.y:4929 { 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).Position = position.NewNodesPosition(yyDollar[1].list[i], yyDollar[2].node) + yyDollar[1].list[i].(*ast.ExprVariable).Position = yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].list[i], yyDollar[2].node) yyDollar[2].node = yyDollar[1].list[i] } @@ -7485,16 +7484,16 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4940 + // line internal/php5/php5.y:4939 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4947 + // line internal/php5/php5.y:4946 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7503,10 +7502,10 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4957 + // line internal/php5/php5.y:4956 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7515,18 +7514,18 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4967 + // line internal/php5/php5.y:4966 { yyVAL.node = yyDollar[1].node } case 463: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4975 + // line internal/php5/php5.y:4974 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7534,13 +7533,13 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4986 + // line internal/php5/php5.y:4985 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), DollarTkn: yyDollar[1].token, VarName: &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), OpenBracketTkn: yyDollar[2].token, Child: yyDollar[3].node, CloseBracketTkn: yyDollar[4].token, @@ -7549,39 +7548,39 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5002 + // line internal/php5/php5.y:5001 { yyVAL.node = nil } case 466: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5006 + // line internal/php5/php5.y:5005 { yyVAL.node = yyDollar[1].node } case 467: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5014 + // line internal/php5/php5.y:5013 { yyVAL.list = yyDollar[1].list } case 468: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5018 + // line internal/php5/php5.y:5017 { yyVAL.list = []ast.Vertex{ &ast.ExprPropertyFetch{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Property: yyDollar[1].node, }, } } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5030 + // line internal/php5/php5.y:5029 { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7592,10 +7591,10 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5042 + // line internal/php5/php5.y:5041 { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7606,31 +7605,31 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5054 + // line internal/php5/php5.y:5053 { yyVAL.list = []ast.Vertex{ &ast.ExprPropertyFetch{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Property: yyDollar[1].node, }, } } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5066 + // line internal/php5/php5.y:5065 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:5074 + // line internal/php5/php5.y:5073 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7638,27 +7637,27 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5086 + // line internal/php5/php5.y:5085 { yyVAL.list = []ast.Vertex{ &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), DollarTkn: yyDollar[1].token, }, } } case 475: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5095 + // line internal/php5/php5.y:5094 { yyVAL.list = append(yyDollar[1].list, &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), DollarTkn: yyDollar[2].token, }) } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5105 + // line internal/php5/php5.y:5104 { 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) @@ -7667,7 +7666,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5112 + // line internal/php5/php5.y:5111 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7675,16 +7674,16 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5122 + // line internal/php5/php5.y:5121 { yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Val: yyDollar[1].node, } } case 479: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5129 + // line internal/php5/php5.y:5128 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -7694,9 +7693,9 @@ yydefault: } yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Val: &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -7707,19 +7706,19 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5150 + // line internal/php5/php5.y:5149 { yyVAL.node = &ast.ExprArrayItem{} } case 481: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5158 + // line internal/php5/php5.y:5157 { yyVAL.node = &ast.ParserSeparatedList{} } case 482: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5162 + // line internal/php5/php5.y:5161 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -7730,10 +7729,10 @@ yydefault: } case 483: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5174 + // line internal/php5/php5.y:5173 { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node), Key: yyDollar[3].node, DoubleArrowTkn: yyDollar[4].token, Val: yyDollar[5].node, @@ -7746,10 +7745,10 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5188 + // line internal/php5/php5.y:5187 { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodePosition(yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[3].node), Val: yyDollar[3].node, } @@ -7760,12 +7759,12 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5200 + // line internal/php5/php5.y:5199 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: yyDollar[3].node, @@ -7775,12 +7774,12 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5213 + // line internal/php5/php5.y:5212 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Val: yyDollar[1].node, }, }, @@ -7788,14 +7787,14 @@ yydefault: } case 487: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:5224 + // line internal/php5/php5.y:5223 { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[6].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node), Key: yyDollar[3].node, DoubleArrowTkn: yyDollar[4].token, Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition(yyDollar[5].token, yyDollar[6].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[5].token, yyDollar[6].node), AmpersandTkn: yyDollar[5].token, Var: yyDollar[6].node, }, @@ -7808,12 +7807,12 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5242 + // line internal/php5/php5.y:5241 { arrayItem := &ast.ExprArrayItem{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), AmpersandTkn: yyDollar[3].token, Var: yyDollar[4].node, }, @@ -7826,16 +7825,16 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5258 + // line internal/php5/php5.y:5257 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), AmpersandTkn: yyDollar[3].token, Var: yyDollar[4].node, }, @@ -7845,14 +7844,14 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5275 + // line internal/php5/php5.y:5274 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), AmpersandTkn: yyDollar[1].token, Var: yyDollar[2].node, }, @@ -7862,18 +7861,18 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5293 + // line internal/php5/php5.y:5292 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 492: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5297 + // line internal/php5/php5.y:5296 { yyVAL.list = append( yyDollar[1].list, &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), EncapsedStrTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -7881,17 +7880,17 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5308 + // line internal/php5/php5.y:5307 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 494: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5312 + // line internal/php5/php5.y:5311 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), EncapsedStrTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7900,12 +7899,12 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5326 + // line internal/php5/php5.y:5325 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7913,14 +7912,14 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5337 + // line internal/php5/php5.y:5336 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7932,21 +7931,21 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5354 + // line internal/php5/php5.y:5353 { yyVAL.node = &ast.ExprPropertyFetch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, }, ObjectOperatorTkn: yyDollar[2].token, Property: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -7954,13 +7953,13 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5374 + // line internal/php5/php5.y:5373 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprVariable{ - Position: position.NewNodePosition(yyDollar[2].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[2].node), VarName: yyDollar[2].node, }, CloseBracketTkn: yyDollar[3].token, @@ -7968,15 +7967,15 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5386 + // line internal/php5/php5.y:5385 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -7986,17 +7985,17 @@ yydefault: } case 500: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:5402 + // line internal/php5/php5.y:5401 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[5].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -8010,10 +8009,10 @@ yydefault: } case 501: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5424 + // line internal/php5/php5.y:5423 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -8021,28 +8020,28 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5436 + // line internal/php5/php5.y:5435 { yyVAL.node = &ast.ScalarString{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:5444 + // line internal/php5/php5.y:5443 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { yyVAL.node = &ast.ScalarLnumber{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), NumberTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } else { yyVAL.node = &ast.ScalarString{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } @@ -8050,12 +8049,12 @@ yydefault: } case 504: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5461 + // line internal/php5/php5.y:5460 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -8063,10 +8062,10 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5475 + // line internal/php5/php5.y:5474 { yyVAL.node = &ast.ExprIsset{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), IssetTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Vars: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -8076,10 +8075,10 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5486 + // line internal/php5/php5.y:5485 { yyVAL.node = &ast.ExprEmpty{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EmptyTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -8088,10 +8087,10 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5496 + // line internal/php5/php5.y:5495 { yyVAL.node = &ast.ExprEmpty{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EmptyTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -8100,30 +8099,30 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5506 + // line internal/php5/php5.y:5505 { yyVAL.node = &ast.ExprInclude{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:5514 + // line internal/php5/php5.y:5513 { yyVAL.node = &ast.ExprIncludeOnce{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:5522 + // line internal/php5/php5.y:5521 { yyVAL.node = &ast.ExprEval{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EvalTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -8132,27 +8131,27 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5532 + // line internal/php5/php5.y:5531 { yyVAL.node = &ast.ExprRequire{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:5540 + // line internal/php5/php5.y:5539 { yyVAL.node = &ast.ExprRequireOnce{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:5551 + // line internal/php5/php5.y:5550 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -8160,7 +8159,7 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5557 + // line internal/php5/php5.y:5556 { 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) @@ -8169,26 +8168,26 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5567 + // line internal/php5/php5.y:5566 { yyVAL.node = yyDollar[1].node } case 516: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5571 + // line internal/php5/php5.y:5570 { yyVAL.node = yyDollar[1].node } case 517: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5578 + // line internal/php5/php5.y:5577 { yyVAL.node = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -8196,14 +8195,14 @@ yydefault: } case 518: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5591 + // line internal/php5/php5.y:5590 { yyVAL.node = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -8211,14 +8210,14 @@ yydefault: } case 519: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5607 + // line internal/php5/php5.y:5606 { yyVAL.node = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -8226,14 +8225,14 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5623 + // line internal/php5/php5.y:5622 { yyVAL.node = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.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 95abd7e..f26e824 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -4,7 +4,6 @@ package php5 import ( "strconv" - "github.com/z7zmey/php-parser/internal/position" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/token" ) @@ -266,7 +265,7 @@ start: top_statement_list { yylex.(*Parser).rootNode = &ast.Root{ - Position: position.NewNodeListPosition($1), + Position: yylex.(*Parser).builder.NewNodeListPosition($1), Stmts: $1, EndTkn: yylex.(*Parser).currentToken, } @@ -292,7 +291,7 @@ namespace_name: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.NameNamePart{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, }, @@ -302,7 +301,7 @@ namespace_name: | namespace_name T_NS_SEPARATOR T_STRING { part := &ast.NameNamePart{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), StringTkn: $3, Value: $3.Value, } @@ -335,7 +334,7 @@ top_statement: | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), HaltCompilerTkn: $1, OpenParenthesisTkn: $2, CloseParenthesisTkn: $3, @@ -345,10 +344,10 @@ top_statement: | T_NAMESPACE namespace_name ';' { $$ = &ast.StmtNamespace{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), NsTkn: $1, Name: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -358,10 +357,10 @@ top_statement: | T_NAMESPACE namespace_name '{' top_statement_list '}' { $$ = &ast.StmtNamespace{ - Position: position.NewTokensPosition($1, $5), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $5), NsTkn: $1, Name: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -373,7 +372,7 @@ top_statement: | T_NAMESPACE '{' top_statement_list '}' { $$ = &ast.StmtNamespace{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), NsTkn: $1, OpenCurlyBracket: $2, Stmts: $3, @@ -383,7 +382,7 @@ top_statement: | T_USE use_declarations ';' { $$ = &ast.StmtUse{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), UseTkn: $1, UseDeclarations: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -393,10 +392,10 @@ top_statement: | T_USE T_FUNCTION use_function_declarations ';' { $$ = &ast.StmtUse{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), UseTkn: $1, Type: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -408,10 +407,10 @@ top_statement: | T_USE T_CONST use_const_declarations ';' { $$ = &ast.StmtUse{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), UseTkn: $1, Type: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -423,7 +422,7 @@ top_statement: | constant_declaration ';' { $1.(*ast.StmtConstList).SemiColonTkn = $2 - $1.(*ast.StmtConstList).Position = position.NewNodeTokenPosition($1, $2) + $1.(*ast.StmtConstList).Position = yylex.(*Parser).builder.NewNodeTokenPosition($1, $2) $$ = $1 } ; @@ -448,9 +447,9 @@ use_declaration: namespace_name { $$ = &ast.StmtUseDeclaration{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -459,15 +458,15 @@ use_declaration: | namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), Use: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $2, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -476,10 +475,10 @@ use_declaration: | T_NS_SEPARATOR namespace_name { $$ = &ast.StmtUseDeclaration{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Use: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -488,16 +487,16 @@ use_declaration: | T_NS_SEPARATOR namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), NsSeparatorTkn: $1, Use: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $3, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -525,9 +524,9 @@ use_function_declaration: namespace_name { $$ = &ast.StmtUseDeclaration{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -536,15 +535,15 @@ use_function_declaration: | namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), Use: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $2, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -553,10 +552,10 @@ use_function_declaration: | T_NS_SEPARATOR namespace_name { $$ = &ast.StmtUseDeclaration{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Use: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -565,16 +564,16 @@ use_function_declaration: | T_NS_SEPARATOR namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), NsSeparatorTkn: $1, Use: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $3, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -602,9 +601,9 @@ use_const_declaration: namespace_name { $$ = &ast.StmtUseDeclaration{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -613,15 +612,15 @@ use_const_declaration: | namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), Use: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $2, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -630,10 +629,10 @@ use_const_declaration: | T_NS_SEPARATOR namespace_name { $$ = &ast.StmtUseDeclaration{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Use: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -642,16 +641,16 @@ use_const_declaration: | T_NS_SEPARATOR namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), NsSeparatorTkn: $1, Use: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $3, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -663,12 +662,12 @@ constant_declaration: constant_declaration ',' T_STRING '=' static_scalar { constList := $1.(*ast.StmtConstList) - constList.Position = position.NewNodesPosition($1, $5) + constList.Position = yylex.(*Parser).builder.NewNodesPosition($1, $5) constList.SeparatorTkns = append(constList.SeparatorTkns, $2) constList.Consts = append(constList.Consts, &ast.StmtConstant{ - Position: position.NewTokenNodePosition($3, $5), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $5), Name: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -681,13 +680,13 @@ constant_declaration: | T_CONST T_STRING '=' static_scalar { $$ = &ast.StmtConstList{ - Position: position.NewTokenNodePosition($1, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $4), ConstTkn: $1, Consts: []ast.Vertex{ &ast.StmtConstant{ - Position: position.NewTokenNodePosition($2, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($2, $4), Name: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -734,7 +733,7 @@ inner_statement: | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), HaltCompilerTkn: $1, OpenParenthesisTkn: $2, CloseParenthesisTkn: $3, @@ -752,9 +751,9 @@ statement: | T_STRING ':' { $$ = &ast.StmtLabel{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), LabelName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -767,7 +766,7 @@ unticked_statement: '{' inner_statement_list '}' { $$ = &ast.StmtStmtList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenCurlyBracket: $1, Stmts: $2, CloseCurlyBracket: $3, @@ -775,11 +774,11 @@ unticked_statement: } | T_IF parenthesis_expr statement elseif_list else_single { - pos := position.NewTokenNodePosition($1, $3) + pos := yylex.(*Parser).builder.NewTokenNodePosition($1, $3) if $5 != nil { - pos = position.NewTokenNodePosition($1, $5) + pos = yylex.(*Parser).builder.NewTokenNodePosition($1, $5) } else if len($4) > 0 { - pos = position.NewTokenNodeListPosition($1, $4) + pos = yylex.(*Parser).builder.NewTokenNodeListPosition($1, $4) } $$ = &ast.StmtIf{ @@ -796,7 +795,7 @@ unticked_statement: | T_IF parenthesis_expr ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' { $$ = &ast.StmtIf{ - Position: position.NewTokensPosition($1, $8), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $8), Alt: true, IfTkn: $1, OpenParenthesisTkn: $2.(*ast.ParserBrackets).OpenBracketTkn, @@ -804,7 +803,7 @@ unticked_statement: CloseParenthesisTkn: $2.(*ast.ParserBrackets).CloseBracketTkn, ColonTkn: $3, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($4), + Position: yylex.(*Parser).builder.NewNodeListPosition($4), Stmts: $4, }, ElseIf: $5, @@ -819,14 +818,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).Position = position.NewTokenNodePosition($1, $3) + $3.(*ast.StmtWhile).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $3) $$ = $3 } | T_DO statement T_WHILE parenthesis_expr ';' { $$ = &ast.StmtDo{ - Position: position.NewTokensPosition($1, $5), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $5), DoTkn: $1, Stmt: $2, WhileTkn: $3, @@ -849,7 +848,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).Position = position.NewTokenNodePosition($1, $9) + $9.(*ast.StmtFor).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $9) $$ = $9 } @@ -859,14 +858,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).Position = position.NewTokenNodePosition($1, $3) + $3.(*ast.StmtSwitch).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $3) $$ = $3 } | T_BREAK ';' { $$ = &ast.StmtBreak{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), BreakTkn: $1, SemiColonTkn: $2, } @@ -874,7 +873,7 @@ unticked_statement: | T_BREAK expr ';' { $$ = &ast.StmtBreak{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), BreakTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -883,7 +882,7 @@ unticked_statement: | T_CONTINUE ';' { $$ = &ast.StmtContinue{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), ContinueTkn: $1, SemiColonTkn: $2, } @@ -891,7 +890,7 @@ unticked_statement: | T_CONTINUE expr ';' { $$ = &ast.StmtContinue{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), ContinueTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -900,7 +899,7 @@ unticked_statement: | T_RETURN ';' { $$ = &ast.StmtReturn{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), ReturnTkn: $1, SemiColonTkn: $2, } @@ -908,7 +907,7 @@ unticked_statement: | T_RETURN expr_without_variable ';' { $$ = &ast.StmtReturn{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), ReturnTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -917,7 +916,7 @@ unticked_statement: | T_RETURN variable ';' { $$ = &ast.StmtReturn{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), ReturnTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -926,7 +925,7 @@ unticked_statement: | yield_expr ';' { $$ = &ast.StmtExpression{ - Position: position.NewNodeTokenPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $2), Expr: $1, SemiColonTkn: $2, } @@ -936,7 +935,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).Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtGlobal).Position = yylex.(*Parser).builder.NewTokensPosition($1, $3) $$ = $2 } @@ -945,7 +944,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).Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtStatic).Position = yylex.(*Parser).builder.NewTokensPosition($1, $3) $$ = $2 } @@ -953,14 +952,14 @@ unticked_statement: { $2.(*ast.StmtEcho).EchoTkn = $1 $2.(*ast.StmtEcho).SemiColonTkn = $3 - $2.(*ast.StmtEcho).Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtEcho).Position = yylex.(*Parser).builder.NewTokensPosition($1, $3) $$ = $2 } | T_INLINE_HTML { $$ = &ast.StmtInlineHtml{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), InlineHtmlTkn: $1, Value: $1.Value, } @@ -968,7 +967,7 @@ unticked_statement: | expr ';' { $$ = &ast.StmtExpression{ - Position: position.NewNodeTokenPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $2), Expr: $1, SemiColonTkn: $2, } @@ -979,7 +978,7 @@ unticked_statement: $3.(*ast.StmtUnset).OpenParenthesisTkn = $2 $3.(*ast.StmtUnset).CloseParenthesisTkn = $4 $3.(*ast.StmtUnset).SemiColonTkn = $5 - $3.(*ast.StmtUnset).Position = position.NewTokensPosition($1, $5) + $3.(*ast.StmtUnset).Position = yylex.(*Parser).builder.NewTokensPosition($1, $5) $$ = $3 } @@ -997,7 +996,7 @@ unticked_statement: $8.(*ast.StmtForeach).Var = $6.(*ast.StmtForeach).Var } $8.(*ast.StmtForeach).CloseParenthesisTkn = $7 - $8.(*ast.StmtForeach).Position = position.NewTokenNodePosition($1, $8) + $8.(*ast.StmtForeach).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $8) $$ = $8 } @@ -1015,7 +1014,7 @@ unticked_statement: $8.(*ast.StmtForeach).Var = $6.(*ast.StmtForeach).Var } $8.(*ast.StmtForeach).CloseParenthesisTkn = $7 - $8.(*ast.StmtForeach).Position = position.NewTokenNodePosition($1, $8) + $8.(*ast.StmtForeach).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $8) $$ = $8 } @@ -1026,22 +1025,22 @@ 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).Position = position.NewTokenNodePosition($1, $5) + $5.(*ast.StmtDeclare).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $5) $$ = $5 } | ';' { $$ = &ast.StmtNop{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), SemiColonTkn: $1, } } | T_TRY '{' inner_statement_list '}' catch_statement finally_statement { - pos := position.NewTokenNodeListPosition($1, $5) + pos := yylex.(*Parser).builder.NewTokenNodeListPosition($1, $5) if $6 != nil { - pos = position.NewTokenNodePosition($1, $6) + pos = yylex.(*Parser).builder.NewTokenNodePosition($1, $6) } $$ = &ast.StmtTry{ @@ -1057,7 +1056,7 @@ unticked_statement: | T_THROW expr ';' { $$ = &ast.StmtThrow{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), ThrowTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -1066,10 +1065,10 @@ unticked_statement: | T_GOTO T_STRING ';' { $$ = &ast.StmtGoto{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), GotoTkn: $1, Label: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1086,14 +1085,14 @@ catch_statement: | T_CATCH '(' fully_qualified_class_name T_VARIABLE ')' '{' inner_statement_list '}' additional_catches { catch := &ast.StmtCatch{ - Position: position.NewTokensPosition($1, $8), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $8), CatchTkn: $1, OpenParenthesisTkn: $2, Types: []ast.Vertex{$3}, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1115,7 +1114,7 @@ finally_statement: | T_FINALLY '{' inner_statement_list '}' { $$ = &ast.StmtFinally{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), FinallyTkn: $1, OpenCurlyBracketTkn: $2, Stmts: $3, @@ -1150,14 +1149,14 @@ additional_catch: T_CATCH '(' fully_qualified_class_name T_VARIABLE ')' '{' inner_statement_list '}' { $$ = &ast.StmtCatch{ - Position: position.NewTokensPosition($1, $8), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $8), CatchTkn: $1, OpenParenthesisTkn: $2, Types: []ast.Vertex{$3}, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1233,11 +1232,11 @@ unticked_function_declaration_statement: function is_reference T_STRING '(' parameter_list ')' '{' inner_statement_list '}' { $$ = &ast.StmtFunction{ - Position: position.NewTokensPosition($1, $9), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $9), FunctionTkn: $1, AmpersandTkn: $2, FunctionName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -1257,9 +1256,9 @@ unticked_class_declaration_statement: { switch n := $1.(type) { case *ast.StmtClass : - n.Position = position.NewNodeTokenPosition($1, $7) + n.Position = yylex.(*Parser).builder.NewNodeTokenPosition($1, $7) n.ClassName = &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, } @@ -1269,9 +1268,9 @@ unticked_class_declaration_statement: n.Stmts = $6 n.CloseCurlyBracket = $7 case *ast.StmtTrait : - n.Position = position.NewNodeTokenPosition($1, $7) + n.Position = yylex.(*Parser).builder.NewNodeTokenPosition($1, $7) n.TraitName = &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, } @@ -1287,10 +1286,10 @@ unticked_class_declaration_statement: | interface_entry T_STRING interface_extends_list '{' class_statement_list '}' { $$ = &ast.StmtInterface{ - Position: position.NewTokensPosition($1, $6), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $6), InterfaceTkn: $1, InterfaceName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1307,17 +1306,17 @@ class_entry_type: T_CLASS { $$ = &ast.StmtClass{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), ClassTkn: $1, } } | T_ABSTRACT T_CLASS { $$ = &ast.StmtClass{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), Modifiers: []ast.Vertex{ &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1328,17 +1327,17 @@ class_entry_type: | T_TRAIT { $$ = &ast.StmtTrait{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), TraitTkn: $1, } } | T_FINAL T_CLASS { $$ = &ast.StmtClass{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), Modifiers: []ast.Vertex{ &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1356,7 +1355,7 @@ extends_from: | T_EXTENDS fully_qualified_class_name { $$ = &ast.StmtClassExtends{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), ExtendTkn: $1, ClassName: $2, } @@ -1378,7 +1377,7 @@ interface_extends_list: | T_EXTENDS interface_list { $$ = &ast.StmtInterfaceExtends{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), ExtendsTkn: $1, InterfaceNames: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1394,7 +1393,7 @@ implements_list: | T_IMPLEMENTS interface_list { $$ = &ast.StmtClassImplements{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), ImplementsTkn: $1, InterfaceNames: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1440,7 +1439,7 @@ foreach_variable: | '&' variable { $$ = &ast.ExprReference{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Var: $2, } @@ -1455,7 +1454,7 @@ foreach_variable: } $$ = &ast.ExprList{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -1469,18 +1468,18 @@ for_statement: statement { $$ = &ast.StmtFor{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDFOR ';' { $$ = &ast.StmtFor{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($2), + Position: yylex.(*Parser).builder.NewNodeListPosition($2), Stmts: $2, }, EndForTkn: $3, @@ -1493,18 +1492,18 @@ foreach_statement: statement { $$ = &ast.StmtForeach{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDFOREACH ';' { $$ = &ast.StmtForeach{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($2), + Position: yylex.(*Parser).builder.NewNodeListPosition($2), Stmts: $2, }, EndForeachTkn: $3, @@ -1518,18 +1517,18 @@ declare_statement: statement { $$ = &ast.StmtDeclare{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDDECLARE ';' { $$ = &ast.StmtDeclare{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($2), + Position: yylex.(*Parser).builder.NewNodeListPosition($2), Stmts: $2, }, EndDeclareTkn: $3, @@ -1545,9 +1544,9 @@ declare_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtConstant{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), Name: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1563,9 +1562,9 @@ declare_list: $1.(*ast.ParserSeparatedList).Items = append( $1.(*ast.ParserSeparatedList).Items, &ast.StmtConstant{ - Position: position.NewTokenNodePosition($3, $5), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $5), Name: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -1583,7 +1582,7 @@ switch_case_list: '{' case_list '}' { $$ = &ast.StmtSwitch{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenCurlyBracketTkn: $1, CaseList: $2, CloseCurlyBracketTkn: $3, @@ -1592,7 +1591,7 @@ switch_case_list: | '{' ';' case_list '}' { $$ = &ast.StmtSwitch{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), OpenCurlyBracketTkn: $1, CaseSeparatorTkn: $2, CaseList: $3, @@ -1602,7 +1601,7 @@ switch_case_list: | ':' case_list T_ENDSWITCH ';' { $$ = &ast.StmtSwitch{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, CaseList: $2, @@ -1613,7 +1612,7 @@ switch_case_list: | ':' ';' case_list T_ENDSWITCH ';' { $$ = &ast.StmtSwitch{ - Position: position.NewTokensPosition($1, $5), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $5), Alt: true, ColonTkn: $1, CaseSeparatorTkn: $2, @@ -1633,7 +1632,7 @@ case_list: | case_list T_CASE expr case_separator inner_statement_list { $$ = append($1, &ast.StmtCase{ - Position: position.NewTokenNodeListPosition($2, $5), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($2, $5), CaseTkn: $2, Cond: $3, CaseSeparatorTkn: $4, @@ -1643,7 +1642,7 @@ case_list: | case_list T_DEFAULT case_separator inner_statement_list { $$ = append($1, &ast.StmtDefault{ - Position: position.NewTokenNodeListPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($2, $4), DefaultTkn: $2, CaseSeparatorTkn: $3, Stmts: $4, @@ -1668,18 +1667,18 @@ while_statement: statement { $$ = &ast.StmtWhile{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDWHILE ';' { $$ = &ast.StmtWhile{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($2), + Position: yylex.(*Parser).builder.NewNodeListPosition($2), Stmts: $2, }, EndWhileTkn: $3, @@ -1698,7 +1697,7 @@ elseif_list: | elseif_list T_ELSEIF parenthesis_expr statement { $$ = append($1, &ast.StmtElseIf{ - Position: position.NewTokenNodePosition($2, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($2, $4), ElseIfTkn: $2, OpenParenthesisTkn: $3.(*ast.ParserBrackets).OpenBracketTkn, Cond: $3.(*ast.ParserBrackets).Child, @@ -1717,7 +1716,7 @@ new_elseif_list: | new_elseif_list T_ELSEIF parenthesis_expr ':' inner_statement_list { $$ = append($1, &ast.StmtElseIf{ - Position: position.NewTokenNodeListPosition($2, $5), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($2, $5), Alt: true, ElseIfTkn: $2, OpenParenthesisTkn: $3.(*ast.ParserBrackets).OpenBracketTkn, @@ -1725,7 +1724,7 @@ new_elseif_list: CloseParenthesisTkn: $3.(*ast.ParserBrackets).CloseBracketTkn, ColonTkn: $4, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($5), + Position: yylex.(*Parser).builder.NewNodeListPosition($5), Stmts: $5, }, }) @@ -1741,7 +1740,7 @@ else_single: | T_ELSE statement { $$ = &ast.StmtElse{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), ElseTkn: $1, Stmt: $2, } @@ -1757,12 +1756,12 @@ new_else_single: | T_ELSE ':' inner_statement_list { $$ = &ast.StmtElse{ - Position: position.NewTokenNodeListPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3), Alt: true, ElseTkn: $1, ColonTkn: $2, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($3), + Position: yylex.(*Parser).builder.NewNodeListPosition($3), Stmts: $3, }, } @@ -1800,13 +1799,13 @@ non_empty_parameter_list: parameter: optional_class_type is_reference is_variadic T_VARIABLE { - pos := position.NewTokenPosition($4) + pos := yylex.(*Parser).builder.NewTokenPosition($4) if $1 != nil { - pos = position.NewNodeTokenPosition($1, $4) + pos = yylex.(*Parser).builder.NewNodeTokenPosition($1, $4) } else if $2 != nil { - pos = position.NewTokensPosition($2, $4) + pos = yylex.(*Parser).builder.NewTokensPosition($2, $4) } else if $3 != nil { - pos = position.NewTokensPosition($3, $4) + pos = yylex.(*Parser).builder.NewTokensPosition($3, $4) } $$ = &ast.Parameter{ @@ -1815,9 +1814,9 @@ parameter: AmpersandTkn: $2, VariadicTkn: $3, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1826,13 +1825,13 @@ parameter: } | optional_class_type is_reference is_variadic T_VARIABLE '=' expr { - pos := position.NewTokenNodePosition($4, $6) + pos := yylex.(*Parser).builder.NewTokenNodePosition($4, $6) if $1 != nil { - pos = position.NewNodesPosition($1, $6) + pos = yylex.(*Parser).builder.NewNodesPosition($1, $6) } else if $2 != nil { - pos = position.NewTokenNodePosition($2, $6) + pos = yylex.(*Parser).builder.NewTokenNodePosition($2, $6) } else if $3 != nil { - pos = position.NewTokenNodePosition($3, $6) + pos = yylex.(*Parser).builder.NewTokenNodePosition($3, $6) } $$ = &ast.Parameter{ @@ -1841,9 +1840,9 @@ parameter: AmpersandTkn: $2, VariadicTkn: $3, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1863,7 +1862,7 @@ optional_class_type: | T_ARRAY { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1871,7 +1870,7 @@ optional_class_type: | T_CALLABLE { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1887,7 +1886,7 @@ function_call_parameter_list: '(' ')' { $$ = &ast.ArgumentList{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), OpenParenthesisTkn: $1, CloseParenthesisTkn: $2, } @@ -1895,7 +1894,7 @@ function_call_parameter_list: | '(' non_empty_function_call_parameter_list ')' { argumentList := $2.(*ast.ArgumentList) - argumentList.Position = position.NewTokensPosition($1, $3) + argumentList.Position = yylex.(*Parser).builder.NewTokensPosition($1, $3) argumentList.OpenParenthesisTkn = $1 argumentList.CloseParenthesisTkn = $3 @@ -1904,11 +1903,11 @@ function_call_parameter_list: | '(' yield_expr ')' { $$ = &ast.ArgumentList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenParenthesisTkn: $1, Arguments: []ast.Vertex{ &ast.Argument{ - Position: position.NewNodePosition($2), + Position: yylex.(*Parser).builder.NewNodePosition($2), Expr: $2, }, }, @@ -1938,21 +1937,21 @@ function_call_parameter: expr_without_variable { $$ = &ast.Argument{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Expr: $1, } } | variable { $$ = &ast.Argument{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Expr: $1, } } | '&' w_variable { $$ = &ast.Argument{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Expr: $2, } @@ -1960,7 +1959,7 @@ function_call_parameter: | T_ELLIPSIS expr { $$ = &ast.Argument{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), VariadicTkn: $1, Expr: $2, } @@ -1988,9 +1987,9 @@ global_var: T_VARIABLE { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1999,7 +1998,7 @@ global_var: | '$' r_variable { $$ = &ast.ExprVariable{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), DollarTkn: $1, VarName: $2, } @@ -2007,10 +2006,10 @@ global_var: | '$' '{' expr '}' { $$ = &ast.ExprVariable{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), DollarTkn: $1, VarName: &ast.ParserBrackets{ - Position: position.NewTokensPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $4), OpenBracketTkn: $2, Child: $3, CloseBracketTkn: $4, @@ -2024,11 +2023,11 @@ static_var_list: static_var_list ',' T_VARIABLE { $1.(*ast.StmtStatic).Vars = append($1.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2041,11 +2040,11 @@ static_var_list: | static_var_list ',' T_VARIABLE '=' static_scalar { $1.(*ast.StmtStatic).Vars = append($1.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ - Position: position.NewTokenNodePosition($3, $5), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $5), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2062,11 +2061,11 @@ static_var_list: $$ = &ast.StmtStatic{ Vars: []ast.Vertex{ &ast.StmtStaticVar{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2080,11 +2079,11 @@ static_var_list: $$ = &ast.StmtStatic{ Vars: []ast.Vertex{ &ast.StmtStaticVar{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2114,7 +2113,7 @@ class_statement: variable_modifiers class_variable_declaration ';' { $$ = &ast.StmtPropertyList{ - Position: position.NewNodeListTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition($1, $3), Modifiers: $1, Properties: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2124,7 +2123,7 @@ class_statement: | class_constant_declaration ';' { $1.(*ast.StmtClassConstList).SemiColonTkn = $2 - $1.(*ast.StmtClassConstList).Position = position.NewNodeTokenPosition($1, $2) + $1.(*ast.StmtClassConstList).Position = yylex.(*Parser).builder.NewNodeTokenPosition($1, $2) $$ = $1 } | trait_use_statement @@ -2133,9 +2132,9 @@ class_statement: } | method_modifiers function is_reference T_STRING '(' parameter_list ')' method_body { - pos := position.NewTokenNodePosition($2, $8) + pos := yylex.(*Parser).builder.NewTokenNodePosition($2, $8) if $1 != nil { - pos = position.NewNodeListNodePosition($1, $8) + pos = yylex.(*Parser).builder.NewNodeListNodePosition($1, $8) } $$ = &ast.StmtClassMethod{ @@ -2144,7 +2143,7 @@ class_statement: FunctionTkn: $2, AmpersandTkn: $3, MethodName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2161,7 +2160,7 @@ trait_use_statement: T_USE trait_list trait_adaptations { $$ = &ast.StmtTraitUse{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), UseTkn: $1, Traits: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2190,14 +2189,14 @@ trait_adaptations: ';' { $$ = &ast.StmtNop{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), SemiColonTkn: $1, } } | '{' trait_adaptation_list '}' { $$ = &ast.StmtTraitAdaptationList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenParenthesisTkn: $1, Adaptations: $2, CloseParenthesisTkn: $3, @@ -2246,7 +2245,7 @@ trait_precedence: trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { $$ = &ast.StmtTraitUsePrecedence{ - Position: position.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), Ref: $1, InsteadofTkn: $2, Insteadof: $3.(*ast.ParserSeparatedList).Items, @@ -2275,9 +2274,9 @@ trait_method_reference: T_STRING { $$ = &ast.StmtTraitMethodRef{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), Method: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2293,11 +2292,11 @@ trait_method_reference_fully_qualified: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { $$ = &ast.StmtTraitMethodRef{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Trait: $1, DoubleColonTkn: $2, Method: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2309,12 +2308,12 @@ trait_alias: trait_method_reference T_AS trait_modifiers T_STRING { $$ = &ast.StmtTraitUseAlias{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Ref: $1, AsTkn: $2, Modifier: $3, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2323,7 +2322,7 @@ trait_alias: | trait_method_reference T_AS member_modifier { $$ = &ast.StmtTraitUseAlias{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Ref: $1, AsTkn: $2, Modifier: $3, @@ -2346,14 +2345,14 @@ method_body: ';' /* abstract method */ { $$ = &ast.StmtNop{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), SemiColonTkn: $1, } } | '{' inner_statement_list '}' { $$ = &ast.StmtStmtList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenCurlyBracket: $1, Stmts: $2, CloseCurlyBracket: $3, @@ -2370,7 +2369,7 @@ variable_modifiers: { $$ = []ast.Vertex{ &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2404,7 +2403,7 @@ member_modifier: T_PUBLIC { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2412,7 +2411,7 @@ member_modifier: | T_PROTECTED { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2420,7 +2419,7 @@ member_modifier: | T_PRIVATE { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2428,7 +2427,7 @@ member_modifier: | T_STATIC { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2436,7 +2435,7 @@ member_modifier: | T_ABSTRACT { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2444,7 +2443,7 @@ member_modifier: | T_FINAL { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2455,11 +2454,11 @@ class_variable_declaration: class_variable_declaration ',' T_VARIABLE { item := &ast.StmtProperty{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2474,11 +2473,11 @@ class_variable_declaration: | class_variable_declaration ',' T_VARIABLE '=' static_scalar { item := &ast.StmtProperty{ - Position: position.NewTokenNodePosition($3, $5), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $5), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2497,11 +2496,11 @@ class_variable_declaration: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtProperty{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2516,11 +2515,11 @@ class_variable_declaration: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtProperty{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2537,12 +2536,12 @@ class_constant_declaration: class_constant_declaration ',' T_STRING '=' static_scalar { constList := $1.(*ast.StmtClassConstList) - constList.Position = position.NewNodesPosition($1, $5) + constList.Position = yylex.(*Parser).builder.NewNodesPosition($1, $5) constList.SeparatorTkns = append(constList.SeparatorTkns, $2) constList.Consts = append(constList.Consts, &ast.StmtConstant{ - Position: position.NewTokenNodePosition($3, $5), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $5), Name: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2555,13 +2554,13 @@ class_constant_declaration: | T_CONST T_STRING '=' static_scalar { $$ = &ast.StmtClassConstList{ - Position: position.NewTokenNodePosition($1, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $4), ConstTkn: $1, Consts: []ast.Vertex{ &ast.StmtConstant{ - Position: position.NewTokenNodePosition($2, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($2, $4), Name: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -2632,7 +2631,7 @@ chaining_dereference: chaining_dereference '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -2644,7 +2643,7 @@ chaining_dereference: | '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), Var: nil, OpenBracketTkn: $1, Dim: $2, @@ -2686,7 +2685,7 @@ new_expr: { if $3 != nil { $$ = &ast.ExprNew{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), NewTkn: $1, Class: $2, OpenParenthesisTkn: $3.(*ast.ArgumentList).OpenParenthesisTkn, @@ -2696,7 +2695,7 @@ new_expr: } } else { $$ = &ast.ExprNew{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), Class: $2, } } @@ -2707,9 +2706,9 @@ expr_without_variable: T_LIST '(' assignment_list ')' '=' expr { $$ = &ast.ExprAssign{ - Position: position.NewTokenNodePosition($1, $6), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $6), Var: &ast.ExprList{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -2723,7 +2722,7 @@ expr_without_variable: | variable '=' expr { $$ = &ast.ExprAssign{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2732,7 +2731,7 @@ expr_without_variable: | variable '=' '&' variable { $$ = &ast.ExprAssignReference{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Var: $1, EqualTkn: $2, AmpersandTkn: $3, @@ -2744,7 +2743,7 @@ expr_without_variable: var _new *ast.ExprNew if $3 != nil { _new = &ast.ExprNew{ - Position: position.NewTokenNodePosition($4, $6), + Position: yylex.(*Parser).builder.NewTokenNodePosition($4, $6), NewTkn: $4, Class: $5, OpenParenthesisTkn: $6.(*ast.ArgumentList).OpenParenthesisTkn, @@ -2754,14 +2753,14 @@ expr_without_variable: } } else { _new = &ast.ExprNew{ - Position: position.NewTokenNodePosition($4, $5), + Position: yylex.(*Parser).builder.NewTokenNodePosition($4, $5), NewTkn: $4, Class: $5, } } $$ = &ast.ExprAssignReference{ - Position: position.NewNodesPosition($1, _new), + Position: yylex.(*Parser).builder.NewNodesPosition($1, _new), Var: $1, EqualTkn: $2, AmpersandTkn: $3, @@ -2771,7 +2770,7 @@ expr_without_variable: | T_CLONE expr { $$ = &ast.ExprClone{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CloneTkn: $1, Expr: $2, } @@ -2779,7 +2778,7 @@ expr_without_variable: | variable T_PLUS_EQUAL expr { $$ = &ast.ExprAssignPlus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2788,7 +2787,7 @@ expr_without_variable: | variable T_MINUS_EQUAL expr { $$ = &ast.ExprAssignMinus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2797,7 +2796,7 @@ expr_without_variable: | variable T_MUL_EQUAL expr { $$ = &ast.ExprAssignMul{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2806,7 +2805,7 @@ expr_without_variable: | variable T_POW_EQUAL expr { $$ = &ast.ExprAssignPow{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2815,7 +2814,7 @@ expr_without_variable: | variable T_DIV_EQUAL expr { $$ = &ast.ExprAssignDiv{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2824,7 +2823,7 @@ expr_without_variable: | variable T_CONCAT_EQUAL expr { $$ = &ast.ExprAssignConcat{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2833,7 +2832,7 @@ expr_without_variable: | variable T_MOD_EQUAL expr { $$ = &ast.ExprAssignMod{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2842,7 +2841,7 @@ expr_without_variable: | variable T_AND_EQUAL expr { $$ = &ast.ExprAssignBitwiseAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2851,7 +2850,7 @@ expr_without_variable: | variable T_OR_EQUAL expr { $$ = &ast.ExprAssignBitwiseOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2860,7 +2859,7 @@ expr_without_variable: | variable T_XOR_EQUAL expr { $$ = &ast.ExprAssignBitwiseXor{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2869,7 +2868,7 @@ expr_without_variable: | variable T_SL_EQUAL expr { $$ = &ast.ExprAssignShiftLeft{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2878,7 +2877,7 @@ expr_without_variable: | variable T_SR_EQUAL expr { $$ = &ast.ExprAssignShiftRight{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2887,7 +2886,7 @@ expr_without_variable: | rw_variable T_INC { $$ = &ast.ExprPostInc{ - Position: position.NewNodeTokenPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $2), Var: $1, IncTkn: $2, } @@ -2895,7 +2894,7 @@ expr_without_variable: | T_INC rw_variable { $$ = &ast.ExprPreInc{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), IncTkn: $1, Var: $2, } @@ -2903,7 +2902,7 @@ expr_without_variable: | rw_variable T_DEC { $$ = &ast.ExprPostDec{ - Position: position.NewNodeTokenPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $2), Var: $1, DecTkn: $2, } @@ -2911,7 +2910,7 @@ expr_without_variable: | T_DEC rw_variable { $$ = &ast.ExprPreDec{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), DecTkn: $1, Var: $2, } @@ -2919,7 +2918,7 @@ expr_without_variable: | expr T_BOOLEAN_OR expr { $$ = &ast.ExprBinaryBooleanOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2928,7 +2927,7 @@ expr_without_variable: | expr T_BOOLEAN_AND expr { $$ = &ast.ExprBinaryBooleanAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2937,7 +2936,7 @@ expr_without_variable: | expr T_LOGICAL_OR expr { $$ = &ast.ExprBinaryLogicalOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2946,7 +2945,7 @@ expr_without_variable: | expr T_LOGICAL_AND expr { $$ = &ast.ExprBinaryLogicalAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2955,7 +2954,7 @@ expr_without_variable: | expr T_LOGICAL_XOR expr { $$ = &ast.ExprBinaryLogicalXor{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2964,7 +2963,7 @@ expr_without_variable: | expr '|' expr { $$ = &ast.ExprBinaryBitwiseOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2973,7 +2972,7 @@ expr_without_variable: | expr '&' expr { $$ = &ast.ExprBinaryBitwiseAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2982,7 +2981,7 @@ expr_without_variable: | expr '^' expr { $$ = &ast.ExprBinaryBitwiseXor{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2991,7 +2990,7 @@ expr_without_variable: | expr '.' expr { $$ = &ast.ExprBinaryConcat{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3000,7 +2999,7 @@ expr_without_variable: | expr '+' expr { $$ = &ast.ExprBinaryPlus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3009,7 +3008,7 @@ expr_without_variable: | expr '-' expr { $$ = &ast.ExprBinaryMinus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3018,7 +3017,7 @@ expr_without_variable: | expr '*' expr { $$ = &ast.ExprBinaryMul{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3027,7 +3026,7 @@ expr_without_variable: | expr T_POW expr { $$ = &ast.ExprBinaryPow{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3036,7 +3035,7 @@ expr_without_variable: | expr '/' expr { $$ = &ast.ExprBinaryDiv{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3045,7 +3044,7 @@ expr_without_variable: | expr '%' expr { $$ = &ast.ExprBinaryMod{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3054,7 +3053,7 @@ expr_without_variable: | expr T_SL expr { $$ = &ast.ExprBinaryShiftLeft{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3063,7 +3062,7 @@ expr_without_variable: | expr T_SR expr { $$ = &ast.ExprBinaryShiftRight{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3072,7 +3071,7 @@ expr_without_variable: | '+' expr %prec T_INC { $$ = &ast.ExprUnaryPlus{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), PlusTkn: $1, Expr: $2, } @@ -3080,7 +3079,7 @@ expr_without_variable: | '-' expr %prec T_INC { $$ = &ast.ExprUnaryMinus{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), MinusTkn: $1, Expr: $2, } @@ -3088,7 +3087,7 @@ expr_without_variable: | '!' expr { $$ = &ast.ExprBooleanNot{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), ExclamationTkn: $1, Expr: $2, } @@ -3096,7 +3095,7 @@ expr_without_variable: | '~' expr { $$ = &ast.ExprBitwiseNot{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), TildaTkn: $1, Expr: $2, } @@ -3104,7 +3103,7 @@ expr_without_variable: | expr T_IS_IDENTICAL expr { $$ = &ast.ExprBinaryIdentical{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3113,7 +3112,7 @@ expr_without_variable: | expr T_IS_NOT_IDENTICAL expr { $$ = &ast.ExprBinaryNotIdentical{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3122,7 +3121,7 @@ expr_without_variable: | expr T_IS_EQUAL expr { $$ = &ast.ExprBinaryEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3131,7 +3130,7 @@ expr_without_variable: | expr T_IS_NOT_EQUAL expr { $$ = &ast.ExprBinaryNotEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3140,7 +3139,7 @@ expr_without_variable: | expr '<' expr { $$ = &ast.ExprBinarySmaller{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3149,7 +3148,7 @@ expr_without_variable: | expr T_IS_SMALLER_OR_EQUAL expr { $$ = &ast.ExprBinarySmallerOrEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3158,7 +3157,7 @@ expr_without_variable: | expr '>' expr { $$ = &ast.ExprBinaryGreater{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3167,7 +3166,7 @@ expr_without_variable: | expr T_IS_GREATER_OR_EQUAL expr { $$ = &ast.ExprBinaryGreaterOrEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3176,7 +3175,7 @@ expr_without_variable: | expr T_INSTANCEOF class_name_reference { $$ = &ast.ExprInstanceOf{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Expr: $1, InstanceOfTkn: $2, Class: $3, @@ -3193,7 +3192,7 @@ expr_without_variable: | '(' new_expr ')' instance_call { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3203,22 +3202,22 @@ expr_without_variable: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprArrayDimFetch: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprMethodCall: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn } } @@ -3226,7 +3225,7 @@ expr_without_variable: | expr '?' expr ':' expr { $$ = &ast.ExprTernary{ - Position: position.NewNodesPosition($1, $5), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $5), Condition: $1, QuestionTkn: $2, IfTrue: $3, @@ -3237,7 +3236,7 @@ expr_without_variable: | expr '?' ':' expr { $$ = &ast.ExprTernary{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Condition: $1, QuestionTkn: $2, ColonTkn: $3, @@ -3251,7 +3250,7 @@ expr_without_variable: | T_INT_CAST expr { $$ = &ast.ExprCastInt{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3259,7 +3258,7 @@ expr_without_variable: | T_DOUBLE_CAST expr { $$ = &ast.ExprCastDouble{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3267,7 +3266,7 @@ expr_without_variable: | T_STRING_CAST expr { $$ = &ast.ExprCastString{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3275,7 +3274,7 @@ expr_without_variable: | T_ARRAY_CAST expr { $$ = &ast.ExprCastArray{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3283,7 +3282,7 @@ expr_without_variable: | T_OBJECT_CAST expr { $$ = &ast.ExprCastObject{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3291,7 +3290,7 @@ expr_without_variable: | T_BOOL_CAST expr { $$ = &ast.ExprCastBool{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3299,7 +3298,7 @@ expr_without_variable: | T_UNSET_CAST expr { $$ = &ast.ExprCastUnset{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3311,9 +3310,9 @@ expr_without_variable: } if $2 == nil { - exit.Position = position.NewTokenPosition($1) + exit.Position = yylex.(*Parser).builder.NewTokenPosition($1) } else { - exit.Position = position.NewTokenNodePosition($1, $2) + exit.Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $2) exit.OpenParenthesisTkn = $2.(*ast.ParserBrackets).OpenBracketTkn exit.Expr = $2.(*ast.ParserBrackets).Child exit.CloseParenthesisTkn = $2.(*ast.ParserBrackets).CloseBracketTkn @@ -3324,7 +3323,7 @@ expr_without_variable: | '@' expr { $$ = &ast.ExprErrorSuppress{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), AtTkn: $1, Expr: $2, } @@ -3344,7 +3343,7 @@ expr_without_variable: | '`' backticks_expr '`' { $$ = &ast.ExprShellExec{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBacktickTkn: $1, Parts: $2, CloseBacktickTkn: $3, @@ -3353,7 +3352,7 @@ expr_without_variable: | T_PRINT expr { $$ = &ast.ExprPrint{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), PrintTkn: $1, Expr: $2, } @@ -3361,14 +3360,14 @@ expr_without_variable: | T_YIELD { $$ = &ast.ExprYield{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), YieldTkn: $1, } } | function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { $$ = &ast.ExprClosure{ - Position: position.NewTokensPosition($1, $9), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $9), FunctionTkn: $1, AmpersandTkn: $2, OpenParenthesisTkn: $3, @@ -3384,7 +3383,7 @@ expr_without_variable: | T_STATIC function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { $$ = &ast.ExprClosure{ - Position: position.NewTokensPosition($1, $10), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $10), StaticTkn: $1, FunctionTkn: $2, AmpersandTkn: $3, @@ -3404,7 +3403,7 @@ yield_expr: T_YIELD expr_without_variable { $$ = &ast.ExprYield{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), YieldTkn: $1, Value: $2, } @@ -3412,7 +3411,7 @@ yield_expr: | T_YIELD variable { $$ = &ast.ExprYield{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), YieldTkn: $1, Value: $2, } @@ -3420,7 +3419,7 @@ yield_expr: | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { $$ = &ast.ExprYield{ - Position: position.NewTokenNodePosition($1, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $4), YieldTkn: $1, Key: $2, DoubleArrowTkn: $3, @@ -3430,7 +3429,7 @@ yield_expr: | T_YIELD expr T_DOUBLE_ARROW variable { $$ = &ast.ExprYield{ - Position: position.NewTokenNodePosition($1, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $4), YieldTkn: $1, Key: $2, DoubleArrowTkn: $3, @@ -3443,7 +3442,7 @@ combined_scalar_offset: combined_scalar '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -3453,7 +3452,7 @@ combined_scalar_offset: | combined_scalar_offset '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -3463,9 +3462,9 @@ combined_scalar_offset: | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Var: &ast.ScalarString{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, }, @@ -3477,7 +3476,7 @@ combined_scalar_offset: | general_constant '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -3490,7 +3489,7 @@ combined_scalar: T_ARRAY '(' array_pair_list ')' { $$ = &ast.ExprArray{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ArrayTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -3501,7 +3500,7 @@ combined_scalar: | '[' array_pair_list ']' { $$ = &ast.ExprArray{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3525,7 +3524,7 @@ lexical_vars: | T_USE '(' lexical_var_list ')' { $$ = &ast.ExprClosureUse{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), UseTkn: $1, OpenParenthesisTkn: $2, Uses: $3.(*ast.ParserSeparatedList).Items, @@ -3539,9 +3538,9 @@ lexical_var_list: lexical_var_list ',' T_VARIABLE { variable := &ast.ExprVariable{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -3555,12 +3554,12 @@ lexical_var_list: | lexical_var_list ',' '&' T_VARIABLE { reference := &ast.ExprReference{ - Position: position.NewTokensPosition($3, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($3, $4), AmpersandTkn: $3, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -3577,9 +3576,9 @@ lexical_var_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -3592,12 +3591,12 @@ lexical_var_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprReference{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), AmpersandTkn: $1, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -3612,9 +3611,9 @@ function_call: namespace_name function_call_parameter_list { $$ = &ast.ExprFunctionCall{ - Position: position.NewNodeListNodePosition($1.(*ast.ParserSeparatedList).Items, $2), + Position: yylex.(*Parser).builder.NewNodeListNodePosition($1.(*ast.ParserSeparatedList).Items, $2), Function: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -3627,9 +3626,9 @@ function_call: | T_NAMESPACE T_NS_SEPARATOR namespace_name function_call_parameter_list { $$ = &ast.ExprFunctionCall{ - Position: position.NewTokenNodePosition($1, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $4), Function: &ast.NameRelative{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -3644,9 +3643,9 @@ function_call: | T_NS_SEPARATOR namespace_name function_call_parameter_list { $$ = &ast.ExprFunctionCall{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), Function: &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3660,7 +3659,7 @@ function_call: | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { $$ = &ast.ExprStaticCall{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -3673,7 +3672,7 @@ function_call: | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { $$ = &ast.ExprStaticCall{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -3686,7 +3685,7 @@ function_call: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { $$ = &ast.ExprStaticCall{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -3699,7 +3698,7 @@ function_call: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { $$ = &ast.ExprStaticCall{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -3712,7 +3711,7 @@ function_call: | variable_without_objects function_call_parameter_list { $$ = &ast.ExprFunctionCall{ - Position: position.NewNodesPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $2), Function: $1, OpenParenthesisTkn: $2.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $2.(*ast.ArgumentList).Arguments, @@ -3726,7 +3725,7 @@ class_name: T_STATIC { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -3734,7 +3733,7 @@ class_name: | namespace_name { $$ = &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, } @@ -3742,7 +3741,7 @@ class_name: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.NameRelative{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -3752,7 +3751,7 @@ class_name: | T_NS_SEPARATOR namespace_name { $$ = &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3764,7 +3763,7 @@ fully_qualified_class_name: namespace_name { $$ = &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, } @@ -3772,7 +3771,7 @@ fully_qualified_class_name: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.NameRelative{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -3782,7 +3781,7 @@ fully_qualified_class_name: | T_NS_SEPARATOR namespace_name { $$ = &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3812,12 +3811,12 @@ dynamic_class_name_reference: switch nn := n.(type) { case *ast.ExprArrayDimFetch: nn.Var = $$ - *$$.GetPosition() = *position.NewNodesPosition($$, nn) + *$$.GetPosition() = *yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - *$$.GetPosition() = *position.NewNodesPosition($$, nn) + *$$.GetPosition() = *yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn } } @@ -3826,12 +3825,12 @@ dynamic_class_name_reference: switch nn := n.(type) { case *ast.ExprArrayDimFetch: nn.Var = $$ - *$$.GetPosition() = *position.NewNodesPosition($$, nn) + *$$.GetPosition() = *yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - *$$.GetPosition() = *position.NewNodesPosition($$, nn) + *$$.GetPosition() = *yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn } } @@ -3872,7 +3871,7 @@ exit_expr: | '(' ')' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), OpenBracketTkn: $1, CloseBracketTkn: $2, } @@ -3892,7 +3891,7 @@ backticks_expr: { $$ = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), EncapsedStrTkn: $1, Value: $1.Value, }, @@ -3919,7 +3918,7 @@ common_scalar: T_LNUMBER { $$ = &ast.ScalarLnumber{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } @@ -3927,7 +3926,7 @@ common_scalar: | T_DNUMBER { $$ = &ast.ScalarDnumber{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } @@ -3935,7 +3934,7 @@ common_scalar: | T_CONSTANT_ENCAPSED_STRING { $$ = &ast.ScalarString{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -3943,7 +3942,7 @@ common_scalar: | T_LINE { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3951,7 +3950,7 @@ common_scalar: | T_FILE { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3959,7 +3958,7 @@ common_scalar: | T_DIR { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3967,7 +3966,7 @@ common_scalar: | T_TRAIT_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3975,7 +3974,7 @@ common_scalar: | T_METHOD_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3983,7 +3982,7 @@ common_scalar: | T_FUNC_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3991,7 +3990,7 @@ common_scalar: | T_NS_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3999,11 +3998,11 @@ common_scalar: | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenHeredocTkn: $1, Parts: []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), EncapsedStrTkn: $2, Value: $2.Value, }, @@ -4014,7 +4013,7 @@ common_scalar: | T_START_HEREDOC T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), OpenHeredocTkn: $1, CloseHeredocTkn: $2, } @@ -4025,11 +4024,11 @@ static_class_constant: class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { $$ = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -4056,9 +4055,9 @@ static_scalar_value: | namespace_name { $$ = &ast.ExprConstFetch{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Const: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -4067,9 +4066,9 @@ static_scalar_value: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.ExprConstFetch{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), Const: &ast.NameRelative{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -4080,9 +4079,9 @@ static_scalar_value: | T_NS_SEPARATOR namespace_name { $$ = &ast.ExprConstFetch{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), Const: &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4092,7 +4091,7 @@ static_scalar_value: | T_ARRAY '(' static_array_pair_list ')' { $$ = &ast.ExprArray{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ArrayTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -4103,7 +4102,7 @@ static_scalar_value: | '[' static_array_pair_list ']' { $$ = &ast.ExprArray{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4117,7 +4116,7 @@ static_scalar_value: | T_CLASS_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4132,7 +4131,7 @@ static_operation: static_scalar_value '[' static_scalar_value ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4142,7 +4141,7 @@ static_operation: | static_scalar_value '+' static_scalar_value { $$ = &ast.ExprBinaryPlus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4151,7 +4150,7 @@ static_operation: | static_scalar_value '-' static_scalar_value { $$ = &ast.ExprBinaryMinus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4160,7 +4159,7 @@ static_operation: | static_scalar_value '*' static_scalar_value { $$ = &ast.ExprBinaryMul{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4169,7 +4168,7 @@ static_operation: | static_scalar_value T_POW static_scalar_value { $$ = &ast.ExprBinaryPow{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4178,7 +4177,7 @@ static_operation: | static_scalar_value '/' static_scalar_value { $$ = &ast.ExprBinaryDiv{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4187,7 +4186,7 @@ static_operation: | static_scalar_value '%' static_scalar_value { $$ = &ast.ExprBinaryMod{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4196,7 +4195,7 @@ static_operation: | '!' static_scalar_value { $$ = &ast.ExprBooleanNot{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), ExclamationTkn: $1, Expr: $2, } @@ -4204,7 +4203,7 @@ static_operation: | '~' static_scalar_value { $$ = &ast.ExprBitwiseNot{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), TildaTkn: $1, Expr: $2, } @@ -4212,7 +4211,7 @@ static_operation: | static_scalar_value '|' static_scalar_value { $$ = &ast.ExprBinaryBitwiseOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4221,7 +4220,7 @@ static_operation: | static_scalar_value '&' static_scalar_value { $$ = &ast.ExprBinaryBitwiseAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4230,7 +4229,7 @@ static_operation: | static_scalar_value '^' static_scalar_value { $$ = &ast.ExprBinaryBitwiseXor{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4239,7 +4238,7 @@ static_operation: | static_scalar_value T_SL static_scalar_value { $$ = &ast.ExprBinaryShiftLeft{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4248,7 +4247,7 @@ static_operation: | static_scalar_value T_SR static_scalar_value { $$ = &ast.ExprBinaryShiftRight{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4257,7 +4256,7 @@ static_operation: | static_scalar_value '.' static_scalar_value { $$ = &ast.ExprBinaryConcat{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4266,7 +4265,7 @@ static_operation: | static_scalar_value T_LOGICAL_XOR static_scalar_value { $$ = &ast.ExprBinaryLogicalXor{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4275,7 +4274,7 @@ static_operation: | static_scalar_value T_LOGICAL_AND static_scalar_value { $$ = &ast.ExprBinaryLogicalAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4284,7 +4283,7 @@ static_operation: | static_scalar_value T_LOGICAL_OR static_scalar_value { $$ = &ast.ExprBinaryLogicalOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4293,7 +4292,7 @@ static_operation: | static_scalar_value T_BOOLEAN_AND static_scalar_value { $$ = &ast.ExprBinaryBooleanAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4302,7 +4301,7 @@ static_operation: | static_scalar_value T_BOOLEAN_OR static_scalar_value { $$ = &ast.ExprBinaryBooleanOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4311,7 +4310,7 @@ static_operation: | static_scalar_value T_IS_IDENTICAL static_scalar_value { $$ = &ast.ExprBinaryIdentical{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4320,7 +4319,7 @@ static_operation: | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { $$ = &ast.ExprBinaryNotIdentical{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4329,7 +4328,7 @@ static_operation: | static_scalar_value T_IS_EQUAL static_scalar_value { $$ = &ast.ExprBinaryEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4338,7 +4337,7 @@ static_operation: | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { $$ = &ast.ExprBinaryNotEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4347,7 +4346,7 @@ static_operation: | static_scalar_value '<' static_scalar_value { $$ = &ast.ExprBinarySmaller{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4356,7 +4355,7 @@ static_operation: | static_scalar_value '>' static_scalar_value { $$ = &ast.ExprBinaryGreater{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4365,7 +4364,7 @@ static_operation: | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { $$ = &ast.ExprBinarySmallerOrEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4374,7 +4373,7 @@ static_operation: | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { $$ = &ast.ExprBinaryGreaterOrEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4383,7 +4382,7 @@ static_operation: | static_scalar_value '?' ':' static_scalar_value { $$ = &ast.ExprTernary{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Condition: $1, QuestionTkn: $2, ColonTkn: $3, @@ -4393,7 +4392,7 @@ static_operation: | static_scalar_value '?' static_scalar_value ':' static_scalar_value { $$ = &ast.ExprTernary{ - Position: position.NewNodesPosition($1, $5), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $5), Condition: $1, QuestionTkn: $2, IfTrue: $3, @@ -4404,7 +4403,7 @@ static_operation: | '+' static_scalar_value { $$ = &ast.ExprUnaryPlus{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), PlusTkn: $1, Expr: $2, } @@ -4412,7 +4411,7 @@ static_operation: | '-' static_scalar_value { $$ = &ast.ExprUnaryMinus{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), MinusTkn: $1, Expr: $2, } @@ -4420,7 +4419,7 @@ static_operation: | '(' static_scalar_value ')' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4436,9 +4435,9 @@ general_constant: | namespace_name { $$ = &ast.ExprConstFetch{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Const: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -4447,9 +4446,9 @@ general_constant: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.ExprConstFetch{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), Const: &ast.NameRelative{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -4460,9 +4459,9 @@ general_constant: | T_NS_SEPARATOR namespace_name { $$ = &ast.ExprConstFetch{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), Const: &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4475,9 +4474,9 @@ scalar: T_STRING_VARNAME { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4498,7 +4497,7 @@ scalar: | '"' encaps_list '"' { $$ = &ast.ScalarEncapsed{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenQoteTkn: $1, Parts: $2, CloseQoteTkn: $1, @@ -4507,7 +4506,7 @@ scalar: | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenHeredocTkn: $1, Parts: $2, CloseHeredocTkn: $3, @@ -4516,7 +4515,7 @@ scalar: | T_CLASS_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4554,7 +4553,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{ - Position: position.NewNodesPosition($3, $5), + Position: yylex.(*Parser).builder.NewNodesPosition($3, $5), Key: $3, DoubleArrowTkn: $4, Val: $5, @@ -4568,7 +4567,7 @@ non_empty_static_array_pair_list: | non_empty_static_array_pair_list ',' static_scalar_value { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodePosition($3), + Position: yylex.(*Parser).builder.NewNodePosition($3), Val: $3, } @@ -4582,7 +4581,7 @@ non_empty_static_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Key: $1, DoubleArrowTkn: $2, Val: $3, @@ -4595,7 +4594,7 @@ non_empty_static_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Val: $1, }, }, @@ -4618,7 +4617,7 @@ parenthesis_expr: '(' expr ')' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4627,7 +4626,7 @@ parenthesis_expr: | '(' yield_expr ')' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4671,7 +4670,7 @@ variable: case *ast.ExprArrayDimFetch: mc := $4[0].(*ast.ExprMethodCall) $3 = append($3, &ast.ExprFunctionCall{ - Position: position.NewNodePosition(mc), + Position: yylex.(*Parser).builder.NewNodePosition(mc), OpenParenthesisTkn: mc.OpenParenthesisTkn, Arguments: mc.Arguments, SeparatorTkns: mc.SeparatorTkns, @@ -4690,22 +4689,22 @@ variable: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprArrayDimFetch: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprMethodCall: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn } } @@ -4714,22 +4713,22 @@ variable: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprArrayDimFetch: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn case *ast.ExprMethodCall: nn.Var = $$ - nn.Position = position.NewNodesPosition($$, nn) + nn.Position = yylex.(*Parser).builder.NewNodesPosition($$, nn) $$ = nn } } @@ -4763,7 +4762,7 @@ variable_property: case *ast.ExprArrayDimFetch: mc := $3[0].(*ast.ExprMethodCall) $2 = append($2, &ast.ExprFunctionCall{ - Position: position.NewNodePosition(mc), + Position: yylex.(*Parser).builder.NewNodePosition(mc), OpenParenthesisTkn: mc.OpenParenthesisTkn, Arguments: mc.Arguments, SeparatorTkns: mc.SeparatorTkns, @@ -4786,7 +4785,7 @@ array_method_dereference: array_method_dereference '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -4798,7 +4797,7 @@ array_method_dereference: | method '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -4813,7 +4812,7 @@ method: function_call_parameter_list { $$ = &ast.ExprMethodCall{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), OpenParenthesisTkn: $1.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $1.(*ast.ArgumentList).Arguments, SeparatorTkns: $1.(*ast.ArgumentList).SeparatorTkns, @@ -4846,7 +4845,7 @@ variable_without_objects: { for i := len($1)-1; i>=0; i-- { $1[i].(*ast.ExprVariable).VarName = $2 - $1[i].(*ast.ExprVariable).Position = position.NewNodesPosition($1[i], $2) + $1[i].(*ast.ExprVariable).Position = yylex.(*Parser).builder.NewNodesPosition($1[i], $2) $2 = $1[i] } @@ -4858,7 +4857,7 @@ static_member: class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { $$ = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -4867,7 +4866,7 @@ static_member: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { $$ = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -4886,7 +4885,7 @@ array_function_dereference: array_function_dereference '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4896,7 +4895,7 @@ array_function_dereference: | function_call '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4930,7 +4929,7 @@ base_variable: { for i := len($1)-1; i>=0; i-- { $1[i].(*ast.ExprVariable).VarName = $2 - $1[i].(*ast.ExprVariable).Position = position.NewNodesPosition($1[i], $2) + $1[i].(*ast.ExprVariable).Position = yylex.(*Parser).builder.NewNodesPosition($1[i], $2) $2 = $1[i] } @@ -4946,7 +4945,7 @@ reference_variable: reference_variable '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4956,7 +4955,7 @@ reference_variable: | reference_variable '{' expr '}' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4974,9 +4973,9 @@ compound_variable: T_VARIABLE { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4985,10 +4984,10 @@ compound_variable: | '$' '{' expr '}' { $$ = &ast.ExprVariable{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), DollarTkn: $1, VarName: &ast.ParserBrackets{ - Position: position.NewTokensPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $4), OpenBracketTkn: $2, Child: $3, CloseBracketTkn: $4, @@ -5018,7 +5017,7 @@ object_property: { $$ = []ast.Vertex{ &ast.ExprPropertyFetch{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Property: $1, }, } @@ -5029,7 +5028,7 @@ object_dim_list: object_dim_list '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -5041,7 +5040,7 @@ object_dim_list: | object_dim_list '{' expr '}' { fetch := &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -5054,7 +5053,7 @@ object_dim_list: { $$ = []ast.Vertex{ &ast.ExprPropertyFetch{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Property: $1, }, } @@ -5065,7 +5064,7 @@ variable_name: T_STRING { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -5073,7 +5072,7 @@ variable_name: | '{' expr '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -5086,7 +5085,7 @@ simple_indirect_reference: { $$ = []ast.Vertex{ &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), DollarTkn: $1, }, } @@ -5094,7 +5093,7 @@ simple_indirect_reference: | simple_indirect_reference '$' { $$ = append($1, &ast.ExprVariable{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), DollarTkn: $2, }) } @@ -5121,7 +5120,7 @@ assignment_list_element: variable { $$ = &ast.ExprArrayItem{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Val: $1, } } @@ -5135,9 +5134,9 @@ assignment_list_element: } $$ = &ast.ExprArrayItem{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Val: &ast.ExprList{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -5173,7 +5172,7 @@ non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodesPosition($3, $5), + Position: yylex.(*Parser).builder.NewNodesPosition($3, $5), Key: $3, DoubleArrowTkn: $4, Val: $5, @@ -5187,7 +5186,7 @@ non_empty_array_pair_list: | non_empty_array_pair_list ',' expr { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodePosition($3), + Position: yylex.(*Parser).builder.NewNodePosition($3), Val: $3, } @@ -5201,7 +5200,7 @@ non_empty_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Key: $1, DoubleArrowTkn: $2, Val: $3, @@ -5214,7 +5213,7 @@ non_empty_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Val: $1, }, }, @@ -5223,11 +5222,11 @@ non_empty_array_pair_list: | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { arrayItem := &ast.ExprArrayItem{ - Position: position.NewNodesPosition($3, $6), + Position: yylex.(*Parser).builder.NewNodesPosition($3, $6), Key: $3, DoubleArrowTkn: $4, Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition($5, $6), + Position: yylex.(*Parser).builder.NewTokenNodePosition($5, $6), AmpersandTkn: $5, Var: $6, }, @@ -5241,9 +5240,9 @@ non_empty_array_pair_list: | non_empty_array_pair_list ',' '&' w_variable { arrayItem := &ast.ExprArrayItem{ - Position: position.NewTokenNodePosition($3, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $4), Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition($3, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $4), AmpersandTkn: $3, Var: $4, }, @@ -5259,11 +5258,11 @@ non_empty_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Key: $1, DoubleArrowTkn: $2, Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition($3, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $4), AmpersandTkn: $3, Var: $4, }, @@ -5276,9 +5275,9 @@ non_empty_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Var: $2, }, @@ -5298,7 +5297,7 @@ encaps_list: $$ = append( $1, &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), EncapsedStrTkn: $2, Value: $2.Value, }, @@ -5312,7 +5311,7 @@ encaps_list: { $$ = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), EncapsedStrTkn: $1, Value: $1.Value, }, @@ -5325,9 +5324,9 @@ encaps_var: T_VARIABLE { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -5336,11 +5335,11 @@ encaps_var: | T_VARIABLE '[' encaps_var_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -5353,18 +5352,18 @@ encaps_var: | T_VARIABLE T_OBJECT_OPERATOR T_STRING { $$ = &ast.ExprPropertyFetch{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, }, ObjectOperatorTkn: $2, Property: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -5373,10 +5372,10 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: &ast.ExprVariable{ - Position: position.NewNodePosition($2), + Position: yylex.(*Parser).builder.NewNodePosition($2), VarName: $2, }, CloseBracketTkn: $3, @@ -5385,12 +5384,12 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: &ast.ExprVariable{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -5401,14 +5400,14 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $6), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $6), OpenBracketTkn: $1, Child: &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($2, $5), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $5), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -5423,7 +5422,7 @@ encaps_var: | T_CURLY_OPEN variable '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -5435,7 +5434,7 @@ encaps_var_offset: T_STRING { $$ = &ast.ScalarString{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -5445,13 +5444,13 @@ encaps_var_offset: // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string($1.Value)); err == nil { $$ = &ast.ScalarLnumber{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } } else { $$ = &ast.ScalarString{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -5460,9 +5459,9 @@ encaps_var_offset: | T_VARIABLE { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -5474,7 +5473,7 @@ internal_functions_in_yacc: T_ISSET '(' isset_variables ')' { $$ = &ast.ExprIsset{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), IssetTkn: $1, OpenParenthesisTkn: $2, Vars: $3.(*ast.ParserSeparatedList).Items, @@ -5485,7 +5484,7 @@ internal_functions_in_yacc: | T_EMPTY '(' variable ')' { $$ = &ast.ExprEmpty{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), EmptyTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -5495,7 +5494,7 @@ internal_functions_in_yacc: | T_EMPTY '(' expr ')' { $$ = &ast.ExprEmpty{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), EmptyTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -5505,7 +5504,7 @@ internal_functions_in_yacc: | T_INCLUDE expr { $$ = &ast.ExprInclude{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), IncludeTkn: $1, Expr: $2, } @@ -5513,7 +5512,7 @@ internal_functions_in_yacc: | T_INCLUDE_ONCE expr { $$ = &ast.ExprIncludeOnce{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), IncludeTkn: $1, Expr: $2, } @@ -5521,7 +5520,7 @@ internal_functions_in_yacc: | T_EVAL '(' expr ')' { $$ = &ast.ExprEval{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), EvalTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -5531,7 +5530,7 @@ internal_functions_in_yacc: | T_REQUIRE expr { $$ = &ast.ExprRequire{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), RequireTkn: $1, Expr: $2, } @@ -5539,7 +5538,7 @@ internal_functions_in_yacc: | T_REQUIRE_ONCE expr { $$ = &ast.ExprRequireOnce{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), RequireOnceTkn: $1, Expr: $2, } @@ -5577,11 +5576,11 @@ class_constant: class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { $$ = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -5590,11 +5589,11 @@ class_constant: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { $$ = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -5606,11 +5605,11 @@ static_class_name_scalar: class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { $$ = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -5622,11 +5621,11 @@ class_name_scalar: class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { $$ = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, diff --git a/internal/php7/parser.go b/internal/php7/parser.go index f49ecd8..f053888 100644 --- a/internal/php7/parser.go +++ b/internal/php7/parser.go @@ -1,6 +1,7 @@ package php7 import ( + builder "github.com/z7zmey/php-parser/internal/position" "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/errors" @@ -13,6 +14,7 @@ type Parser struct { currentToken *token.Token rootNode ast.Vertex errHandlerFunc func(*errors.Error) + builder *builder.Builder } // NewParser creates and returns new Parser @@ -20,6 +22,7 @@ func NewParser(lexer *scanner.Lexer, errHandlerFunc func(*errors.Error)) *Parser return &Parser{ Lexer: lexer, errHandlerFunc: errHandlerFunc, + builder: builder.NewBuilder(), } } diff --git a/internal/php7/php7.go b/internal/php7/php7.go index d8af320..11c021e 100644 --- a/internal/php7/php7.go +++ b/internal/php7/php7.go @@ -10,12 +10,11 @@ import __yyfmt__ "fmt" import ( "strconv" - "github.com/z7zmey/php-parser/internal/position" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/token" ) -// line internal/php7/php7.y:14 +// line internal/php7/php7.y:13 type yySymType struct { yys int node ast.Vertex @@ -340,7 +339,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php7/php7.y:4328 +// line internal/php7/php7.y:4327 // line yacctab:1 var yyExca = [...]int{ @@ -2107,479 +2106,479 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:284 + // line internal/php7/php7.y:283 { yylex.(*Parser).rootNode = &ast.Root{ - Position: position.NewNodeListPosition(yyDollar[1].list), + Position: yylex.(*Parser).builder.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:294 + // line internal/php7/php7.y:293 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 + // line internal/php7/php7.y:293 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 + // line internal/php7/php7.y:293 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 + // line internal/php7/php7.y:293 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 + // line internal/php7/php7.y:293 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 + // line internal/php7/php7.y:293 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 + // line internal/php7/php7.y:293 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 + // line internal/php7/php7.y:293 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:295 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 + // line internal/php7/php7.y:312 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:317 + // line internal/php7/php7.y:316 { yyVAL.token = yyDollar[1].token } case 79: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:324 + // line internal/php7/php7.y:323 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2587,18 +2586,18 @@ yydefault: } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:330 + // line internal/php7/php7.y:329 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:337 + // line internal/php7/php7.y:336 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.NameNamePart{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -2607,10 +2606,10 @@ yydefault: } case 82: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:349 + // line internal/php7/php7.y:348 { part := &ast.NameNamePart{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), StringTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, } @@ -2622,20 +2621,20 @@ yydefault: } case 83: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:365 + // line internal/php7/php7.y:364 { yyVAL.node = &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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:373 + // line internal/php7/php7.y:372 { yyVAL.node = &ast.NameRelative{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -2644,10 +2643,10 @@ yydefault: } case 85: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:383 + // line internal/php7/php7.y:382 { yyVAL.node = &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -2655,47 +2654,47 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:395 + // line internal/php7/php7.y:394 { // error yyVAL.node = nil } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:400 + // line internal/php7/php7.y:399 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:404 + // line internal/php7/php7.y:403 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:408 + // line internal/php7/php7.y:407 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:412 + // line internal/php7/php7.y:411 { yyVAL.node = yyDollar[1].node } case 91: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:416 + // line internal/php7/php7.y:415 { yyVAL.node = yyDollar[1].node } case 92: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:420 + // line internal/php7/php7.y:419 { yyVAL.node = &ast.StmtHaltCompiler{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), HaltCompilerTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, CloseParenthesisTkn: yyDollar[3].token, @@ -2704,13 +2703,13 @@ yydefault: } case 93: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:430 + // line internal/php7/php7.y:429 { yyVAL.node = &ast.StmtNamespace{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), NsTkn: yyDollar[1].token, Name: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2719,13 +2718,13 @@ yydefault: } case 94: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:443 + // line internal/php7/php7.y:442 { yyVAL.node = &ast.StmtNamespace{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), NsTkn: yyDollar[1].token, Name: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2736,10 +2735,10 @@ yydefault: } case 95: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:458 + // line internal/php7/php7.y:457 { yyVAL.node = &ast.StmtNamespace{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsTkn: yyDollar[1].token, OpenCurlyBracket: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -2748,11 +2747,11 @@ yydefault: } case 96: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:468 + // line internal/php7/php7.y:467 { use := yyDollar[2].node.(*ast.StmtGroupUse) - use.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + use.Position = yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) use.UseTkn = yyDollar[1].token use.SemiColonTkn = yyDollar[3].token @@ -2760,11 +2759,11 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:478 + // line internal/php7/php7.y:477 { use := yyDollar[3].node.(*ast.StmtGroupUse) - use.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) + use.Position = yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) use.UseTkn = yyDollar[1].token use.Type = yyDollar[2].node use.SemiColonTkn = yyDollar[4].token @@ -2773,10 +2772,10 @@ yydefault: } case 98: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:489 + // line internal/php7/php7.y:488 { yyVAL.node = &ast.StmtUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -2785,10 +2784,10 @@ yydefault: } case 99: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:499 + // line internal/php7/php7.y:498 { yyVAL.node = &ast.StmtUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), UseTkn: yyDollar[1].token, Type: yyDollar[2].node, UseDeclarations: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -2798,10 +2797,10 @@ yydefault: } case 100: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:510 + // line internal/php7/php7.y:509 { yyVAL.node = &ast.StmtConstList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -2810,34 +2809,34 @@ yydefault: } case 101: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:523 + // line internal/php7/php7.y:522 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:531 + // line internal/php7/php7.y:530 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:542 + // line internal/php7/php7.y:541 { yyDollar[4].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[4].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[5].token) yyVAL.node = &ast.StmtGroupUse{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[6].token), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[6].token), Prefix: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2850,15 +2849,15 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:560 + // line internal/php7/php7.y:559 { yyDollar[5].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[5].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[6].token) yyVAL.node = &ast.StmtGroupUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), LeadingNsSeparatorTkn: yyDollar[1].token, Prefix: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2871,14 +2870,14 @@ yydefault: } case 105: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:582 + // line internal/php7/php7.y:581 { yyDollar[4].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[4].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[5].token) yyVAL.node = &ast.StmtGroupUse{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[6].token), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[6].token), Prefix: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2891,15 +2890,15 @@ yydefault: } case 106: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:600 + // line internal/php7/php7.y:599 { yyDollar[5].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[5].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[6].token) yyVAL.node = &ast.StmtGroupUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), LeadingNsSeparatorTkn: yyDollar[1].token, Prefix: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2912,19 +2911,19 @@ yydefault: } case 107: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:622 + // line internal/php7/php7.y:621 { yyVAL.token = nil } case 108: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:626 + // line internal/php7/php7.y:625 { yyVAL.token = yyDollar[1].token } case 109: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:633 + // line internal/php7/php7.y:632 { 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) @@ -2933,7 +2932,7 @@ yydefault: } case 110: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:640 + // line internal/php7/php7.y:639 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2941,7 +2940,7 @@ yydefault: } case 111: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:649 + // line internal/php7/php7.y:648 { 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) @@ -2950,7 +2949,7 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:656 + // line internal/php7/php7.y:655 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2958,7 +2957,7 @@ yydefault: } case 113: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:665 + // line internal/php7/php7.y:664 { 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) @@ -2967,7 +2966,7 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:672 + // line internal/php7/php7.y:671 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2975,28 +2974,28 @@ yydefault: } case 115: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:681 + // line internal/php7/php7.y:680 { yyVAL.node = yyDollar[1].node } case 116: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:685 + // line internal/php7/php7.y:684 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.Type = yyDollar[1].node - decl.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node) + decl.Position = yylex.(*Parser).builder.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:696 + // line internal/php7/php7.y:695 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -3004,18 +3003,18 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:707 + // line internal/php7/php7.y:706 { yyVAL.node = &ast.StmtUseDeclaration{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), Use: &ast.NameName{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3023,23 +3022,23 @@ yydefault: } case 119: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:727 + // line internal/php7/php7.y:726 { yyVAL.node = yyDollar[1].node } case 120: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:731 + // line internal/php7/php7.y:730 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.NsSeparatorTkn = yyDollar[1].token - decl.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + decl.Position = yylex.(*Parser).builder.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:742 + // line internal/php7/php7.y:741 { 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) @@ -3048,7 +3047,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:749 + // line internal/php7/php7.y:748 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3056,7 +3055,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:758 + // line internal/php7/php7.y:757 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -3064,53 +3063,53 @@ yydefault: } case 124: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:764 + // line internal/php7/php7.y:763 { yyVAL.list = []ast.Vertex{} } case 125: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:771 + // line internal/php7/php7.y:770 { // error yyVAL.node = nil } case 126: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:776 + // line internal/php7/php7.y:775 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:780 + // line internal/php7/php7.y:779 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:784 + // line internal/php7/php7.y:783 { yyVAL.node = yyDollar[1].node } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:788 + // line internal/php7/php7.y:787 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:792 + // line internal/php7/php7.y:791 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:796 + // line internal/php7/php7.y:795 { yyVAL.node = &ast.StmtHaltCompiler{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), HaltCompilerTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, CloseParenthesisTkn: yyDollar[3].token, @@ -3119,10 +3118,10 @@ yydefault: } case 132: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:808 + // line internal/php7/php7.y:807 { yyVAL.node = &ast.StmtStmtList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracket: yyDollar[1].token, Stmts: yyDollar[2].list, CloseCurlyBracket: yyDollar[3].token, @@ -3130,34 +3129,34 @@ yydefault: } case 133: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:817 + // line internal/php7/php7.y:816 { yyVAL.node = yyDollar[1].node } case 134: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:821 + // line internal/php7/php7.y:820 { yyVAL.node = yyDollar[1].node } case 135: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:825 + // line internal/php7/php7.y:824 { 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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + yyDollar[5].node.(*ast.StmtWhile).Position = yylex.(*Parser).builder.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:835 + // line internal/php7/php7.y:834 { yyVAL.node = &ast.StmtDo{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), DoTkn: yyDollar[1].token, Stmt: yyDollar[2].node, WhileTkn: yyDollar[3].token, @@ -3169,7 +3168,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:848 + // line internal/php7/php7.y:847 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3182,28 +3181,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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) + yyDollar[9].node.(*ast.StmtFor).Position = yylex.(*Parser).builder.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:865 + // line internal/php7/php7.y:864 { 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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + yyDollar[5].node.(*ast.StmtSwitch).Position = yylex.(*Parser).builder.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:875 + // line internal/php7/php7.y:874 { yyVAL.node = &ast.StmtBreak{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), BreakTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3211,10 +3210,10 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:884 + // line internal/php7/php7.y:883 { yyVAL.node = &ast.StmtContinue{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ContinueTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3222,10 +3221,10 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:893 + // line internal/php7/php7.y:892 { yyVAL.node = &ast.StmtReturn{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ReturnTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3233,70 +3232,70 @@ yydefault: } case 142: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:902 + // line internal/php7/php7.y:901 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token - yyDollar[2].node.(*ast.StmtGlobal).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtGlobal).Position = yylex.(*Parser).builder.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:910 + // line internal/php7/php7.y:909 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token - yyDollar[2].node.(*ast.StmtStatic).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtStatic).Position = yylex.(*Parser).builder.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:918 + // line internal/php7/php7.y:917 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token - yyDollar[2].node.(*ast.StmtEcho).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtEcho).Position = yylex.(*Parser).builder.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:926 + // line internal/php7/php7.y:925 { yyVAL.node = &ast.StmtInlineHtml{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:934 + // line internal/php7/php7.y:933 { yyVAL.node = &ast.StmtExpression{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:942 + // line internal/php7/php7.y:941 { 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).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) + yyDollar[3].node.(*ast.StmtUnset).Position = yylex.(*Parser).builder.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:953 + // line internal/php7/php7.y:952 { yyDollar[7].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[7].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3304,13 +3303,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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node) + yyDollar[7].node.(*ast.StmtForeach).Position = yylex.(*Parser).builder.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:965 + // line internal/php7/php7.y:964 { yyDollar[9].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3320,39 +3319,39 @@ 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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) + yyDollar[9].node.(*ast.StmtForeach).Position = yylex.(*Parser).builder.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:979 + // line internal/php7/php7.y:978 { 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).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + yyDollar[5].node.(*ast.StmtDeclare).Position = yylex.(*Parser).builder.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:990 + // line internal/php7/php7.y:989 { yyVAL.node = &ast.StmtNop{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 152: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:997 + // line internal/php7/php7.y:996 { - pos := position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list) + pos := yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list) if yyDollar[6].node != nil { - pos = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) + pos = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) } yyVAL.node = &ast.StmtTry{ @@ -3367,10 +3366,10 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1014 + // line internal/php7/php7.y:1013 { yyVAL.node = &ast.StmtThrow{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ThrowTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3378,13 +3377,13 @@ yydefault: } case 154: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1023 + // line internal/php7/php7.y:1022 { yyVAL.node = &ast.StmtGoto{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), GotoTkn: yyDollar[1].token, Label: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3393,12 +3392,12 @@ yydefault: } case 155: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1036 + // line internal/php7/php7.y:1035 { yyVAL.node = &ast.StmtLabel{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), LabelName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3407,21 +3406,21 @@ yydefault: } case 156: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1050 + // line internal/php7/php7.y:1049 { yyVAL.list = []ast.Vertex{} } case 157: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1054 + // line internal/php7/php7.y:1053 { catch := yyDollar[4].node.(*ast.StmtCatch) catch.CatchTkn = yyDollar[2].token catch.OpenParenthesisTkn = yyDollar[3].token catch.Var = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[5].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[5].token), IdentifierTkn: yyDollar[5].token, Value: yyDollar[5].token.Value, }, @@ -3430,13 +3429,13 @@ yydefault: catch.OpenCurlyBracketTkn = yyDollar[7].token catch.Stmts = yyDollar[8].list catch.CloseCurlyBracketTkn = yyDollar[9].token - catch.Position = position.NewTokensPosition(yyDollar[2].token, yyDollar[9].token) + catch.Position = yylex.(*Parser).builder.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:1077 + // line internal/php7/php7.y:1076 { yyVAL.node = &ast.StmtCatch{ Types: []ast.Vertex{yyDollar[1].node}, @@ -3444,7 +3443,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1083 + // line internal/php7/php7.y:1082 { 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) @@ -3453,16 +3452,16 @@ yydefault: } case 160: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1093 + // line internal/php7/php7.y:1092 { yyVAL.node = nil } case 161: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1097 + // line internal/php7/php7.y:1096 { yyVAL.node = &ast.StmtFinally{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), FinallyTkn: yyDollar[1].token, OpenCurlyBracketTkn: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -3471,7 +3470,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1110 + // line internal/php7/php7.y:1109 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3479,7 +3478,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1116 + // line internal/php7/php7.y:1115 { 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) @@ -3488,20 +3487,20 @@ yydefault: } case 164: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1126 + // line internal/php7/php7.y:1125 { yyVAL.node = yyDollar[1].node } case 165: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:1133 + // line internal/php7/php7.y:1132 { yyVAL.node = &ast.StmtFunction{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[11].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token), FunctionTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, FunctionName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3518,38 +3517,38 @@ yydefault: } case 166: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1158 + // line internal/php7/php7.y:1157 { yyVAL.token = nil } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1162 + // line internal/php7/php7.y:1161 { yyVAL.token = yyDollar[1].token } case 168: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1169 + // line internal/php7/php7.y:1168 { yyVAL.token = nil } case 169: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1173 + // line internal/php7/php7.y:1172 { yyVAL.token = yyDollar[1].token } case 170: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1180 + // line internal/php7/php7.y:1179 { yyVAL.node = &ast.StmtClass{ - Position: position.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].token), + Position: yylex.(*Parser).builder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].token), Modifiers: yyDollar[1].list, ClassTkn: yyDollar[2].token, ClassName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3562,13 +3561,13 @@ yydefault: } case 171: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:1198 + // line internal/php7/php7.y:1197 { yyVAL.node = &ast.StmtClass{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), ClassTkn: yyDollar[1].token, ClassName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3581,45 +3580,45 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1218 + // line internal/php7/php7.y:1217 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 173: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1222 + // line internal/php7/php7.y:1221 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 174: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1229 + // line internal/php7/php7.y:1228 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:1237 + // line internal/php7/php7.y:1236 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:1248 + // line internal/php7/php7.y:1247 { yyVAL.node = &ast.StmtTrait{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), TraitTkn: yyDollar[1].token, TraitName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3630,13 +3629,13 @@ yydefault: } case 177: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1266 + // line internal/php7/php7.y:1265 { yyVAL.node = &ast.StmtInterface{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), InterfaceTkn: yyDollar[1].token, InterfaceName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3648,32 +3647,32 @@ yydefault: } case 178: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1285 + // line internal/php7/php7.y:1284 { yyVAL.node = nil } case 179: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1289 + // line internal/php7/php7.y:1288 { yyVAL.node = &ast.StmtClassExtends{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1300 + // line internal/php7/php7.y:1299 { yyVAL.node = nil } case 181: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1304 + // line internal/php7/php7.y:1303 { yyVAL.node = &ast.StmtInterfaceExtends{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -3681,16 +3680,16 @@ yydefault: } case 182: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1316 + // line internal/php7/php7.y:1315 { yyVAL.node = nil } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1320 + // line internal/php7/php7.y:1319 { yyVAL.node = &ast.StmtClassImplements{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -3698,26 +3697,26 @@ yydefault: } case 184: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1332 + // line internal/php7/php7.y:1331 { yyVAL.node = yyDollar[1].node } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1336 + // line internal/php7/php7.y:1335 { yyVAL.node = &ast.ExprReference{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1344 + // line internal/php7/php7.y:1343 { yyVAL.node = &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -3727,10 +3726,10 @@ yydefault: } case 187: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1355 + // line internal/php7/php7.y:1354 { yyVAL.node = &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -3739,23 +3738,23 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1368 + // line internal/php7/php7.y:1367 { yyVAL.node = &ast.StmtFor{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } case 189: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1375 + // line internal/php7/php7.y:1374 { yyVAL.node = &ast.StmtFor{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[2].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].list), Stmts: yyDollar[2].list, }, EndForTkn: yyDollar[3].token, @@ -3764,23 +3763,23 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1392 + // line internal/php7/php7.y:1391 { yyVAL.node = &ast.StmtForeach{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } case 191: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1399 + // line internal/php7/php7.y:1398 { yyVAL.node = &ast.StmtForeach{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[2].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].list), Stmts: yyDollar[2].list, }, EndForeachTkn: yyDollar[3].token, @@ -3789,23 +3788,23 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1416 + // line internal/php7/php7.y:1415 { yyVAL.node = &ast.StmtDeclare{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } case 193: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1423 + // line internal/php7/php7.y:1422 { yyVAL.node = &ast.StmtDeclare{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[2].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].list), Stmts: yyDollar[2].list, }, EndDeclareTkn: yyDollar[3].token, @@ -3814,10 +3813,10 @@ yydefault: } case 194: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1440 + // line internal/php7/php7.y:1439 { yyVAL.node = &ast.StmtSwitch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracketTkn: yyDollar[1].token, CaseList: yyDollar[2].list, CloseCurlyBracketTkn: yyDollar[3].token, @@ -3825,10 +3824,10 @@ yydefault: } case 195: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1449 + // line internal/php7/php7.y:1448 { yyVAL.node = &ast.StmtSwitch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), OpenCurlyBracketTkn: yyDollar[1].token, CaseSeparatorTkn: yyDollar[2].token, CaseList: yyDollar[3].list, @@ -3837,10 +3836,10 @@ yydefault: } case 196: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1459 + // line internal/php7/php7.y:1458 { yyVAL.node = &ast.StmtSwitch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, CaseList: yyDollar[2].list, @@ -3850,10 +3849,10 @@ yydefault: } case 197: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1470 + // line internal/php7/php7.y:1469 { yyVAL.node = &ast.StmtSwitch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), Alt: true, ColonTkn: yyDollar[1].token, CaseSeparatorTkn: yyDollar[2].token, @@ -3864,16 +3863,16 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1485 + // line internal/php7/php7.y:1484 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1489 + // line internal/php7/php7.y:1488 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), CaseTkn: yyDollar[2].token, Cond: yyDollar[3].node, CaseSeparatorTkn: yyDollar[4].token, @@ -3882,10 +3881,10 @@ yydefault: } case 200: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1499 + // line internal/php7/php7.y:1498 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), DefaultTkn: yyDollar[2].token, CaseSeparatorTkn: yyDollar[3].token, Stmts: yyDollar[4].list, @@ -3893,35 +3892,35 @@ yydefault: } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1511 + // line internal/php7/php7.y:1510 { yyVAL.token = yyDollar[1].token } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1515 + // line internal/php7/php7.y:1514 { yyVAL.token = yyDollar[1].token } case 203: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1522 + // line internal/php7/php7.y:1521 { yyVAL.node = &ast.StmtWhile{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Stmt: yyDollar[1].node, } } case 204: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1529 + // line internal/php7/php7.y:1528 { yyVAL.node = &ast.StmtWhile{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[2].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[2].list), Stmts: yyDollar[2].list, }, EndWhileTkn: yyDollar[3].token, @@ -3930,10 +3929,10 @@ yydefault: } case 205: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1546 + // line internal/php7/php7.y:1545 { yyVAL.node = &ast.StmtIf{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), IfTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Cond: yyDollar[3].node, @@ -3943,10 +3942,10 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1557 + // line internal/php7/php7.y:1556 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node), ElseIfTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].token, Cond: yyDollar[4].node, @@ -3954,36 +3953,36 @@ yydefault: Stmt: yyDollar[6].node, }) - yyDollar[1].node.(*ast.StmtIf).Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[6].node) + yyDollar[1].node.(*ast.StmtIf).Position = yylex.(*Parser).builder.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:1575 + // line internal/php7/php7.y:1574 { yyVAL.node = yyDollar[1].node } case 208: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1579 + // line internal/php7/php7.y:1578 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node), ElseTkn: yyDollar[2].token, Stmt: yyDollar[3].node, } - yyDollar[1].node.(*ast.StmtIf).Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node) + yyDollar[1].node.(*ast.StmtIf).Position = yylex.(*Parser).builder.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:1594 + // line internal/php7/php7.y:1593 { yyVAL.node = &ast.StmtIf{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list), Alt: true, IfTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, @@ -3991,17 +3990,17 @@ yydefault: CloseParenthesisTkn: yyDollar[4].token, ColonTkn: yyDollar[5].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[6].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[6].list), Stmts: yyDollar[6].list, }, } } case 210: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1610 + // line internal/php7/php7.y:1609 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list), Alt: true, ElseIfTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].token, @@ -4009,7 +4008,7 @@ yydefault: CloseParenthesisTkn: yyDollar[5].token, ColonTkn: yyDollar[6].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[7].list), + Position: yylex.(*Parser).builder.NewNodeListPosition(yyDollar[7].list), Stmts: yyDollar[7].list, }, }) @@ -4018,49 +4017,49 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1631 + // line internal/php7/php7.y:1630 { yyDollar[1].node.(*ast.StmtIf).EndIfTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtIf).SemiColonTkn = yyDollar[3].token - yyDollar[1].node.(*ast.StmtIf).Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) + yyDollar[1].node.(*ast.StmtIf).Position = yylex.(*Parser).builder.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:1639 + // line internal/php7/php7.y:1638 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), Alt: true, ElseTkn: yyDollar[2].token, ColonTkn: yyDollar[3].token, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition(yyDollar[4].list), + Position: yylex.(*Parser).builder.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).Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token) + yyDollar[1].node.(*ast.StmtIf).Position = yylex.(*Parser).builder.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:1660 + // line internal/php7/php7.y:1659 { yyVAL.node = yyDollar[1].node } case 214: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1664 + // line internal/php7/php7.y:1663 { yyVAL.node = &ast.ParserSeparatedList{} } case 215: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1671 + // line internal/php7/php7.y:1670 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4068,7 +4067,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1677 + // line internal/php7/php7.y:1676 { 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) @@ -4077,15 +4076,15 @@ yydefault: } case 217: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1687 + // line internal/php7/php7.y:1686 { - pos := position.NewTokenPosition(yyDollar[4].token) + pos := yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token) if yyDollar[1].node != nil { - pos = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) + pos = yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) } else if yyDollar[2].token != nil { - pos = position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token) + pos = yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token) } else if yyDollar[3].token != nil { - pos = position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) + pos = yylex.(*Parser).builder.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) } yyVAL.node = &ast.Parameter{ @@ -4094,9 +4093,9 @@ yydefault: AmpersandTkn: yyDollar[2].token, VariadicTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4105,15 +4104,15 @@ yydefault: } case 218: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1713 + // line internal/php7/php7.y:1712 { - pos := position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) + pos := yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) if yyDollar[1].node != nil { - pos = position.NewNodesPosition(yyDollar[1].node, yyDollar[6].node) + pos = yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node) } else if yyDollar[2].token != nil { - pos = position.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node) + pos = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node) } else if yyDollar[3].token != nil { - pos = position.NewTokenNodePosition(yyDollar[3].token, yyDollar[6].node) + pos = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[6].node) } yyVAL.node = &ast.Parameter{ @@ -4122,9 +4121,9 @@ yydefault: AmpersandTkn: yyDollar[2].token, VariadicTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4135,67 +4134,67 @@ yydefault: } case 219: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1744 + // line internal/php7/php7.y:1743 { yyVAL.node = nil } case 220: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1748 + // line internal/php7/php7.y:1747 { yyVAL.node = yyDollar[1].node } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1755 + // line internal/php7/php7.y:1754 { yyVAL.node = yyDollar[1].node } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1759 + // line internal/php7/php7.y:1758 { yyVAL.node = &ast.Nullable{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1770 + // line internal/php7/php7.y:1769 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:1778 + // line internal/php7/php7.y:1777 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:1786 + // line internal/php7/php7.y:1785 { yyVAL.node = yyDollar[1].node } case 226: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1793 + // line internal/php7/php7.y:1792 { yyVAL.node = &ast.ReturnType{} } case 227: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1797 + // line internal/php7/php7.y:1796 { yyVAL.node = &ast.ReturnType{ ColonTkn: yyDollar[1].token, @@ -4204,20 +4203,20 @@ yydefault: } case 228: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1807 + // line internal/php7/php7.y:1806 { yyVAL.node = &ast.ArgumentList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:1815 + // line internal/php7/php7.y:1814 { argumentList := yyDollar[2].node.(*ast.ArgumentList) - argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) + argumentList.Position = yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) argumentList.OpenParenthesisTkn = yyDollar[1].token argumentList.SeparatorTkns = append(argumentList.SeparatorTkns, yyDollar[3].token) argumentList.CloseParenthesisTkn = yyDollar[4].token @@ -4226,7 +4225,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1828 + // line internal/php7/php7.y:1827 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4234,7 +4233,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1834 + // line internal/php7/php7.y:1833 { 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) @@ -4243,26 +4242,26 @@ yydefault: } case 232: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1844 + // line internal/php7/php7.y:1843 { yyVAL.node = &ast.Argument{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Expr: yyDollar[1].node, } } case 233: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1851 + // line internal/php7/php7.y:1850 { yyVAL.node = &ast.Argument{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:1862 + // line internal/php7/php7.y:1861 { 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) @@ -4271,7 +4270,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1869 + // line internal/php7/php7.y:1868 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4279,13 +4278,13 @@ yydefault: } case 236: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1878 + // line internal/php7/php7.y:1877 { yyVAL.node = yyDollar[1].node } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1885 + // line internal/php7/php7.y:1884 { 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) @@ -4294,7 +4293,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1892 + // line internal/php7/php7.y:1891 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4302,15 +4301,15 @@ yydefault: } case 239: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1901 + // line internal/php7/php7.y:1900 { yyVAL.node = &ast.StmtStaticVar{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4319,14 +4318,14 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1916 + // line internal/php7/php7.y:1915 { yyVAL.node = &ast.StmtStaticVar{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4337,22 +4336,22 @@ yydefault: } case 241: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1935 + // line internal/php7/php7.y:1934 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 242: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1939 + // line internal/php7/php7.y:1938 { yyVAL.list = []ast.Vertex{} } case 243: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1946 + // line internal/php7/php7.y:1945 { yyVAL.node = &ast.StmtPropertyList{ - Position: position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[4].token), Modifiers: yyDollar[1].list, Type: yyDollar[2].node, Properties: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -4362,10 +4361,10 @@ yydefault: } case 244: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1957 + // line internal/php7/php7.y:1956 { yyVAL.node = &ast.StmtClassConstList{ - Position: position.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.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, @@ -4375,10 +4374,10 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1968 + // line internal/php7/php7.y:1967 { yyVAL.node = &ast.StmtTraitUse{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.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, @@ -4387,11 +4386,11 @@ yydefault: } case 246: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php7/php7.y:1978 + // line internal/php7/php7.y:1977 { - pos := position.NewTokenNodePosition(yyDollar[2].token, yyDollar[10].node) + pos := yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[2].token, yyDollar[10].node) if yyDollar[1].list != nil { - pos = position.NewNodeListNodePosition(yyDollar[1].list, yyDollar[10].node) + pos = yylex.(*Parser).builder.NewNodeListNodePosition(yyDollar[1].list, yyDollar[10].node) } yyVAL.node = &ast.StmtClassMethod{ @@ -4400,7 +4399,7 @@ yydefault: FunctionTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, MethodName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4415,7 +4414,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2007 + // line internal/php7/php7.y:2006 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4423,7 +4422,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2013 + // line internal/php7/php7.y:2012 { 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) @@ -4432,29 +4431,29 @@ yydefault: } case 249: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2023 + // line internal/php7/php7.y:2022 { yyVAL.node = &ast.StmtNop{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2030 + // line internal/php7/php7.y:2029 { yyVAL.node = &ast.StmtTraitAdaptationList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:2038 + // line internal/php7/php7.y:2037 { yyVAL.node = &ast.StmtTraitAdaptationList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenParenthesisTkn: yyDollar[1].token, Adaptations: yyDollar[2].list, CloseParenthesisTkn: yyDollar[3].token, @@ -4462,19 +4461,19 @@ yydefault: } case 252: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2050 + // line internal/php7/php7.y:2049 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 253: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2054 + // line internal/php7/php7.y:2053 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 254: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2061 + // line internal/php7/php7.y:2060 { yyDollar[1].node.(*ast.StmtTraitUsePrecedence).SemiColonTkn = yyDollar[2].token @@ -4482,7 +4481,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2067 + // line internal/php7/php7.y:2066 { yyDollar[1].node.(*ast.StmtTraitUseAlias).SemiColonTkn = yyDollar[2].token @@ -4490,10 +4489,10 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2076 + // line internal/php7/php7.y:2075 { yyVAL.node = &ast.StmtTraitUsePrecedence{ - Position: position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.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, @@ -4502,14 +4501,14 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2089 + // line internal/php7/php7.y:2088 { yyVAL.node = &ast.StmtTraitUseAlias{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Alias: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4517,14 +4516,14 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2102 + // line internal/php7/php7.y:2101 { yyVAL.node = &ast.StmtTraitUseAlias{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Alias: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4532,15 +4531,15 @@ yydefault: } case 259: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2115 + // line internal/php7/php7.y:2114 { yyVAL.node = &ast.StmtTraitUseAlias{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Modifier: yyDollar[3].node, Alias: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4548,10 +4547,10 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2129 + // line internal/php7/php7.y:2128 { yyVAL.node = &ast.StmtTraitUseAlias{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Modifier: yyDollar[3].node, @@ -4559,12 +4558,12 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2141 + // line internal/php7/php7.y:2140 { yyVAL.node = &ast.StmtTraitMethodRef{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), Method: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4572,20 +4571,20 @@ yydefault: } case 262: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2152 + // line internal/php7/php7.y:2151 { yyVAL.node = yyDollar[1].node } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2159 + // line internal/php7/php7.y:2158 { yyVAL.node = &ast.StmtTraitMethodRef{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Trait: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Method: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4593,19 +4592,19 @@ yydefault: } case 264: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2175 + // line internal/php7/php7.y:2174 { yyVAL.node = &ast.StmtNop{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2182 + // line internal/php7/php7.y:2181 { yyVAL.node = &ast.StmtStmtList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracket: yyDollar[1].token, Stmts: yyDollar[2].list, CloseCurlyBracket: yyDollar[3].token, @@ -4613,17 +4612,17 @@ yydefault: } case 266: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2194 + // line internal/php7/php7.y:2193 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2198 + // line internal/php7/php7.y:2197 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4631,91 +4630,91 @@ yydefault: } case 268: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2211 + // line internal/php7/php7.y:2210 { yyVAL.list = nil } case 269: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2215 + // line internal/php7/php7.y:2214 { yyVAL.list = yyDollar[1].list } case 270: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2222 + // line internal/php7/php7.y:2221 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2226 + // line internal/php7/php7.y:2225 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 272: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2233 + // line internal/php7/php7.y:2232 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2241 + // line internal/php7/php7.y:2240 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2249 + // line internal/php7/php7.y:2248 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2257 + // line internal/php7/php7.y:2256 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2265 + // line internal/php7/php7.y:2264 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2273 + // line internal/php7/php7.y:2272 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:2284 + // line internal/php7/php7.y:2283 { 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) @@ -4724,7 +4723,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2291 + // line internal/php7/php7.y:2290 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4732,14 +4731,14 @@ yydefault: } case 280: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2300 + // line internal/php7/php7.y:2299 { yyVAL.node = &ast.StmtProperty{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4749,14 +4748,14 @@ yydefault: } case 281: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2315 + // line internal/php7/php7.y:2314 { yyVAL.node = &ast.StmtProperty{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4767,7 +4766,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2334 + // line internal/php7/php7.y:2333 { 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) @@ -4776,7 +4775,7 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2341 + // line internal/php7/php7.y:2340 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4784,12 +4783,12 @@ yydefault: } case 284: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2350 + // line internal/php7/php7.y:2349 { yyVAL.node = &ast.StmtConstant{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Name: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4799,12 +4798,12 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2366 + // line internal/php7/php7.y:2365 { yyVAL.node = &ast.StmtConstant{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Name: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4814,7 +4813,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2382 + // line internal/php7/php7.y:2381 { 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) @@ -4823,7 +4822,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2389 + // line internal/php7/php7.y:2388 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -4831,25 +4830,25 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2398 + // line internal/php7/php7.y:2397 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2405 + // line internal/php7/php7.y:2404 { yyVAL.node = &ast.ParserSeparatedList{} } case 290: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2409 + // line internal/php7/php7.y:2408 { yyVAL.node = yyDollar[1].node } case 291: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2416 + // line internal/php7/php7.y:2415 { 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) @@ -4858,7 +4857,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2423 + // line internal/php7/php7.y:2422 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4866,10 +4865,10 @@ yydefault: } case 293: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:2432 + // line internal/php7/php7.y:2431 { yyVAL.node = &ast.StmtClass{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), + Position: yylex.(*Parser).builder.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, @@ -4884,11 +4883,11 @@ yydefault: } case 294: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2451 + // line internal/php7/php7.y:2450 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), NewTkn: yyDollar[1].token, Class: yyDollar[2].node, OpenParenthesisTkn: yyDollar[3].node.(*ast.ArgumentList).OpenParenthesisTkn, @@ -4898,7 +4897,7 @@ yydefault: } } else { yyVAL.node = &ast.ExprNew{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), NewTkn: yyDollar[1].token, Class: yyDollar[2].node, } @@ -4906,22 +4905,22 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2471 + // line internal/php7/php7.y:2470 { yyVAL.node = &ast.ExprNew{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2482 + // line internal/php7/php7.y:2481 { yyVAL.node = &ast.ExprAssign{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), Var: &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -4934,12 +4933,12 @@ yydefault: } case 297: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:2498 + // line internal/php7/php7.y:2497 { yyVAL.node = &ast.ExprAssign{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), Var: &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -4951,10 +4950,10 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2513 + // line internal/php7/php7.y:2512 { yyVAL.node = &ast.ExprAssign{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -4962,10 +4961,10 @@ yydefault: } case 299: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2522 + // line internal/php7/php7.y:2521 { yyVAL.node = &ast.ExprAssignReference{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, @@ -4974,20 +4973,20 @@ yydefault: } case 300: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2532 + // line internal/php7/php7.y:2531 { yyVAL.node = &ast.ExprClone{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2540 + // line internal/php7/php7.y:2539 { yyVAL.node = &ast.ExprAssignPlus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -4995,10 +4994,10 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2549 + // line internal/php7/php7.y:2548 { yyVAL.node = &ast.ExprAssignMinus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5006,10 +5005,10 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2558 + // line internal/php7/php7.y:2557 { yyVAL.node = &ast.ExprAssignMul{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5017,10 +5016,10 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2567 + // line internal/php7/php7.y:2566 { yyVAL.node = &ast.ExprAssignPow{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5028,10 +5027,10 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2576 + // line internal/php7/php7.y:2575 { yyVAL.node = &ast.ExprAssignDiv{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5039,10 +5038,10 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2585 + // line internal/php7/php7.y:2584 { yyVAL.node = &ast.ExprAssignConcat{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5050,10 +5049,10 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2594 + // line internal/php7/php7.y:2593 { yyVAL.node = &ast.ExprAssignMod{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5061,10 +5060,10 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2603 + // line internal/php7/php7.y:2602 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5072,10 +5071,10 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2612 + // line internal/php7/php7.y:2611 { yyVAL.node = &ast.ExprAssignBitwiseOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5083,10 +5082,10 @@ yydefault: } case 310: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2621 + // line internal/php7/php7.y:2620 { yyVAL.node = &ast.ExprAssignBitwiseXor{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5094,10 +5093,10 @@ yydefault: } case 311: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2630 + // line internal/php7/php7.y:2629 { yyVAL.node = &ast.ExprAssignShiftLeft{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5105,10 +5104,10 @@ yydefault: } case 312: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2639 + // line internal/php7/php7.y:2638 { yyVAL.node = &ast.ExprAssignShiftRight{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5116,10 +5115,10 @@ yydefault: } case 313: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2648 + // line internal/php7/php7.y:2647 { yyVAL.node = &ast.ExprAssignCoalesce{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5127,50 +5126,50 @@ yydefault: } case 314: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2657 + // line internal/php7/php7.y:2656 { yyVAL.node = &ast.ExprPostInc{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:2665 + // line internal/php7/php7.y:2664 { yyVAL.node = &ast.ExprPreInc{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2673 + // line internal/php7/php7.y:2672 { yyVAL.node = &ast.ExprPostDec{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:2681 + // line internal/php7/php7.y:2680 { yyVAL.node = &ast.ExprPreDec{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2689 + // line internal/php7/php7.y:2688 { yyVAL.node = &ast.ExprBinaryBooleanOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5178,10 +5177,10 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2698 + // line internal/php7/php7.y:2697 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5189,10 +5188,10 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2707 + // line internal/php7/php7.y:2706 { yyVAL.node = &ast.ExprBinaryLogicalOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5200,10 +5199,10 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2716 + // line internal/php7/php7.y:2715 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5211,10 +5210,10 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2725 + // line internal/php7/php7.y:2724 { yyVAL.node = &ast.ExprBinaryLogicalXor{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5222,10 +5221,10 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2734 + // line internal/php7/php7.y:2733 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5233,10 +5232,10 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2743 + // line internal/php7/php7.y:2742 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5244,10 +5243,10 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2752 + // line internal/php7/php7.y:2751 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5255,10 +5254,10 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2761 + // line internal/php7/php7.y:2760 { yyVAL.node = &ast.ExprBinaryConcat{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5266,10 +5265,10 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2770 + // line internal/php7/php7.y:2769 { yyVAL.node = &ast.ExprBinaryPlus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5277,10 +5276,10 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2779 + // line internal/php7/php7.y:2778 { yyVAL.node = &ast.ExprBinaryMinus{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5288,10 +5287,10 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2788 + // line internal/php7/php7.y:2787 { yyVAL.node = &ast.ExprBinaryMul{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5299,10 +5298,10 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2797 + // line internal/php7/php7.y:2796 { yyVAL.node = &ast.ExprBinaryPow{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5310,10 +5309,10 @@ yydefault: } case 331: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2806 + // line internal/php7/php7.y:2805 { yyVAL.node = &ast.ExprBinaryDiv{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5321,10 +5320,10 @@ yydefault: } case 332: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2815 + // line internal/php7/php7.y:2814 { yyVAL.node = &ast.ExprBinaryMod{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5332,10 +5331,10 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2824 + // line internal/php7/php7.y:2823 { yyVAL.node = &ast.ExprBinaryShiftLeft{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5343,10 +5342,10 @@ yydefault: } case 334: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2833 + // line internal/php7/php7.y:2832 { yyVAL.node = &ast.ExprBinaryShiftRight{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5354,50 +5353,50 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2842 + // line internal/php7/php7.y:2841 { yyVAL.node = &ast.ExprUnaryPlus{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2850 + // line internal/php7/php7.y:2849 { yyVAL.node = &ast.ExprUnaryMinus{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2858 + // line internal/php7/php7.y:2857 { yyVAL.node = &ast.ExprBooleanNot{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2866 + // line internal/php7/php7.y:2865 { yyVAL.node = &ast.ExprBitwiseNot{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:2874 + // line internal/php7/php7.y:2873 { yyVAL.node = &ast.ExprBinaryIdentical{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5405,10 +5404,10 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2883 + // line internal/php7/php7.y:2882 { yyVAL.node = &ast.ExprBinaryNotIdentical{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5416,10 +5415,10 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2892 + // line internal/php7/php7.y:2891 { yyVAL.node = &ast.ExprBinaryEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5427,10 +5426,10 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2901 + // line internal/php7/php7.y:2900 { yyVAL.node = &ast.ExprBinaryNotEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5438,10 +5437,10 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2910 + // line internal/php7/php7.y:2909 { yyVAL.node = &ast.ExprBinarySmaller{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5449,10 +5448,10 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2919 + // line internal/php7/php7.y:2918 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5460,10 +5459,10 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2928 + // line internal/php7/php7.y:2927 { yyVAL.node = &ast.ExprBinaryGreater{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5471,10 +5470,10 @@ yydefault: } case 346: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2937 + // line internal/php7/php7.y:2936 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5482,10 +5481,10 @@ yydefault: } case 347: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2946 + // line internal/php7/php7.y:2945 { yyVAL.node = &ast.ExprBinarySpaceship{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5493,10 +5492,10 @@ yydefault: } case 348: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2955 + // line internal/php7/php7.y:2954 { yyVAL.node = &ast.ExprInstanceOf{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Expr: yyDollar[1].node, InstanceOfTkn: yyDollar[2].token, Class: yyDollar[3].node, @@ -5504,10 +5503,10 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2964 + // line internal/php7/php7.y:2963 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -5515,16 +5514,16 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2973 + // line internal/php7/php7.y:2972 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:2977 + // line internal/php7/php7.y:2976 { yyVAL.node = &ast.ExprTernary{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, IfTrue: yyDollar[3].node, @@ -5534,10 +5533,10 @@ yydefault: } case 352: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2988 + // line internal/php7/php7.y:2987 { yyVAL.node = &ast.ExprTernary{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, ColonTkn: yyDollar[3].token, @@ -5546,10 +5545,10 @@ yydefault: } case 353: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2998 + // line internal/php7/php7.y:2997 { yyVAL.node = &ast.ExprBinaryCoalesce{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Left: yyDollar[1].node, OpTkn: yyDollar[2].token, Right: yyDollar[3].node, @@ -5557,92 +5556,92 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3007 + // line internal/php7/php7.y:3006 { yyVAL.node = yyDollar[1].node } case 355: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3011 + // line internal/php7/php7.y:3010 { yyVAL.node = &ast.ExprCastInt{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3019 + // line internal/php7/php7.y:3018 { yyVAL.node = &ast.ExprCastDouble{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3027 + // line internal/php7/php7.y:3026 { yyVAL.node = &ast.ExprCastString{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3035 + // line internal/php7/php7.y:3034 { yyVAL.node = &ast.ExprCastArray{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3043 + // line internal/php7/php7.y:3042 { yyVAL.node = &ast.ExprCastObject{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3051 + // line internal/php7/php7.y:3050 { yyVAL.node = &ast.ExprCastBool{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3059 + // line internal/php7/php7.y:3058 { yyVAL.node = &ast.ExprCastUnset{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3067 + // line internal/php7/php7.y:3066 { exit := &ast.ExprExit{ DieTkn: yyDollar[1].token, } if yyDollar[2].node == nil { - exit.Position = position.NewTokenPosition(yyDollar[1].token) + exit.Position = yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token) } else { - exit.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + exit.Position = yylex.(*Parser).builder.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 @@ -5652,26 +5651,26 @@ yydefault: } case 363: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3084 + // line internal/php7/php7.y:3083 { yyVAL.node = &ast.ExprErrorSuppress{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3092 + // line internal/php7/php7.y:3091 { yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3096 + // line internal/php7/php7.y:3095 { yyVAL.node = &ast.ExprShellExec{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBacktickTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseBacktickTkn: yyDollar[3].token, @@ -5679,39 +5678,39 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3105 + // line internal/php7/php7.y:3104 { yyVAL.node = &ast.ExprPrint{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3113 + // line internal/php7/php7.y:3112 { yyVAL.node = &ast.ExprYield{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), YieldTkn: yyDollar[1].token, } } case 368: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3120 + // line internal/php7/php7.y:3119 { yyVAL.node = &ast.ExprYield{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3128 + // line internal/php7/php7.y:3127 { yyVAL.node = &ast.ExprYield{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), YieldTkn: yyDollar[1].token, Key: yyDollar[2].node, DoubleArrowTkn: yyDollar[3].token, @@ -5720,30 +5719,30 @@ yydefault: } case 370: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3138 + // line internal/php7/php7.y:3137 { yyVAL.node = &ast.ExprYieldFrom{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3146 + // line internal/php7/php7.y:3145 { yyVAL.node = yyDollar[1].node } case 372: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3150 + // line internal/php7/php7.y:3149 { switch n := yyDollar[2].node.(type) { case *ast.ExprClosure: - n.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + n.Position = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) n.StaticTkn = yyDollar[1].token case *ast.ExprArrowFunction: - n.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + n.Position = yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) n.StaticTkn = yyDollar[1].token } @@ -5751,10 +5750,10 @@ yydefault: } case 373: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:3166 + // line internal/php7/php7.y:3165 { yyVAL.node = &ast.ExprClosure{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[11].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token), FunctionTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[4].token, @@ -5771,10 +5770,10 @@ yydefault: } case 374: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:3184 + // line internal/php7/php7.y:3183 { yyVAL.node = &ast.ExprArrowFunction{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node), FnTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].token, @@ -5789,28 +5788,28 @@ yydefault: } case 376: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3207 + // line internal/php7/php7.y:3206 { yyVAL.token = nil } case 377: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3211 + // line internal/php7/php7.y:3210 { yyVAL.token = yyDollar[1].token } case 378: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3218 + // line internal/php7/php7.y:3217 { yyVAL.node = nil } case 379: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3222 + // line internal/php7/php7.y:3221 { yyVAL.node = &ast.ExprClosureUse{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), UseTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Uses: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -5820,7 +5819,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3236 + // line internal/php7/php7.y:3235 { 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) @@ -5829,7 +5828,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3243 + // line internal/php7/php7.y:3242 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -5837,12 +5836,12 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3252 + // line internal/php7/php7.y:3251 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5850,15 +5849,15 @@ yydefault: } case 383: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3263 + // line internal/php7/php7.y:3262 { yyVAL.node = &ast.ExprReference{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), AmpersandTkn: yyDollar[1].token, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -5867,10 +5866,10 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3281 + // line internal/php7/php7.y:3280 { yyVAL.node = &ast.ExprFunctionCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), + Position: yylex.(*Parser).builder.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, @@ -5880,10 +5879,10 @@ yydefault: } case 385: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3292 + // line internal/php7/php7.y:3291 { yyVAL.node = &ast.ExprStaticCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -5895,10 +5894,10 @@ yydefault: } case 386: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3305 + // line internal/php7/php7.y:3304 { yyVAL.node = &ast.ExprStaticCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -5910,10 +5909,10 @@ yydefault: } case 387: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3318 + // line internal/php7/php7.y:3317 { yyVAL.node = &ast.ExprFunctionCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), + Position: yylex.(*Parser).builder.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, @@ -5923,44 +5922,44 @@ yydefault: } case 388: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3332 + // line internal/php7/php7.y:3331 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3340 + // line internal/php7/php7.y:3339 { yyVAL.node = yyDollar[1].node } case 390: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3347 + // line internal/php7/php7.y:3346 { yyVAL.node = yyDollar[1].node } case 391: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3351 + // line internal/php7/php7.y:3350 { yyVAL.node = yyDollar[1].node } case 392: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3358 + // line internal/php7/php7.y:3357 { yyVAL.node = nil } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3362 + // line internal/php7/php7.y:3361 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -5968,17 +5967,17 @@ yydefault: } case 394: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3374 + // line internal/php7/php7.y:3373 { yyVAL.list = []ast.Vertex{} } case 395: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3378 + // line internal/php7/php7.y:3377 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), EncapsedStrTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5986,28 +5985,28 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3388 + // line internal/php7/php7.y:3387 { yyVAL.list = yyDollar[1].list } case 397: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3395 + // line internal/php7/php7.y:3394 { yyVAL.node = &ast.ArgumentList{} } case 398: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3399 + // line internal/php7/php7.y:3398 { yyVAL.node = yyDollar[1].node } case 399: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3406 + // line internal/php7/php7.y:3405 { yyVAL.node = &ast.ExprArray{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ArrayTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6017,10 +6016,10 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3417 + // line internal/php7/php7.y:3416 { yyVAL.node = &ast.ExprArray{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.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, @@ -6029,124 +6028,124 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3427 + // line internal/php7/php7.y:3426 { yyVAL.node = &ast.ScalarString{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3438 + // line internal/php7/php7.y:3437 { yyVAL.node = &ast.ScalarLnumber{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3446 + // line internal/php7/php7.y:3445 { yyVAL.node = &ast.ScalarDnumber{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3454 + // line internal/php7/php7.y:3453 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3462 + // line internal/php7/php7.y:3461 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3470 + // line internal/php7/php7.y:3469 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3478 + // line internal/php7/php7.y:3477 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3486 + // line internal/php7/php7.y:3485 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3494 + // line internal/php7/php7.y:3493 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3502 + // line internal/php7/php7.y:3501 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3510 + // line internal/php7/php7.y:3509 { yyVAL.node = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3518 + // line internal/php7/php7.y:3517 { yyVAL.node = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenHeredocTkn: yyDollar[1].token, Parts: []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), EncapsedStrTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -6156,20 +6155,20 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3533 + // line internal/php7/php7.y:3532 { yyVAL.node = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.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:3541 + // line internal/php7/php7.y:3540 { yyVAL.node = &ast.ScalarEncapsed{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenQoteTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseQoteTkn: yyDollar[1].token, @@ -6177,10 +6176,10 @@ yydefault: } case 415: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3550 + // line internal/php7/php7.y:3549 { yyVAL.node = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenHeredocTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseHeredocTkn: yyDollar[3].token, @@ -6188,35 +6187,35 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3559 + // line internal/php7/php7.y:3558 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3563 + // line internal/php7/php7.y:3562 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3570 + // line internal/php7/php7.y:3569 { yyVAL.node = &ast.ExprConstFetch{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Const: yyDollar[1].node, } } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3577 + // line internal/php7/php7.y:3576 { yyVAL.node = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -6224,14 +6223,14 @@ yydefault: } case 420: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3590 + // line internal/php7/php7.y:3589 { yyVAL.node = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -6239,46 +6238,46 @@ yydefault: } case 421: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3606 + // line internal/php7/php7.y:3605 { yyVAL.node = yyDollar[1].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3610 + // line internal/php7/php7.y:3609 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3617 + // line internal/php7/php7.y:3616 { yyVAL.node = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3621 + // line internal/php7/php7.y:3620 { yyVAL.node = yyDollar[1].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3628 + // line internal/php7/php7.y:3627 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3635 + // line internal/php7/php7.y:3634 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3639 + // line internal/php7/php7.y:3638 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6286,22 +6285,22 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3648 + // line internal/php7/php7.y:3647 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3655 + // line internal/php7/php7.y:3654 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3659 + // line internal/php7/php7.y:3658 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6309,22 +6308,22 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3668 + // line internal/php7/php7.y:3667 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3675 + // line internal/php7/php7.y:3674 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3679 + // line internal/php7/php7.y:3678 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6333,10 +6332,10 @@ yydefault: } case 434: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3689 + // line internal/php7/php7.y:3688 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6345,10 +6344,10 @@ yydefault: } case 435: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3699 + // line internal/php7/php7.y:3698 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6357,10 +6356,10 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3709 + // line internal/php7/php7.y:3708 { yyVAL.node = &ast.ExprMethodCall{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Var: yyDollar[1].node, ObjectOperatorTkn: yyDollar[2].token, Method: yyDollar[3].node, @@ -6372,28 +6371,28 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3722 + // line internal/php7/php7.y:3721 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3729 + // line internal/php7/php7.y:3728 { yyVAL.node = yyDollar[1].node } case 439: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3733 + // line internal/php7/php7.y:3732 { yyVAL.node = yyDollar[1].node } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3737 + // line internal/php7/php7.y:3736 { yyVAL.node = &ast.ExprPropertyFetch{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, ObjectOperatorTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -6401,12 +6400,12 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3749 + // line internal/php7/php7.y:3748 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6414,13 +6413,13 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3760 + // line internal/php7/php7.y:3759 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), DollarTkn: yyDollar[1].token, VarName: &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), OpenBracketTkn: yyDollar[2].token, Child: yyDollar[3].node, CloseBracketTkn: yyDollar[4].token, @@ -6429,20 +6428,20 @@ yydefault: } case 443: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3773 + // line internal/php7/php7.y:3772 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3784 + // line internal/php7/php7.y:3783 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -6450,10 +6449,10 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3793 + // line internal/php7/php7.y:3792 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -6461,16 +6460,16 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3805 + // line internal/php7/php7.y:3804 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3809 + // line internal/php7/php7.y:3808 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6479,10 +6478,10 @@ yydefault: } case 448: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3819 + // line internal/php7/php7.y:3818 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6491,10 +6490,10 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3829 + // line internal/php7/php7.y:3828 { yyVAL.node = &ast.ExprPropertyFetch{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, ObjectOperatorTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -6502,10 +6501,10 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3838 + // line internal/php7/php7.y:3837 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -6513,10 +6512,10 @@ yydefault: } case 451: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3847 + // line internal/php7/php7.y:3846 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -6524,20 +6523,20 @@ yydefault: } case 452: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3859 + // line internal/php7/php7.y:3858 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3867 + // line internal/php7/php7.y:3866 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6545,26 +6544,26 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3876 + // line internal/php7/php7.y:3875 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3883 + // line internal/php7/php7.y:3882 { yyVAL.node = &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:3891 + // line internal/php7/php7.y:3890 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6572,13 +6571,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3900 + // line internal/php7/php7.y:3899 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3907 + // line internal/php7/php7.y:3906 { pairList := yyDollar[1].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -6591,19 +6590,19 @@ yydefault: } case 459: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3921 + // line internal/php7/php7.y:3920 { yyVAL.node = &ast.ExprArrayItem{} } case 460: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3925 + // line internal/php7/php7.y:3924 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3932 + // line internal/php7/php7.y:3931 { 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) @@ -6612,7 +6611,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3939 + // line internal/php7/php7.y:3938 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -6620,10 +6619,10 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3948 + // line internal/php7/php7.y:3947 { yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: yyDollar[3].node, @@ -6631,23 +6630,23 @@ yydefault: } case 464: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3957 + // line internal/php7/php7.y:3956 { yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewNodePosition(yyDollar[1].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node), Val: yyDollar[1].node, } } case 465: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3964 + // line internal/php7/php7.y:3963 { yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), AmpersandTkn: yyDollar[3].token, Var: yyDollar[4].node, }, @@ -6655,12 +6654,12 @@ yydefault: } case 466: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3977 + // line internal/php7/php7.y:3976 { yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), AmpersandTkn: yyDollar[1].token, Var: yyDollar[2].node, }, @@ -6668,24 +6667,24 @@ yydefault: } case 467: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3988 + // line internal/php7/php7.y:3987 { yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:3996 + // line internal/php7/php7.y:3995 { yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token), + Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[3].token, yyDollar[6].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[3].token, yyDollar[6].token), ListTkn: yyDollar[3].token, OpenBracketTkn: yyDollar[4].token, Items: yyDollar[5].node.(*ast.ParserSeparatedList).Items, @@ -6696,12 +6695,12 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4012 + // line internal/php7/php7.y:4011 { yyVAL.node = &ast.ExprArrayItem{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Val: &ast.ExprList{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6712,18 +6711,18 @@ yydefault: } case 470: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4029 + // line internal/php7/php7.y:4028 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 471: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4033 + // line internal/php7/php7.y:4032 { yyVAL.list = append( yyDollar[1].list, &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), EncapsedStrTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -6731,17 +6730,17 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4044 + // line internal/php7/php7.y:4043 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 473: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4048 + // line internal/php7/php7.y:4047 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), EncapsedStrTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6750,12 +6749,12 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4062 + // line internal/php7/php7.y:4061 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6763,14 +6762,14 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4073 + // line internal/php7/php7.y:4072 { yyVAL.node = &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6782,21 +6781,21 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4090 + // line internal/php7/php7.y:4089 { yyVAL.node = &ast.ExprPropertyFetch{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, }, ObjectOperatorTkn: yyDollar[2].token, Property: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -6804,13 +6803,13 @@ yydefault: } case 477: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4110 + // line internal/php7/php7.y:4109 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprVariable{ - Position: position.NewNodePosition(yyDollar[2].node), + Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[2].node), VarName: yyDollar[2].node, }, CloseBracketTkn: yyDollar[3].token, @@ -6818,15 +6817,15 @@ yydefault: } case 478: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4122 + // line internal/php7/php7.y:4121 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -6836,17 +6835,17 @@ yydefault: } case 479: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4138 + // line internal/php7/php7.y:4137 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[2].token, yyDollar[5].token), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -6860,10 +6859,10 @@ yydefault: } case 480: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4160 + // line internal/php7/php7.y:4159 { yyVAL.node = &ast.ParserBrackets{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6871,28 +6870,28 @@ yydefault: } case 481: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4172 + // line internal/php7/php7.y:4171 { yyVAL.node = &ast.ScalarString{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.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:4180 + // line internal/php7/php7.y:4179 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { yyVAL.node = &ast.ScalarLnumber{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), NumberTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } else { yyVAL.node = &ast.ScalarString{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } @@ -6900,24 +6899,24 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4197 + // line internal/php7/php7.y:4196 { _, err := strconv.Atoi(string(yyDollar[2].token.Value)) isInt := err == nil if isInt { yyVAL.node = &ast.ExprUnaryMinus{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), MinusTkn: yyDollar[1].token, Expr: &ast.ScalarLnumber{ - Position: position.NewTokenPosition(yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[2].token), NumberTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, } } else { yyVAL.node = &ast.ScalarString{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), MinusTkn: yyDollar[1].token, StringTkn: yyDollar[2].token, Value: append([]byte("-"), yyDollar[2].token.Value...), @@ -6926,12 +6925,12 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4221 + // line internal/php7/php7.y:4220 { yyVAL.node = &ast.ExprVariable{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Position: position.NewTokenPosition(yyDollar[1].token), + Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6939,14 +6938,14 @@ yydefault: } case 485: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:4235 + // line internal/php7/php7.y:4234 { 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{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), IssetTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Vars: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6956,10 +6955,10 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4250 + // line internal/php7/php7.y:4249 { yyVAL.node = &ast.ExprEmpty{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EmptyTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -6968,30 +6967,30 @@ yydefault: } case 487: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4260 + // line internal/php7/php7.y:4259 { yyVAL.node = &ast.ExprInclude{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:4268 + // line internal/php7/php7.y:4267 { yyVAL.node = &ast.ExprIncludeOnce{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:4276 + // line internal/php7/php7.y:4275 { yyVAL.node = &ast.ExprEval{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EvalTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -7000,27 +6999,27 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4286 + // line internal/php7/php7.y:4285 { yyVAL.node = &ast.ExprRequire{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:4294 + // line internal/php7/php7.y:4293 { yyVAL.node = &ast.ExprRequireOnce{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Position: yylex.(*Parser).builder.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:4305 + // line internal/php7/php7.y:4304 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7028,7 +7027,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4311 + // line internal/php7/php7.y:4310 { 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) @@ -7037,7 +7036,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4321 + // line internal/php7/php7.y:4320 { yyVAL.node = yyDollar[1].node } diff --git a/internal/php7/php7.y b/internal/php7/php7.y index 5ad2f47..4f52bad 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -4,7 +4,6 @@ package php7 import ( "strconv" - "github.com/z7zmey/php-parser/internal/position" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/token" ) @@ -283,7 +282,7 @@ start: top_statement_list { yylex.(*Parser).rootNode = &ast.Root{ - Position: position.NewNodeListPosition($1), + Position: yylex.(*Parser).builder.NewNodeListPosition($1), Stmts: $1, EndTkn: yylex.(*Parser).currentToken, } @@ -338,7 +337,7 @@ namespace_name: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.NameNamePart{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, }, @@ -348,7 +347,7 @@ namespace_name: | namespace_name T_NS_SEPARATOR T_STRING { part := &ast.NameNamePart{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), StringTkn: $3, Value: $3.Value, } @@ -364,7 +363,7 @@ name: namespace_name { $$ = &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, } @@ -372,7 +371,7 @@ name: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.NameRelative{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -382,7 +381,7 @@ name: | T_NS_SEPARATOR namespace_name { $$ = &ast.NameFullyQualified{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -419,7 +418,7 @@ top_statement: | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), HaltCompilerTkn: $1, OpenParenthesisTkn: $2, CloseParenthesisTkn: $3, @@ -429,10 +428,10 @@ top_statement: | T_NAMESPACE namespace_name ';' { $$ = &ast.StmtNamespace{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), NsTkn: $1, Name: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -442,10 +441,10 @@ top_statement: | T_NAMESPACE namespace_name '{' top_statement_list '}' { $$ = &ast.StmtNamespace{ - Position: position.NewTokensPosition($1, $5), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $5), NsTkn: $1, Name: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -457,7 +456,7 @@ top_statement: | T_NAMESPACE '{' top_statement_list '}' { $$ = &ast.StmtNamespace{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), NsTkn: $1, OpenCurlyBracket: $2, Stmts: $3, @@ -468,7 +467,7 @@ top_statement: { use := $2.(*ast.StmtGroupUse) - use.Position = position.NewTokensPosition($1, $3) + use.Position = yylex.(*Parser).builder.NewTokensPosition($1, $3) use.UseTkn = $1 use.SemiColonTkn = $3 @@ -478,7 +477,7 @@ top_statement: { use := $3.(*ast.StmtGroupUse) - use.Position = position.NewTokensPosition($1, $4) + use.Position = yylex.(*Parser).builder.NewTokensPosition($1, $4) use.UseTkn = $1 use.Type = $2 use.SemiColonTkn = $4 @@ -488,7 +487,7 @@ top_statement: | T_USE use_declarations ';' { $$ = &ast.StmtUse{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), UseTkn: $1, UseDeclarations: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -498,7 +497,7 @@ top_statement: | T_USE use_type use_declarations ';' { $$ = &ast.StmtUse{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), UseTkn: $1, Type: $2, UseDeclarations: $3.(*ast.ParserSeparatedList).Items, @@ -509,7 +508,7 @@ top_statement: | T_CONST const_list ';' { $$ = &ast.StmtConstList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), ConstTkn: $1, Consts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -522,7 +521,7 @@ use_type: T_FUNCTION { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -530,7 +529,7 @@ use_type: | T_CONST { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -543,9 +542,9 @@ group_use_declaration: $4.(*ast.ParserSeparatedList).SeparatorTkns = append($4.(*ast.ParserSeparatedList).SeparatorTkns, $5) $$ = &ast.StmtGroupUse{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $6), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $6), Prefix: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -561,10 +560,10 @@ group_use_declaration: $5.(*ast.ParserSeparatedList).SeparatorTkns = append($5.(*ast.ParserSeparatedList).SeparatorTkns, $6) $$ = &ast.StmtGroupUse{ - Position: position.NewTokensPosition($1, $7), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $7), LeadingNsSeparatorTkn: $1, Prefix: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -583,9 +582,9 @@ mixed_group_use_declaration: $4.(*ast.ParserSeparatedList).SeparatorTkns = append($4.(*ast.ParserSeparatedList).SeparatorTkns, $5) $$ = &ast.StmtGroupUse{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $6), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $6), Prefix: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -601,10 +600,10 @@ mixed_group_use_declaration: $5.(*ast.ParserSeparatedList).SeparatorTkns = append($5.(*ast.ParserSeparatedList).SeparatorTkns, $6) $$ = &ast.StmtGroupUse{ - Position: position.NewTokensPosition($1, $7), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $7), LeadingNsSeparatorTkn: $1, Prefix: &ast.NameName{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -685,7 +684,7 @@ inline_use_declaration: { decl := $2.(*ast.StmtUseDeclaration) decl.Type = $1 - decl.Position = position.NewNodesPosition($1, $2) + decl.Position = yylex.(*Parser).builder.NewNodesPosition($1, $2) $$ = $2 } @@ -695,9 +694,9 @@ unprefixed_use_declaration: namespace_name { $$ = &ast.StmtUseDeclaration{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -706,15 +705,15 @@ unprefixed_use_declaration: | namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), Use: &ast.NameName{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $2, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -731,7 +730,7 @@ use_declaration: { decl := $2.(*ast.StmtUseDeclaration) decl.NsSeparatorTkn = $1 - decl.Position = position.NewTokenNodePosition($1, $2) + decl.Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $2) $$ = $2 } @@ -795,7 +794,7 @@ inner_statement: | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), HaltCompilerTkn: $1, OpenParenthesisTkn: $2, CloseParenthesisTkn: $3, @@ -807,7 +806,7 @@ statement: '{' inner_statement_list '}' { $$ = &ast.StmtStmtList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenCurlyBracket: $1, Stmts: $2, CloseCurlyBracket: $3, @@ -827,14 +826,14 @@ statement: $5.(*ast.StmtWhile).OpenParenthesisTkn = $2 $5.(*ast.StmtWhile).Cond = $3 $5.(*ast.StmtWhile).CloseParenthesisTkn = $4 - $5.(*ast.StmtWhile).Position = position.NewTokenNodePosition($1, $5) + $5.(*ast.StmtWhile).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $5) $$ = $5 } | T_DO statement T_WHILE '(' expr ')' ';' { $$ = &ast.StmtDo{ - Position: position.NewTokensPosition($1, $7), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $7), DoTkn: $1, Stmt: $2, WhileTkn: $3, @@ -857,7 +856,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).Position = position.NewTokenNodePosition($1, $9) + $9.(*ast.StmtFor).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $9) $$ = $9 } @@ -867,14 +866,14 @@ statement: $5.(*ast.StmtSwitch).OpenParenthesisTkn = $2 $5.(*ast.StmtSwitch).Cond = $3 $5.(*ast.StmtSwitch).CloseParenthesisTkn = $4 - $5.(*ast.StmtSwitch).Position = position.NewTokenNodePosition($1, $5) + $5.(*ast.StmtSwitch).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $5) $$ = $5 } | T_BREAK optional_expr ';' { $$ = &ast.StmtBreak{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), BreakTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -883,7 +882,7 @@ statement: | T_CONTINUE optional_expr ';' { $$ = &ast.StmtContinue{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), ContinueTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -892,7 +891,7 @@ statement: | T_RETURN optional_expr ';' { $$ = &ast.StmtReturn{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), ReturnTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -902,7 +901,7 @@ statement: { $2.(*ast.StmtGlobal).GlobalTkn = $1 $2.(*ast.StmtGlobal).SemiColonTkn = $3 - $2.(*ast.StmtGlobal).Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtGlobal).Position = yylex.(*Parser).builder.NewTokensPosition($1, $3) $$ = $2 } @@ -910,7 +909,7 @@ statement: { $2.(*ast.StmtStatic).StaticTkn = $1 $2.(*ast.StmtStatic).SemiColonTkn = $3 - $2.(*ast.StmtStatic).Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtStatic).Position = yylex.(*Parser).builder.NewTokensPosition($1, $3) $$ = $2 } @@ -918,14 +917,14 @@ statement: { $2.(*ast.StmtEcho).EchoTkn = $1 $2.(*ast.StmtEcho).SemiColonTkn = $3 - $2.(*ast.StmtEcho).Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtEcho).Position = yylex.(*Parser).builder.NewTokensPosition($1, $3) $$ = $2 } | T_INLINE_HTML { $$ = &ast.StmtInlineHtml{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), InlineHtmlTkn: $1, Value: $1.Value, } @@ -933,7 +932,7 @@ statement: | expr ';' { $$ = &ast.StmtExpression{ - Position: position.NewNodeTokenPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $2), Expr: $1, SemiColonTkn: $2, } @@ -945,7 +944,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).Position = position.NewTokensPosition($1, $6) + $3.(*ast.StmtUnset).Position = yylex.(*Parser).builder.NewTokensPosition($1, $6) $$ = $3 } @@ -957,7 +956,7 @@ statement: $7.(*ast.StmtForeach).AsTkn = $4 $7.(*ast.StmtForeach).Var = $5 $7.(*ast.StmtForeach).CloseParenthesisTkn = $6 - $7.(*ast.StmtForeach).Position = position.NewTokenNodePosition($1, $7) + $7.(*ast.StmtForeach).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $7) $$ = $7 } @@ -971,7 +970,7 @@ statement: $9.(*ast.StmtForeach).DoubleArrowTkn = $6 $9.(*ast.StmtForeach).Var = $7 $9.(*ast.StmtForeach).CloseParenthesisTkn = $8 - $9.(*ast.StmtForeach).Position = position.NewTokenNodePosition($1, $9) + $9.(*ast.StmtForeach).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $9) $$ = $9 } @@ -982,22 +981,22 @@ 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).Position = position.NewTokenNodePosition($1, $5) + $5.(*ast.StmtDeclare).Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $5) $$ = $5 } | ';' { $$ = &ast.StmtNop{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), SemiColonTkn: $1, } } | T_TRY '{' inner_statement_list '}' catch_list finally_statement { - pos := position.NewTokenNodeListPosition($1, $5) + pos := yylex.(*Parser).builder.NewTokenNodeListPosition($1, $5) if $6 != nil { - pos = position.NewTokenNodePosition($1, $6) + pos = yylex.(*Parser).builder.NewTokenNodePosition($1, $6) } $$ = &ast.StmtTry{ @@ -1013,7 +1012,7 @@ statement: | T_THROW expr ';' { $$ = &ast.StmtThrow{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), ThrowTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -1022,10 +1021,10 @@ statement: | T_GOTO T_STRING ';' { $$ = &ast.StmtGoto{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), GotoTkn: $1, Label: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1035,9 +1034,9 @@ statement: | T_STRING ':' { $$ = &ast.StmtLabel{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), LabelName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1056,9 +1055,9 @@ catch_list: catch.CatchTkn = $2 catch.OpenParenthesisTkn = $3 catch.Var = &ast.ExprVariable{ - Position: position.NewTokenPosition($5), + Position: yylex.(*Parser).builder.NewTokenPosition($5), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($5), + Position: yylex.(*Parser).builder.NewTokenPosition($5), IdentifierTkn: $5, Value: $5.Value, }, @@ -1067,7 +1066,7 @@ catch_list: catch.OpenCurlyBracketTkn = $7 catch.Stmts = $8 catch.CloseCurlyBracketTkn = $9 - catch.Position = position.NewTokensPosition($2, $9) + catch.Position = yylex.(*Parser).builder.NewTokensPosition($2, $9) $$ = append($1, catch) } @@ -1096,7 +1095,7 @@ finally_statement: | T_FINALLY '{' inner_statement_list '}' { $$ = &ast.StmtFinally{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), FinallyTkn: $1, OpenCurlyBracketTkn: $2, Stmts: $3, @@ -1132,11 +1131,11 @@ function_declaration_statement: T_FUNCTION returns_ref T_STRING backup_doc_comment '(' parameter_list ')' return_type '{' inner_statement_list '}' { $$ = &ast.StmtFunction{ - Position: position.NewTokensPosition($1, $11), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $11), FunctionTkn: $1, AmpersandTkn: $2, FunctionName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -1179,11 +1178,11 @@ class_declaration_statement: class_modifiers T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtClass{ - Position: position.NewOptionalListTokensPosition($1, $2, $9), + Position: yylex.(*Parser).builder.NewOptionalListTokensPosition($1, $2, $9), Modifiers: $1, ClassTkn: $2, ClassName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -1197,10 +1196,10 @@ class_declaration_statement: | T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtClass{ - Position: position.NewTokensPosition($1, $8), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $8), ClassTkn: $1, ClassName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1228,7 +1227,7 @@ class_modifier: T_ABSTRACT { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1236,7 +1235,7 @@ class_modifier: | T_FINAL { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1247,10 +1246,10 @@ trait_declaration_statement: T_TRAIT T_STRING backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtTrait{ - Position: position.NewTokensPosition($1, $6), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $6), TraitTkn: $1, TraitName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1265,10 +1264,10 @@ interface_declaration_statement: T_INTERFACE T_STRING interface_extends_list backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtInterface{ - Position: position.NewTokensPosition($1, $7), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $7), InterfaceTkn: $1, InterfaceName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1288,7 +1287,7 @@ extends_from: | T_EXTENDS name { $$ = &ast.StmtClassExtends{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), ExtendTkn: $1, ClassName: $2, } @@ -1303,7 +1302,7 @@ interface_extends_list: | T_EXTENDS name_list { $$ = &ast.StmtInterfaceExtends{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), ExtendsTkn: $1, InterfaceNames: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1319,7 +1318,7 @@ implements_list: | T_IMPLEMENTS name_list { $$ = &ast.StmtClassImplements{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), ImplementsTkn: $1, InterfaceNames: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1335,7 +1334,7 @@ foreach_variable: | '&' variable { $$ = &ast.ExprReference{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Var: $2, } @@ -1343,7 +1342,7 @@ foreach_variable: | T_LIST '(' array_pair_list ')' { $$ = &ast.ExprList{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -1354,7 +1353,7 @@ foreach_variable: | '[' array_pair_list ']' { $$ = &ast.ExprList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1367,18 +1366,18 @@ for_statement: statement { $$ = &ast.StmtFor{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDFOR ';' { $$ = &ast.StmtFor{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($2), + Position: yylex.(*Parser).builder.NewNodeListPosition($2), Stmts: $2, }, EndForTkn: $3, @@ -1391,18 +1390,18 @@ foreach_statement: statement { $$ = &ast.StmtForeach{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDFOREACH ';' { $$ = &ast.StmtForeach{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($2), + Position: yylex.(*Parser).builder.NewNodeListPosition($2), Stmts: $2, }, EndForeachTkn: $3, @@ -1415,18 +1414,18 @@ declare_statement: statement { $$ = &ast.StmtDeclare{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDDECLARE ';' { $$ = &ast.StmtDeclare{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($2), + Position: yylex.(*Parser).builder.NewNodeListPosition($2), Stmts: $2, }, EndDeclareTkn: $3, @@ -1439,7 +1438,7 @@ switch_case_list: '{' case_list '}' { $$ = &ast.StmtSwitch{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenCurlyBracketTkn: $1, CaseList: $2, CloseCurlyBracketTkn: $3, @@ -1448,7 +1447,7 @@ switch_case_list: | '{' ';' case_list '}' { $$ = &ast.StmtSwitch{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), OpenCurlyBracketTkn: $1, CaseSeparatorTkn: $2, CaseList: $3, @@ -1458,7 +1457,7 @@ switch_case_list: | ':' case_list T_ENDSWITCH ';' { $$ = &ast.StmtSwitch{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, CaseList: $2, @@ -1469,7 +1468,7 @@ switch_case_list: | ':' ';' case_list T_ENDSWITCH ';' { $$ = &ast.StmtSwitch{ - Position: position.NewTokensPosition($1, $5), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $5), Alt: true, ColonTkn: $1, CaseSeparatorTkn: $2, @@ -1488,7 +1487,7 @@ case_list: | case_list T_CASE expr case_separator inner_statement_list { $$ = append($1, &ast.StmtCase{ - Position: position.NewTokenNodeListPosition($2, $5), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($2, $5), CaseTkn: $2, Cond: $3, CaseSeparatorTkn: $4, @@ -1498,7 +1497,7 @@ case_list: | case_list T_DEFAULT case_separator inner_statement_list { $$ = append($1, &ast.StmtDefault{ - Position: position.NewTokenNodeListPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($2, $4), DefaultTkn: $2, CaseSeparatorTkn: $3, Stmts: $4, @@ -1521,18 +1520,18 @@ while_statement: statement { $$ = &ast.StmtWhile{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDWHILE ';' { $$ = &ast.StmtWhile{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($2), + Position: yylex.(*Parser).builder.NewNodeListPosition($2), Stmts: $2, }, EndWhileTkn: $3, @@ -1545,7 +1544,7 @@ if_stmt_without_else: T_IF '(' expr ')' statement { $$ = &ast.StmtIf{ - Position: position.NewTokenNodePosition($1, $5), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $5), IfTkn: $1, OpenParenthesisTkn: $2, Cond: $3, @@ -1556,7 +1555,7 @@ if_stmt_without_else: | if_stmt_without_else T_ELSEIF '(' expr ')' statement { $1.(*ast.StmtIf).ElseIf = append($1.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ - Position: position.NewTokenNodePosition($2, $6), + Position: yylex.(*Parser).builder.NewTokenNodePosition($2, $6), ElseIfTkn: $2, OpenParenthesisTkn: $3, Cond: $4, @@ -1564,7 +1563,7 @@ if_stmt_without_else: Stmt: $6, }) - $1.(*ast.StmtIf).Position = position.NewNodesPosition($1, $6) + $1.(*ast.StmtIf).Position = yylex.(*Parser).builder.NewNodesPosition($1, $6) $$ = $1 } @@ -1578,12 +1577,12 @@ if_stmt: | if_stmt_without_else T_ELSE statement { $1.(*ast.StmtIf).Else = &ast.StmtElse{ - Position: position.NewTokenNodePosition($2, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($2, $3), ElseTkn: $2, Stmt: $3, } - $1.(*ast.StmtIf).Position = position.NewNodesPosition($1, $3) + $1.(*ast.StmtIf).Position = yylex.(*Parser).builder.NewNodesPosition($1, $3) $$ = $1 } @@ -1593,7 +1592,7 @@ alt_if_stmt_without_else: T_IF '(' expr ')' ':' inner_statement_list { $$ = &ast.StmtIf{ - Position: position.NewTokenNodeListPosition($1, $6), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($1, $6), Alt: true, IfTkn: $1, OpenParenthesisTkn: $2, @@ -1601,7 +1600,7 @@ alt_if_stmt_without_else: CloseParenthesisTkn: $4, ColonTkn: $5, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($6), + Position: yylex.(*Parser).builder.NewNodeListPosition($6), Stmts: $6, }, } @@ -1609,7 +1608,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{ - Position: position.NewTokenNodeListPosition($2, $7), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($2, $7), Alt: true, ElseIfTkn: $2, OpenParenthesisTkn: $3, @@ -1617,7 +1616,7 @@ alt_if_stmt_without_else: CloseParenthesisTkn: $5, ColonTkn: $6, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($7), + Position: yylex.(*Parser).builder.NewNodeListPosition($7), Stmts: $7, }, }) @@ -1631,25 +1630,25 @@ alt_if_stmt: { $1.(*ast.StmtIf).EndIfTkn = $2 $1.(*ast.StmtIf).SemiColonTkn = $3 - $1.(*ast.StmtIf).Position = position.NewNodeTokenPosition($1, $3) + $1.(*ast.StmtIf).Position = yylex.(*Parser).builder.NewNodeTokenPosition($1, $3) $$ = $1 } | alt_if_stmt_without_else T_ELSE ':' inner_statement_list T_ENDIF ';' { $1.(*ast.StmtIf).Else = &ast.StmtElse{ - Position: position.NewTokenNodeListPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokenNodeListPosition($2, $4), Alt: true, ElseTkn: $2, ColonTkn: $3, Stmt: &ast.StmtStmtList{ - Position: position.NewNodeListPosition($4), + Position: yylex.(*Parser).builder.NewNodeListPosition($4), Stmts: $4, }, } $1.(*ast.StmtIf).EndIfTkn = $5 $1.(*ast.StmtIf).SemiColonTkn = $6 - $1.(*ast.StmtIf).Position = position.NewNodeTokenPosition($1, $6) + $1.(*ast.StmtIf).Position = yylex.(*Parser).builder.NewNodeTokenPosition($1, $6) $$ = $1 } @@ -1685,13 +1684,13 @@ non_empty_parameter_list: parameter: optional_type is_reference is_variadic T_VARIABLE { - pos := position.NewTokenPosition($4) + pos := yylex.(*Parser).builder.NewTokenPosition($4) if $1 != nil { - pos = position.NewNodeTokenPosition($1, $4) + pos = yylex.(*Parser).builder.NewNodeTokenPosition($1, $4) } else if $2 != nil { - pos = position.NewTokensPosition($2, $4) + pos = yylex.(*Parser).builder.NewTokensPosition($2, $4) } else if $3 != nil { - pos = position.NewTokensPosition($3, $4) + pos = yylex.(*Parser).builder.NewTokensPosition($3, $4) } $$ = &ast.Parameter{ @@ -1700,9 +1699,9 @@ parameter: AmpersandTkn: $2, VariadicTkn: $3, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1711,13 +1710,13 @@ parameter: } | optional_type is_reference is_variadic T_VARIABLE '=' expr { - pos := position.NewTokenNodePosition($4, $6) + pos := yylex.(*Parser).builder.NewTokenNodePosition($4, $6) if $1 != nil { - pos = position.NewNodesPosition($1, $6) + pos = yylex.(*Parser).builder.NewNodesPosition($1, $6) } else if $2 != nil { - pos = position.NewTokenNodePosition($2, $6) + pos = yylex.(*Parser).builder.NewTokenNodePosition($2, $6) } else if $3 != nil { - pos = position.NewTokenNodePosition($3, $6) + pos = yylex.(*Parser).builder.NewTokenNodePosition($3, $6) } $$ = &ast.Parameter{ @@ -1726,9 +1725,9 @@ parameter: AmpersandTkn: $2, VariadicTkn: $3, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1758,7 +1757,7 @@ type_expr: | '?' type { $$ = &ast.Nullable{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), QuestionTkn: $1, Expr: $2, } @@ -1769,7 +1768,7 @@ type: T_ARRAY { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1777,7 +1776,7 @@ type: | T_CALLABLE { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1806,7 +1805,7 @@ argument_list: '(' ')' { $$ = &ast.ArgumentList{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), OpenParenthesisTkn: $1, CloseParenthesisTkn: $2, } @@ -1814,7 +1813,7 @@ argument_list: | '(' non_empty_argument_list possible_comma ')' { argumentList := $2.(*ast.ArgumentList) - argumentList.Position = position.NewTokensPosition($1, $4) + argumentList.Position = yylex.(*Parser).builder.NewTokensPosition($1, $4) argumentList.OpenParenthesisTkn = $1 argumentList.SeparatorTkns = append(argumentList.SeparatorTkns, $3) argumentList.CloseParenthesisTkn = $4 @@ -1843,14 +1842,14 @@ argument: expr { $$ = &ast.Argument{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Expr: $1, } } | T_ELLIPSIS expr { $$ = &ast.Argument{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), VariadicTkn: $1, Expr: $2, } @@ -1901,11 +1900,11 @@ static_var: { $$ = &ast.StmtStaticVar{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1915,11 +1914,11 @@ static_var: | T_VARIABLE '=' expr { $$ = &ast.StmtStaticVar{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1945,7 +1944,7 @@ class_statement: variable_modifiers optional_type property_list ';' { $$ = &ast.StmtPropertyList{ - Position: position.NewNodeListTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeListTokenPosition($1, $4), Modifiers: $1, Type: $2, Properties: $3.(*ast.ParserSeparatedList).Items, @@ -1956,7 +1955,7 @@ class_statement: | method_modifiers T_CONST class_const_list ';' { $$ = &ast.StmtClassConstList{ - Position: position.NewOptionalListTokensPosition($1, $2, $4), + Position: yylex.(*Parser).builder.NewOptionalListTokensPosition($1, $2, $4), Modifiers: $1, ConstTkn: $2, Consts: $3.(*ast.ParserSeparatedList).Items, @@ -1967,7 +1966,7 @@ class_statement: | T_USE name_list trait_adaptations { $$ = &ast.StmtTraitUse{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), UseTkn: $1, Traits: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1976,9 +1975,9 @@ class_statement: } | method_modifiers T_FUNCTION returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type method_body { - pos := position.NewTokenNodePosition($2, $10) + pos := yylex.(*Parser).builder.NewTokenNodePosition($2, $10) if $1 != nil { - pos = position.NewNodeListNodePosition($1, $10) + pos = yylex.(*Parser).builder.NewNodeListNodePosition($1, $10) } $$ = &ast.StmtClassMethod{ @@ -1987,7 +1986,7 @@ class_statement: FunctionTkn: $2, AmpersandTkn: $3, MethodName: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2022,14 +2021,14 @@ trait_adaptations: ';' { $$ = &ast.StmtNop{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), SemiColonTkn: $1, } } | '{' '}' { $$ = &ast.StmtTraitAdaptationList{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), OpenParenthesisTkn: $1, CloseParenthesisTkn: $2, } @@ -2037,7 +2036,7 @@ trait_adaptations: | '{' trait_adaptation_list '}' { $$ = &ast.StmtTraitAdaptationList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenParenthesisTkn: $1, Adaptations: $2, CloseParenthesisTkn: $3, @@ -2075,7 +2074,7 @@ trait_precedence: absolute_trait_method_reference T_INSTEADOF name_list { $$ = &ast.StmtTraitUsePrecedence{ - Position: position.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + Position: yylex.(*Parser).builder.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), Ref: $1, InsteadofTkn: $2, Insteadof: $3.(*ast.ParserSeparatedList).Items, @@ -2088,11 +2087,11 @@ trait_alias: trait_method_reference T_AS T_STRING { $$ = &ast.StmtTraitUseAlias{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Ref: $1, AsTkn: $2, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2101,11 +2100,11 @@ trait_alias: | trait_method_reference T_AS reserved_non_modifiers { $$ = &ast.StmtTraitUseAlias{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Ref: $1, AsTkn: $2, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2114,12 +2113,12 @@ trait_alias: | trait_method_reference T_AS member_modifier identifier { $$ = &ast.StmtTraitUseAlias{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Ref: $1, AsTkn: $2, Modifier: $3, Alias: &ast.Identifier{ - Position: position.NewTokenPosition($4), + Position: yylex.(*Parser).builder.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2128,7 +2127,7 @@ trait_alias: | trait_method_reference T_AS member_modifier { $$ = &ast.StmtTraitUseAlias{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Ref: $1, AsTkn: $2, Modifier: $3, @@ -2140,9 +2139,9 @@ trait_method_reference: identifier { $$ = &ast.StmtTraitMethodRef{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), Method: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2158,11 +2157,11 @@ absolute_trait_method_reference: name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = &ast.StmtTraitMethodRef{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Trait: $1, DoubleColonTkn: $2, Method: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2174,14 +2173,14 @@ method_body: ';' /* abstract method */ { $$ = &ast.StmtNop{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), SemiColonTkn: $1, } } | '{' inner_statement_list '}' { $$ = &ast.StmtStmtList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenCurlyBracket: $1, Stmts: $2, CloseCurlyBracket: $3, @@ -2198,7 +2197,7 @@ variable_modifiers: { $$ = []ast.Vertex{ &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2232,7 +2231,7 @@ member_modifier: T_PUBLIC { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2240,7 +2239,7 @@ member_modifier: | T_PROTECTED { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2248,7 +2247,7 @@ member_modifier: | T_PRIVATE { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2256,7 +2255,7 @@ member_modifier: | T_STATIC { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2264,7 +2263,7 @@ member_modifier: | T_ABSTRACT { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2272,7 +2271,7 @@ member_modifier: | T_FINAL { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2299,11 +2298,11 @@ property: T_VARIABLE backup_doc_comment { $$ = &ast.StmtProperty{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2314,11 +2313,11 @@ property: | T_VARIABLE '=' expr backup_doc_comment { $$ = &ast.StmtProperty{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2349,9 +2348,9 @@ class_const_decl: identifier '=' expr backup_doc_comment { $$ = &ast.StmtConstant{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), Name: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2365,9 +2364,9 @@ const_decl: T_STRING '=' expr backup_doc_comment { $$ = &ast.StmtConstant{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), Name: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2431,7 +2430,7 @@ anonymous_class: T_CLASS ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtClass{ - Position: position.NewTokensPosition($1, $8), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $8), ClassTkn: $1, OpenParenthesisTkn: $2.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $2.(*ast.ArgumentList).Arguments, @@ -2451,7 +2450,7 @@ new_expr: { if $3 != nil { $$ = &ast.ExprNew{ - Position: position.NewTokenNodePosition($1, $3), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $3), NewTkn: $1, Class: $2, OpenParenthesisTkn: $3.(*ast.ArgumentList).OpenParenthesisTkn, @@ -2461,7 +2460,7 @@ new_expr: } } else { $$ = &ast.ExprNew{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), NewTkn: $1, Class: $2, } @@ -2470,7 +2469,7 @@ new_expr: | T_NEW anonymous_class { $$ = &ast.ExprNew{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), NewTkn: $1, Class: $2, } @@ -2481,9 +2480,9 @@ expr_without_variable: T_LIST '(' array_pair_list ')' '=' expr { $$ = &ast.ExprAssign{ - Position: position.NewTokenNodePosition($1, $6), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $6), Var: &ast.ExprList{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -2497,9 +2496,9 @@ expr_without_variable: | '[' array_pair_list ']' '=' expr { $$ = &ast.ExprAssign{ - Position: position.NewTokenNodePosition($1, $5), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $5), Var: &ast.ExprList{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2512,7 +2511,7 @@ expr_without_variable: | variable '=' expr { $$ = &ast.ExprAssign{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2521,7 +2520,7 @@ expr_without_variable: | variable '=' '&' expr { $$ = &ast.ExprAssignReference{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Var: $1, EqualTkn: $2, AmpersandTkn: $3, @@ -2531,7 +2530,7 @@ expr_without_variable: | T_CLONE expr { $$ = &ast.ExprClone{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CloneTkn: $1, Expr: $2, } @@ -2539,7 +2538,7 @@ expr_without_variable: | variable T_PLUS_EQUAL expr { $$ = &ast.ExprAssignPlus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2548,7 +2547,7 @@ expr_without_variable: | variable T_MINUS_EQUAL expr { $$ = &ast.ExprAssignMinus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2557,7 +2556,7 @@ expr_without_variable: | variable T_MUL_EQUAL expr { $$ = &ast.ExprAssignMul{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2566,7 +2565,7 @@ expr_without_variable: | variable T_POW_EQUAL expr { $$ = &ast.ExprAssignPow{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2575,7 +2574,7 @@ expr_without_variable: | variable T_DIV_EQUAL expr { $$ = &ast.ExprAssignDiv{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2584,7 +2583,7 @@ expr_without_variable: | variable T_CONCAT_EQUAL expr { $$ = &ast.ExprAssignConcat{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2593,7 +2592,7 @@ expr_without_variable: | variable T_MOD_EQUAL expr { $$ = &ast.ExprAssignMod{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2602,7 +2601,7 @@ expr_without_variable: | variable T_AND_EQUAL expr { $$ = &ast.ExprAssignBitwiseAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2611,7 +2610,7 @@ expr_without_variable: | variable T_OR_EQUAL expr { $$ = &ast.ExprAssignBitwiseOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2620,7 +2619,7 @@ expr_without_variable: | variable T_XOR_EQUAL expr { $$ = &ast.ExprAssignBitwiseXor{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2629,7 +2628,7 @@ expr_without_variable: | variable T_SL_EQUAL expr { $$ = &ast.ExprAssignShiftLeft{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2638,7 +2637,7 @@ expr_without_variable: | variable T_SR_EQUAL expr { $$ = &ast.ExprAssignShiftRight{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2647,7 +2646,7 @@ expr_without_variable: | variable T_COALESCE_EQUAL expr { $$ = &ast.ExprAssignCoalesce{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2656,7 +2655,7 @@ expr_without_variable: | variable T_INC { $$ = &ast.ExprPostInc{ - Position: position.NewNodeTokenPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $2), Var: $1, IncTkn: $2, } @@ -2664,7 +2663,7 @@ expr_without_variable: | T_INC variable { $$ = &ast.ExprPreInc{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), IncTkn: $1, Var: $2, } @@ -2672,7 +2671,7 @@ expr_without_variable: | variable T_DEC { $$ = &ast.ExprPostDec{ - Position: position.NewNodeTokenPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $2), Var: $1, DecTkn: $2, } @@ -2680,7 +2679,7 @@ expr_without_variable: | T_DEC variable { $$ = &ast.ExprPreDec{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), DecTkn: $1, Var: $2, } @@ -2688,7 +2687,7 @@ expr_without_variable: | expr T_BOOLEAN_OR expr { $$ = &ast.ExprBinaryBooleanOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2697,7 +2696,7 @@ expr_without_variable: | expr T_BOOLEAN_AND expr { $$ = &ast.ExprBinaryBooleanAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2706,7 +2705,7 @@ expr_without_variable: | expr T_LOGICAL_OR expr { $$ = &ast.ExprBinaryLogicalOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2715,7 +2714,7 @@ expr_without_variable: | expr T_LOGICAL_AND expr { $$ = &ast.ExprBinaryLogicalAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2724,7 +2723,7 @@ expr_without_variable: | expr T_LOGICAL_XOR expr { $$ = &ast.ExprBinaryLogicalXor{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2733,7 +2732,7 @@ expr_without_variable: | expr '|' expr { $$ = &ast.ExprBinaryBitwiseOr{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2742,7 +2741,7 @@ expr_without_variable: | expr '&' expr { $$ = &ast.ExprBinaryBitwiseAnd{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2751,7 +2750,7 @@ expr_without_variable: | expr '^' expr { $$ = &ast.ExprBinaryBitwiseXor{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2760,7 +2759,7 @@ expr_without_variable: | expr '.' expr { $$ = &ast.ExprBinaryConcat{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2769,7 +2768,7 @@ expr_without_variable: | expr '+' expr { $$ = &ast.ExprBinaryPlus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2778,7 +2777,7 @@ expr_without_variable: | expr '-' expr { $$ = &ast.ExprBinaryMinus{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2787,7 +2786,7 @@ expr_without_variable: | expr '*' expr { $$ = &ast.ExprBinaryMul{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2796,7 +2795,7 @@ expr_without_variable: | expr T_POW expr { $$ = &ast.ExprBinaryPow{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2805,7 +2804,7 @@ expr_without_variable: | expr '/' expr { $$ = &ast.ExprBinaryDiv{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2814,7 +2813,7 @@ expr_without_variable: | expr '%' expr { $$ = &ast.ExprBinaryMod{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2823,7 +2822,7 @@ expr_without_variable: | expr T_SL expr { $$ = &ast.ExprBinaryShiftLeft{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2832,7 +2831,7 @@ expr_without_variable: | expr T_SR expr { $$ = &ast.ExprBinaryShiftRight{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2841,7 +2840,7 @@ expr_without_variable: | '+' expr %prec T_INC { $$ = &ast.ExprUnaryPlus{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), PlusTkn: $1, Expr: $2, } @@ -2849,7 +2848,7 @@ expr_without_variable: | '-' expr %prec T_INC { $$ = &ast.ExprUnaryMinus{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), MinusTkn: $1, Expr: $2, } @@ -2857,7 +2856,7 @@ expr_without_variable: | '!' expr { $$ = &ast.ExprBooleanNot{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), ExclamationTkn: $1, Expr: $2, } @@ -2865,7 +2864,7 @@ expr_without_variable: | '~' expr { $$ = &ast.ExprBitwiseNot{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), TildaTkn: $1, Expr: $2, } @@ -2873,7 +2872,7 @@ expr_without_variable: | expr T_IS_IDENTICAL expr { $$ = &ast.ExprBinaryIdentical{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2882,7 +2881,7 @@ expr_without_variable: | expr T_IS_NOT_IDENTICAL expr { $$ = &ast.ExprBinaryNotIdentical{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2891,7 +2890,7 @@ expr_without_variable: | expr T_IS_EQUAL expr { $$ = &ast.ExprBinaryEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2900,7 +2899,7 @@ expr_without_variable: | expr T_IS_NOT_EQUAL expr { $$ = &ast.ExprBinaryNotEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2909,7 +2908,7 @@ expr_without_variable: | expr '<' expr { $$ = &ast.ExprBinarySmaller{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2918,7 +2917,7 @@ expr_without_variable: | expr T_IS_SMALLER_OR_EQUAL expr { $$ = &ast.ExprBinarySmallerOrEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2927,7 +2926,7 @@ expr_without_variable: | expr '>' expr { $$ = &ast.ExprBinaryGreater{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2936,7 +2935,7 @@ expr_without_variable: | expr T_IS_GREATER_OR_EQUAL expr { $$ = &ast.ExprBinaryGreaterOrEqual{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2945,7 +2944,7 @@ expr_without_variable: | expr T_SPACESHIP expr { $$ = &ast.ExprBinarySpaceship{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -2954,7 +2953,7 @@ expr_without_variable: | expr T_INSTANCEOF class_name_reference { $$ = &ast.ExprInstanceOf{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Expr: $1, InstanceOfTkn: $2, Class: $3, @@ -2963,7 +2962,7 @@ expr_without_variable: | '(' expr ')' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -2976,7 +2975,7 @@ expr_without_variable: | expr '?' expr ':' expr { $$ = &ast.ExprTernary{ - Position: position.NewNodesPosition($1, $5), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $5), Condition: $1, QuestionTkn: $2, IfTrue: $3, @@ -2987,7 +2986,7 @@ expr_without_variable: | expr '?' ':' expr { $$ = &ast.ExprTernary{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Condition: $1, QuestionTkn: $2, ColonTkn: $3, @@ -2997,7 +2996,7 @@ expr_without_variable: | expr T_COALESCE expr { $$ = &ast.ExprBinaryCoalesce{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3010,7 +3009,7 @@ expr_without_variable: | T_INT_CAST expr { $$ = &ast.ExprCastInt{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3018,7 +3017,7 @@ expr_without_variable: | T_DOUBLE_CAST expr { $$ = &ast.ExprCastDouble{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3026,7 +3025,7 @@ expr_without_variable: | T_STRING_CAST expr { $$ = &ast.ExprCastString{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3034,7 +3033,7 @@ expr_without_variable: | T_ARRAY_CAST expr { $$ = &ast.ExprCastArray{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3042,7 +3041,7 @@ expr_without_variable: | T_OBJECT_CAST expr { $$ = &ast.ExprCastObject{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3050,7 +3049,7 @@ expr_without_variable: | T_BOOL_CAST expr { $$ = &ast.ExprCastBool{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3058,7 +3057,7 @@ expr_without_variable: | T_UNSET_CAST expr { $$ = &ast.ExprCastUnset{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3070,9 +3069,9 @@ expr_without_variable: } if $2 == nil { - exit.Position = position.NewTokenPosition($1) + exit.Position = yylex.(*Parser).builder.NewTokenPosition($1) } else { - exit.Position = position.NewTokenNodePosition($1, $2) + exit.Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $2) exit.OpenParenthesisTkn = $2.(*ast.ParserBrackets).OpenBracketTkn exit.Expr = $2.(*ast.ParserBrackets).Child exit.CloseParenthesisTkn = $2.(*ast.ParserBrackets).CloseBracketTkn @@ -3083,7 +3082,7 @@ expr_without_variable: | '@' expr { $$ = &ast.ExprErrorSuppress{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), AtTkn: $1, Expr: $2, } @@ -3095,7 +3094,7 @@ expr_without_variable: | '`' backticks_expr '`' { $$ = &ast.ExprShellExec{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBacktickTkn: $1, Parts: $2, CloseBacktickTkn: $3, @@ -3104,7 +3103,7 @@ expr_without_variable: | T_PRINT expr { $$ = &ast.ExprPrint{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), PrintTkn: $1, Expr: $2, } @@ -3112,14 +3111,14 @@ expr_without_variable: | T_YIELD { $$ = &ast.ExprYield{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), YieldTkn: $1, } } | T_YIELD expr { $$ = &ast.ExprYield{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), YieldTkn: $1, Value: $2, } @@ -3127,7 +3126,7 @@ expr_without_variable: | T_YIELD expr T_DOUBLE_ARROW expr { $$ = &ast.ExprYield{ - Position: position.NewTokenNodePosition($1, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $4), YieldTkn: $1, Key: $2, DoubleArrowTkn: $3, @@ -3137,7 +3136,7 @@ expr_without_variable: | T_YIELD_FROM expr { $$ = &ast.ExprYieldFrom{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), YieldFromTkn: $1, Expr: $2, } @@ -3150,10 +3149,10 @@ expr_without_variable: { switch n := $2.(type) { case *ast.ExprClosure : - n.Position = position.NewTokenNodePosition($1, $2) + n.Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $2) n.StaticTkn = $1; case *ast.ExprArrowFunction : - n.Position = position.NewTokenNodePosition($1, $2) + n.Position = yylex.(*Parser).builder.NewTokenNodePosition($1, $2) n.StaticTkn = $1; }; @@ -3165,7 +3164,7 @@ inline_function: T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' { $$ = &ast.ExprClosure{ - Position: position.NewTokensPosition($1, $11), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $11), FunctionTkn: $1, AmpersandTkn: $2, OpenParenthesisTkn: $4, @@ -3183,7 +3182,7 @@ inline_function: | T_FN returns_ref '(' parameter_list ')' return_type backup_doc_comment T_DOUBLE_ARROW expr { $$ = &ast.ExprArrowFunction{ - Position: position.NewTokenNodePosition($1, $9), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $9), FnTkn: $1, AmpersandTkn: $2, OpenParenthesisTkn: $3, @@ -3221,7 +3220,7 @@ lexical_vars: | T_USE '(' lexical_var_list ')' { $$ = &ast.ExprClosureUse{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), UseTkn: $1, OpenParenthesisTkn: $2, Uses: $3.(*ast.ParserSeparatedList).Items, @@ -3251,9 +3250,9 @@ lexical_var: T_VARIABLE { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -3262,12 +3261,12 @@ lexical_var: | '&' T_VARIABLE { $$ = &ast.ExprReference{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), AmpersandTkn: $1, Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -3280,7 +3279,7 @@ function_call: name argument_list { $$ = &ast.ExprFunctionCall{ - Position: position.NewNodesPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $2), Function: $1, OpenParenthesisTkn: $2.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $2.(*ast.ArgumentList).Arguments, @@ -3291,7 +3290,7 @@ function_call: | class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list { $$ = &ast.ExprStaticCall{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -3304,7 +3303,7 @@ function_call: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list { $$ = &ast.ExprStaticCall{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -3317,7 +3316,7 @@ function_call: | callable_expr argument_list { $$ = &ast.ExprFunctionCall{ - Position: position.NewNodesPosition($1, $2), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $2), Function: $1, OpenParenthesisTkn: $2.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $2.(*ast.ArgumentList).Arguments, @@ -3331,7 +3330,7 @@ class_name: T_STATIC { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -3361,7 +3360,7 @@ exit_expr: | '(' optional_expr ')' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3378,7 +3377,7 @@ backticks_expr: { $$ = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), EncapsedStrTkn: $1, Value: $1.Value, }, @@ -3405,7 +3404,7 @@ dereferencable_scalar: T_ARRAY '(' array_pair_list ')' { $$ = &ast.ExprArray{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ArrayTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -3416,7 +3415,7 @@ dereferencable_scalar: | '[' array_pair_list ']' { $$ = &ast.ExprArray{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3426,7 +3425,7 @@ dereferencable_scalar: | T_CONSTANT_ENCAPSED_STRING { $$ = &ast.ScalarString{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -3437,7 +3436,7 @@ scalar: T_LNUMBER { $$ = &ast.ScalarLnumber{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } @@ -3445,7 +3444,7 @@ scalar: | T_DNUMBER { $$ = &ast.ScalarDnumber{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } @@ -3453,7 +3452,7 @@ scalar: | T_LINE { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3461,7 +3460,7 @@ scalar: | T_FILE { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3469,7 +3468,7 @@ scalar: | T_DIR { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3477,7 +3476,7 @@ scalar: | T_TRAIT_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3485,7 +3484,7 @@ scalar: | T_METHOD_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3493,7 +3492,7 @@ scalar: | T_FUNC_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3501,7 +3500,7 @@ scalar: | T_NS_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3509,7 +3508,7 @@ scalar: | T_CLASS_C { $$ = &ast.ScalarMagicConstant{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3517,11 +3516,11 @@ scalar: | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenHeredocTkn: $1, Parts: []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), EncapsedStrTkn: $2, Value: $2.Value, }, @@ -3532,7 +3531,7 @@ scalar: | T_START_HEREDOC T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), OpenHeredocTkn: $1, CloseHeredocTkn: $2, } @@ -3540,7 +3539,7 @@ scalar: | '"' encaps_list '"' { $$ = &ast.ScalarEncapsed{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenQoteTkn: $1, Parts: $2, CloseQoteTkn: $1, @@ -3549,7 +3548,7 @@ scalar: | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenHeredocTkn: $1, Parts: $2, CloseHeredocTkn: $3, @@ -3569,18 +3568,18 @@ constant: name { $$ = &ast.ExprConstFetch{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Const: $1, } } | class_name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -3589,11 +3588,11 @@ constant: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = &ast.ExprClassConstFetch{ - Position: position.NewNodeTokenPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -3638,7 +3637,7 @@ dereferencable: | '(' expr ')' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3658,7 +3657,7 @@ callable_expr: | '(' expr ')' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3678,7 +3677,7 @@ callable_variable: | dereferencable '[' optional_expr ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -3688,7 +3687,7 @@ callable_variable: | constant '[' optional_expr ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -3698,7 +3697,7 @@ callable_variable: | dereferencable '{' expr '}' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -3708,7 +3707,7 @@ callable_variable: | dereferencable T_OBJECT_OPERATOR property_name argument_list { $$ = &ast.ExprMethodCall{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Var: $1, ObjectOperatorTkn: $2, Method: $3, @@ -3736,7 +3735,7 @@ variable: | dereferencable T_OBJECT_OPERATOR property_name { $$ = &ast.ExprPropertyFetch{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, ObjectOperatorTkn: $2, Property: $3, @@ -3748,9 +3747,9 @@ simple_variable: T_VARIABLE { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -3759,10 +3758,10 @@ simple_variable: | '$' '{' expr '}' { $$ = &ast.ExprVariable{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), DollarTkn: $1, VarName: &ast.ParserBrackets{ - Position: position.NewTokensPosition($2, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $4), OpenBracketTkn: $2, Child: $3, CloseBracketTkn: $4, @@ -3772,7 +3771,7 @@ simple_variable: | '$' simple_variable { $$ = &ast.ExprVariable{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), DollarTkn: $1, VarName: $2, } @@ -3783,7 +3782,7 @@ static_member: class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { $$ = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -3792,7 +3791,7 @@ static_member: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { $$ = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -3808,7 +3807,7 @@ new_variable: | new_variable '[' optional_expr ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -3818,7 +3817,7 @@ new_variable: | new_variable '{' expr '}' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewNodeTokenPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -3828,7 +3827,7 @@ new_variable: | new_variable T_OBJECT_OPERATOR property_name { $$ = &ast.ExprPropertyFetch{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Var: $1, ObjectOperatorTkn: $2, Property: $3, @@ -3837,7 +3836,7 @@ new_variable: | class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { $$ = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -3846,7 +3845,7 @@ new_variable: | new_variable T_PAAMAYIM_NEKUDOTAYIM simple_variable { $$ = &ast.ExprStaticPropertyFetch{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -3858,7 +3857,7 @@ member_name: identifier { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -3866,7 +3865,7 @@ member_name: | '{' expr '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3882,7 +3881,7 @@ property_name: T_STRING { $$ = &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -3890,7 +3889,7 @@ property_name: | '{' expr '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3947,7 +3946,7 @@ array_pair: expr T_DOUBLE_ARROW expr { $$ = &ast.ExprArrayItem{ - Position: position.NewNodesPosition($1, $3), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $3), Key: $1, DoubleArrowTkn: $2, Val: $3, @@ -3956,18 +3955,18 @@ array_pair: | expr { $$ = &ast.ExprArrayItem{ - Position: position.NewNodePosition($1), + Position: yylex.(*Parser).builder.NewNodePosition($1), Val: $1, } } | expr T_DOUBLE_ARROW '&' variable { $$ = &ast.ExprArrayItem{ - Position: position.NewNodesPosition($1, $4), + Position: yylex.(*Parser).builder.NewNodesPosition($1, $4), Key: $1, DoubleArrowTkn: $2, Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition($3, $4), + Position: yylex.(*Parser).builder.NewTokenNodePosition($3, $4), AmpersandTkn: $3, Var: $4, }, @@ -3976,9 +3975,9 @@ array_pair: | '&' variable { $$ = &ast.ExprArrayItem{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), Val: &ast.ExprReference{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Var: $2, }, @@ -3987,7 +3986,7 @@ array_pair: | T_ELLIPSIS expr { $$ = &ast.ExprArrayItem{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), EllipsisTkn: $1, Val: $2, } @@ -3995,11 +3994,11 @@ array_pair: | expr T_DOUBLE_ARROW T_LIST '(' array_pair_list ')' { $$ = &ast.ExprArrayItem{ - Position: position.NewNodeTokenPosition($1, $6), + Position: yylex.(*Parser).builder.NewNodeTokenPosition($1, $6), Key: $1, DoubleArrowTkn: $2, Val: &ast.ExprList{ - Position: position.NewTokensPosition($3, $6), + Position: yylex.(*Parser).builder.NewTokensPosition($3, $6), ListTkn: $3, OpenBracketTkn: $4, Items: $5.(*ast.ParserSeparatedList).Items, @@ -4011,9 +4010,9 @@ array_pair: | T_LIST '(' array_pair_list ')' { $$ = &ast.ExprArrayItem{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Val: &ast.ExprList{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -4034,7 +4033,7 @@ encaps_list: $$ = append( $1, &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), EncapsedStrTkn: $2, Value: $2.Value, }, @@ -4048,7 +4047,7 @@ encaps_list: { $$ = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), EncapsedStrTkn: $1, Value: $1.Value, }, @@ -4061,9 +4060,9 @@ encaps_var: T_VARIABLE { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4072,11 +4071,11 @@ encaps_var: | T_VARIABLE '[' encaps_var_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4089,18 +4088,18 @@ encaps_var: | T_VARIABLE T_OBJECT_OPERATOR T_STRING { $$ = &ast.ExprPropertyFetch{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, }, ObjectOperatorTkn: $2, Property: &ast.Identifier{ - Position: position.NewTokenPosition($3), + Position: yylex.(*Parser).builder.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -4109,10 +4108,10 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: &ast.ExprVariable{ - Position: position.NewNodePosition($2), + Position: yylex.(*Parser).builder.NewNodePosition($2), VarName: $2, }, CloseBracketTkn: $3, @@ -4121,12 +4120,12 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: &ast.ExprVariable{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -4137,14 +4136,14 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $6), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $6), OpenBracketTkn: $1, Child: &ast.ExprArrayDimFetch{ - Position: position.NewTokensPosition($2, $5), + Position: yylex.(*Parser).builder.NewTokensPosition($2, $5), Var: &ast.ExprVariable{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -4159,7 +4158,7 @@ encaps_var: | T_CURLY_OPEN variable '}' { $$ = &ast.ParserBrackets{ - Position: position.NewTokensPosition($1, $3), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4171,7 +4170,7 @@ encaps_var_offset: T_STRING { $$ = &ast.ScalarString{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -4181,13 +4180,13 @@ encaps_var_offset: // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string($1.Value)); err == nil { $$ = &ast.ScalarLnumber{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } } else { $$ = &ast.ScalarString{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -4200,17 +4199,17 @@ encaps_var_offset: if isInt { $$ = &ast.ExprUnaryMinus{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), MinusTkn: $1, Expr: &ast.ScalarLnumber{ - Position: position.NewTokenPosition($2), + Position: yylex.(*Parser).builder.NewTokenPosition($2), NumberTkn: $2, Value: $2.Value, }, } } else { $$ = &ast.ScalarString{ - Position: position.NewTokensPosition($1, $2), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $2), MinusTkn: $1, StringTkn: $2, Value: append([]byte("-"), $2.Value...), @@ -4220,9 +4219,9 @@ encaps_var_offset: | T_VARIABLE { $$ = &ast.ExprVariable{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), VarName: &ast.Identifier{ - Position: position.NewTokenPosition($1), + Position: yylex.(*Parser).builder.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4238,7 +4237,7 @@ internal_functions_in_yacc: } $$ = &ast.ExprIsset{ - Position: position.NewTokensPosition($1, $5), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $5), IssetTkn: $1, OpenParenthesisTkn: $2, Vars: $3.(*ast.ParserSeparatedList).Items, @@ -4249,7 +4248,7 @@ internal_functions_in_yacc: | T_EMPTY '(' expr ')' { $$ = &ast.ExprEmpty{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), EmptyTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -4259,7 +4258,7 @@ internal_functions_in_yacc: | T_INCLUDE expr { $$ = &ast.ExprInclude{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), IncludeTkn: $1, Expr: $2, } @@ -4267,7 +4266,7 @@ internal_functions_in_yacc: | T_INCLUDE_ONCE expr { $$ = &ast.ExprIncludeOnce{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), IncludeTkn: $1, Expr: $2, } @@ -4275,7 +4274,7 @@ internal_functions_in_yacc: | T_EVAL '(' expr ')' { $$ = &ast.ExprEval{ - Position: position.NewTokensPosition($1, $4), + Position: yylex.(*Parser).builder.NewTokensPosition($1, $4), EvalTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -4285,7 +4284,7 @@ internal_functions_in_yacc: | T_REQUIRE expr { $$ = &ast.ExprRequire{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), RequireTkn: $1, Expr: $2, } @@ -4293,7 +4292,7 @@ internal_functions_in_yacc: | T_REQUIRE_ONCE expr { $$ = &ast.ExprRequireOnce{ - Position: position.NewTokenNodePosition($1, $2), + Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2), RequireOnceTkn: $1, Expr: $2, } diff --git a/internal/position/position.go b/internal/position/position.go index 888f24b..e6be89a 100644 --- a/internal/position/position.go +++ b/internal/position/position.go @@ -16,6 +16,16 @@ type endPos struct { endPos int } +type Builder struct { + pool *position.Pool +} + +func NewBuilder() *Builder { + return &Builder{ + pool: position.NewPool(position.DefaultBlockSize), + } +} + func getListStartPos(l []ast.Vertex) startPos { if l == nil { return startPos{-1, -1} @@ -75,130 +85,153 @@ func getNodeEndPos(n ast.Vertex) endPos { } // NewNodeListPosition returns new Position -func NewNodeListPosition(list []ast.Vertex) *position.Position { - return &position.Position{ - StartLine: getListStartPos(list).startLine, - EndLine: getListEndPos(list).endLine, - StartPos: getListStartPos(list).startPos, - EndPos: getListEndPos(list).endPos, - } +func (b *Builder) NewNodeListPosition(list []ast.Vertex) *position.Position { + pos := b.pool.Get() + + pos.StartLine = getListStartPos(list).startLine + pos.EndLine = getListEndPos(list).endLine + pos.StartPos = getListStartPos(list).startPos + pos.EndPos = getListEndPos(list).endPos + + return pos } // NewNodePosition returns new Position -func NewNodePosition(n ast.Vertex) *position.Position { - return &position.Position{ - StartLine: getNodeStartPos(n).startLine, - EndLine: getNodeEndPos(n).endLine, - StartPos: getNodeStartPos(n).startPos, - EndPos: getNodeEndPos(n).endPos, - } +func (b *Builder) NewNodePosition(n ast.Vertex) *position.Position { + pos := b.pool.Get() + + pos.StartLine = getNodeStartPos(n).startLine + pos.EndLine = getNodeEndPos(n).endLine + pos.StartPos = getNodeStartPos(n).startPos + pos.EndPos = getNodeEndPos(n).endPos + + return pos } // NewTokenPosition returns new Position -func NewTokenPosition(t *token.Token) *position.Position { - return &position.Position{ - StartLine: t.Position.StartLine, - EndLine: t.Position.EndLine, - StartPos: t.Position.StartPos, - EndPos: t.Position.EndPos, - } +func (b *Builder) NewTokenPosition(t *token.Token) *position.Position { + pos := b.pool.Get() + + pos.StartLine = t.Position.StartLine + pos.EndLine = t.Position.EndLine + pos.StartPos = t.Position.StartPos + pos.EndPos = t.Position.EndPos + + return pos } // NewTokensPosition returns new Position -func NewTokensPosition(startToken *token.Token, endToken *token.Token) *position.Position { - return &position.Position{ - StartLine: startToken.Position.StartLine, - EndLine: endToken.Position.EndLine, - StartPos: startToken.Position.StartPos, - EndPos: endToken.Position.EndPos, - } +func (b *Builder) NewTokensPosition(startToken *token.Token, endToken *token.Token) *position.Position { + pos := b.pool.Get() + + pos.StartLine = startToken.Position.StartLine + pos.EndLine = endToken.Position.EndLine + pos.StartPos = startToken.Position.StartPos + pos.EndPos = endToken.Position.EndPos + + return pos } // NewTokenNodePosition returns new Position -func NewTokenNodePosition(t *token.Token, n ast.Vertex) *position.Position { - return &position.Position{ - StartLine: t.Position.StartLine, - EndLine: getNodeEndPos(n).endLine, - StartPos: t.Position.StartPos, - EndPos: getNodeEndPos(n).endPos, - } +func (b *Builder) NewTokenNodePosition(t *token.Token, n ast.Vertex) *position.Position { + pos := b.pool.Get() + + pos.StartLine = t.Position.StartLine + pos.EndLine = getNodeEndPos(n).endLine + pos.StartPos = t.Position.StartPos + pos.EndPos = getNodeEndPos(n).endPos + + return pos } // NewNodeTokenPosition returns new Position -func NewNodeTokenPosition(n ast.Vertex, t *token.Token) *position.Position { - return &position.Position{ - StartLine: getNodeStartPos(n).startLine, - EndLine: t.Position.EndLine, - StartPos: getNodeStartPos(n).startPos, - EndPos: t.Position.EndPos, - } +func (b *Builder) NewNodeTokenPosition(n ast.Vertex, t *token.Token) *position.Position { + pos := b.pool.Get() + + pos.StartLine = getNodeStartPos(n).startLine + pos.EndLine = t.Position.EndLine + pos.StartPos = getNodeStartPos(n).startPos + pos.EndPos = t.Position.EndPos + + return pos } // NewNodesPosition returns new Position -func NewNodesPosition(startNode ast.Vertex, endNode ast.Vertex) *position.Position { - return &position.Position{ - StartLine: getNodeStartPos(startNode).startLine, - EndLine: getNodeEndPos(endNode).endLine, - StartPos: getNodeStartPos(startNode).startPos, - EndPos: getNodeEndPos(endNode).endPos, - } +func (b *Builder) NewNodesPosition(startNode ast.Vertex, endNode ast.Vertex) *position.Position { + pos := b.pool.Get() + + pos.StartLine = getNodeStartPos(startNode).startLine + pos.EndLine = getNodeEndPos(endNode).endLine + pos.StartPos = getNodeStartPos(startNode).startPos + pos.EndPos = getNodeEndPos(endNode).endPos + + return pos } // NewNodeListTokenPosition returns new Position -func NewNodeListTokenPosition(list []ast.Vertex, t *token.Token) *position.Position { - return &position.Position{ - StartLine: getListStartPos(list).startLine, - EndLine: t.Position.EndLine, - StartPos: getListStartPos(list).startPos, - EndPos: t.Position.EndPos, - } +func (b *Builder) NewNodeListTokenPosition(list []ast.Vertex, t *token.Token) *position.Position { + pos := b.pool.Get() + + pos.StartLine = getListStartPos(list).startLine + pos.EndLine = t.Position.EndLine + pos.StartPos = getListStartPos(list).startPos + pos.EndPos = t.Position.EndPos + + return pos } // NewTokenNodeListPosition returns new Position -func NewTokenNodeListPosition(t *token.Token, list []ast.Vertex) *position.Position { - return &position.Position{ - StartLine: t.Position.StartLine, - EndLine: getListEndPos(list).endLine, - StartPos: t.Position.StartPos, - EndPos: getListEndPos(list).endPos, - } +func (b *Builder) NewTokenNodeListPosition(t *token.Token, list []ast.Vertex) *position.Position { + pos := b.pool.Get() + + pos.StartLine = t.Position.StartLine + pos.EndLine = getListEndPos(list).endLine + pos.StartPos = t.Position.StartPos + pos.EndPos = getListEndPos(list).endPos + + return pos } // NewNodeNodeListPosition returns new Position -func NewNodeNodeListPosition(n ast.Vertex, list []ast.Vertex) *position.Position { - return &position.Position{ - StartLine: getNodeStartPos(n).startLine, - EndLine: getListEndPos(list).endLine, - StartPos: getNodeStartPos(n).startPos, - EndPos: getListEndPos(list).endPos, - } +func (b *Builder) NewNodeNodeListPosition(n ast.Vertex, list []ast.Vertex) *position.Position { + pos := b.pool.Get() + + pos.StartLine = getNodeStartPos(n).startLine + pos.EndLine = getListEndPos(list).endLine + pos.StartPos = getNodeStartPos(n).startPos + pos.EndPos = getListEndPos(list).endPos + + return pos } // NewNodeListNodePosition returns new Position -func NewNodeListNodePosition(list []ast.Vertex, n ast.Vertex) *position.Position { - return &position.Position{ - StartLine: getListStartPos(list).startLine, - EndLine: getNodeEndPos(n).endLine, - StartPos: getListStartPos(list).startPos, - EndPos: getNodeEndPos(n).endPos, - } +func (b *Builder) NewNodeListNodePosition(list []ast.Vertex, n ast.Vertex) *position.Position { + pos := b.pool.Get() + + pos.StartLine = getListStartPos(list).startLine + pos.EndLine = getNodeEndPos(n).endLine + pos.StartPos = getListStartPos(list).startPos + pos.EndPos = getNodeEndPos(n).endPos + + return pos } // NewOptionalListTokensPosition returns new Position -func NewOptionalListTokensPosition(list []ast.Vertex, t *token.Token, endToken *token.Token) *position.Position { - if list == nil { - return &position.Position{ - StartLine: t.Position.StartLine, - EndLine: endToken.Position.EndLine, - StartPos: t.Position.StartPos, - EndPos: endToken.Position.EndPos, - } - } +func (b *Builder) NewOptionalListTokensPosition(list []ast.Vertex, t *token.Token, endToken *token.Token) *position.Position { + pos := b.pool.Get() - return &position.Position{ - StartLine: getListStartPos(list).startLine, - EndLine: endToken.Position.EndLine, - StartPos: getListStartPos(list).startPos, - EndPos: endToken.Position.EndPos, + if list == nil { + pos.StartLine = t.Position.StartLine + pos.EndLine = endToken.Position.EndLine + pos.StartPos = t.Position.StartPos + pos.EndPos = endToken.Position.EndPos + + return pos } + pos.StartLine = getListStartPos(list).startLine + pos.EndLine = endToken.Position.EndLine + pos.StartPos = getListStartPos(list).startPos + pos.EndPos = endToken.Position.EndPos + + return pos } diff --git a/internal/scanner/lexer.go b/internal/scanner/lexer.go index 8c0381f..6a26ffc 100644 --- a/internal/scanner/lexer.go +++ b/internal/scanner/lexer.go @@ -36,7 +36,7 @@ func NewLexer(data []byte, phpVersion string, errHandlerFunc func(*errors.Error) stack: make([]int, 0), tokenPool: token.NewPool(position.DefaultBlockSize), - positionPool: position.NewPool(position.DefaultBlockSize), + positionPool: position.NewPool(token.DefaultBlockSize), newLines: NewLines{make([]int, 0, 128)}, }