From 97747c5ac093dbc525b19a183b827d53c5e694fe Mon Sep 17 00:00:00 2001 From: Vadym Slizov Date: Mon, 17 Aug 2020 20:31:04 +0300 Subject: [PATCH] [refactoring] remove scanner token --- internal/php5/parser.go | 31 +- internal/php5/parser_test.go | 774 ++++-- internal/php5/php5.go | 3351 ++++++++--------------- internal/php5/php5.y | 2314 +++++----------- internal/php5/php5_bench_test.go | 2 +- internal/php5/php5_test.go | 11 +- internal/php7/parser.go | 31 +- internal/php7/parser_test.go | 846 ++++-- internal/php7/php7.go | 2890 +++++++------------ internal/php7/php7.y | 1909 ++++--------- internal/php7/php7_bench_test.go | 2 +- internal/php7/php7_test.go | 11 +- internal/position/position.go | 16 +- internal/position/position_test.go | 54 +- internal/scanner/lexer.go | 56 +- internal/scanner/lexer_tokens.go | 145 - internal/scanner/scanner.go | 1984 +++++++------- internal/scanner/scanner.rl | 402 +-- internal/scanner/scanner_test.go | 1062 +++---- internal/scanner/token.go | 14 - internal/scanner/token_pool.go | 22 - internal/scanner/token_pool_test.go | 34 - internal/scanner/tokenid_string.go | 161 -- pkg/ast/node.go | 4 + pkg/ast/visitor/dump.go | 2 +- pkg/ast/visitor/dump_test.go | 4 +- pkg/ast/visitor/filter_tokens.go | 14 + pkg/parser/parser.go | 2 +- pkg/position/pool.go | 29 + pkg/printer/printer_parsed_php5_test.go | 2 +- pkg/printer/printer_parsed_php7_test.go | 4 +- pkg/printer/printer_test.go | 4 +- pkg/token/pool.go | 29 + pkg/token/pool_bench_test.go | 173 ++ pkg/token/position.go | 2 +- pkg/token/token.go | 13 +- 36 files changed, 6591 insertions(+), 9813 deletions(-) delete mode 100644 internal/scanner/lexer_tokens.go delete mode 100644 internal/scanner/token.go delete mode 100644 internal/scanner/token_pool.go delete mode 100644 internal/scanner/token_pool_test.go delete mode 100644 internal/scanner/tokenid_string.go create mode 100644 pkg/ast/visitor/filter_tokens.go create mode 100644 pkg/position/pool.go create mode 100644 pkg/token/pool.go create mode 100644 pkg/token/pool_bench_test.go diff --git a/internal/php5/parser.go b/internal/php5/parser.go index 1fe5085..5b06343 100644 --- a/internal/php5/parser.go +++ b/internal/php5/parser.go @@ -12,7 +12,7 @@ import ( // Parser structure type Parser struct { Lexer *scanner.Lexer - currentToken *scanner.Token + currentToken *token.Token rootNode ast.Vertex errHandlerFunc func(*errors.Error) } @@ -40,8 +40,7 @@ func (p *Parser) Error(msg string) { return } - var pos = p.currentToken.Position - p.errHandlerFunc(errors.NewError(msg, &pos)) + p.errHandlerFunc(errors.NewError(msg, p.currentToken.Position)) } // Parse the php7 Parser entrypoint @@ -82,7 +81,7 @@ func (p *Parser) MoveFreeFloating(src ast.Vertex, dst ast.Vertex) { delete(src.GetNode().Tokens, token.Start) } -func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []token.Token) { +func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []*token.Token) { if len(tokens) == 0 { return } @@ -98,7 +97,7 @@ func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []to } } -func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, tokens []token.Token) { +func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, tokens []*token.Token) { if len(tokens) == 0 { return } @@ -108,14 +107,14 @@ func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, token *dstCollection = make(token.Collection) } - (*dstCollection)[pos] = make([]token.Token, 0) + (*dstCollection)[pos] = make([]*token.Token, 0) for _, v := range tokens { (*dstCollection)[pos] = append((*dstCollection)[pos], v) } } -func (p *Parser) setToken(dst ast.Vertex, pos token.Position, tokens []token.Token) { +func (p *Parser) setToken(dst ast.Vertex, pos token.Position, tokens []*token.Token) { if len(tokens) == 0 { return } @@ -141,7 +140,7 @@ func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast. } if semiColon[0].Value[0] == ';' { - p.setFreeFloatingTokens(prevNode, token.SemiColon, []token.Token{ + p.setFreeFloatingTokens(prevNode, token.SemiColon, []*token.Token{ { ID: token.ID(';'), Value: semiColon[0].Value[0:1], @@ -155,28 +154,18 @@ func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast. tlen = 3 } - phpCloseTag := []token.Token{} + phpCloseTag := []*token.Token{} if vlen-tlen > 1 { - phpCloseTag = append(phpCloseTag, token.Token{ + phpCloseTag = append(phpCloseTag, &token.Token{ ID: token.T_WHITESPACE, Value: semiColon[0].Value[1 : vlen-tlen], }) } - phpCloseTag = append(phpCloseTag, token.Token{ + phpCloseTag = append(phpCloseTag, &token.Token{ ID: T_CLOSE_TAG, Value: semiColon[0].Value[vlen-tlen:], }) p.setFreeFloatingTokens(htmlNode, token.Start, append(phpCloseTag, htmlNode.GetNode().Tokens[token.Start]...)) } - -func (p *Parser) returnTokenToPool(yyDollar []yySymType, yyVAL *yySymType) { - for i := 1; i < len(yyDollar); i++ { - if yyDollar[i].token != nil { - p.Lexer.ReturnTokenToPool(yyDollar[i].token) - } - yyDollar[i].token = nil - } - yyVAL.token = nil -} diff --git a/internal/php5/parser_test.go b/internal/php5/parser_test.go index a33aa36..bc6d43c 100644 --- a/internal/php5/parser_test.go +++ b/internal/php5/parser_test.go @@ -60,11 +60,12 @@ func TestIdentifier(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -844,11 +845,12 @@ func TestPhp5ArgumentNode(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1658,11 +1660,12 @@ func TestPhp5ParameterNode(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1681,11 +1684,12 @@ func TestCommentEndFile(t *testing.T) { Stmts: []ast.Vertex{}, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1760,11 +1764,12 @@ func TestName(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1837,11 +1842,12 @@ func TestFullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1914,11 +1920,12 @@ func TestRelative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1994,11 +2001,12 @@ func TestScalarEncapsed_SimpleVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2072,11 +2080,12 @@ func TestScalarEncapsed_SimpleVarOneChar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2161,11 +2170,12 @@ func TestScalarEncapsed_SimpleVarEndsEcapsed(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2260,11 +2270,12 @@ func TestScalarEncapsed_StringVarCurveOpen(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2370,11 +2381,12 @@ func TestScalarEncapsed_SimpleVarPropertyFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2448,11 +2460,12 @@ func TestScalarEncapsed_DollarOpenCurlyBraces(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2547,11 +2560,12 @@ func TestScalarEncapsed_DollarOpenCurlyBracesDimNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2656,11 +2670,12 @@ func TestScalarEncapsed_CurlyOpenMethodCall(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2749,11 +2764,12 @@ LBL; }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2842,11 +2858,12 @@ LBL; }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2903,11 +2920,12 @@ LBL; }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2950,11 +2968,12 @@ CAD; }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3011,11 +3030,12 @@ CAD; }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3057,11 +3077,12 @@ func TestScalarMagicConstant(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3102,11 +3123,12 @@ func TestScalarNumber_LNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3147,11 +3169,12 @@ func TestScalarNumber_DNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3192,11 +3215,12 @@ func TestScalarNumber_Float(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3237,11 +3261,12 @@ func TestScalarNumber_BinaryLNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3282,11 +3307,12 @@ func TestScalarNumber_BinaryDNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3327,11 +3353,12 @@ func TestScalarNumber_HLNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3372,11 +3399,12 @@ func TestScalarNumber_HDNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3417,11 +3445,12 @@ func TestScalarString_DoubleQuotedScalarString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3462,11 +3491,12 @@ func TestScalarString_DoubleQuotedScalarStringWithEscapedVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3509,11 +3539,12 @@ func TestScalarString_MultilineDoubleQuotedScalarString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3554,11 +3585,12 @@ func TestScalarString_SingleQuotedScalarString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3601,11 +3633,12 @@ func TestScalarString_MultilineSingleQuotedScalarString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3672,11 +3705,12 @@ func TestStmtAltIf_AltIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3786,11 +3820,12 @@ func TestStmtAltIf_AltElseIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3877,11 +3912,12 @@ func TestStmtAltIf_AltElse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4056,11 +4092,12 @@ func TestStmtAltIf_AltElseElseIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4179,11 +4216,12 @@ func TestStmtClassConstList_WithoutModifiers(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4259,11 +4297,12 @@ func TestStmtClassMethod_SimpleClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4409,11 +4448,12 @@ func TestStmtClassMethod_PrivateProtectedClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4513,11 +4553,12 @@ func TestStmtClassMethod_Php5ClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4629,11 +4670,12 @@ func TestStmtClassMethod_AbstractClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4675,11 +4717,12 @@ func TestStmtClass_SimpleClass(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4734,11 +4777,12 @@ func TestStmtClass_AbstractClass(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4826,11 +4870,12 @@ func TestStmtClass_ClassExtends(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4920,11 +4965,12 @@ func TestStmtClass_ClassImplement(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5037,11 +5083,12 @@ func TestStmtClass_ClassImplements(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5137,11 +5184,12 @@ func TestStmtConstList(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5204,11 +5252,12 @@ func TestStmtContinue_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5282,11 +5331,12 @@ func TestStmtContinue_Light(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5360,11 +5410,12 @@ func TestStmtContinue(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5438,11 +5489,12 @@ func TestStmtDeclare(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5549,11 +5601,12 @@ func TestStmtDeclare_Stmts(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5629,11 +5682,12 @@ func TestStmtDeclare_Alt(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5685,11 +5739,12 @@ func TestStmtDo(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5753,11 +5808,12 @@ func TestStmtEcho(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5810,11 +5866,12 @@ func TestStmtEcho_Parenthesis(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5855,11 +5912,12 @@ func TestStmtExpression(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6052,11 +6110,12 @@ func TestStmtFor(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6174,11 +6233,12 @@ func TestStmtFor_Alt(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6261,11 +6321,12 @@ func TestStmtForeach(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6338,11 +6399,12 @@ func TestStmtForeach_Expr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6425,11 +6487,12 @@ func TestStmtForeach_Alt(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6533,11 +6596,12 @@ func TestStmtForeach_WithKey(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6631,11 +6695,12 @@ func TestStmtForeach_ExprWithKey(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6749,11 +6814,12 @@ func TestStmtForeach_WithRef(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6879,11 +6945,12 @@ func TestStmtForeach_WithList(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6926,11 +6993,12 @@ func TestStmtFunction(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6984,11 +7052,12 @@ func TestStmtFunction_Return(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7149,11 +7218,12 @@ func TestStmtFunction_ReturnVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7218,11 +7288,12 @@ func TestStmtFunction_Ref(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7275,11 +7346,12 @@ func TestStmtGlobal(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7437,11 +7509,12 @@ func TestStmtGlobal_Vars(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7503,11 +7576,12 @@ func TestStmtGotoLabel(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7537,11 +7611,12 @@ func TestStmtHaltCompiler(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7603,11 +7678,12 @@ func TestStmtIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7713,11 +7789,12 @@ func TestStmtIf_ElseIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7800,11 +7877,12 @@ func TestStmtIf_Else(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7973,11 +8051,12 @@ func TestStmtIf_ElseElseIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8156,11 +8235,12 @@ func TestStmtIf_ElseIfElseIfElse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8201,11 +8281,12 @@ func TestStmtInlineHtml(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8247,11 +8328,12 @@ func TestStmtInterface(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8328,11 +8410,12 @@ func TestStmtInterface_Extend(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8432,11 +8515,12 @@ func TestStmtInterface_Extends(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8489,11 +8573,12 @@ func TestStmtNamespace(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8547,11 +8632,12 @@ func TestStmtNamespace_Stmts(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8582,11 +8668,12 @@ func TestStmtNamespace_Anonymous(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8685,11 +8772,12 @@ func TestStmtProperty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8841,11 +8929,12 @@ func TestStmtProperty_Properties(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8997,11 +9086,12 @@ func TestStmtProperty_Properties2(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9064,11 +9154,12 @@ func TestStmtStaticVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9173,11 +9264,12 @@ func TestStmtStaticVar_Vars(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9282,11 +9374,12 @@ func TestStmtStaticVar_Vars2(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9410,11 +9503,12 @@ func TestStmtSwitch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9538,11 +9632,12 @@ func TestStmtSwitch_Semicolon(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9656,11 +9751,12 @@ func TestStmtSwitch_Alt(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9762,11 +9858,12 @@ func TestStmtSwitch_AltSemicolon(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9817,11 +9914,12 @@ func TestStmtThrow(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9863,11 +9961,12 @@ func TestStmtTrait(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9955,11 +10054,12 @@ func TestStmtTraitUse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10070,11 +10170,12 @@ func TestStmtTraitUse_Uses(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10185,11 +10286,12 @@ func TestStmtTraitUse_EmptyAdaptations(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10344,11 +10446,12 @@ func TestStmtTraitUse_Modifier(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10514,11 +10617,12 @@ func TestStmtTraitUse_AliasModifier(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10798,11 +10902,12 @@ func TestStmtTraitUse_Adaptions(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10836,11 +10941,12 @@ func TestStmtTry_Try(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10932,11 +11038,12 @@ func TestStmtTry_TryCatch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11085,11 +11192,12 @@ func TestStmtTry_TryCatchCatch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11192,11 +11300,12 @@ func TestStmtTry_TryCatchFinally(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11400,11 +11509,12 @@ func TestStmtTry_TryCatchCatchCatch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11457,11 +11567,12 @@ func TestStmtUnset(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11535,11 +11646,12 @@ func TestStmtUnset_Vars(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11614,11 +11726,12 @@ func TestStmtUse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11693,11 +11806,12 @@ func TestStmtUse_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11783,11 +11897,12 @@ func TestStmtUse_FullyQualifiedAlias(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11895,11 +12010,12 @@ func TestStmtUse_List(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12018,11 +12134,12 @@ func TestStmtUse_ListAlias(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12151,11 +12268,12 @@ func TestStmtUse_ListFunctionType(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12306,11 +12424,12 @@ func TestStmtUse_ListFunctionTypeAliases(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12440,11 +12559,12 @@ func TestStmtUse_ListConstType(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12595,11 +12715,12 @@ func TestStmtUse_ListConstTypeAliases(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12662,11 +12783,12 @@ func TestStmtBreak_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12740,11 +12862,12 @@ func TestStmtBreak_Light(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12818,11 +12941,12 @@ func TestStmtBreak(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12896,11 +13020,12 @@ func TestExprArrayDimFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12993,11 +13118,12 @@ func TestExprArrayDimFetch_Nested(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13038,11 +13164,12 @@ func TestExprArray(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13105,11 +13232,12 @@ func TestExprArray_Item(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13225,11 +13353,12 @@ func TestExprArray_Items(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13290,11 +13419,12 @@ func TestExprBitwiseNot(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13355,11 +13485,12 @@ func TestExprBooleanNot(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13433,11 +13564,12 @@ func TestExprClassConstFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13499,11 +13631,12 @@ func TestExprClassConstFetch_Static(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13564,11 +13697,12 @@ func TestExprClone_Brackets(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13629,11 +13763,12 @@ func TestExprClone(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13676,11 +13811,12 @@ func TestExprClosure(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13851,11 +13987,12 @@ func TestExprClosure_Use(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14026,11 +14163,12 @@ func TestExprClosure_Use2(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14093,11 +14231,12 @@ func TestExprConstFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14160,11 +14299,12 @@ func TestExprConstFetch_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14227,11 +14367,12 @@ func TestExprConstFetch_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14292,11 +14433,12 @@ func TestExprEmpty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14357,11 +14499,12 @@ func TestExprErrorSuppress(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14422,11 +14565,12 @@ func TestExprEval(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14467,11 +14611,12 @@ func TestExprExit(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14512,11 +14657,12 @@ func TestExprExit_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14578,11 +14724,12 @@ func TestExprExit_Expr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14623,11 +14770,12 @@ func TestExprDie(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14668,11 +14816,12 @@ func TestExprDie_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14734,11 +14883,12 @@ func TestExprDie_Expr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14811,11 +14961,12 @@ func TestExprFunctionCall(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14888,11 +15039,12 @@ func TestExprFunctionCall_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14990,11 +15142,12 @@ func TestExprFunctionCall_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15110,11 +15263,12 @@ func TestExprFunctionCall_Var(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15243,11 +15397,12 @@ func TestExprFunctionCall_ExprArg(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15308,11 +15463,12 @@ func TestExprPostDec(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15373,11 +15529,12 @@ func TestExprPostInc(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15438,11 +15595,12 @@ func TestExprPreDec(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15503,11 +15661,12 @@ func TestExprPreInc(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15568,11 +15727,12 @@ func TestExprInclude(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15633,11 +15793,12 @@ func TestExprInclude_Once(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15698,11 +15859,12 @@ func TestExprRequire(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15763,11 +15925,12 @@ func TestExprRequire_Once(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15851,11 +16014,12 @@ func TestExprInstanceOf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15939,11 +16103,12 @@ func TestExprInstanceOf_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16027,11 +16192,12 @@ func TestExprInstanceOf_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16094,11 +16260,12 @@ func TestExprIsset(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16182,11 +16349,12 @@ func TestExprIsset_Variables(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16258,11 +16426,12 @@ func TestExprList_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16366,11 +16535,12 @@ func TestExprList(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16484,11 +16654,12 @@ func TestExprList_ArrayIndex(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16614,11 +16785,12 @@ func TestExprList_List(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16723,11 +16895,12 @@ func TestExprList_EmptyItem(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16834,11 +17007,12 @@ func TestExprList_EmptyItems(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16920,11 +17094,12 @@ func TestExprMethodCall(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16987,11 +17162,12 @@ func TestExprNew(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17064,11 +17240,12 @@ func TestExprNew_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17141,11 +17318,12 @@ func TestExprNew_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17206,11 +17384,12 @@ func TestExprPrint(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17282,11 +17461,12 @@ func TestExprPropertyFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17401,11 +17581,12 @@ func TestExprReference_ForeachWithRef(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17479,11 +17660,12 @@ func TestExprShellExec(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17524,11 +17706,12 @@ func TestExprShortArray(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17591,11 +17774,12 @@ func TestExprShortArray_Item(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17711,11 +17895,12 @@ func TestExprShortArray_Items(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17799,11 +17984,12 @@ func TestExprStaticCall(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17887,11 +18073,12 @@ func TestExprStaticCall_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17975,11 +18162,12 @@ func TestExprStaticCall_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18073,11 +18261,12 @@ func TestExprStaticCall_Var(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18169,11 +18358,12 @@ func TestExprStaticCall_VarVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18257,11 +18447,12 @@ func TestExprStaticPropertyFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18345,11 +18536,12 @@ func TestExprStaticPropertyFetch_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18433,11 +18625,12 @@ func TestExprStaticPropertyFetch_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18540,11 +18733,12 @@ func TestExprTernary(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18626,11 +18820,12 @@ func TestExprTernary_Simple(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18785,11 +18980,12 @@ func TestExprTernary_NestedTrue(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18944,11 +19140,12 @@ func TestExprTernary_NestedCond(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19009,11 +19206,12 @@ func TestExprUnaryMinus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19074,11 +19272,12 @@ func TestExprUnaryPlus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19129,11 +19328,12 @@ func TestExprVariable(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19194,11 +19394,12 @@ func TestExprVariable_Variable(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19238,11 +19439,12 @@ func TestExprYield(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19303,11 +19505,12 @@ func TestExprYield_Val(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19389,11 +19592,12 @@ func TestExprYield_KeyVal(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19444,11 +19648,12 @@ func TestExprYield_Expr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19520,11 +19725,12 @@ func TestExprYield_KeyExpr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19608,11 +19814,12 @@ func TestExprAssign_Assign(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19694,11 +19901,12 @@ func TestExprAssign_Reference(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19792,11 +20000,12 @@ func TestExprAssign_ReferenceNew(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19935,11 +20144,12 @@ func TestExprAssign_ReferenceArgs(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20021,11 +20231,12 @@ func TestExprAssign_BitwiseAnd(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20107,11 +20318,12 @@ func TestExprAssign_BitwiseOr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20193,11 +20405,12 @@ func TestExprAssign_BitwiseXor(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20279,11 +20492,12 @@ func TestExprAssign_Concat(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20365,11 +20579,12 @@ func TestExprAssign_Div(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20451,11 +20666,12 @@ func TestExprAssign_Minus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20537,11 +20753,12 @@ func TestExprAssign_Mod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20623,11 +20840,12 @@ func TestExprAssign_Mul(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20709,11 +20927,12 @@ func TestExprAssign_Plus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20795,11 +21014,12 @@ func TestExprAssign_Pow(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20881,11 +21101,12 @@ func TestExprAssign_ShiftLeft(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20967,11 +21188,12 @@ func TestExprAssign_ShiftRight(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21055,11 +21277,12 @@ func TestExprBinary_BitwiseAnd(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21141,11 +21364,12 @@ func TestExprBinary_BitwiseOr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21227,11 +21451,12 @@ func TestExprBinary_BitwiseXor(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21313,11 +21538,12 @@ func TestExprBinary_BooleanAnd(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21399,11 +21625,12 @@ func TestExprBinary_BooleanOr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21485,11 +21712,12 @@ func TestExprBinary_Concat(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21571,11 +21799,12 @@ func TestExprBinary_Div(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21657,11 +21886,12 @@ func TestExprBinary_Equal(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21743,11 +21973,12 @@ func TestExprBinary_GreaterOrEqual(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21829,11 +22060,12 @@ func TestExprBinary_Greater(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21915,11 +22147,12 @@ func TestExprBinary_Identical(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22001,11 +22234,12 @@ func TestExprBinary_LogicalAnd(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22087,11 +22321,12 @@ func TestExprBinary_LogicalOr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22173,11 +22408,12 @@ func TestExprBinary_LogicalXor(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22259,11 +22495,12 @@ func TestExprBinary_Minus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22345,11 +22582,12 @@ func TestExprBinary_Mod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22431,11 +22669,12 @@ func TestExprBinary_Mul(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22517,11 +22756,12 @@ func TestExprBinary_NotEqual(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22603,11 +22843,12 @@ func TestExprBinary_NotIdentical(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22689,11 +22930,12 @@ func TestExprBinary_Plus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22775,11 +23017,12 @@ func TestExprBinary_Pow(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22861,11 +23104,12 @@ func TestExprBinary_ShiftLeft(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22947,11 +23191,12 @@ func TestExprBinary_ShiftRight(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23033,11 +23278,12 @@ func TestExprBinary_SmallerOrEqual(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23119,11 +23365,12 @@ func TestExprBinary_Smaller(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23186,11 +23433,12 @@ func TestExprCast_Array(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23251,11 +23499,12 @@ func TestExprCast_Bool(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23316,11 +23565,12 @@ func TestExprCast_BoolShort(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23381,11 +23631,12 @@ func TestExprCast_Double(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23446,11 +23697,12 @@ func TestExprCast_CastFloat(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23511,11 +23763,12 @@ func TestExprCast_Int(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23576,11 +23829,12 @@ func TestExprCast_IntShort(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23641,11 +23895,12 @@ func TestExprCast_Object(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23706,11 +23961,12 @@ func TestExprCast_String(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23771,11 +24027,12 @@ func TestExprCast_BinaryString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23836,10 +24093,11 @@ func TestExprCast_Unset(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } diff --git a/internal/php5/php5.go b/internal/php5/php5.go index 1134714..f05d452 100644 --- a/internal/php5/php5.go +++ b/internal/php5/php5.go @@ -12,16 +12,15 @@ import ( "strconv" "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/token" ) -// line internal/php5/php5.y:16 +// line internal/php5/php5.y:15 type yySymType struct { yys int node ast.Vertex - token *scanner.Token + token *token.Token list []ast.Vertex simpleIndirectReference simpleIndirectReference @@ -347,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php5/php5.y:7081 +// line internal/php5/php5.y:6059 type simpleIndirectReference struct { all []*ast.ExprVariable @@ -2316,18 +2315,16 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:277 +// line internal/php5/php5.y:275 { yylex.(*Parser).rootNode = &ast.Root{ast.Node{}, yyDollar[1].list} yylex.(*Parser).rootNode.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) - yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, token.End, yylex.(*Parser).currentToken.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, token.End, yylex.(*Parser).currentToken.SkippedTokens) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:289 +// line internal/php5/php5.y:285 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2337,20 +2334,16 @@ yydefault: if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:302 +// line internal/php5/php5.y:296 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:311 +// line internal/php5/php5.y:303 { namePart := &ast.NameNamePart{ast.Node{}, yyDollar[1].token.Value} yyVAL.list = []ast.Vertex{namePart} @@ -2359,13 +2352,11 @@ yydefault: namePart.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(namePart, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(namePart, token.Start, yyDollar[1].token.SkippedTokens) } case 5: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:324 +// line internal/php5/php5.y:314 { namePart := &ast.NameNamePart{ast.Node{}, yyDollar[3].token.Value} yyVAL.list = append(yyDollar[1].list, namePart) @@ -2374,47 +2365,37 @@ yydefault: namePart.GetNode().Position = position.NewTokenPosition(yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(namePart, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(namePart, token.Start, yyDollar[3].token.SkippedTokens) } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:341 +// line internal/php5/php5.y:329 { // error yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:348 +// line internal/php5/php5.y:334 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:354 +// line internal/php5/php5.y:338 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:360 +// line internal/php5/php5.y:342 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 10: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:366 +// line internal/php5/php5.y:346 { yyVAL.node = &ast.StmtHaltCompiler{ast.Node{}} @@ -2422,14 +2403,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[2].token.Tokens, append(yyDollar[3].token.Tokens, yyDollar[4].token.Tokens...)...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[2].token.SkippedTokens, append(yyDollar[3].token.SkippedTokens, yyDollar[4].token.SkippedTokens...)...)) } case 11: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:379 +// line internal/php5/php5.y:357 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtNamespace{ast.Node{}, name, nil} @@ -2439,15 +2418,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.End, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.End, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 12: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:395 +// line internal/php5/php5.y:371 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtNamespace{ast.Node{}, name, yyDollar[4].list} @@ -2457,15 +2434,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.End, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.End, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[5].token.SkippedTokens) } case 13: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:411 +// line internal/php5/php5.y:385 { yyVAL.node = &ast.StmtNamespace{ast.Node{}, nil, yyDollar[3].list} @@ -2473,15 +2448,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.SkippedTokens) } case 14: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:425 +// line internal/php5/php5.y:397 { useList := &ast.StmtUseList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtUse{ast.Node{}, useList} @@ -2491,14 +2464,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 15: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:440 +// line internal/php5/php5.y:410 { identifier := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} useList := &ast.StmtUseList{ast.Node{}, yyDollar[3].list} @@ -2512,15 +2483,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(identifier, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(identifier, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.SkippedTokens) } case 16: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:460 +// line internal/php5/php5.y:428 { identifier := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} useList := &ast.StmtUseList{ast.Node{}, yyDollar[3].list} @@ -2534,15 +2503,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(identifier, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(identifier, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.SkippedTokens) } case 17: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:480 +// line internal/php5/php5.y:446 { yyVAL.node = yyDollar[1].node @@ -2550,33 +2517,27 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 18: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:496 +// line internal/php5/php5.y:460 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:505 +// line internal/php5/php5.y:467 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:514 +// line internal/php5/php5.y:474 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} yyVAL.node = &ast.StmtUseDeclaration{ast.Node{}, name, nil} @@ -2584,12 +2545,10 @@ yydefault: // save position name.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) yyVAL.node.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 21: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:525 +// line internal/php5/php5.y:483 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} alias := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} @@ -2603,14 +2562,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.SkippedTokens) } case 22: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:544 +// line internal/php5/php5.y:500 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} useDeclaration := &ast.StmtUseDeclaration{ast.Node{}, name, nil} @@ -2622,13 +2579,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, name) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 23: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:560 +// line internal/php5/php5.y:514 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} alias := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} @@ -2644,34 +2599,28 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.SkippedTokens) } case 24: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:585 +// line internal/php5/php5.y:537 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:594 +// line internal/php5/php5.y:544 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:603 +// line internal/php5/php5.y:551 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} yyVAL.node = &ast.StmtUseDeclaration{ast.Node{}, name, nil} @@ -2679,12 +2628,10 @@ yydefault: // save position name.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) yyVAL.node.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 27: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:614 +// line internal/php5/php5.y:560 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} alias := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} @@ -2698,14 +2645,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.SkippedTokens) } case 28: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:633 +// line internal/php5/php5.y:577 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} useDeclaration := &ast.StmtUseDeclaration{ast.Node{}, name, nil} @@ -2717,13 +2662,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, name) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 29: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:649 +// line internal/php5/php5.y:591 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} alias := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} @@ -2739,34 +2682,28 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.SkippedTokens) } case 30: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:674 +// line internal/php5/php5.y:614 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:683 +// line internal/php5/php5.y:621 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:692 +// line internal/php5/php5.y:628 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} yyVAL.node = &ast.StmtUseDeclaration{ast.Node{}, name, nil} @@ -2774,12 +2711,10 @@ yydefault: // save position name.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) yyVAL.node.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 33: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:703 +// line internal/php5/php5.y:637 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} alias := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} @@ -2793,14 +2728,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.SkippedTokens) } case 34: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:722 +// line internal/php5/php5.y:654 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} useDeclaration := &ast.StmtUseDeclaration{ast.Node{}, name, nil} @@ -2812,13 +2745,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, name) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 35: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:738 +// line internal/php5/php5.y:668 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} alias := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} @@ -2834,15 +2765,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.SkippedTokens) } case 36: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:763 +// line internal/php5/php5.y:691 { name := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} constant := &ast.StmtConstant{ast.Node{}, name, yyDollar[5].node} @@ -2857,15 +2786,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeNodeListPosition(yyDollar[1].node, constList.Consts) // save comments - yylex.(*Parser).setFreeFloating(lastConst, token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastConst, token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[4].token.SkippedTokens) } case 37: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:784 +// line internal/php5/php5.y:710 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} constant := &ast.StmtConstant{ast.Node{}, name, yyDollar[4].node} @@ -2878,15 +2805,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, constList) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[3].token.SkippedTokens) } case 38: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:806 +// line internal/php5/php5.y:730 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2896,53 +2821,41 @@ yydefault: if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 39: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:819 +// line internal/php5/php5.y:741 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:829 +// line internal/php5/php5.y:749 { // error yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:836 +// line internal/php5/php5.y:754 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:842 +// line internal/php5/php5.y:758 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:848 +// line internal/php5/php5.y:762 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 44: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:854 +// line internal/php5/php5.y:766 { yyVAL.node = &ast.StmtHaltCompiler{ast.Node{}} @@ -2950,22 +2863,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[2].token.Tokens, append(yyDollar[3].token.Tokens, yyDollar[4].token.Tokens...)...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[2].token.SkippedTokens, append(yyDollar[3].token.SkippedTokens, yyDollar[4].token.SkippedTokens...)...)) } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:871 +// line internal/php5/php5.y:781 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 46: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:877 +// line internal/php5/php5.y:785 { label := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.StmtLabel{ast.Node{}, label} @@ -2975,14 +2884,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Label, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Label, yyDollar[2].token.SkippedTokens) } case 47: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:895 +// line internal/php5/php5.y:801 { yyVAL.node = &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} @@ -2990,14 +2897,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) } case 48: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:908 +// line internal/php5/php5.y:812 { yyVAL.node = &ast.StmtIf{ast.Node{}, yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node} @@ -3011,13 +2916,11 @@ yydefault: } // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 49: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:926 +// line internal/php5/php5.y:828 { stmts := &ast.StmtStmtList{ast.Node{}, yyDollar[4].list} stmtsBrackets := &ast.ParserBrackets{ast.Node{}, stmts} @@ -3029,22 +2932,20 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[3].token.SkippedTokens) if yyDollar[6].node != nil { - yylex.(*Parser).setFreeFloating(yyDollar[6].node.(*ast.StmtAltElse).Stmt, token.End, append(yyDollar[7].token.Tokens, yyDollar[8].token.Tokens...)) + yylex.(*Parser).setFreeFloating(yyDollar[6].node.(*ast.StmtAltElse).Stmt, token.End, append(yyDollar[7].token.SkippedTokens, yyDollar[8].token.SkippedTokens...)) } else if len(yyDollar[5].list) > 0 { - yylex.(*Parser).setFreeFloating(yyDollar[5].list[len(yyDollar[5].list)-1].(*ast.StmtAltElseIf).Stmt, token.End, append(yyDollar[7].token.Tokens, yyDollar[8].token.Tokens...)) + yylex.(*Parser).setFreeFloating(yyDollar[5].list[len(yyDollar[5].list)-1].(*ast.StmtAltElseIf).Stmt, token.End, append(yyDollar[7].token.SkippedTokens, yyDollar[8].token.SkippedTokens...)) } else { - yylex.(*Parser).setFreeFloating(stmtsBrackets, token.End, append(yyDollar[7].token.Tokens, yyDollar[8].token.Tokens...)) + yylex.(*Parser).setFreeFloating(stmtsBrackets, token.End, append(yyDollar[7].token.SkippedTokens, yyDollar[8].token.SkippedTokens...)) } - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[8].token.SkippedTokens) } case 50: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:951 +// line internal/php5/php5.y:851 { switch n := yyDollar[3].node.(type) { case *ast.StmtWhile: @@ -3059,13 +2960,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 51: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:970 +// line internal/php5/php5.y:868 { yyVAL.node = &ast.StmtDo{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -3073,16 +2972,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyDollar[4].node, token.End, yyDollar[5].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyDollar[4].node, token.End, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[5].token.SkippedTokens) } case 52: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:985 +// line internal/php5/php5.y:881 { switch n := yyDollar[9].node.(type) { case *ast.StmtFor: @@ -3101,17 +2998,15 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.For, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.InitExpr, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.CondExpr, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.IncExpr, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.For, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.InitExpr, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.CondExpr, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.IncExpr, yyDollar[8].token.SkippedTokens) } case 53: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1012 +// line internal/php5/php5.y:906 { switch n := yyDollar[3].node.(type) { case *ast.StmtSwitch: @@ -3128,13 +3023,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 54: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1033 +// line internal/php5/php5.y:925 { yyVAL.node = &ast.StmtBreak{ast.Node{}, nil} @@ -3142,15 +3035,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 55: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1047 +// line internal/php5/php5.y:937 { yyVAL.node = &ast.StmtBreak{ast.Node{}, yyDollar[2].node} @@ -3158,15 +3049,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 56: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1061 +// line internal/php5/php5.y:949 { yyVAL.node = &ast.StmtContinue{ast.Node{}, nil} @@ -3174,15 +3063,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 57: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1075 +// line internal/php5/php5.y:961 { yyVAL.node = &ast.StmtContinue{ast.Node{}, yyDollar[2].node} @@ -3190,15 +3077,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 58: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1089 +// line internal/php5/php5.y:973 { yyVAL.node = &ast.StmtReturn{ast.Node{}, nil} @@ -3206,15 +3091,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 59: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1103 +// line internal/php5/php5.y:985 { yyVAL.node = &ast.StmtReturn{ast.Node{}, yyDollar[2].node} @@ -3222,15 +3105,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 60: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1117 +// line internal/php5/php5.y:997 { yyVAL.node = &ast.StmtReturn{ast.Node{}, yyDollar[2].node} @@ -3238,15 +3119,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 61: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1131 +// line internal/php5/php5.y:1009 { yyVAL.node = &ast.StmtExpression{ast.Node{}, yyDollar[1].node} @@ -3255,14 +3134,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 62: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1145 +// line internal/php5/php5.y:1021 { yyVAL.node = &ast.StmtGlobal{ast.Node{}, yyDollar[2].list} @@ -3270,15 +3147,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 63: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1159 +// line internal/php5/php5.y:1033 { yyVAL.node = &ast.StmtStatic{ast.Node{}, yyDollar[2].list} @@ -3286,15 +3161,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 64: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1173 +// line internal/php5/php5.y:1045 { yyVAL.node = &ast.StmtEcho{ast.Node{}, yyDollar[2].list} @@ -3302,16 +3175,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Echo, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Echo, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1188 +// line internal/php5/php5.y:1058 { yyVAL.node = &ast.StmtInlineHtml{ast.Node{}, yyDollar[1].token.Value} @@ -3319,13 +3190,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 66: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1200 +// line internal/php5/php5.y:1068 { yyVAL.node = &ast.StmtExpression{ast.Node{}, yyDollar[1].node} @@ -3334,14 +3203,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 67: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1214 +// line internal/php5/php5.y:1080 { yyVAL.node = &ast.StmtUnset{ast.Node{}, yyDollar[3].list} @@ -3349,17 +3216,15 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Unset, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.CloseParenthesisToken, yyDollar[5].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Unset, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.CloseParenthesisToken, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[5].token.SkippedTokens) } case 68: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1230 +// line internal/php5/php5.y:1094 { if yyDollar[6].node == nil { switch n := yyDollar[8].node.(type) { @@ -3389,20 +3254,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Foreach, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Foreach, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) if yyDollar[6].node != nil { yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Key, yyDollar[6].node.GetNode().Tokens[token.Key]) delete(yyDollar[6].node.GetNode().Tokens, token.Key) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[7].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[7].token.SkippedTokens) } case 69: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1270 +// line internal/php5/php5.y:1132 { if yyDollar[6].node == nil { switch n := yyDollar[8].node.(type) { @@ -3432,20 +3295,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Foreach, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Foreach, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) if yyDollar[6].node != nil { yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Key, yyDollar[6].node.GetNode().Tokens[token.Key]) delete(yyDollar[6].node.GetNode().Tokens, token.Key) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[7].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[7].token.SkippedTokens) } case 70: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1310 +// line internal/php5/php5.y:1170 { yyVAL.node = yyDollar[5].node yyVAL.node.(*ast.StmtDeclare).Consts = yyDollar[3].list @@ -3454,15 +3315,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Declare, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ConstList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Declare, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ConstList, yyDollar[4].token.SkippedTokens) } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1325 +// line internal/php5/php5.y:1183 { yyVAL.node = &ast.StmtNop{ast.Node{}} @@ -3470,14 +3329,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.SkippedTokens) } case 72: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1338 +// line internal/php5/php5.y:1194 { yyVAL.node = &ast.StmtTry{ast.Node{}, yyDollar[3].list, yyDollar[5].list, yyDollar[6].node} @@ -3489,15 +3346,13 @@ yydefault: } // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Try, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Try, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.SkippedTokens) } case 73: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1356 +// line internal/php5/php5.y:1210 { yyVAL.node = &ast.StmtThrow{ast.Node{}, yyDollar[2].node} @@ -3505,15 +3360,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 74: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1370 +// line internal/php5/php5.y:1222 { label := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} yyVAL.node = &ast.StmtGoto{ast.Node{}, label} @@ -3523,24 +3376,20 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(label, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Label, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(label, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Label, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 75: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1390 +// line internal/php5/php5.y:1240 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 76: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1396 +// line internal/php5/php5.y:1244 { identifier := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -3553,26 +3402,22 @@ yydefault: catchNode.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token) // save comments - yylex.(*Parser).setFreeFloating(catchNode, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(catchNode, token.Catch, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(catchNode, token.Var, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(catchNode, token.Cond, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(catchNode, token.Stmts, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(catchNode, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(catchNode, token.Catch, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(catchNode, token.Var, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(catchNode, token.Cond, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(catchNode, token.Stmts, yyDollar[8].token.SkippedTokens) } case 77: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1421 +// line internal/php5/php5.y:1267 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 78: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1427 +// line internal/php5/php5.y:1271 { yyVAL.node = &ast.StmtFinally{ast.Node{}, yyDollar[3].list} @@ -3580,47 +3425,37 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Finally, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Finally, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.SkippedTokens) } case 79: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1444 +// line internal/php5/php5.y:1286 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1450 +// line internal/php5/php5.y:1290 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1459 +// line internal/php5/php5.y:1297 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 82: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1465 +// line internal/php5/php5.y:1301 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 83: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1474 +// line internal/php5/php5.y:1308 { identifier := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -3632,85 +3467,73 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Catch, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Catch, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[8].token.SkippedTokens) } case 84: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1498 +// line internal/php5/php5.y:1330 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 85: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1504 +// line internal/php5/php5.y:1334 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1516 +// line internal/php5/php5.y:1344 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1525 +// line internal/php5/php5.y:1351 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1534 +// line internal/php5/php5.y:1358 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 89: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1543 +// line internal/php5/php5.y:1365 { yyVAL.token = nil } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1547 +// line internal/php5/php5.y:1369 { yyVAL.token = yyDollar[1].token } case 91: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1554 +// line internal/php5/php5.y:1376 { yyVAL.token = nil } case 92: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1558 +// line internal/php5/php5.y:1380 { yyVAL.token = yyDollar[1].token } case 93: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1565 +// line internal/php5/php5.y:1387 { name := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.StmtFunction{ast.Node{}, yyDollar[2].token != nil, name, yyDollar[5].list, nil, yyDollar[8].list} @@ -3720,23 +3543,21 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[9].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) if yyDollar[2].token != nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParamList, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Params, yyDollar[7].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[9].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParamList, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Params, yyDollar[7].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[9].token.SkippedTokens) } case 94: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php5/php5.y:1592 +// line internal/php5/php5.y:1412 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} switch n := yyDollar[1].node.(type) { @@ -3758,15 +3579,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[7].token) // save comments - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[7].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[7].token.SkippedTokens) } case 95: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1620 +// line internal/php5/php5.y:1438 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} yyVAL.node = &ast.StmtInterface{ast.Node{}, name, yyDollar[3].InterfaceExtends, yyDollar[5].list} @@ -3776,16 +3595,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[6].token.SkippedTokens) } case 96: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1641 +// line internal/php5/php5.y:1457 { yyVAL.node = &ast.StmtClass{ast.Node{}, nil, nil, nil, nil, nil, nil} @@ -3793,13 +3610,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 97: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1653 +// line internal/php5/php5.y:1467 { classModifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.StmtClass{ast.Node{}, nil, []ast.Vertex{classModifier}, nil, nil, nil, nil} @@ -3809,14 +3624,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.SkippedTokens) } case 98: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1668 +// line internal/php5/php5.y:1480 { yyVAL.node = &ast.StmtTrait{ast.Node{}, nil, nil} @@ -3824,13 +3637,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 99: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1680 +// line internal/php5/php5.y:1490 { classModifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.StmtClass{ast.Node{}, nil, []ast.Vertex{classModifier}, nil, nil, nil, nil} @@ -3840,22 +3651,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.SkippedTokens) } case 100: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1698 +// line internal/php5/php5.y:1506 { yyVAL.ClassExtends = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 101: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1704 +// line internal/php5/php5.y:1510 { yyVAL.ClassExtends = &ast.StmtClassExtends{ast.Node{}, yyDollar[2].node} @@ -3863,27 +3670,23 @@ yydefault: yyVAL.ClassExtends.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClassExtends, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.ClassExtends, token.Start, yyDollar[1].token.SkippedTokens) } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1719 +// line internal/php5/php5.y:1523 { yyVAL.token = yyDollar[1].token } case 103: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1726 +// line internal/php5/php5.y:1530 { yyVAL.InterfaceExtends = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 104: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1732 +// line internal/php5/php5.y:1534 { yyVAL.InterfaceExtends = &ast.StmtInterfaceExtends{ast.Node{}, yyDollar[2].list} @@ -3891,21 +3694,17 @@ yydefault: yyVAL.InterfaceExtends.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.InterfaceExtends, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.InterfaceExtends, token.Start, yyDollar[1].token.SkippedTokens) } case 105: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1747 +// line internal/php5/php5.y:1547 { yyVAL.ClassImplements = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 106: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1753 +// line internal/php5/php5.y:1551 { yyVAL.ClassImplements = &ast.StmtClassImplements{ast.Node{}, yyDollar[2].list} @@ -3913,59 +3712,47 @@ yydefault: yyVAL.ClassImplements.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClassImplements, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.ClassImplements, token.Start, yyDollar[1].token.SkippedTokens) } case 107: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1768 +// line internal/php5/php5.y:1564 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 108: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1774 +// line internal/php5/php5.y:1568 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 109: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1786 +// line internal/php5/php5.y:1578 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 110: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1792 +// line internal/php5/php5.y:1582 { yyVAL.node = yyDollar[2].node // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Key, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Key, yyDollar[1].token.SkippedTokens) } case 111: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1804 +// line internal/php5/php5.y:1592 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 112: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1810 +// line internal/php5/php5.y:1596 { yyVAL.node = &ast.ExprReference{ast.Node{}, yyDollar[2].node} @@ -3973,13 +3760,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 113: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1822 +// line internal/php5/php5.y:1606 { yyVAL.node = &ast.ExprList{ast.Node{}, yyDollar[3].list} @@ -3987,26 +3772,22 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.List, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.List, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.SkippedTokens) } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1839 +// line internal/php5/php5.y:1621 { yyVAL.node = &ast.StmtFor{ast.Node{}, nil, nil, nil, yyDollar[1].node} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 115: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1848 +// line internal/php5/php5.y:1628 { stmtList := &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtAltFor{ast.Node{}, nil, nil, nil, stmtList} @@ -4016,27 +3797,23 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 116: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1868 +// line internal/php5/php5.y:1646 { yyVAL.node = &ast.StmtForeach{ast.Node{}, nil, nil, nil, yyDollar[1].node} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 117: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1877 +// line internal/php5/php5.y:1653 { stmtList := &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtAltForeach{ast.Node{}, nil, nil, nil, stmtList} @@ -4046,27 +3823,23 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 118: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1898 +// line internal/php5/php5.y:1672 { yyVAL.node = &ast.StmtDeclare{ast.Node{}, false, nil, yyDollar[1].node} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 119: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1907 +// line internal/php5/php5.y:1679 { stmtList := &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtDeclare{ast.Node{}, true, nil, stmtList} @@ -4076,16 +3849,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 120: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1928 +// line internal/php5/php5.y:1698 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} constant := &ast.StmtConstant{ast.Node{}, name, yyDollar[3].node} @@ -4096,14 +3867,12 @@ yydefault: constant.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[2].token.SkippedTokens) } case 121: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1944 +// line internal/php5/php5.y:1712 { name := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} constant := &ast.StmtConstant{ast.Node{}, name, yyDollar[5].node} @@ -4114,15 +3883,13 @@ yydefault: constant.GetNode().Position = position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[4].token.SkippedTokens) } case 122: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1965 +// line internal/php5/php5.y:1731 { caseList := &ast.StmtCaseList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtSwitch{ast.Node{}, nil, caseList} @@ -4132,14 +3899,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(caseList, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(caseList, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[3].token.SkippedTokens) } case 123: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1980 +// line internal/php5/php5.y:1744 { caseList := &ast.StmtCaseList{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.StmtSwitch{ast.Node{}, nil, caseList} @@ -4149,15 +3914,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(caseList, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(caseList, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[4].token.SkippedTokens) } case 124: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1996 +// line internal/php5/php5.y:1758 { caseList := &ast.StmtCaseList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtAltSwitch{ast.Node{}, nil, caseList} @@ -4167,16 +3930,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 125: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2013 +// line internal/php5/php5.y:1773 { caseList := &ast.StmtCaseList{ast.Node{}, yyDollar[3].list} @@ -4187,25 +3948,21 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[5].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[5].token.SkippedTokens) } case 126: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2036 +// line internal/php5/php5.y:1794 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 127: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2042 +// line internal/php5/php5.y:1798 { _case := &ast.StmtCase{ast.Node{}, yyDollar[3].node, yyDollar[5].list} yyVAL.list = append(yyDollar[1].list, _case) @@ -4214,15 +3971,13 @@ yydefault: _case.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list) // save comments - yylex.(*Parser).setFreeFloating(_case, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(_case, token.Expr, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(_case, token.CaseSeparator, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_case, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(_case, token.Expr, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(_case, token.CaseSeparator, yyDollar[4].token.SkippedTokens) } case 128: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2057 +// line internal/php5/php5.y:1811 { _default := &ast.StmtDefault{ast.Node{}, yyDollar[4].list} yyVAL.list = append(yyDollar[1].list, _default) @@ -4231,38 +3986,34 @@ yydefault: _default.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list) // save comments - yylex.(*Parser).setFreeFloating(_default, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(_default, token.Default, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(_default, token.CaseSeparator, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_default, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(_default, token.Default, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(_default, token.CaseSeparator, yyDollar[3].token.SkippedTokens) } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2076 +// line internal/php5/php5.y:1828 { yyVAL.token = yyDollar[1].token } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2080 +// line internal/php5/php5.y:1832 { yyVAL.token = yyDollar[1].token } case 131: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2088 +// line internal/php5/php5.y:1840 { yyVAL.node = &ast.StmtWhile{ast.Node{}, nil, yyDollar[1].node} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 132: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2097 +// line internal/php5/php5.y:1847 { stmtList := &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtAltWhile{ast.Node{}, nil, stmtList} @@ -4272,24 +4023,20 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 133: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2119 +// line internal/php5/php5.y:1867 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 134: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2125 +// line internal/php5/php5.y:1871 { _elseIf := &ast.StmtElseIf{ast.Node{}, yyDollar[3].node, yyDollar[4].node} yyVAL.list = append(yyDollar[1].list, _elseIf) @@ -4298,21 +4045,17 @@ yydefault: _elseIf.GetNode().Position = position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node) // save comments - yylex.(*Parser).setFreeFloating(_elseIf, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_elseIf, token.Start, yyDollar[2].token.SkippedTokens) } case 135: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2142 +// line internal/php5/php5.y:1886 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 136: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2148 +// line internal/php5/php5.y:1890 { stmts := &ast.StmtStmtList{ast.Node{}, yyDollar[5].list} stmtsBrackets := &ast.ParserBrackets{ast.Node{}, stmts} @@ -4325,22 +4068,18 @@ yydefault: _elseIf.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list) // save comments - yylex.(*Parser).setFreeFloating(_elseIf, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_elseIf, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[4].token.SkippedTokens) } case 137: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2170 +// line internal/php5/php5.y:1910 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 138: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2176 +// line internal/php5/php5.y:1914 { yyVAL.node = &ast.StmtElse{ast.Node{}, yyDollar[2].node} @@ -4348,21 +4087,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 139: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2192 +// line internal/php5/php5.y:1928 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2198 +// line internal/php5/php5.y:1932 { stmts := &ast.StmtStmtList{ast.Node{}, yyDollar[3].list} stmtsBrackets := &ast.ParserBrackets{ast.Node{}, stmts} @@ -4374,49 +4109,39 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[2].token.SkippedTokens) } case 141: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2219 +// line internal/php5/php5.y:1951 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 142: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2225 +// line internal/php5/php5.y:1955 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 143: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2234 +// line internal/php5/php5.y:1962 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2240 +// line internal/php5/php5.y:1966 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 145: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2252 +// line internal/php5/php5.y:1976 { identifier := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} identifier.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) @@ -4424,18 +4149,18 @@ yydefault: var variable ast.Vertex variable = &ast.ExprVariable{ast.Node{}, identifier} variable.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.SkippedTokens) if yyDollar[3].token != nil { variable = &ast.Variadic{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.SkippedTokens) } if yyDollar[2].token != nil { variable = &ast.Reference{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.SkippedTokens) } yyVAL.node = &ast.Parameter{ast.Node{}, yyDollar[1].node, variable, nil} @@ -4449,12 +4174,10 @@ yydefault: } else { yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 146: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:2288 +// line internal/php5/php5.y:2010 { identifier := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} identifier.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) @@ -4462,19 +4185,19 @@ yydefault: var variable ast.Vertex variable = &ast.ExprVariable{ast.Node{}, identifier} variable.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.End, yyDollar[5].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.End, yyDollar[5].token.SkippedTokens) if yyDollar[3].token != nil { variable = &ast.Variadic{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.SkippedTokens) } if yyDollar[2].token != nil { variable = &ast.Reference{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.SkippedTokens) } yyVAL.node = &ast.Parameter{ast.Node{}, yyDollar[1].node, variable, yyDollar[6].node} @@ -4488,20 +4211,16 @@ yydefault: } else { yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 147: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2329 +// line internal/php5/php5.y:2049 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 148: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2335 +// line internal/php5/php5.y:2053 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -4509,13 +4228,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 149: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2347 +// line internal/php5/php5.y:2063 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -4523,21 +4240,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 150: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2359 +// line internal/php5/php5.y:2073 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 151: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2369 +// line internal/php5/php5.y:2081 { yyVAL.node = &ast.ArgumentList{ast.Node{}, nil} @@ -4545,14 +4258,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[2].token.SkippedTokens) } case 152: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2382 +// line internal/php5/php5.y:2092 { yyVAL.node = &ast.ArgumentList{ast.Node{}, yyDollar[2].list} @@ -4560,14 +4271,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2395 +// line internal/php5/php5.y:2103 { arg := &ast.Argument{ast.Node{}, false, false, yyDollar[2].node} yyVAL.node = &ast.ArgumentList{ast.Node{}, []ast.Vertex{arg}} @@ -4577,33 +4286,27 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 154: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2414 +// line internal/php5/php5.y:2120 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 155: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2420 +// line internal/php5/php5.y:2124 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 156: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2432 +// line internal/php5/php5.y:2134 { yyVAL.node = &ast.Argument{ast.Node{}, false, false, yyDollar[1].node} @@ -4612,12 +4315,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 157: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2444 +// line internal/php5/php5.y:2144 { yyVAL.node = &ast.Argument{ast.Node{}, false, false, yyDollar[1].node} @@ -4626,12 +4327,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 158: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2456 +// line internal/php5/php5.y:2154 { yyVAL.node = &ast.Argument{ast.Node{}, false, true, yyDollar[2].node} @@ -4639,13 +4338,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 159: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2468 +// line internal/php5/php5.y:2164 { yyVAL.node = &ast.Argument{ast.Node{}, true, false, yyDollar[2].node} @@ -4653,32 +4350,26 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 160: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2483 +// line internal/php5/php5.y:2177 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2492 +// line internal/php5/php5.y:2184 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2502 +// line internal/php5/php5.y:2192 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, name} @@ -4688,13 +4379,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 163: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2516 +// line internal/php5/php5.y:2204 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -4702,13 +4391,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 164: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2528 +// line internal/php5/php5.y:2214 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -4716,15 +4403,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.Start, append(yyDollar[2].token.Tokens, yyDollar[3].node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.End, append(yyDollar[3].node.GetNode().Tokens[token.End], yyDollar[4].token.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.Start, append(yyDollar[2].token.SkippedTokens, yyDollar[3].node.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.End, append(yyDollar[3].node.GetNode().Tokens[token.End], yyDollar[4].token.SkippedTokens...)) } case 165: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2546 +// line internal/php5/php5.y:2230 { identifier := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -4737,14 +4422,12 @@ yydefault: staticVar.GetNode().Position = position.NewTokenPosition(yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(staticVar, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(staticVar, token.Start, yyDollar[3].token.SkippedTokens) } case 166: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2564 +// line internal/php5/php5.y:2246 { identifier := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -4757,15 +4440,13 @@ yydefault: staticVar.GetNode().Position = position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(staticVar, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(staticVar, token.Var, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(staticVar, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(staticVar, token.Var, yyDollar[4].token.SkippedTokens) } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2583 +// line internal/php5/php5.y:2263 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -4778,13 +4459,11 @@ yydefault: staticVar.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(staticVar, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(staticVar, token.Start, yyDollar[1].token.SkippedTokens) } case 168: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2600 +// line internal/php5/php5.y:2278 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -4797,30 +4476,24 @@ yydefault: staticVar.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(staticVar, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(staticVar, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(staticVar, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(staticVar, token.Var, yyDollar[2].token.SkippedTokens) } case 169: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2622 +// line internal/php5/php5.y:2298 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 170: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2628 +// line internal/php5/php5.y:2302 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 171: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2638 +// line internal/php5/php5.y:2310 { yyVAL.node = &ast.StmtPropertyList{ast.Node{}, yyDollar[1].list, nil, yyDollar[2].list} @@ -4829,14 +4502,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].list[0], yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.PropertyList, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.PropertyList, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 172: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2652 +// line internal/php5/php5.y:2322 { yyVAL.node = yyDollar[1].node @@ -4844,22 +4515,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ConstList, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ConstList, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 173: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2665 +// line internal/php5/php5.y:2333 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 174: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:2671 +// line internal/php5/php5.y:2337 { name := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} yyVAL.node = &ast.StmtClassMethod{ast.Node{}, yyDollar[3].token != nil, name, yyDollar[1].list, yyDollar[6].list, nil, yyDollar[8].node} @@ -4875,24 +4542,22 @@ yydefault: // save comments if len(yyDollar[1].list) > 0 { yylex.(*Parser).MoveFreeFloating(yyDollar[1].list[0], yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[2].token.SkippedTokens) } if yyDollar[3].token == nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[4].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[4].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[7].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[7].token.SkippedTokens) } case 175: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2705 +// line internal/php5/php5.y:2369 { yyVAL.node = &ast.StmtTraitUse{ast.Node{}, yyDollar[2].list, yyDollar[3].node} @@ -4900,116 +4565,94 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 176: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2720 +// line internal/php5/php5.y:2382 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 177: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2726 +// line internal/php5/php5.y:2386 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 178: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2738 +// line internal/php5/php5.y:2396 { yyVAL.node = &ast.StmtNop{ast.Node{}} yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.SkippedTokens) } case 179: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2750 +// line internal/php5/php5.y:2406 { yyVAL.node = &ast.StmtTraitAdaptationList{ast.Node{}, yyDollar[2].list} yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AdaptationList, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AdaptationList, yyDollar[3].token.SkippedTokens) } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2765 +// line internal/php5/php5.y:2419 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 181: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2771 +// line internal/php5/php5.y:2423 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 182: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2780 +// line internal/php5/php5.y:2430 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2786 +// line internal/php5/php5.y:2434 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 184: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2795 +// line internal/php5/php5.y:2441 { yyVAL.node = yyDollar[1].node // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.NameList, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.NameList, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2805 +// line internal/php5/php5.y:2449 { yyVAL.node = yyDollar[1].node // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Alias, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Alias, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 186: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2818 +// line internal/php5/php5.y:2460 { yyVAL.node = &ast.StmtTraitUsePrecedence{ast.Node{}, yyDollar[1].node, yyDollar[3].list} @@ -5018,32 +4661,26 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2834 +// line internal/php5/php5.y:2474 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 188: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2840 +// line internal/php5/php5.y:2478 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 189: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2852 +// line internal/php5/php5.y:2488 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.StmtTraitMethodRef{ast.Node{}, nil, name} @@ -5053,21 +4690,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2866 +// line internal/php5/php5.y:2500 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 191: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2875 +// line internal/php5/php5.y:2507 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.StmtTraitMethodRef{ast.Node{}, yyDollar[1].node, target} @@ -5078,14 +4711,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[2].token.SkippedTokens) } case 192: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2894 +// line internal/php5/php5.y:2524 { alias := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} yyVAL.node = &ast.StmtTraitUseAlias{ast.Node{}, yyDollar[1].node, yyDollar[3].node, alias} @@ -5096,14 +4727,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.SkippedTokens) } case 193: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2910 +// line internal/php5/php5.y:2538 { yyVAL.node = &ast.StmtTraitUseAlias{ast.Node{}, yyDollar[1].node, yyDollar[3].node, nil} @@ -5112,29 +4741,23 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) } case 194: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2926 +// line internal/php5/php5.y:2552 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 195: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2932 +// line internal/php5/php5.y:2556 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 196: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2941 +// line internal/php5/php5.y:2563 { yyVAL.node = &ast.StmtNop{ast.Node{}} @@ -5142,14 +4765,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.SkippedTokens) } case 197: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2954 +// line internal/php5/php5.y:2574 { yyVAL.node = &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} @@ -5157,22 +4778,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) } case 198: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2970 +// line internal/php5/php5.y:2588 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 199: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2976 +// line internal/php5/php5.y:2592 { modifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.list = []ast.Vertex{modifier} @@ -5181,45 +4798,35 @@ yydefault: modifier.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(modifier, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(modifier, token.Start, yyDollar[1].token.SkippedTokens) } case 200: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2992 +// line internal/php5/php5.y:2606 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2998 +// line internal/php5/php5.y:2610 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3007 +// line internal/php5/php5.y:2617 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 203: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3013 +// line internal/php5/php5.y:2621 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 204: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3022 +// line internal/php5/php5.y:2628 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5227,13 +4834,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 205: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3034 +// line internal/php5/php5.y:2638 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5241,13 +4846,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 206: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3046 +// line internal/php5/php5.y:2648 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5255,13 +4858,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3058 +// line internal/php5/php5.y:2658 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5269,13 +4870,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 208: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3070 +// line internal/php5/php5.y:2668 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5283,13 +4882,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 209: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3082 +// line internal/php5/php5.y:2678 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5297,13 +4894,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 210: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3097 +// line internal/php5/php5.y:2691 { identifier := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -5316,14 +4911,12 @@ yydefault: property.GetNode().Position = position.NewTokenPosition(yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(property, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(property, token.Start, yyDollar[3].token.SkippedTokens) } case 211: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:3115 +// line internal/php5/php5.y:2707 { identifier := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -5336,15 +4929,13 @@ yydefault: property.GetNode().Position = position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(property, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(property, token.Var, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(property, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(property, token.Var, yyDollar[4].token.SkippedTokens) } case 212: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3134 +// line internal/php5/php5.y:2724 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -5357,13 +4948,11 @@ yydefault: property.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(property, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(property, token.Start, yyDollar[1].token.SkippedTokens) } case 213: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3151 +// line internal/php5/php5.y:2739 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -5376,14 +4965,12 @@ yydefault: property.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(property, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(property, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(property, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(property, token.Var, yyDollar[2].token.SkippedTokens) } case 214: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:3172 +// line internal/php5/php5.y:2758 { name := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} constant := &ast.StmtConstant{ast.Node{}, name, yyDollar[5].node} @@ -5398,15 +4985,13 @@ yydefault: yyDollar[1].node.GetNode().Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(lastConst, token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastConst, token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[4].token.SkippedTokens) } case 215: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3193 +// line internal/php5/php5.y:2777 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} constant := &ast.StmtConstant{ast.Node{}, name, yyDollar[4].node} @@ -5418,85 +5003,67 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, yyDollar[3].token.SkippedTokens) } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3214 +// line internal/php5/php5.y:2796 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 217: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3223 +// line internal/php5/php5.y:2803 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 218: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3233 +// line internal/php5/php5.y:2811 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 219: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3239 +// line internal/php5/php5.y:2815 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 220: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3248 +// line internal/php5/php5.y:2822 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3257 +// line internal/php5/php5.y:2829 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3266 +// line internal/php5/php5.y:2836 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3272 +// line internal/php5/php5.y:2840 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 224: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3281 +// line internal/php5/php5.y:2847 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, fetch) @@ -5505,14 +5072,12 @@ yydefault: fetch.GetNode().Position = position.NewNodePosition(yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.SkippedTokens) } case 225: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3295 +// line internal/php5/php5.y:2859 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[2].node} yyVAL.list = []ast.Vertex{fetch} @@ -5521,54 +5086,42 @@ yydefault: fetch.GetNode().Position = position.NewNodePosition(yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[3].token.SkippedTokens) } case 226: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3312 +// line internal/php5/php5.y:2874 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 227: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3318 +// line internal/php5/php5.y:2878 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 228: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3324 +// line internal/php5/php5.y:2882 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 229: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3333 +// line internal/php5/php5.y:2889 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3339 +// line internal/php5/php5.y:2893 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3348 +// line internal/php5/php5.y:2900 { if yyDollar[3].node != nil { @@ -5580,13 +5133,11 @@ yydefault: } // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 232: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:3367 +// line internal/php5/php5.y:2917 { listNode := &ast.ExprList{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprAssign{ast.Node{}, listNode, yyDollar[6].node} @@ -5596,16 +5147,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[5].token.SkippedTokens) } case 233: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3384 +// line internal/php5/php5.y:2932 { yyVAL.node = &ast.ExprAssign{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5614,13 +5163,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 234: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3397 +// line internal/php5/php5.y:2943 { yyVAL.node = &ast.ExprAssignReference{ast.Node{}, yyDollar[1].node, yyDollar[4].node} @@ -5629,14 +5176,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Equal, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Equal, yyDollar[3].token.SkippedTokens) } case 235: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:3411 +// line internal/php5/php5.y:2955 { var _new *ast.ExprNew @@ -5657,15 +5202,13 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Equal, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(_new, token.Start, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Equal, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(_new, token.Start, yyDollar[4].token.SkippedTokens) } case 236: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3438 +// line internal/php5/php5.y:2980 { yyVAL.node = &ast.ExprClone{ast.Node{}, yyDollar[2].node} @@ -5673,13 +5216,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3450 +// line internal/php5/php5.y:2990 { yyVAL.node = &ast.ExprAssignPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5687,13 +5228,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 238: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3462 +// line internal/php5/php5.y:3000 { yyVAL.node = &ast.ExprAssignMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5702,13 +5241,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 239: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3475 +// line internal/php5/php5.y:3011 { yyVAL.node = &ast.ExprAssignMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5717,13 +5254,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3488 +// line internal/php5/php5.y:3022 { yyVAL.node = &ast.ExprAssignPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5732,13 +5267,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 241: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3501 +// line internal/php5/php5.y:3033 { yyVAL.node = &ast.ExprAssignDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5747,13 +5280,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 242: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3514 +// line internal/php5/php5.y:3044 { yyVAL.node = &ast.ExprAssignConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5762,13 +5293,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 243: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3527 +// line internal/php5/php5.y:3055 { yyVAL.node = &ast.ExprAssignMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5777,13 +5306,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 244: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3540 +// line internal/php5/php5.y:3066 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5792,13 +5319,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3553 +// line internal/php5/php5.y:3077 { yyVAL.node = &ast.ExprAssignBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5807,13 +5332,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 246: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3566 +// line internal/php5/php5.y:3088 { yyVAL.node = &ast.ExprAssignBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5822,13 +5345,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 247: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3579 +// line internal/php5/php5.y:3099 { yyVAL.node = &ast.ExprAssignShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5837,13 +5358,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3592 +// line internal/php5/php5.y:3110 { yyVAL.node = &ast.ExprAssignShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5852,13 +5371,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 249: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3605 +// line internal/php5/php5.y:3121 { yyVAL.node = &ast.ExprPostInc{ast.Node{}, yyDollar[1].node} @@ -5867,13 +5384,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3618 +// line internal/php5/php5.y:3132 { yyVAL.node = &ast.ExprPreInc{ast.Node{}, yyDollar[2].node} @@ -5881,13 +5396,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 251: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3630 +// line internal/php5/php5.y:3142 { yyVAL.node = &ast.ExprPostDec{ast.Node{}, yyDollar[1].node} @@ -5896,13 +5409,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 252: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3643 +// line internal/php5/php5.y:3153 { yyVAL.node = &ast.ExprPreDec{ast.Node{}, yyDollar[2].node} @@ -5910,13 +5421,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 253: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3655 +// line internal/php5/php5.y:3163 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5925,13 +5434,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 254: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3668 +// line internal/php5/php5.y:3174 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5940,13 +5447,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 255: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3681 +// line internal/php5/php5.y:3185 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5955,13 +5460,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3694 +// line internal/php5/php5.y:3196 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5970,13 +5473,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3707 +// line internal/php5/php5.y:3207 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5985,13 +5486,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3720 +// line internal/php5/php5.y:3218 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6000,13 +5499,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 259: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3733 +// line internal/php5/php5.y:3229 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6015,13 +5512,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3746 +// line internal/php5/php5.y:3240 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6030,13 +5525,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 261: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3759 +// line internal/php5/php5.y:3251 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6045,13 +5538,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 262: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3772 +// line internal/php5/php5.y:3262 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6060,13 +5551,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3785 +// line internal/php5/php5.y:3273 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6075,13 +5564,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 264: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3798 +// line internal/php5/php5.y:3284 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6090,13 +5577,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3811 +// line internal/php5/php5.y:3295 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6105,13 +5590,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 266: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3824 +// line internal/php5/php5.y:3306 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6120,13 +5603,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 267: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3837 +// line internal/php5/php5.y:3317 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6135,13 +5616,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 268: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3850 +// line internal/php5/php5.y:3328 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6150,13 +5629,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 269: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3863 +// line internal/php5/php5.y:3339 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6165,13 +5642,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 270: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3876 +// line internal/php5/php5.y:3350 { yyVAL.node = &ast.ExprUnaryPlus{ast.Node{}, yyDollar[2].node} @@ -6179,13 +5654,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3888 +// line internal/php5/php5.y:3360 { yyVAL.node = &ast.ExprUnaryMinus{ast.Node{}, yyDollar[2].node} @@ -6193,13 +5666,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 272: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3900 +// line internal/php5/php5.y:3370 { yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} @@ -6207,13 +5678,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 273: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3912 +// line internal/php5/php5.y:3380 { yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} @@ -6221,13 +5690,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 274: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3924 +// line internal/php5/php5.y:3390 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6236,13 +5703,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 275: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3937 +// line internal/php5/php5.y:3401 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6251,13 +5716,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 276: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3950 +// line internal/php5/php5.y:3412 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6266,13 +5729,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 277: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3963 +// line internal/php5/php5.y:3423 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6281,14 +5742,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Equal, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Equal, yyDollar[2].token.SkippedTokens) } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3977 +// line internal/php5/php5.y:3435 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6297,13 +5756,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 279: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3990 +// line internal/php5/php5.y:3446 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6312,13 +5769,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 280: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4003 +// line internal/php5/php5.y:3457 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6327,13 +5782,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 281: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4016 +// line internal/php5/php5.y:3468 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6342,13 +5795,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4029 +// line internal/php5/php5.y:3479 { yyVAL.node = &ast.ExprInstanceOf{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6357,35 +5808,29 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4042 +// line internal/php5/php5.y:3490 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 284: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4048 +// line internal/php5/php5.y:3494 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4054 +// line internal/php5/php5.y:3498 { yyVAL.node = yyDollar[2].node // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.Tokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.Tokens...)) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) for _, n := range yyDollar[4].list { switch nn := n.(type) { @@ -6408,12 +5853,10 @@ yydefault: // save position yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, n) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 286: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:4086 +// line internal/php5/php5.y:3528 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[5].node} @@ -6422,14 +5865,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[4].token.SkippedTokens) } case 287: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4100 +// line internal/php5/php5.y:3540 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, nil, yyDollar[4].node} @@ -6438,22 +5879,18 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[3].token.SkippedTokens) } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4114 +// line internal/php5/php5.y:3552 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 289: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4120 +// line internal/php5/php5.y:3556 { yyVAL.node = &ast.ExprCastInt{ast.Node{}, yyDollar[2].node} @@ -6461,14 +5898,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 290: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4133 +// line internal/php5/php5.y:3567 { yyVAL.node = &ast.ExprCastDouble{ast.Node{}, yyDollar[2].node} @@ -6476,14 +5911,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 291: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4146 +// line internal/php5/php5.y:3578 { yyVAL.node = &ast.ExprCastString{ast.Node{}, yyDollar[2].node} @@ -6491,14 +5924,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 292: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4159 +// line internal/php5/php5.y:3589 { yyVAL.node = &ast.ExprCastArray{ast.Node{}, yyDollar[2].node} @@ -6506,14 +5937,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 293: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4172 +// line internal/php5/php5.y:3600 { yyVAL.node = &ast.ExprCastObject{ast.Node{}, yyDollar[2].node} @@ -6521,14 +5950,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 294: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4185 +// line internal/php5/php5.y:3611 { yyVAL.node = &ast.ExprCastBool{ast.Node{}, yyDollar[2].node} @@ -6536,14 +5963,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4198 +// line internal/php5/php5.y:3622 { yyVAL.node = &ast.ExprCastUnset{ast.Node{}, yyDollar[2].node} @@ -6551,14 +5976,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 296: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4211 +// line internal/php5/php5.y:3633 { yyVAL.node = &ast.ExprExit{ast.Node{}, false, yyDollar[2].node} @@ -6574,13 +5997,11 @@ yydefault: } // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 297: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4231 +// line internal/php5/php5.y:3651 { yyVAL.node = &ast.ExprErrorSuppress{ast.Node{}, yyDollar[2].node} @@ -6588,37 +6009,29 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 298: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4243 +// line internal/php5/php5.y:3661 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 299: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4249 +// line internal/php5/php5.y:3665 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 300: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4255 +// line internal/php5/php5.y:3669 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4261 +// line internal/php5/php5.y:3673 { yyVAL.node = &ast.ExprShellExec{ast.Node{}, yyDollar[2].list} @@ -6626,13 +6039,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 302: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4273 +// line internal/php5/php5.y:3683 { yyVAL.node = &ast.ExprPrint{ast.Node{}, yyDollar[2].node} @@ -6640,13 +6051,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 303: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4285 +// line internal/php5/php5.y:3693 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, nil} @@ -6654,13 +6063,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 304: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:4297 +// line internal/php5/php5.y:3703 { yyVAL.node = &ast.ExprClosure{ast.Node{}, yyDollar[2].token != nil, false, yyDollar[4].list, yyDollar[6].ClosureUse, nil, yyDollar[8].list} @@ -6668,28 +6075,26 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[9].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) if yyDollar[2].token == nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[3].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.LexicalVars, yyDollar[7].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[9].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.LexicalVars, yyDollar[7].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[9].token.SkippedTokens) // normalize if yyDollar[6].ClosureUse == nil { yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Params, yyVAL.node.GetNode().Tokens[token.LexicalVars]) delete(yyVAL.node.GetNode().Tokens, token.LexicalVars) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 305: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php5/php5.y:4323 +// line internal/php5/php5.y:3727 { yyVAL.node = &ast.ExprClosure{ast.Node{}, yyDollar[3].token != nil, true, yyDollar[5].list, yyDollar[7].ClosureUse, nil, yyDollar[9].list} @@ -6697,29 +6102,27 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[10].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Static, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Static, yyDollar[2].token.SkippedTokens) if yyDollar[3].token == nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[4].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[4].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.LexicalVars, yyDollar[8].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[10].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.LexicalVars, yyDollar[8].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[10].token.SkippedTokens) // normalize if yyDollar[7].ClosureUse == nil { yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Params, yyVAL.node.GetNode().Tokens[token.LexicalVars]) delete(yyVAL.node.GetNode().Tokens, token.LexicalVars) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 306: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4353 +// line internal/php5/php5.y:3755 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} @@ -6727,13 +6130,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 307: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4365 +// line internal/php5/php5.y:3765 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} @@ -6741,13 +6142,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 308: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4377 +// line internal/php5/php5.y:3775 { yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -6755,14 +6154,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) } case 309: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4390 +// line internal/php5/php5.y:3786 { yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -6770,14 +6167,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) } case 310: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4406 +// line internal/php5/php5.y:3800 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6785,14 +6180,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 311: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4419 +// line internal/php5/php5.y:3811 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6800,14 +6193,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 312: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4432 +// line internal/php5/php5.y:3822 { str := &ast.ScalarString{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, str, yyDollar[3].node} @@ -6817,15 +6208,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(str, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(str, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(str, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 313: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4448 +// line internal/php5/php5.y:3836 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6833,14 +6222,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 314: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4464 +// line internal/php5/php5.y:3850 { yyVAL.node = &ast.ExprArray{ast.Node{}, yyDollar[3].list} @@ -6848,15 +6235,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Array, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Array, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.SkippedTokens) } case 315: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4478 +// line internal/php5/php5.y:3862 { yyVAL.node = &ast.ExprShortArray{ast.Node{}, yyDollar[2].list} @@ -6864,28 +6249,24 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[3].token.SkippedTokens) } case 316: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4494 +// line internal/php5/php5.y:3876 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4501 +// line internal/php5/php5.y:3883 { yyVAL.ClosureUse = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 318: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4507 +// line internal/php5/php5.y:3887 { yyVAL.ClosureUse = &ast.ExprClosureUse{ast.Node{}, yyDollar[3].list} @@ -6893,15 +6274,13 @@ yydefault: yyVAL.ClosureUse.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.Use, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.LexicalVarList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.Use, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.LexicalVarList, yyDollar[4].token.SkippedTokens) } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4524 +// line internal/php5/php5.y:3902 { identifier := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -6912,14 +6291,12 @@ yydefault: variable.GetNode().Position = position.NewTokenPosition(yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.SkippedTokens) } case 320: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4540 +// line internal/php5/php5.y:3916 { identifier := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -6932,15 +6309,13 @@ yydefault: reference.GetNode().Position = position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.SkippedTokens) } case 321: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4559 +// line internal/php5/php5.y:3933 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -6951,13 +6326,11 @@ yydefault: variable.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[1].token.SkippedTokens) } case 322: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4574 +// line internal/php5/php5.y:3946 { identifier := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -6970,14 +6343,12 @@ yydefault: reference.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.SkippedTokens) } case 323: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4595 +// line internal/php5/php5.y:3965 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, name, yyDollar[2].node.(*ast.ArgumentList)} @@ -6985,12 +6356,10 @@ yydefault: // save position name.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) yyVAL.node.GetNode().Position = position.NewNodesPosition(name, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 324: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4606 +// line internal/php5/php5.y:3974 { funcName := &ast.NameRelative{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, funcName, yyDollar[4].node.(*ast.ArgumentList)} @@ -7000,14 +6369,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodesPosition(funcName, yyDollar[4].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(funcName, token.Namespace, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(funcName, token.Namespace, yyDollar[2].token.SkippedTokens) } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4621 +// line internal/php5/php5.y:3987 { funcName := &ast.NameFullyQualified{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, funcName, yyDollar[3].node.(*ast.ArgumentList)} @@ -7017,13 +6384,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodesPosition(funcName, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 326: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4635 +// line internal/php5/php5.y:3999 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -7032,13 +6397,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 327: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4648 +// line internal/php5/php5.y:4010 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -7047,13 +6410,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 328: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4661 +// line internal/php5/php5.y:4021 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -7062,13 +6423,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 329: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4674 +// line internal/php5/php5.y:4032 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -7077,13 +6436,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 330: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4687 +// line internal/php5/php5.y:4043 { yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, yyDollar[1].node, yyDollar[2].node.(*ast.ArgumentList)} @@ -7092,12 +6449,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 331: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4702 +// line internal/php5/php5.y:4056 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -7105,24 +6460,20 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 332: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4714 +// line internal/php5/php5.y:4066 { yyVAL.node = &ast.NameName{ast.Node{}, yyDollar[1].list} // save position yyVAL.node.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4723 +// line internal/php5/php5.y:4073 { yyVAL.node = &ast.NameRelative{ast.Node{}, yyDollar[3].list} @@ -7130,14 +6481,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.SkippedTokens) } case 334: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4736 +// line internal/php5/php5.y:4084 { yyVAL.node = &ast.NameFullyQualified{ast.Node{}, yyDollar[2].list} @@ -7145,24 +6494,20 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 335: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4751 +// line internal/php5/php5.y:4097 { yyVAL.node = &ast.NameName{ast.Node{}, yyDollar[1].list} // save position yyVAL.node.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 336: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4760 +// line internal/php5/php5.y:4104 { yyVAL.node = &ast.NameRelative{ast.Node{}, yyDollar[3].list} @@ -7170,14 +6515,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.SkippedTokens) } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4773 +// line internal/php5/php5.y:4115 { yyVAL.node = &ast.NameFullyQualified{ast.Node{}, yyDollar[2].list} @@ -7185,34 +6528,28 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 338: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4788 +// line internal/php5/php5.y:4128 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 339: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4794 +// line internal/php5/php5.y:4132 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 340: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4803 +// line internal/php5/php5.y:4139 { yyVAL.node = yyDollar[1].node // save comments - yylex.(*Parser).setFreeFloating(yyDollar[3].list[0], token.Var, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyDollar[3].list[0], token.Var, yyDollar[2].token.SkippedTokens) for _, n := range yyDollar[3].list { switch nn := n.(type) { @@ -7245,55 +6582,43 @@ yydefault: yylex.(*Parser).MoveFreeFloating(nn.Var, yyVAL.node) } } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 341: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4844 +// line internal/php5/php5.y:4178 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 342: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4854 +// line internal/php5/php5.y:4186 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 343: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4860 +// line internal/php5/php5.y:4190 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 344: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4870 +// line internal/php5/php5.y:4198 { yyVAL.list = yyDollar[2].list // save comments - yylex.(*Parser).setFreeFloating(yyDollar[2].list[0], token.Var, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyDollar[2].list[0], token.Var, yyDollar[1].token.SkippedTokens) } case 345: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4882 +// line internal/php5/php5.y:4208 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 346: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4888 +// line internal/php5/php5.y:4212 { yyVAL.node = &ast.ParserBrackets{ast.Node{}, nil} @@ -7301,66 +6626,52 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[2].token.SkippedTokens) } case 347: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4901 +// line internal/php5/php5.y:4223 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 348: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4910 +// line internal/php5/php5.y:4230 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 349: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4916 +// line internal/php5/php5.y:4234 { part := &ast.ScalarEncapsedStringPart{ast.Node{}, yyDollar[1].token.Value} yyVAL.list = []ast.Vertex{part} // save position part.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4926 +// line internal/php5/php5.y:4242 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 351: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4935 +// line internal/php5/php5.y:4249 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 352: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4941 +// line internal/php5/php5.y:4253 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 353: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4950 +// line internal/php5/php5.y:4260 { yyVAL.node = &ast.ScalarLnumber{ast.Node{}, yyDollar[1].token.Value} @@ -7368,13 +6679,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4962 +// line internal/php5/php5.y:4270 { yyVAL.node = &ast.ScalarDnumber{ast.Node{}, yyDollar[1].token.Value} @@ -7382,13 +6691,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 355: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4974 +// line internal/php5/php5.y:4280 { yyVAL.node = &ast.ScalarString{ast.Node{}, yyDollar[1].token.Value} @@ -7396,13 +6703,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 356: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4986 +// line internal/php5/php5.y:4290 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7410,13 +6715,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 357: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4998 +// line internal/php5/php5.y:4300 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7424,13 +6727,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 358: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5010 +// line internal/php5/php5.y:4310 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7438,13 +6739,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 359: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5022 +// line internal/php5/php5.y:4320 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7452,13 +6751,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 360: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5034 +// line internal/php5/php5.y:4330 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7466,13 +6763,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 361: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5046 +// line internal/php5/php5.y:4340 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7480,13 +6775,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 362: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5058 +// line internal/php5/php5.y:4350 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7494,13 +6787,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 363: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5070 +// line internal/php5/php5.y:4360 { encapsed := &ast.ScalarEncapsedStringPart{ast.Node{}, yyDollar[2].token.Value} yyVAL.node = &ast.ScalarHeredoc{ast.Node{}, yyDollar[1].token.Value, []ast.Vertex{encapsed}} @@ -7510,13 +6801,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 364: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5084 +// line internal/php5/php5.y:4372 { yyVAL.node = &ast.ScalarHeredoc{ast.Node{}, yyDollar[1].token.Value, nil} @@ -7524,13 +6813,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5099 +// line internal/php5/php5.y:4385 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} @@ -7541,38 +6828,30 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.SkippedTokens) } case 366: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5118 +// line internal/php5/php5.y:4402 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5127 +// line internal/php5/php5.y:4409 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 368: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5133 +// line internal/php5/php5.y:4413 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 369: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5139 +// line internal/php5/php5.y:4417 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} yyVAL.node = &ast.ExprConstFetch{ast.Node{}, name} @@ -7580,12 +6859,10 @@ yydefault: // save position name.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) yyVAL.node.GetNode().Position = position.NewNodePosition(name) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 370: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5150 +// line internal/php5/php5.y:4426 { name := &ast.NameRelative{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprConstFetch{ast.Node{}, name} @@ -7595,14 +6872,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.SkippedTokens) } case 371: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5165 +// line internal/php5/php5.y:4439 { name := &ast.NameFullyQualified{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.ExprConstFetch{ast.Node{}, name} @@ -7612,13 +6887,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 372: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5179 +// line internal/php5/php5.y:4451 { yyVAL.node = &ast.ExprArray{ast.Node{}, yyDollar[3].list} @@ -7626,15 +6899,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Array, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Array, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.SkippedTokens) } case 373: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5193 +// line internal/php5/php5.y:4463 { yyVAL.node = &ast.ExprShortArray{ast.Node{}, yyDollar[2].list} @@ -7642,22 +6913,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[3].token.SkippedTokens) } case 374: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5206 +// line internal/php5/php5.y:4474 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 375: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5212 +// line internal/php5/php5.y:4478 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7665,21 +6932,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 376: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5224 +// line internal/php5/php5.y:4488 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 377: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5233 +// line internal/php5/php5.y:4495 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7687,14 +6950,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 378: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5246 +// line internal/php5/php5.y:4506 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7703,13 +6964,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 379: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5259 +// line internal/php5/php5.y:4517 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7718,13 +6977,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5272 +// line internal/php5/php5.y:4528 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7733,13 +6990,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 381: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5285 +// line internal/php5/php5.y:4539 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7748,13 +7003,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 382: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5298 +// line internal/php5/php5.y:4550 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7763,13 +7016,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 383: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5311 +// line internal/php5/php5.y:4561 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7778,13 +7029,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5324 +// line internal/php5/php5.y:4572 { yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} @@ -7792,13 +7041,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 385: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5336 +// line internal/php5/php5.y:4582 { yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} @@ -7806,13 +7053,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 386: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5348 +// line internal/php5/php5.y:4592 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7821,13 +7066,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 387: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5361 +// line internal/php5/php5.y:4603 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7836,13 +7079,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 388: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5374 +// line internal/php5/php5.y:4614 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7851,13 +7092,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 389: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5387 +// line internal/php5/php5.y:4625 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7866,13 +7105,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 390: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5400 +// line internal/php5/php5.y:4636 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7881,13 +7118,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 391: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5413 +// line internal/php5/php5.y:4647 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7896,13 +7131,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 392: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5426 +// line internal/php5/php5.y:4658 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7911,13 +7144,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5439 +// line internal/php5/php5.y:4669 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7926,13 +7157,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 394: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5452 +// line internal/php5/php5.y:4680 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7941,13 +7170,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 395: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5465 +// line internal/php5/php5.y:4691 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7956,13 +7183,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 396: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5478 +// line internal/php5/php5.y:4702 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7971,13 +7196,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 397: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5491 +// line internal/php5/php5.y:4713 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7986,13 +7209,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 398: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5504 +// line internal/php5/php5.y:4724 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8001,13 +7222,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 399: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5517 +// line internal/php5/php5.y:4735 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8016,13 +7235,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5530 +// line internal/php5/php5.y:4746 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8031,14 +7248,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Equal, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Equal, yyDollar[2].token.SkippedTokens) } case 401: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5544 +// line internal/php5/php5.y:4758 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8047,13 +7262,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 402: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5557 +// line internal/php5/php5.y:4769 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8062,13 +7275,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 403: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5570 +// line internal/php5/php5.y:4780 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8077,13 +7288,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 404: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5583 +// line internal/php5/php5.y:4791 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8092,13 +7301,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 405: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5596 +// line internal/php5/php5.y:4802 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, nil, yyDollar[4].node} @@ -8107,14 +7314,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[3].token.SkippedTokens) } case 406: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5610 +// line internal/php5/php5.y:4814 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[5].node} @@ -8123,14 +7328,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[4].token.SkippedTokens) } case 407: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5624 +// line internal/php5/php5.y:4826 { yyVAL.node = &ast.ExprUnaryPlus{ast.Node{}, yyDollar[2].node} @@ -8138,13 +7341,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 408: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5636 +// line internal/php5/php5.y:4836 { yyVAL.node = &ast.ExprUnaryMinus{ast.Node{}, yyDollar[2].node} @@ -8152,33 +7353,27 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 409: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5648 +// line internal/php5/php5.y:4846 { yyVAL.node = yyDollar[2].node // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.Tokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5661 +// line internal/php5/php5.y:4857 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5667 +// line internal/php5/php5.y:4861 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} yyVAL.node = &ast.ExprConstFetch{ast.Node{}, name} @@ -8186,12 +7381,10 @@ yydefault: // save position name.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) yyVAL.node.GetNode().Position = position.NewNodePosition(name) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5678 +// line internal/php5/php5.y:4870 { name := &ast.NameRelative{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprConstFetch{ast.Node{}, name} @@ -8201,14 +7394,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodePosition(name) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Namespace, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Namespace, yyDollar[2].token.SkippedTokens) } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5693 +// line internal/php5/php5.y:4883 { name := &ast.NameFullyQualified{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.ExprConstFetch{ast.Node{}, name} @@ -8218,13 +7409,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodePosition(name) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 414: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5710 +// line internal/php5/php5.y:4898 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, name} @@ -8234,37 +7423,29 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 415: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5724 +// line internal/php5/php5.y:4910 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5730 +// line internal/php5/php5.y:4914 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5736 +// line internal/php5/php5.y:4918 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 418: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5742 +// line internal/php5/php5.y:4922 { yyVAL.node = &ast.ScalarEncapsed{ast.Node{}, yyDollar[2].list} @@ -8272,13 +7453,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5754 +// line internal/php5/php5.y:4932 { yyVAL.node = &ast.ScalarHeredoc{ast.Node{}, yyDollar[1].token.Value, yyDollar[2].list} @@ -8286,13 +7465,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 420: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5766 +// line internal/php5/php5.y:4942 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -8300,46 +7477,40 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 421: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5781 +// line internal/php5/php5.y:4955 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 422: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5787 +// line internal/php5/php5.y:4959 { yyVAL.list = yyDollar[1].list // save comments if yyDollar[2].token != nil { - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5801 +// line internal/php5/php5.y:4971 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5805 +// line internal/php5/php5.y:4975 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5812 +// line internal/php5/php5.y:4982 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[3].node, yyDollar[5].node} yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -8348,15 +7519,13 @@ yydefault: arrayItem.GetNode().Position = position.NewNodesPosition(yyDollar[3].node, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) yylex.(*Parser).MoveFreeFloating(yyDollar[3].node, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[4].token.SkippedTokens) } case 426: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5827 +// line internal/php5/php5.y:4995 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -8365,14 +7534,12 @@ yydefault: arrayItem.GetNode().Position = position.NewNodePosition(yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) yylex.(*Parser).MoveFreeFloating(yyDollar[3].node, arrayItem) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5841 +// line internal/php5/php5.y:5007 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, yyDollar[3].node} yyVAL.list = []ast.Vertex{arrayItem} @@ -8382,13 +7549,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[2].token.SkippedTokens) } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5855 +// line internal/php5/php5.y:5019 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{arrayItem} @@ -8398,28 +7563,22 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, arrayItem) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5871 +// line internal/php5/php5.y:5033 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 430: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5877 +// line internal/php5/php5.y:5037 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 431: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5886 +// line internal/php5/php5.y:5044 { yyVAL.node = &ast.ParserBrackets{ast.Node{}, yyDollar[2].node} @@ -8427,14 +7586,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 432: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5899 +// line internal/php5/php5.y:5055 { yyVAL.node = &ast.ParserBrackets{ast.Node{}, yyDollar[2].node} @@ -8442,38 +7599,30 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 433: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5916 +// line internal/php5/php5.y:5070 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 434: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5926 +// line internal/php5/php5.y:5078 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 435: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5935 +// line internal/php5/php5.y:5085 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 436: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5944 +// line internal/php5/php5.y:5092 { yyVAL.node = yyDollar[1].node @@ -8483,7 +7632,7 @@ yydefault: } // save comments - yylex.(*Parser).setFreeFloating(yyDollar[3].list[0], token.Var, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyDollar[3].list[0], token.Var, yyDollar[2].token.SkippedTokens) for _, n := range yyDollar[3].list { switch nn := n.(type) { @@ -8528,36 +7677,28 @@ yydefault: yylex.(*Parser).MoveFreeFloating(nn.Var, yyVAL.node) } } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6002 +// line internal/php5/php5.y:5148 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 438: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6011 +// line internal/php5/php5.y:5155 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 439: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:6017 +// line internal/php5/php5.y:5159 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6027 +// line internal/php5/php5.y:5167 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*ast.ExprMethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*ast.ExprPropertyFetch).Property @@ -8567,13 +7708,11 @@ yydefault: yyVAL.list = yyDollar[2].list // save comments - yylex.(*Parser).setFreeFloating(yyDollar[2].list[0], token.Var, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyDollar[2].list[0], token.Var, yyDollar[1].token.SkippedTokens) } case 441: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6044 +// line internal/php5/php5.y:5182 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, fetch) @@ -8582,14 +7721,12 @@ yydefault: fetch.GetNode().Position = position.NewNodePosition(yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.SkippedTokens) } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6058 +// line internal/php5/php5.y:5194 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = []ast.Vertex{yyDollar[1].node, fetch} @@ -8598,57 +7735,45 @@ yydefault: fetch.GetNode().Position = position.NewNodePosition(yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.SkippedTokens) } case 443: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6075 +// line internal/php5/php5.y:5209 { yyVAL.node = &ast.ExprMethodCall{ast.Node{}, nil, nil, yyDollar[1].node.(*ast.ArgumentList)} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 444: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6087 +// line internal/php5/php5.y:5219 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 445: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6093 +// line internal/php5/php5.y:5223 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 446: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:6099 +// line internal/php5/php5.y:5227 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 447: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6108 +// line internal/php5/php5.y:5234 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 448: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6114 +// line internal/php5/php5.y:5238 { yyDollar[1].simpleIndirectReference.last.VarName = yyDollar[2].node @@ -8657,12 +7782,10 @@ yydefault: } yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6129 +// line internal/php5/php5.y:5251 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8671,13 +7794,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6142 +// line internal/php5/php5.y:5262 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8686,21 +7807,17 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 451: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6158 +// line internal/php5/php5.y:5276 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 452: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6167 +// line internal/php5/php5.y:5283 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8708,14 +7825,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 453: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6180 +// line internal/php5/php5.y:5294 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8723,46 +7838,36 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6196 +// line internal/php5/php5.y:5308 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6202 +// line internal/php5/php5.y:5312 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 456: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6208 +// line internal/php5/php5.y:5316 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6218 +// line internal/php5/php5.y:5324 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 458: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6224 +// line internal/php5/php5.y:5328 { yyDollar[1].simpleIndirectReference.last.VarName = yyDollar[2].node @@ -8771,20 +7876,16 @@ yydefault: } yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 459: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6236 +// line internal/php5/php5.y:5338 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 460: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6245 +// line internal/php5/php5.y:5345 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8792,14 +7893,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 461: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6258 +// line internal/php5/php5.y:5356 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8807,22 +7906,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6271 +// line internal/php5/php5.y:5367 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 463: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6281 +// line internal/php5/php5.y:5375 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, name} @@ -8832,13 +7927,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 464: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6295 +// line internal/php5/php5.y:5387 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -8846,51 +7939,41 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.Start, append(yyDollar[2].token.Tokens, yyDollar[3].node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.End, append(yyDollar[3].node.GetNode().Tokens[token.End], yyDollar[4].token.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.Start, append(yyDollar[2].token.SkippedTokens, yyDollar[3].node.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.End, append(yyDollar[3].node.GetNode().Tokens[token.End], yyDollar[4].token.SkippedTokens...)) } case 465: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:6312 +// line internal/php5/php5.y:5402 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 466: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6318 +// line internal/php5/php5.y:5406 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 467: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6328 +// line internal/php5/php5.y:5414 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 468: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6334 +// line internal/php5/php5.y:5418 { fetch := &ast.ExprPropertyFetch{ast.Node{}, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{fetch} // save position fetch.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6347 +// line internal/php5/php5.y:5429 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, fetch) @@ -8899,14 +7982,12 @@ yydefault: fetch.GetNode().Position = position.NewNodePosition(yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.SkippedTokens) } case 470: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6361 +// line internal/php5/php5.y:5441 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, fetch) @@ -8915,26 +7996,22 @@ yydefault: fetch.GetNode().Position = position.NewNodePosition(yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, yyDollar[4].token.SkippedTokens) } case 471: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6375 +// line internal/php5/php5.y:5453 { fetch := &ast.ExprPropertyFetch{ast.Node{}, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{fetch} // save position fetch.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6388 +// line internal/php5/php5.y:5464 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -8942,13 +8019,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 473: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6400 +// line internal/php5/php5.y:5474 { yyVAL.node = yyDollar[2].node @@ -8956,14 +8031,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.Tokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6416 +// line internal/php5/php5.y:5488 { n := &ast.ExprVariable{ast.Node{}, nil} yyVAL.simpleIndirectReference = simpleIndirectReference{[]*ast.ExprVariable{n}, n} @@ -8972,13 +8045,11 @@ yydefault: n.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(n, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(n, token.Start, yyDollar[1].token.SkippedTokens) } case 475: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6429 +// line internal/php5/php5.y:5499 { n := &ast.ExprVariable{ast.Node{}, nil} @@ -8991,13 +8062,11 @@ yydefault: n.GetNode().Position = position.NewTokenPosition(yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(n, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(n, token.Start, yyDollar[2].token.SkippedTokens) } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6449 +// line internal/php5/php5.y:5517 { if len(yyDollar[1].list) == 0 { yyDollar[1].list = []ast.Vertex{&ast.ExprArrayItem{ast.Node{}, false, nil, nil}} @@ -9006,25 +8075,21 @@ yydefault: yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 477: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6462 +// line internal/php5/php5.y:5528 { if yyDollar[1].node.(*ast.ExprArrayItem).Key == nil && yyDollar[1].node.(*ast.ExprArrayItem).Val == nil { yyVAL.list = []ast.Vertex{} } else { yyVAL.list = []ast.Vertex{yyDollar[1].node} } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 478: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6476 +// line internal/php5/php5.y:5540 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[1].node} @@ -9033,12 +8098,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 479: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6488 +// line internal/php5/php5.y:5550 { listNode := &ast.ExprList{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, listNode} @@ -9048,31 +8111,25 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodePosition(listNode) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[4].token.SkippedTokens) } case 480: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:6504 +// line internal/php5/php5.y:5564 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, nil} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 481: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:6514 +// line internal/php5/php5.y:5572 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 482: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6520 +// line internal/php5/php5.y:5576 { yyVAL.list = yyDollar[1].list @@ -9082,14 +8139,12 @@ yydefault: // save comments if yyDollar[2].token != nil { - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 483: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:6538 +// line internal/php5/php5.y:5592 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[3].node, yyDollar[5].node} yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -9098,15 +8153,13 @@ yydefault: arrayItem.GetNode().Position = position.NewNodesPosition(yyDollar[3].node, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) yylex.(*Parser).MoveFreeFloating(yyDollar[3].node, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[4].token.SkippedTokens) } case 484: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6553 +// line internal/php5/php5.y:5605 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -9115,14 +8168,12 @@ yydefault: arrayItem.GetNode().Position = position.NewNodePosition(yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) yylex.(*Parser).MoveFreeFloating(yyDollar[3].node, arrayItem) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 485: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6567 +// line internal/php5/php5.y:5617 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, yyDollar[3].node} yyVAL.list = []ast.Vertex{arrayItem} @@ -9132,13 +8183,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[2].token.SkippedTokens) } case 486: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6581 +// line internal/php5/php5.y:5629 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{arrayItem} @@ -9148,12 +8197,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, arrayItem) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 487: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:6594 +// line internal/php5/php5.y:5640 { reference := &ast.ExprReference{ast.Node{}, yyDollar[6].node} arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[3].node, reference} @@ -9164,16 +8211,14 @@ yydefault: arrayItem.GetNode().Position = position.NewNodesPosition(yyDollar[3].node, yyDollar[6].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) yylex.(*Parser).MoveFreeFloating(yyDollar[3].node, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[5].token.SkippedTokens) } case 488: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6612 +// line internal/php5/php5.y:5656 { reference := &ast.ExprReference{ast.Node{}, yyDollar[4].node} arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, reference} @@ -9184,14 +8229,12 @@ yydefault: arrayItem.GetNode().Position = position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(arrayItem, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(arrayItem, token.Start, yyDollar[3].token.SkippedTokens) } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6628 +// line internal/php5/php5.y:5670 { reference := &ast.ExprReference{ast.Node{}, yyDollar[4].node} arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, reference} @@ -9203,14 +8246,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[3].token.SkippedTokens) } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6645 +// line internal/php5/php5.y:5685 { reference := &ast.ExprReference{ast.Node{}, yyDollar[2].node} arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, reference} @@ -9221,21 +8262,17 @@ yydefault: arrayItem.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(arrayItem, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Start, yyDollar[1].token.SkippedTokens) } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6663 +// line internal/php5/php5.y:5701 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 492: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6669 +// line internal/php5/php5.y:5705 { encapsed := &ast.ScalarEncapsedStringPart{ast.Node{}, yyDollar[2].token.Value} yyVAL.list = append(yyDollar[1].list, encapsed) @@ -9244,21 +8281,17 @@ yydefault: encapsed.GetNode().Position = position.NewTokenPosition(yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(encapsed, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(encapsed, token.Start, yyDollar[2].token.SkippedTokens) } case 493: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6682 +// line internal/php5/php5.y:5716 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 494: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6688 +// line internal/php5/php5.y:5720 { encapsed := &ast.ScalarEncapsedStringPart{ast.Node{}, yyDollar[1].token.Value} yyVAL.list = []ast.Vertex{encapsed, yyDollar[2].node} @@ -9267,13 +8300,11 @@ yydefault: encapsed.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(encapsed, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(encapsed, token.Start, yyDollar[1].token.SkippedTokens) } case 495: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6704 +// line internal/php5/php5.y:5734 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, name} @@ -9283,13 +8314,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 496: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6718 +// line internal/php5/php5.y:5746 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -9301,14 +8330,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 497: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6735 +// line internal/php5/php5.y:5761 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -9322,14 +8349,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(fetch, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(fetch, token.Start, yyDollar[3].token.SkippedTokens) } case 498: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6754 +// line internal/php5/php5.y:5778 { variable := &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -9339,14 +8364,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 499: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6769 +// line internal/php5/php5.y:5791 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} variable := &ast.ExprVariable{ast.Node{}, name} @@ -9358,14 +8381,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 500: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:6786 +// line internal/php5/php5.y:5806 { identifier := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -9377,28 +8398,24 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) // save comments - yylex.(*Parser).setToken(variable, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(variable, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[6].token.SkippedTokens) } case 501: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6805 +// line internal/php5/php5.y:5823 { yyVAL.node = yyDollar[2].node // save comments - yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 502: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6818 +// line internal/php5/php5.y:5834 { yyVAL.node = &ast.ScalarString{ast.Node{}, yyDollar[1].token.Value} @@ -9406,13 +8423,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 503: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6830 +// line internal/php5/php5.y:5844 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -9425,13 +8440,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 504: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6847 +// line internal/php5/php5.y:5859 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, identifier} @@ -9441,13 +8454,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 505: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6864 +// line internal/php5/php5.y:5874 { yyVAL.node = &ast.ExprIsset{ast.Node{}, yyDollar[3].list} @@ -9455,15 +8466,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Isset, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Isset, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[4].token.SkippedTokens) } case 506: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6878 +// line internal/php5/php5.y:5886 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} yyVAL.node = &ast.ExprEmpty{ast.Node{}, exprBrackets} @@ -9473,15 +8482,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) } case 507: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6894 +// line internal/php5/php5.y:5900 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} yyVAL.node = &ast.ExprEmpty{ast.Node{}, exprBrackets} @@ -9491,15 +8498,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) } case 508: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6910 +// line internal/php5/php5.y:5914 { yyVAL.node = &ast.ExprInclude{ast.Node{}, yyDollar[2].node} @@ -9507,13 +8512,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 509: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6922 +// line internal/php5/php5.y:5924 { yyVAL.node = &ast.ExprIncludeOnce{ast.Node{}, yyDollar[2].node} @@ -9521,13 +8524,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 510: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6934 +// line internal/php5/php5.y:5934 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} yyVAL.node = &ast.ExprEval{ast.Node{}, exprBrackets} @@ -9537,15 +8538,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) } case 511: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6950 +// line internal/php5/php5.y:5948 { yyVAL.node = &ast.ExprRequire{ast.Node{}, yyDollar[2].node} @@ -9553,13 +8552,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 512: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6962 +// line internal/php5/php5.y:5958 { yyVAL.node = &ast.ExprRequireOnce{ast.Node{}, yyDollar[2].node} @@ -9567,48 +8564,38 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 513: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6977 +// line internal/php5/php5.y:5971 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 514: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6983 +// line internal/php5/php5.y:5975 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 515: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6995 +// line internal/php5/php5.y:5985 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 516: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:7001 +// line internal/php5/php5.y:5989 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 517: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:7010 +// line internal/php5/php5.y:5996 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} @@ -9619,14 +8606,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.SkippedTokens) } case 518: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:7026 +// line internal/php5/php5.y:6010 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} @@ -9637,14 +8622,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.SkippedTokens) } case 519: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:7045 +// line internal/php5/php5.y:6027 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} @@ -9655,14 +8638,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.SkippedTokens) } case 520: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:7064 +// line internal/php5/php5.y:6044 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} @@ -9673,10 +8654,8 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.SkippedTokens) } } goto yystack /* stack new state and value */ diff --git a/internal/php5/php5.y b/internal/php5/php5.y index 63b1661..d328d44 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -5,17 +5,16 @@ import ( "bytes" "strconv" - "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/token" + "github.com/z7zmey/php-parser/internal/position" + "github.com/z7zmey/php-parser/pkg/ast" + "github.com/z7zmey/php-parser/pkg/token" ) %} %union{ node ast.Vertex - token *scanner.Token + token *token.Token list []ast.Vertex simpleIndirectReference simpleIndirectReference @@ -25,7 +24,6 @@ import ( ClosureUse *ast.ExprClosureUse } -%type $unk %token T_INCLUDE %token T_INCLUDE_ONCE %token T_EXIT @@ -278,9 +276,7 @@ start: yylex.(*Parser).rootNode = &ast.Root{ast.Node{}, $1} yylex.(*Parser).rootNode.GetNode().Position = position.NewNodeListPosition($1) - yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, token.End, yylex.(*Parser).currentToken.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, token.End, yylex.(*Parser).currentToken.SkippedTokens) } ; @@ -295,14 +291,10 @@ top_statement_list: if $2 != nil { $$ = append($1, $2) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -316,9 +308,7 @@ namespace_name: namePart.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(namePart, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(namePart, token.Start, $1.SkippedTokens) } | namespace_name T_NS_SEPARATOR T_STRING { @@ -329,10 +319,8 @@ namespace_name: namePart.GetNode().Position = position.NewTokenPosition($3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(namePart, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(namePart, token.Start, $3.SkippedTokens) } ; @@ -341,26 +329,18 @@ top_statement: { // error $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | function_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | class_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_HALT_COMPILER '(' ')' ';' { @@ -370,10 +350,8 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($2.Tokens, append($3.Tokens, $4.Tokens...)...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($2.SkippedTokens, append($3.SkippedTokens, $4.SkippedTokens...)...)) } | T_NAMESPACE namespace_name ';' { @@ -385,11 +363,9 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(name, token.End, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.End, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_NAMESPACE namespace_name '{' top_statement_list '}' { @@ -401,11 +377,9 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(name, token.End, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.End, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $5.SkippedTokens) } | T_NAMESPACE '{' top_statement_list '}' { @@ -415,11 +389,9 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.SkippedTokens) } | T_USE use_declarations ';' { @@ -431,10 +403,8 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | T_USE T_FUNCTION use_function_declarations ';' { @@ -450,11 +420,9 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating(identifier, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(identifier, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.SkippedTokens) } | T_USE T_CONST use_const_declarations ';' { @@ -470,11 +438,9 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating(identifier, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(identifier, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.SkippedTokens) } | constant_declaration ';' { @@ -484,10 +450,8 @@ top_statement: $$.GetNode().Position = position.NewNodeTokenPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Stmts, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } ; @@ -497,15 +461,11 @@ use_declarations: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | use_declaration { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -518,8 +478,6 @@ use_declaration: // save position name.GetNode().Position = position.NewNodeListPosition($1) $$.GetNode().Position = position.NewNodeListPosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | namespace_name T_AS T_STRING { @@ -535,10 +493,8 @@ use_declaration: $$.GetNode().Position = position.NewNodeListTokenPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(asAlias, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $3.SkippedTokens) } | T_NS_SEPARATOR namespace_name { @@ -552,9 +508,7 @@ use_declaration: $$.GetNode().Position = position.NewTokenNodePosition($1, name) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_NS_SEPARATOR namespace_name T_AS T_STRING { @@ -572,11 +526,9 @@ use_declaration: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(asAlias, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $4.SkippedTokens) } ; @@ -586,15 +538,11 @@ use_function_declarations: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | use_function_declaration { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -607,8 +555,6 @@ use_function_declaration: // save position name.GetNode().Position = position.NewNodeListPosition($1) $$.GetNode().Position = position.NewNodeListPosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | namespace_name T_AS T_STRING { @@ -624,10 +570,8 @@ use_function_declaration: $$.GetNode().Position = position.NewNodeListTokenPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(asAlias, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $3.SkippedTokens) } | T_NS_SEPARATOR namespace_name { @@ -641,9 +585,7 @@ use_function_declaration: $$.GetNode().Position = position.NewTokenNodePosition($1, name) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_NS_SEPARATOR namespace_name T_AS T_STRING { @@ -661,11 +603,9 @@ use_function_declaration: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(asAlias, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $4.SkippedTokens) } ; @@ -675,15 +615,11 @@ use_const_declarations: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | use_const_declaration { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -696,8 +632,6 @@ use_const_declaration: // save position name.GetNode().Position = position.NewNodeListPosition($1) $$.GetNode().Position = position.NewNodeListPosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | namespace_name T_AS T_STRING { @@ -713,10 +647,8 @@ use_const_declaration: $$.GetNode().Position = position.NewNodeListTokenPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(asAlias, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $3.SkippedTokens) } | T_NS_SEPARATOR namespace_name { @@ -730,9 +662,7 @@ use_const_declaration: $$.GetNode().Position = position.NewTokenNodePosition($1, name) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_NS_SEPARATOR namespace_name T_AS T_STRING { @@ -750,11 +680,9 @@ use_const_declaration: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(asAlias, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $4.SkippedTokens) } ; @@ -774,11 +702,9 @@ constant_declaration: $$.GetNode().Position = position.NewNodeNodeListPosition($1, constList.Consts) // save comments - yylex.(*Parser).setFreeFloating(lastConst, token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastConst, token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, $4.SkippedTokens) } | T_CONST T_STRING '=' static_scalar { @@ -793,11 +719,9 @@ constant_declaration: $$.GetNode().Position = position.NewTokenNodeListPosition($1, constList) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, $3.SkippedTokens) } ; @@ -812,14 +736,10 @@ inner_statement_list: if $2 != nil { $$ = append($1, $2) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -829,26 +749,18 @@ inner_statement: { // error $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | function_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | class_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_HALT_COMPILER '(' ')' ';' { @@ -858,10 +770,8 @@ inner_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($2.Tokens, append($3.Tokens, $4.Tokens...)...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($2.SkippedTokens, append($3.SkippedTokens, $4.SkippedTokens...)...)) } ; @@ -870,8 +780,6 @@ statement: unticked_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_STRING ':' { @@ -883,10 +791,8 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Label, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Label, $2.SkippedTokens) } ; @@ -899,10 +805,8 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) } | T_IF parenthesis_expr statement elseif_list else_single { @@ -918,9 +822,7 @@ unticked_statement: } // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_IF parenthesis_expr ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' { @@ -934,18 +836,16 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $8) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $3.SkippedTokens) if $6 != nil { - yylex.(*Parser).setFreeFloating($6.(*ast.StmtAltElse).Stmt, token.End, append($7.Tokens, $8.Tokens...)) + yylex.(*Parser).setFreeFloating($6.(*ast.StmtAltElse).Stmt, token.End, append($7.SkippedTokens, $8.SkippedTokens...)) } else if len($5) > 0 { - yylex.(*Parser).setFreeFloating($5[len($5)-1].(*ast.StmtAltElseIf).Stmt, token.End, append($7.Tokens, $8.Tokens...)) + yylex.(*Parser).setFreeFloating($5[len($5)-1].(*ast.StmtAltElseIf).Stmt, token.End, append($7.SkippedTokens, $8.SkippedTokens...)) } else { - yylex.(*Parser).setFreeFloating(stmtsBrackets, token.End, append($7.Tokens, $8.Tokens...)) + yylex.(*Parser).setFreeFloating(stmtsBrackets, token.End, append($7.SkippedTokens, $8.SkippedTokens...)) } - yylex.(*Parser).setToken($$, token.SemiColon, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken($$, token.SemiColon, $8.SkippedTokens) } | T_WHILE parenthesis_expr while_statement { @@ -962,9 +862,7 @@ unticked_statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_DO statement T_WHILE parenthesis_expr ';' { @@ -974,12 +872,10 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($4, token.End, $5.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($4, token.End, $5.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $5.SkippedTokens) } | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement { @@ -1000,13 +896,11 @@ unticked_statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $9) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.For, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.InitExpr, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.CondExpr, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.IncExpr, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.For, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.InitExpr, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.CondExpr, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.IncExpr, $8.SkippedTokens) } | T_SWITCH parenthesis_expr switch_case_list { @@ -1025,9 +919,7 @@ unticked_statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_BREAK ';' { @@ -1037,11 +929,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | T_BREAK expr ';' { @@ -1051,11 +941,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_CONTINUE ';' { @@ -1065,11 +953,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | T_CONTINUE expr ';' { @@ -1079,11 +965,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_RETURN ';' { @@ -1093,11 +977,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | T_RETURN expr_without_variable ';' { @@ -1107,11 +989,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_RETURN variable ';' { @@ -1121,11 +1001,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | yield_expr ';' { @@ -1136,10 +1014,8 @@ unticked_statement: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | T_GLOBAL global_var_list ';' { @@ -1149,11 +1025,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.VarList, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.VarList, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_STATIC static_var_list ';' { @@ -1163,11 +1037,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.VarList, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.VarList, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_ECHO echo_expr_list ';' { @@ -1177,12 +1049,10 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Echo, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Echo, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_INLINE_HTML { @@ -1192,9 +1062,7 @@ unticked_statement: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | expr ';' { @@ -1205,10 +1073,8 @@ unticked_statement: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | T_UNSET '(' unset_variables ')' ';' { @@ -1218,13 +1084,11 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Unset, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.VarList, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.CloseParenthesisToken, $5.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Unset, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.VarList, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.CloseParenthesisToken, $5.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $5.SkippedTokens) } | T_FOREACH '(' variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { @@ -1256,15 +1120,13 @@ unticked_statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $8) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Foreach, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Foreach, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $4.SkippedTokens) if $6 != nil { yylex.(*Parser).setFreeFloatingTokens($$, token.Key, $6.GetNode().Tokens[token.Key]); delete($6.GetNode().Tokens, token.Key) } - yylex.(*Parser).setFreeFloating($$, token.Var, $7.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $7.SkippedTokens) } | T_FOREACH '(' expr_without_variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { @@ -1296,15 +1158,13 @@ unticked_statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $8) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Foreach, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Foreach, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $4.SkippedTokens) if $6 != nil { yylex.(*Parser).setFreeFloatingTokens($$, token.Key, $6.GetNode().Tokens[token.Key]); delete($6.GetNode().Tokens, token.Key) } - yylex.(*Parser).setFreeFloating($$, token.Var, $7.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $7.SkippedTokens) } | T_DECLARE '(' declare_list ')' declare_statement { @@ -1315,11 +1175,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Declare, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ConstList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Declare, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ConstList, $4.SkippedTokens) } | ';' { @@ -1329,10 +1187,8 @@ unticked_statement: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $1.SkippedTokens) } | T_TRY '{' inner_statement_list '}' catch_statement finally_statement { @@ -1346,11 +1202,9 @@ unticked_statement: } // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Try, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Try, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.SkippedTokens) } | T_THROW expr ';' { @@ -1360,11 +1214,9 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_GOTO T_STRING ';' { @@ -1376,12 +1228,10 @@ unticked_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(label, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Label, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(label, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Label, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } ; @@ -1389,8 +1239,6 @@ catch_statement: /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_CATCH '(' fully_qualified_class_name T_VARIABLE ')' '{' inner_statement_list '}' additional_catches { @@ -1405,14 +1253,12 @@ catch_statement: catchNode.GetNode().Position = position.NewTokensPosition($1, $8) // save comments - yylex.(*Parser).setFreeFloating(catchNode, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(catchNode, token.Catch, $2.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, $4.Tokens) - yylex.(*Parser).setFreeFloating(catchNode, token.Var, $5.Tokens) - yylex.(*Parser).setFreeFloating(catchNode, token.Cond, $6.Tokens) - yylex.(*Parser).setFreeFloating(catchNode, token.Stmts, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(catchNode, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(catchNode, token.Catch, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating(catchNode, token.Var, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating(catchNode, token.Cond, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating(catchNode, token.Stmts, $8.SkippedTokens) } ; @@ -1420,8 +1266,6 @@ finally_statement: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_FINALLY '{' inner_statement_list '}' { @@ -1431,11 +1275,9 @@ finally_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Finally, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Finally, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.SkippedTokens) } ; @@ -1443,14 +1285,10 @@ additional_catches: non_empty_additional_catches { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -1458,14 +1296,10 @@ non_empty_additional_catches: additional_catch { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_additional_catches additional_catch { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -1482,14 +1316,12 @@ additional_catch: $$.GetNode().Position = position.NewTokensPosition($1, $8) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Catch, $2.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Var, $5.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Cond, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Catch, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Var, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Cond, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $8.SkippedTokens) } ; @@ -1497,17 +1329,13 @@ unset_variables: unset_variable { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | unset_variables ',' unset_variable { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -1515,8 +1343,6 @@ unset_variable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -1524,8 +1350,6 @@ function_declaration_statement: unticked_function_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -1533,8 +1357,6 @@ class_declaration_statement: unticked_class_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -1571,19 +1393,17 @@ unticked_function_declaration_statement: $$.GetNode().Position = position.NewTokensPosition($1, $9) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) if $2 != nil { - yylex.(*Parser).setFreeFloating($$, token.Function, $2.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $3.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(name, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $3.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.Name, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ParamList, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Params, $7.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $9.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ParamList, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Params, $7.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $9.SkippedTokens) } ; @@ -1610,11 +1430,9 @@ unticked_class_declaration_statement: $$.GetNode().Position = position.NewNodeTokenPosition($1, $7) // save comments - yylex.(*Parser).setFreeFloating(name, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $5.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $7.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(name, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $7.SkippedTokens) } | interface_entry T_STRING interface_extends_list '{' class_statement_list '}' { @@ -1626,12 +1444,10 @@ unticked_class_declaration_statement: $$.GetNode().Position = position.NewTokensPosition($1, $6) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $6.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $6.SkippedTokens) } ; @@ -1645,9 +1461,7 @@ class_entry_type: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_ABSTRACT T_CLASS { @@ -1659,10 +1473,8 @@ class_entry_type: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.SkippedTokens) } | T_TRAIT { @@ -1672,9 +1484,7 @@ class_entry_type: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_FINAL T_CLASS { @@ -1686,10 +1496,8 @@ class_entry_type: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.SkippedTokens) } ; @@ -1697,8 +1505,6 @@ extends_from: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_EXTENDS fully_qualified_class_name { @@ -1708,9 +1514,7 @@ extends_from: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -1725,8 +1529,6 @@ interface_extends_list: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_EXTENDS interface_list { @@ -1736,9 +1538,7 @@ interface_extends_list: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -1746,8 +1546,6 @@ implements_list: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_IMPLEMENTS interface_list { @@ -1757,9 +1555,7 @@ implements_list: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -1767,17 +1563,13 @@ interface_list: fully_qualified_class_name { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | interface_list ',' fully_qualified_class_name { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -1785,17 +1577,13 @@ foreach_optional_arg: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_DOUBLE_ARROW foreach_variable { $$ = $2 // save comments - yylex.(*Parser).setFreeFloating($$, token.Key, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Key, $1.SkippedTokens) } ; @@ -1803,8 +1591,6 @@ foreach_variable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '&' variable { @@ -1814,9 +1600,7 @@ foreach_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_LIST '(' assignment_list ')' { @@ -1826,11 +1610,9 @@ foreach_variable: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.List, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.List, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.SkippedTokens) } ; @@ -1841,8 +1623,6 @@ for_statement: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' inner_statement_list T_ENDFOR ';' { @@ -1854,12 +1634,10 @@ for_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } ; @@ -1870,8 +1648,6 @@ foreach_statement: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' inner_statement_list T_ENDFOREACH ';' { @@ -1883,12 +1659,10 @@ foreach_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } ; @@ -1900,8 +1674,6 @@ declare_statement: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' inner_statement_list T_ENDDECLARE ';' { @@ -1913,12 +1685,10 @@ declare_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } ; @@ -1935,10 +1705,8 @@ declare_list: constant.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(constant, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(constant, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, $2.SkippedTokens) } | declare_list ',' T_STRING '=' static_scalar { @@ -1951,11 +1719,9 @@ declare_list: constant.GetNode().Position = position.NewTokenNodePosition($3, $5) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, $4.SkippedTokens) } ; @@ -1971,10 +1737,8 @@ switch_case_list: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(caseList, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(caseList, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $3.SkippedTokens) } | '{' ';' case_list '}' { @@ -1986,11 +1750,9 @@ switch_case_list: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating(caseList, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, $2.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(caseList, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $4.SkippedTokens) } | ':' case_list T_ENDSWITCH ';' { @@ -2002,12 +1764,10 @@ switch_case_list: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } | ':' ';' case_list T_ENDSWITCH ';' { @@ -2020,13 +1780,11 @@ switch_case_list: $$.GetNode().Position = position.NewTokensPosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, $2.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $5.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $5.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $5.SkippedTokens) } ; @@ -2035,8 +1793,6 @@ case_list: /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | case_list T_CASE expr case_separator inner_statement_list { @@ -2047,11 +1803,9 @@ case_list: _case.GetNode().Position = position.NewTokenNodeListPosition($2, $5) // save comments - yylex.(*Parser).setFreeFloating(_case, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(_case, token.Expr, $4.Tokens) - yylex.(*Parser).setToken(_case, token.CaseSeparator, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_case, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(_case, token.Expr, $4.SkippedTokens) + yylex.(*Parser).setToken(_case, token.CaseSeparator, $4.SkippedTokens) } | case_list T_DEFAULT case_separator inner_statement_list { @@ -2062,11 +1816,9 @@ case_list: _default.GetNode().Position = position.NewTokenNodeListPosition($2, $4) // save comments - yylex.(*Parser).setFreeFloating(_default, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(_default, token.Default, $3.Tokens) - yylex.(*Parser).setToken(_default, token.CaseSeparator, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_default, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(_default, token.Default, $3.SkippedTokens) + yylex.(*Parser).setToken(_default, token.CaseSeparator, $3.SkippedTokens) } ; @@ -2090,8 +1842,6 @@ while_statement: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' inner_statement_list T_ENDWHILE ';' { @@ -2103,12 +1853,10 @@ while_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } ; @@ -2118,8 +1866,6 @@ elseif_list: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | elseif_list T_ELSEIF parenthesis_expr statement { @@ -2130,9 +1876,7 @@ elseif_list: _elseIf.GetNode().Position = position.NewTokenNodePosition($2, $4) // save comments - yylex.(*Parser).setFreeFloating(_elseIf, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_elseIf, token.Start, $2.SkippedTokens) } ; @@ -2141,8 +1885,6 @@ new_elseif_list: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | new_elseif_list T_ELSEIF parenthesis_expr ':' inner_statement_list { @@ -2157,10 +1899,8 @@ new_elseif_list: _elseIf.GetNode().Position = position.NewTokenNodeListPosition($2, $5) // save comments - yylex.(*Parser).setFreeFloating(_elseIf, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_elseIf, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $4.SkippedTokens) } ; @@ -2169,8 +1909,6 @@ else_single: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_ELSE statement { @@ -2180,9 +1918,7 @@ else_single: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -2191,8 +1927,6 @@ new_else_single: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_ELSE ':' inner_statement_list { @@ -2206,10 +1940,8 @@ new_else_single: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $2.SkippedTokens) } ; @@ -2218,14 +1950,10 @@ parameter_list: non_empty_parameter_list { $$ = $1; - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2233,17 +1961,13 @@ non_empty_parameter_list: parameter { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_parameter_list ',' parameter { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -2256,18 +1980,18 @@ parameter: var variable ast.Vertex variable = &ast.ExprVariable{ast.Node{}, identifier} variable.GetNode().Position = position.NewTokenPosition($4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $4.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $4.SkippedTokens) if $3 != nil { variable = &ast.Variadic{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition($3, $4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $3.SkippedTokens) } if $2 != nil { variable = &ast.Reference{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition($2, $4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $2.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $2.SkippedTokens) } $$ = &ast.Parameter{ast.Node{}, $1, variable, nil} @@ -2281,8 +2005,6 @@ parameter: } else { $$.GetNode().Position = position.NewTokenPosition($4) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar { @@ -2292,19 +2014,19 @@ parameter: var variable ast.Vertex variable = &ast.ExprVariable{ast.Node{}, identifier} variable.GetNode().Position = position.NewTokenPosition($4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $4.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.End, $5.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.End, $5.SkippedTokens) if $3 != nil { variable = &ast.Variadic{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition($3, $4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $3.SkippedTokens) } if $2 != nil { variable = &ast.Reference{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition($2, $4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $2.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $2.SkippedTokens) } $$ = &ast.Parameter{ast.Node{}, $1, variable, $6} @@ -2318,8 +2040,6 @@ parameter: } else { $$.GetNode().Position = position.NewTokenNodePosition($4, $6) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2328,8 +2048,6 @@ optional_class_type: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_ARRAY { @@ -2339,9 +2057,7 @@ optional_class_type: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_CALLABLE { @@ -2351,15 +2067,11 @@ optional_class_type: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | fully_qualified_class_name { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2373,10 +2085,8 @@ function_call_parameter_list: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $2.SkippedTokens) } | '(' non_empty_function_call_parameter_list ')' { @@ -2386,10 +2096,8 @@ function_call_parameter_list: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | '(' yield_expr ')' { @@ -2401,10 +2109,8 @@ function_call_parameter_list: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } ; @@ -2413,17 +2119,13 @@ non_empty_function_call_parameter_list: function_call_parameter { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_function_call_parameter_list ',' function_call_parameter { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -2437,8 +2139,6 @@ function_call_parameter: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | variable { @@ -2449,8 +2149,6 @@ function_call_parameter: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '&' w_variable { @@ -2460,9 +2158,7 @@ function_call_parameter: $$.GetNode().Position = position.NewNodePosition($2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_ELLIPSIS expr { @@ -2472,9 +2168,7 @@ function_call_parameter: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -2484,15 +2178,11 @@ global_var_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | global_var { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2508,9 +2198,7 @@ global_var: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '$' r_variable { @@ -2520,9 +2208,7 @@ global_var: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '$' '{' expr '}' { @@ -2532,11 +2218,9 @@ global_var: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($3, token.Start, append($2.Tokens, $3.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens($3, token.End, append($3.GetNode().Tokens[token.End], $4.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($3, token.Start, append($2.SkippedTokens, $3.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens($3, token.End, append($3.GetNode().Tokens[token.End], $4.SkippedTokens...)) } ; @@ -2555,10 +2239,8 @@ static_var_list: staticVar.GetNode().Position = position.NewTokenPosition($3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(staticVar, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(staticVar, token.Start, $3.SkippedTokens) } | static_var_list ',' T_VARIABLE '=' static_scalar { @@ -2573,11 +2255,9 @@ static_var_list: staticVar.GetNode().Position = position.NewTokenNodePosition($3, $5) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(staticVar, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(staticVar, token.Var, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(staticVar, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(staticVar, token.Var, $4.SkippedTokens) } | T_VARIABLE { @@ -2592,9 +2272,7 @@ static_var_list: staticVar.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(staticVar, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(staticVar, token.Start, $1.SkippedTokens) } | T_VARIABLE '=' static_scalar { @@ -2609,10 +2287,8 @@ static_var_list: staticVar.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(staticVar, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(staticVar, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(staticVar, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(staticVar, token.Var, $2.SkippedTokens) } ; @@ -2621,14 +2297,10 @@ class_statement_list: class_statement_list class_statement { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2643,10 +2315,8 @@ class_statement: // save comments yylex.(*Parser).MoveFreeFloating($1[0], $$) - yylex.(*Parser).setFreeFloating($$, token.PropertyList, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.PropertyList, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | class_constant_declaration ';' { @@ -2656,16 +2326,12 @@ class_statement: $$.GetNode().Position = position.NewNodeTokenPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.ConstList, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.ConstList, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | trait_use_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | method_modifiers function is_reference T_STRING '(' parameter_list ')' method_body { @@ -2683,20 +2349,18 @@ class_statement: // save comments if len($1) > 0 { yylex.(*Parser).MoveFreeFloating($1[0], $$) - yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Start, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $2.SkippedTokens) } if $3 == nil { - yylex.(*Parser).setFreeFloating($$, token.Function, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $4.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Function, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Ampersand, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Ampersand, $4.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.Name, $5.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ParameterList, $7.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ParameterList, $7.SkippedTokens) } ; @@ -2709,9 +2373,7 @@ trait_use_statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -2719,17 +2381,13 @@ trait_list: fully_qualified_class_name { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | trait_list ',' fully_qualified_class_name { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -2741,10 +2399,8 @@ trait_adaptations: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $1.SkippedTokens) } | '{' trait_adaptation_list '}' { @@ -2753,10 +2409,8 @@ trait_adaptations: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AdaptationList, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AdaptationList, $3.SkippedTokens) } ; @@ -2764,14 +2418,10 @@ trait_adaptation_list: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_trait_adaptation_list { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2779,14 +2429,10 @@ non_empty_trait_adaptation_list: trait_adaptation_statement { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_trait_adaptation_list trait_adaptation_statement { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2796,20 +2442,16 @@ trait_adaptation_statement: $$ = $1; // save comments - yylex.(*Parser).setFreeFloating($$, token.NameList, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.NameList, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | trait_alias ';' { $$ = $1; // save comments - yylex.(*Parser).setFreeFloating($$, token.Alias, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Alias, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } ; @@ -2823,9 +2465,7 @@ trait_precedence: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) } ; @@ -2833,17 +2473,13 @@ trait_reference_list: fully_qualified_class_name { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | trait_reference_list ',' fully_qualified_class_name { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -2858,15 +2494,11 @@ trait_method_reference: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | trait_method_reference_fully_qualified { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2882,10 +2514,8 @@ trait_method_reference_fully_qualified: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $2.SkippedTokens) } ; @@ -2901,10 +2531,8 @@ trait_alias: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $4.SkippedTokens) } | trait_method_reference T_AS member_modifier { @@ -2915,9 +2543,7 @@ trait_alias: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) } ; @@ -2925,14 +2551,10 @@ trait_modifiers: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | member_modifier { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2945,10 +2567,8 @@ method_body: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $1.SkippedTokens) } | '{' inner_statement_list '}' { @@ -2958,10 +2578,8 @@ method_body: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) } ; @@ -2969,8 +2587,6 @@ variable_modifiers: non_empty_member_modifiers { $$ = $1; - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_VAR { @@ -2981,9 +2597,7 @@ variable_modifiers: modifier.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(modifier, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(modifier, token.Start, $1.SkippedTokens) } ; @@ -2991,14 +2605,10 @@ method_modifiers: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_member_modifiers { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3006,14 +2616,10 @@ non_empty_member_modifiers: member_modifier { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_member_modifiers member_modifier { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3026,9 +2632,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_PROTECTED { @@ -3038,9 +2642,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_PRIVATE { @@ -3050,9 +2652,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_STATIC { @@ -3062,9 +2662,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_ABSTRACT { @@ -3074,9 +2672,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_FINAL { @@ -3086,9 +2682,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -3106,10 +2700,8 @@ class_variable_declaration: property.GetNode().Position = position.NewTokenPosition($3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(property, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(property, token.Start, $3.SkippedTokens) } | class_variable_declaration ',' T_VARIABLE '=' static_scalar { @@ -3124,11 +2716,9 @@ class_variable_declaration: property.GetNode().Position = position.NewTokenNodePosition($3, $5) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(property, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(property, token.Var, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(property, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(property, token.Var, $4.SkippedTokens) } | T_VARIABLE { @@ -3143,9 +2733,7 @@ class_variable_declaration: property.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(property, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(property, token.Start, $1.SkippedTokens) } | T_VARIABLE '=' static_scalar { @@ -3160,10 +2748,8 @@ class_variable_declaration: property.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(property, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(property, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(property, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(property, token.Var, $2.SkippedTokens) } ; @@ -3183,11 +2769,9 @@ class_constant_declaration: $1.GetNode().Position = position.NewNodesPosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating(lastConst, token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastConst, token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, $4.SkippedTokens) } | T_CONST T_STRING '=' static_scalar { @@ -3201,11 +2785,9 @@ class_constant_declaration: $$.GetNode().Position = position.NewTokenNodePosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(constant, token.Name, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(constant, token.Name, $3.SkippedTokens) } ; @@ -3215,15 +2797,11 @@ echo_expr_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | expr { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3232,14 +2810,10 @@ for_expr: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_for_expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3249,15 +2823,11 @@ non_empty_for_expr: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | expr { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3265,14 +2835,10 @@ chaining_method_or_property: chaining_method_or_property variable_property { $$ = append($1, $2...) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | variable_property { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3286,10 +2852,8 @@ chaining_dereference: fetch.GetNode().Position = position.NewNodePosition($3) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.SkippedTokens) } | '[' dim_offset ']' { @@ -3300,10 +2864,8 @@ chaining_dereference: fetch.GetNode().Position = position.NewNodePosition($2) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $3.SkippedTokens) } ; @@ -3311,20 +2873,14 @@ chaining_instance_call: chaining_dereference chaining_method_or_property { $$ = append($1, $2...) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | chaining_dereference { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | chaining_method_or_property { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3332,14 +2888,10 @@ instance_call: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | chaining_instance_call { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3356,9 +2908,7 @@ new_expr: } // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -3373,12 +2923,10 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $6) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, $2.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Var, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Var, $5.SkippedTokens) } | variable '=' expr { @@ -3389,9 +2937,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable '=' '&' variable { @@ -3402,10 +2948,8 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Equal, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Equal, $3.SkippedTokens) } | variable '=' '&' T_NEW class_name_reference ctor_arguments { @@ -3428,11 +2972,9 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Equal, $3.Tokens) - yylex.(*Parser).setFreeFloating(_new, token.Start, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Equal, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(_new, token.Start, $4.SkippedTokens) } | T_CLONE expr { @@ -3442,9 +2984,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | variable T_PLUS_EQUAL expr { @@ -3454,9 +2994,7 @@ expr_without_variable: $$.GetNode().Position = position.NewNodesPosition($1, $3) yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_MINUS_EQUAL expr { @@ -3467,9 +3005,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_MUL_EQUAL expr { @@ -3480,9 +3016,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_POW_EQUAL expr { @@ -3493,9 +3027,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_DIV_EQUAL expr { @@ -3506,9 +3038,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_CONCAT_EQUAL expr { @@ -3519,9 +3049,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_MOD_EQUAL expr { @@ -3532,9 +3060,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_AND_EQUAL expr { @@ -3545,9 +3071,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_OR_EQUAL expr { @@ -3558,9 +3082,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_XOR_EQUAL expr { @@ -3571,9 +3093,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_SL_EQUAL expr { @@ -3584,9 +3104,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_SR_EQUAL expr { @@ -3597,9 +3115,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | rw_variable T_INC { @@ -3610,9 +3126,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | T_INC rw_variable { @@ -3622,9 +3136,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | rw_variable T_DEC { @@ -3635,9 +3147,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | T_DEC rw_variable { @@ -3647,9 +3157,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | expr T_BOOLEAN_OR expr { @@ -3660,9 +3168,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_BOOLEAN_AND expr { @@ -3673,9 +3179,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_LOGICAL_OR expr { @@ -3686,9 +3190,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_LOGICAL_AND expr { @@ -3699,9 +3201,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_LOGICAL_XOR expr { @@ -3712,9 +3212,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '|' expr { @@ -3725,9 +3223,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '&' expr { @@ -3738,9 +3234,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '^' expr { @@ -3751,9 +3245,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '.' expr { @@ -3764,9 +3256,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '+' expr { @@ -3777,9 +3267,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '-' expr { @@ -3790,9 +3278,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '*' expr { @@ -3803,9 +3289,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_POW expr { @@ -3816,9 +3300,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '/' expr { @@ -3829,9 +3311,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '%' expr { @@ -3842,9 +3322,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_SL expr { @@ -3855,9 +3333,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_SR expr { @@ -3868,9 +3344,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | '+' expr %prec T_INC { @@ -3880,9 +3354,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '-' expr %prec T_INC { @@ -3892,9 +3364,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '!' expr { @@ -3904,9 +3374,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '~' expr { @@ -3916,9 +3384,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | expr T_IS_IDENTICAL expr { @@ -3929,9 +3395,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_NOT_IDENTICAL expr { @@ -3942,9 +3406,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_EQUAL expr { @@ -3955,9 +3417,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_NOT_EQUAL expr { @@ -3968,10 +3428,8 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.Equal, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.Equal, $2.SkippedTokens) } | expr '<' expr { @@ -3982,9 +3440,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_SMALLER_OR_EQUAL expr { @@ -3995,9 +3451,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '>' expr { @@ -4008,9 +3462,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_GREATER_OR_EQUAL expr { @@ -4021,9 +3473,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_INSTANCEOF class_name_reference { @@ -4034,29 +3484,23 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | parenthesis_expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | new_expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '(' new_expr ')' instance_call { $$ = $2 // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.Tokens, $$.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.Tokens...)) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.SkippedTokens, $$.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.SkippedTokens...)) for _, n := range($4) { switch nn := n.(type) { @@ -4079,8 +3523,6 @@ expr_without_variable: // save position $$.GetNode().Position = position.NewNodesPosition($$, n) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr '?' expr ':' expr { @@ -4091,10 +3533,8 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Cond, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.True, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.True, $4.SkippedTokens) } | expr '?' ':' expr { @@ -4105,16 +3545,12 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Cond, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.True, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.True, $3.SkippedTokens) } | internal_functions_in_yacc { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_INT_CAST expr { @@ -4124,10 +3560,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_DOUBLE_CAST expr { @@ -4137,10 +3571,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_STRING_CAST expr { @@ -4150,10 +3582,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_ARRAY_CAST expr { @@ -4163,10 +3593,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_OBJECT_CAST expr { @@ -4176,10 +3604,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_BOOL_CAST expr { @@ -4189,10 +3615,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_UNSET_CAST expr { @@ -4202,10 +3626,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_EXIT exit_expr { @@ -4223,9 +3645,7 @@ expr_without_variable: } // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '@' expr { @@ -4235,27 +3655,19 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | combined_scalar_offset { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | combined_scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '`' backticks_expr '`' { @@ -4265,9 +3677,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_PRINT expr { @@ -4277,9 +3687,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_YIELD { @@ -4289,9 +3697,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { @@ -4301,23 +3707,21 @@ expr_without_variable: $$.GetNode().Position = position.NewTokensPosition($1, $9) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) if $2 == nil { - yylex.(*Parser).setFreeFloating($$, token.Function, $3.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $3.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Function, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Ampersand, $3.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Ampersand, $3.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.ParameterList, $5.Tokens) - yylex.(*Parser).setFreeFloating($$, token.LexicalVars, $7.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $9.Tokens) + yylex.(*Parser).setFreeFloating($$, token.ParameterList, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.LexicalVars, $7.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $9.SkippedTokens) // normalize if $6 == nil { yylex.(*Parser).setFreeFloatingTokens($$, token.Params, $$.GetNode().Tokens[token.LexicalVars]); delete($$.GetNode().Tokens, token.LexicalVars) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_STATIC function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { @@ -4327,24 +3731,22 @@ expr_without_variable: $$.GetNode().Position = position.NewTokensPosition($1, $10) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Static, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Static, $2.SkippedTokens) if $3 == nil { - yylex.(*Parser).setFreeFloating($$, token.Function, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $4.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Function, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Ampersand, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Ampersand, $4.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.ParameterList, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.LexicalVars, $8.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $10.Tokens) + yylex.(*Parser).setFreeFloating($$, token.ParameterList, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.LexicalVars, $8.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $10.SkippedTokens) // normalize if $7 == nil { yylex.(*Parser).setFreeFloatingTokens($$, token.Params, $$.GetNode().Tokens[token.LexicalVars]); delete($$.GetNode().Tokens, token.LexicalVars) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4357,9 +3759,7 @@ yield_expr: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_YIELD variable { @@ -4369,9 +3769,7 @@ yield_expr: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { @@ -4381,10 +3779,8 @@ yield_expr: $$.GetNode().Position = position.NewTokenNodePosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) } | T_YIELD expr T_DOUBLE_ARROW variable { @@ -4394,10 +3790,8 @@ yield_expr: $$.GetNode().Position = position.NewTokenNodePosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) } ; @@ -4410,10 +3804,8 @@ combined_scalar_offset: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | combined_scalar_offset '[' dim_offset ']' { @@ -4423,10 +3815,8 @@ combined_scalar_offset: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { @@ -4438,11 +3828,9 @@ combined_scalar_offset: $$.GetNode().Position = position.NewNodeTokenPosition(str, $4) // save comments - yylex.(*Parser).setFreeFloating(str, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(str, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | general_constant '[' dim_offset ']' { @@ -4452,10 +3840,8 @@ combined_scalar_offset: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } ; @@ -4468,11 +3854,9 @@ combined_scalar: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Array, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Array, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.SkippedTokens) } | '[' array_pair_list ']' { @@ -4482,10 +3866,8 @@ combined_scalar: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $3.SkippedTokens) } ; @@ -4500,8 +3882,6 @@ lexical_vars: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_USE '(' lexical_var_list ')' { @@ -4511,11 +3891,9 @@ lexical_vars: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Use, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.LexicalVarList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Use, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.LexicalVarList, $4.SkippedTokens) } ; @@ -4531,10 +3909,8 @@ lexical_var_list: variable.GetNode().Position = position.NewTokenPosition($3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $3.SkippedTokens) } | lexical_var_list ',' '&' T_VARIABLE { @@ -4549,11 +3925,9 @@ lexical_var_list: reference.GetNode().Position = position.NewTokensPosition($3, $4) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(reference, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(reference, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $4.SkippedTokens) } | T_VARIABLE { @@ -4566,9 +3940,7 @@ lexical_var_list: variable.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(variable, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(variable, token.Start, $1.SkippedTokens) } | '&' T_VARIABLE { @@ -4583,10 +3955,8 @@ lexical_var_list: reference.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating(reference, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(reference, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $2.SkippedTokens) } ; @@ -4599,8 +3969,6 @@ function_call: // save position name.GetNode().Position = position.NewNodeListPosition($1) $$.GetNode().Position = position.NewNodesPosition(name, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_NAMESPACE T_NS_SEPARATOR namespace_name function_call_parameter_list { @@ -4612,10 +3980,8 @@ function_call: $$.GetNode().Position = position.NewNodesPosition(funcName, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(funcName, token.Namespace, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(funcName, token.Namespace, $2.SkippedTokens) } | T_NS_SEPARATOR namespace_name function_call_parameter_list { @@ -4627,9 +3993,7 @@ function_call: $$.GetNode().Position = position.NewNodesPosition(funcName, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { @@ -4640,9 +4004,7 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { @@ -4653,9 +4015,7 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { @@ -4666,9 +4026,7 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { @@ -4679,9 +4037,7 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | variable_without_objects function_call_parameter_list { @@ -4692,8 +4048,6 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4706,9 +4060,7 @@ class_name: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | namespace_name { @@ -4716,8 +4068,6 @@ class_name: // save position $$.GetNode().Position = position.NewNodeListPosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_NAMESPACE T_NS_SEPARATOR namespace_name { @@ -4727,10 +4077,8 @@ class_name: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.SkippedTokens) } | T_NS_SEPARATOR namespace_name { @@ -4740,9 +4088,7 @@ class_name: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -4753,8 +4099,6 @@ fully_qualified_class_name: // save position $$.GetNode().Position = position.NewNodeListPosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_NAMESPACE T_NS_SEPARATOR namespace_name { @@ -4764,10 +4108,8 @@ fully_qualified_class_name: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.SkippedTokens) } | T_NS_SEPARATOR namespace_name { @@ -4777,9 +4119,7 @@ fully_qualified_class_name: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -4787,14 +4127,10 @@ class_name_reference: class_name { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | dynamic_class_name_reference { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4804,7 +4140,7 @@ dynamic_class_name_reference: $$ = $1 // save comments - yylex.(*Parser).setFreeFloating($3[0], token.Var, $2.Tokens) + yylex.(*Parser).setFreeFloating($3[0], token.Var, $2.SkippedTokens) for _, n := range($3) { switch nn := n.(type) { @@ -4837,14 +4173,10 @@ dynamic_class_name_reference: yylex.(*Parser).MoveFreeFloating(nn.Var, $$) } } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | base_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4853,14 +4185,10 @@ dynamic_class_name_variable_properties: dynamic_class_name_variable_properties dynamic_class_name_variable_property { $$ = append($1, $2...) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4871,9 +4199,7 @@ dynamic_class_name_variable_property: $$ = $2 // save comments - yylex.(*Parser).setFreeFloating($2[0], token.Var, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($2[0], token.Var, $1.SkippedTokens) } ; @@ -4881,8 +4207,6 @@ exit_expr: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '(' ')' { @@ -4892,16 +4216,12 @@ exit_expr: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $2.SkippedTokens) } | parenthesis_expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4909,8 +4229,6 @@ backticks_expr: /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_ENCAPSED_AND_WHITESPACE { @@ -4919,14 +4237,10 @@ backticks_expr: // save position part.GetNode().Position = position.NewTokenPosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | encaps_list { $$ = $1; - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4934,14 +4248,10 @@ ctor_arguments: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | function_call_parameter_list { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4954,9 +4264,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_DNUMBER { @@ -4966,9 +4274,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_CONSTANT_ENCAPSED_STRING { @@ -4978,9 +4284,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_LINE { @@ -4990,9 +4294,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_FILE { @@ -5002,9 +4304,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_DIR { @@ -5014,9 +4314,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_TRAIT_C { @@ -5026,9 +4324,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_METHOD_C { @@ -5038,9 +4334,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_FUNC_C { @@ -5050,9 +4344,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_NS_C { @@ -5062,9 +4354,7 @@ common_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { @@ -5076,9 +4366,7 @@ common_scalar: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_START_HEREDOC T_END_HEREDOC { @@ -5088,9 +4376,7 @@ common_scalar: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -5106,10 +4392,8 @@ static_class_constant: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $3.SkippedTokens) } ; @@ -5117,8 +4401,6 @@ static_scalar: static_scalar_value { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5126,14 +4408,10 @@ static_scalar_value: common_scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | static_class_name_scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | namespace_name { @@ -5143,8 +4421,6 @@ static_scalar_value: // save position name.GetNode().Position = position.NewNodeListPosition($1) $$.GetNode().Position = position.NewNodePosition(name) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_NAMESPACE T_NS_SEPARATOR namespace_name { @@ -5156,10 +4432,8 @@ static_scalar_value: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.SkippedTokens) } | T_NS_SEPARATOR namespace_name { @@ -5171,9 +4445,7 @@ static_scalar_value: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_ARRAY '(' static_array_pair_list ')' { @@ -5183,11 +4455,9 @@ static_scalar_value: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Array, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Array, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.SkippedTokens) } | '[' static_array_pair_list ']' { @@ -5197,16 +4467,12 @@ static_scalar_value: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $3.SkippedTokens) } | static_class_constant { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_CLASS_C { @@ -5216,15 +4482,11 @@ static_scalar_value: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | static_operation { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5237,10 +4499,8 @@ static_operation: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | static_scalar_value '+' static_scalar_value { @@ -5251,9 +4511,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '-' static_scalar_value { @@ -5264,9 +4522,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '*' static_scalar_value { @@ -5277,9 +4533,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_POW static_scalar_value { @@ -5290,9 +4544,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '/' static_scalar_value { @@ -5303,9 +4555,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '%' static_scalar_value { @@ -5316,9 +4566,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | '!' static_scalar_value { @@ -5328,9 +4576,7 @@ static_operation: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '~' static_scalar_value { @@ -5340,9 +4586,7 @@ static_operation: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | static_scalar_value '|' static_scalar_value { @@ -5353,9 +4597,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '&' static_scalar_value { @@ -5366,9 +4608,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '^' static_scalar_value { @@ -5379,9 +4619,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_SL static_scalar_value { @@ -5392,9 +4630,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_SR static_scalar_value { @@ -5405,9 +4641,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '.' static_scalar_value { @@ -5418,9 +4652,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_LOGICAL_XOR static_scalar_value { @@ -5431,9 +4663,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_LOGICAL_AND static_scalar_value { @@ -5444,9 +4674,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_LOGICAL_OR static_scalar_value { @@ -5457,9 +4685,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_BOOLEAN_AND static_scalar_value { @@ -5470,9 +4696,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_BOOLEAN_OR static_scalar_value { @@ -5483,9 +4707,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_IS_IDENTICAL static_scalar_value { @@ -5496,9 +4718,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { @@ -5509,9 +4729,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_IS_EQUAL static_scalar_value { @@ -5522,9 +4740,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { @@ -5535,10 +4751,8 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.Equal, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.Equal, $2.SkippedTokens) } | static_scalar_value '<' static_scalar_value { @@ -5549,9 +4763,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '>' static_scalar_value { @@ -5562,9 +4774,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { @@ -5575,9 +4785,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { @@ -5588,9 +4796,7 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | static_scalar_value '?' ':' static_scalar_value { @@ -5601,10 +4807,8 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Cond, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.True, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.True, $3.SkippedTokens) } | static_scalar_value '?' static_scalar_value ':' static_scalar_value { @@ -5615,10 +4819,8 @@ static_operation: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Cond, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.True, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.True, $4.SkippedTokens) } | '+' static_scalar_value { @@ -5628,9 +4830,7 @@ static_operation: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '-' static_scalar_value { @@ -5640,19 +4840,15 @@ static_operation: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '(' static_scalar_value ')' { $$ = $2 // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.Tokens, $$.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.SkippedTokens, $$.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.SkippedTokens...)) } ; @@ -5660,8 +4856,6 @@ general_constant: class_constant { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | namespace_name { @@ -5671,8 +4865,6 @@ general_constant: // save position name.GetNode().Position = position.NewNodeListPosition($1) $$.GetNode().Position = position.NewNodePosition(name) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_NAMESPACE T_NS_SEPARATOR namespace_name { @@ -5684,10 +4876,8 @@ general_constant: $$.GetNode().Position = position.NewNodePosition(name) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Namespace, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Namespace, $2.SkippedTokens) } | T_NS_SEPARATOR namespace_name { @@ -5699,9 +4889,7 @@ general_constant: $$.GetNode().Position = position.NewNodePosition(name) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -5716,27 +4904,19 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | general_constant { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | class_name_scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | common_scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '"' encaps_list '"' { @@ -5746,9 +4926,7 @@ scalar: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_START_HEREDOC encaps_list T_END_HEREDOC { @@ -5758,9 +4936,7 @@ scalar: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_CLASS_C { @@ -5770,9 +4946,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -5780,8 +4954,6 @@ static_array_pair_list: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_static_array_pair_list possible_comma { @@ -5789,10 +4961,8 @@ static_array_pair_list: // save comments if $2 != nil { - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5817,11 +4987,9 @@ non_empty_static_array_pair_list: arrayItem.GetNode().Position = position.NewNodesPosition($3, $5) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) yylex.(*Parser).MoveFreeFloating($3, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $4.SkippedTokens) } | non_empty_static_array_pair_list ',' static_scalar_value { @@ -5832,10 +5000,8 @@ non_empty_static_array_pair_list: arrayItem.GetNode().Position = position.NewNodePosition($3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) yylex.(*Parser).MoveFreeFloating($3, arrayItem) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | static_scalar_value T_DOUBLE_ARROW static_scalar_value { @@ -5847,9 +5013,7 @@ non_empty_static_array_pair_list: // save comments yylex.(*Parser).MoveFreeFloating($1, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $2.SkippedTokens) } | static_scalar_value { @@ -5861,8 +5025,6 @@ non_empty_static_array_pair_list: // save comments yylex.(*Parser).MoveFreeFloating($1, arrayItem) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5870,14 +5032,10 @@ expr: r_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr_without_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5890,10 +5048,8 @@ parenthesis_expr: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | '(' yield_expr ')' { @@ -5903,10 +5059,8 @@ parenthesis_expr: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } ; @@ -5915,8 +5069,6 @@ r_variable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5925,8 +5077,6 @@ w_variable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5934,8 +5084,6 @@ rw_variable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5950,7 +5098,7 @@ variable: } // save comments - yylex.(*Parser).setFreeFloating($3[0], token.Var, $2.Tokens) + yylex.(*Parser).setFreeFloating($3[0], token.Var, $2.SkippedTokens) for _, n := range($3) { switch nn := n.(type) { @@ -5995,14 +5143,10 @@ variable: yylex.(*Parser).MoveFreeFloating(nn.Var, $$) } } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | base_variable_with_function_calls { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6010,14 +5154,10 @@ variable_properties: variable_properties variable_property { $$ = append($1, $2...) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6033,9 +5173,7 @@ variable_property: $$ = $2 // save comments - yylex.(*Parser).setFreeFloating($2[0], token.Var, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($2[0], token.Var, $1.SkippedTokens) } ; @@ -6049,10 +5187,8 @@ array_method_dereference: fetch.GetNode().Position = position.NewNodePosition($3) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.SkippedTokens) } | method '[' dim_offset ']' { @@ -6063,10 +5199,8 @@ array_method_dereference: fetch.GetNode().Position = position.NewNodePosition($3) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.SkippedTokens) } ; @@ -6077,8 +5211,6 @@ method: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6086,20 +5218,14 @@ method_or_not: method { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | array_method_dereference { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6107,8 +5233,6 @@ variable_without_objects: reference_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | simple_indirect_reference reference_variable { @@ -6119,8 +5243,6 @@ variable_without_objects: } $$ = $1.all[0] - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6134,9 +5256,7 @@ static_member: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { @@ -6147,9 +5267,7 @@ static_member: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; @@ -6157,8 +5275,6 @@ variable_class_name: reference_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6171,10 +5287,8 @@ array_function_dereference: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | function_call '[' dim_offset ']' { @@ -6184,10 +5298,8 @@ array_function_dereference: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } ; @@ -6195,20 +5307,14 @@ base_variable_with_function_calls: base_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | array_function_dereference { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | function_call { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6217,8 +5323,6 @@ base_variable: reference_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | simple_indirect_reference reference_variable { @@ -6229,14 +5333,10 @@ base_variable: } $$ = $1.all[0] - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | static_member { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6249,10 +5349,8 @@ reference_variable: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | reference_variable '{' expr '}' { @@ -6262,16 +5360,12 @@ reference_variable: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | compound_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6287,9 +5381,7 @@ compound_variable: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '$' '{' expr '}' { @@ -6299,11 +5391,9 @@ compound_variable: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($3, token.Start, append($2.Tokens, $3.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens($3, token.End, append($3.GetNode().Tokens[token.End], $4.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($3, token.Start, append($2.SkippedTokens, $3.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens($3, token.End, append($3.GetNode().Tokens[token.End], $4.SkippedTokens...)) } ; @@ -6311,14 +5401,10 @@ dim_offset: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6327,8 +5413,6 @@ object_property: object_dim_list { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | variable_without_objects { @@ -6337,8 +5421,6 @@ object_property: // save position fetch.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6352,10 +5434,8 @@ object_dim_list: fetch.GetNode().Position = position.NewNodePosition($3) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.SkippedTokens) } | object_dim_list '{' expr '}' { @@ -6366,10 +5446,8 @@ object_dim_list: fetch.GetNode().Position = position.NewNodePosition($3) // save comments - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(fetch, token.Expr, $4.SkippedTokens) } | variable_name { @@ -6378,8 +5456,6 @@ object_dim_list: // save position fetch.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6392,9 +5468,7 @@ variable_name: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '{' expr '}' { @@ -6404,10 +5478,8 @@ variable_name: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.Tokens, $$.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.SkippedTokens, $$.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.SkippedTokens...)) } ; @@ -6421,9 +5493,7 @@ simple_indirect_reference: n.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(n, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(n, token.Start, $1.SkippedTokens) } | simple_indirect_reference '$' { @@ -6438,9 +5508,7 @@ simple_indirect_reference: n.GetNode().Position = position.NewTokenPosition($2) // save comments - yylex.(*Parser).setFreeFloating(n, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(n, token.Start, $2.SkippedTokens) } ; @@ -6454,9 +5522,7 @@ assignment_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | assignment_list_element { @@ -6465,8 +5531,6 @@ assignment_list: } else { $$ = []ast.Vertex{$1} } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6481,8 +5545,6 @@ assignment_list_element: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_LIST '(' assignment_list ')' { @@ -6494,17 +5556,13 @@ assignment_list_element: $$.GetNode().Position = position.NewNodePosition(listNode) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, $2.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $4.SkippedTokens) } | /* empty */ { $$ = &ast.ExprArrayItem{ast.Node{}, false, nil, nil} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6513,8 +5571,6 @@ array_pair_list: /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_array_pair_list possible_comma { @@ -6526,10 +5582,8 @@ array_pair_list: // save comments if $2 != nil { - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -6543,11 +5597,9 @@ non_empty_array_pair_list: arrayItem.GetNode().Position = position.NewNodesPosition($3, $5) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) yylex.(*Parser).MoveFreeFloating($3, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $4.SkippedTokens) } | non_empty_array_pair_list ',' expr { @@ -6558,10 +5610,8 @@ non_empty_array_pair_list: arrayItem.GetNode().Position = position.NewNodePosition($3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) yylex.(*Parser).MoveFreeFloating($3, arrayItem) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr T_DOUBLE_ARROW expr { @@ -6573,9 +5623,7 @@ non_empty_array_pair_list: // save comments yylex.(*Parser).MoveFreeFloating($1, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $2.SkippedTokens) } | expr { @@ -6587,8 +5635,6 @@ non_empty_array_pair_list: // save comments yylex.(*Parser).MoveFreeFloating($1, arrayItem) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { @@ -6601,12 +5647,10 @@ non_empty_array_pair_list: arrayItem.GetNode().Position = position.NewNodesPosition($3, $6) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) yylex.(*Parser).MoveFreeFloating($3, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $4.Tokens) - yylex.(*Parser).setFreeFloating(reference, token.Start, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating(reference, token.Start, $5.SkippedTokens) } | non_empty_array_pair_list ',' '&' w_variable { @@ -6619,10 +5663,8 @@ non_empty_array_pair_list: arrayItem.GetNode().Position = position.NewTokenNodePosition($3, $4) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(arrayItem, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(arrayItem, token.Start, $3.SkippedTokens) } | expr T_DOUBLE_ARROW '&' w_variable { @@ -6636,10 +5678,8 @@ non_empty_array_pair_list: // save comments yylex.(*Parser).MoveFreeFloating($1, arrayItem) - yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $2.Tokens) - yylex.(*Parser).setFreeFloating(reference, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(reference, token.Start, $3.SkippedTokens) } | '&' w_variable { @@ -6652,9 +5692,7 @@ non_empty_array_pair_list: arrayItem.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating(arrayItem, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(arrayItem, token.Start, $1.SkippedTokens) } ; @@ -6662,8 +5700,6 @@ encaps_list: encaps_list encaps_var { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | encaps_list T_ENCAPSED_AND_WHITESPACE { @@ -6674,15 +5710,11 @@ encaps_list: encapsed.GetNode().Position = position.NewTokenPosition($2) // save comments - yylex.(*Parser).setFreeFloating(encapsed, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(encapsed, token.Start, $2.SkippedTokens) } | encaps_var { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_ENCAPSED_AND_WHITESPACE encaps_var { @@ -6693,9 +5725,7 @@ encaps_list: encapsed.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(encapsed, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(encapsed, token.Start, $1.SkippedTokens) } ; @@ -6710,9 +5740,7 @@ encaps_var: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_VARIABLE '[' encaps_var_offset ']' { @@ -6726,10 +5754,8 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | T_VARIABLE T_OBJECT_OPERATOR T_STRING { @@ -6745,10 +5771,8 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloating(fetch, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(fetch, token.Start, $3.SkippedTokens) } | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { @@ -6760,10 +5784,8 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setToken($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { @@ -6777,10 +5799,8 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setToken($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { @@ -6794,22 +5814,18 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $6) // save comments - yylex.(*Parser).setToken(variable, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $3.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $5.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $6.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(variable, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $3.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $5.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $6.SkippedTokens) } | T_CURLY_OPEN variable '}' { $$ = $2; // save comments - yylex.(*Parser).setToken($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } ; @@ -6822,9 +5838,7 @@ encaps_var_offset: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_NUM_STRING { @@ -6839,9 +5853,7 @@ encaps_var_offset: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_VARIABLE { @@ -6853,9 +5865,7 @@ encaps_var_offset: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -6868,11 +5878,9 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Isset, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.VarList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Isset, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.VarList, $4.SkippedTokens) } | T_EMPTY '(' variable ')' { @@ -6884,11 +5892,9 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) } | T_EMPTY '(' expr ')' { @@ -6900,11 +5906,9 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) } | T_INCLUDE expr { @@ -6914,9 +5918,7 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_INCLUDE_ONCE expr { @@ -6926,9 +5928,7 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_EVAL '(' expr ')' { @@ -6940,11 +5940,9 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) } | T_REQUIRE expr { @@ -6954,9 +5952,7 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_REQUIRE_ONCE expr { @@ -6966,9 +5962,7 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -6976,17 +5970,13 @@ isset_variables: isset_variable { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | isset_variables ',' isset_variable { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -6994,14 +5984,10 @@ isset_variable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr_without_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -7017,10 +6003,8 @@ class_constant: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $3.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { @@ -7033,10 +6017,8 @@ class_constant: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $3.SkippedTokens) } ; @@ -7052,10 +6034,8 @@ static_class_name_scalar: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $3.SkippedTokens) } ; @@ -7071,10 +6051,8 @@ class_name_scalar: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $3.SkippedTokens) } ; diff --git a/internal/php5/php5_bench_test.go b/internal/php5/php5_bench_test.go index 49efe90..3cbd675 100644 --- a/internal/php5/php5_bench_test.go +++ b/internal/php5/php5_bench_test.go @@ -414,7 +414,7 @@ CAD; ` for n := 0; n < b.N; n++ { - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() } diff --git a/internal/php5/php5_test.go b/internal/php5/php5_test.go index b1a1ada..051917b 100644 --- a/internal/php5/php5_test.go +++ b/internal/php5/php5_test.go @@ -22212,11 +22212,12 @@ func TestPhp5(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22351,11 +22352,12 @@ func TestPhp5Strings(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22579,11 +22581,12 @@ CAD; }, } - lexer := scanner.NewLexer([]byte(src), "5.6", false, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() actual := php5parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22606,7 +22609,7 @@ func TestPhp5ControlCharsErrors(t *testing.T) { parserErrors = append(parserErrors, e) } - lexer := scanner.NewLexer([]byte(src), "5.6", false, errorHandlerFunc) + lexer := scanner.NewLexer([]byte(src), "5.6", errorHandlerFunc) php5parser := php5.NewParser(lexer, errorHandlerFunc) php5parser.Parse() assert.DeepEqual(t, expected, parserErrors) diff --git a/internal/php7/parser.go b/internal/php7/parser.go index a910f9c..32f3fa5 100644 --- a/internal/php7/parser.go +++ b/internal/php7/parser.go @@ -12,7 +12,7 @@ import ( // Parser structure type Parser struct { Lexer *scanner.Lexer - currentToken *scanner.Token + currentToken *token.Token rootNode ast.Vertex errHandlerFunc func(*errors.Error) } @@ -39,8 +39,7 @@ func (p *Parser) Error(msg string) { return } - var pos = p.currentToken.Position - p.errHandlerFunc(errors.NewError(msg, &pos)) + p.errHandlerFunc(errors.NewError(msg, p.currentToken.Position)) } // Parse the php7 Parser entrypoint @@ -82,7 +81,7 @@ func (p *Parser) MoveFreeFloating(src ast.Vertex, dst ast.Vertex) { delete(src.GetNode().Tokens, token.Start) } -func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []token.Token) { +func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []*token.Token) { if len(tokens) == 0 { return } @@ -98,7 +97,7 @@ func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []to } } -func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, tokens []token.Token) { +func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, tokens []*token.Token) { if len(tokens) == 0 { return } @@ -108,14 +107,14 @@ func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, token *dstCollection = make(token.Collection) } - (*dstCollection)[pos] = make([]token.Token, 0) + (*dstCollection)[pos] = make([]*token.Token, 0) for _, v := range tokens { (*dstCollection)[pos] = append((*dstCollection)[pos], v) } } -func (p *Parser) setToken(dst ast.Vertex, pos token.Position, tokens []token.Token) { +func (p *Parser) setToken(dst ast.Vertex, pos token.Position, tokens []*token.Token) { if len(tokens) == 0 { return } @@ -141,7 +140,7 @@ func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast. } if semiColon[0].Value[0] == ';' { - p.setFreeFloatingTokens(prevNode, token.SemiColon, []token.Token{ + p.setFreeFloatingTokens(prevNode, token.SemiColon, []*token.Token{ { ID: token.ID(';'), Value: semiColon[0].Value[0:1], @@ -155,28 +154,18 @@ func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast. tlen = 3 } - phpCloseTag := []token.Token{} + phpCloseTag := []*token.Token{} if vlen-tlen > 1 { - phpCloseTag = append(phpCloseTag, token.Token{ + phpCloseTag = append(phpCloseTag, &token.Token{ ID: token.T_WHITESPACE, Value: semiColon[0].Value[1 : vlen-tlen], }) } - phpCloseTag = append(phpCloseTag, token.Token{ + phpCloseTag = append(phpCloseTag, &token.Token{ ID: T_CLOSE_TAG, Value: semiColon[0].Value[vlen-tlen:], }) p.setFreeFloatingTokens(htmlNode, token.Start, append(phpCloseTag, htmlNode.GetNode().Tokens[token.Start]...)) } - -func (p *Parser) returnTokenToPool(yyDollar []yySymType, yyVAL *yySymType) { - for i := 1; i < len(yyDollar); i++ { - if yyDollar[i].token != nil { - p.Lexer.ReturnTokenToPool(yyDollar[i].token) - } - yyDollar[i].token = nil - } - yyVAL.token = nil -} diff --git a/internal/php7/parser_test.go b/internal/php7/parser_test.go index 9ef81b7..d909c98 100644 --- a/internal/php7/parser_test.go +++ b/internal/php7/parser_test.go @@ -60,11 +60,12 @@ func TestIdentifier(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -955,11 +956,12 @@ func TestPhp7ArgumentNode(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1809,11 +1811,12 @@ func TestPhp7ParameterNode(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1832,11 +1835,12 @@ func TestCommentEndFile(t *testing.T) { Stmts: []ast.Vertex{}, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1911,11 +1915,12 @@ func TestName(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -1988,11 +1993,12 @@ func TestFullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2065,11 +2071,12 @@ func TestRelative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2145,11 +2152,12 @@ func TestScalarEncapsed_SimpleVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2223,11 +2231,12 @@ func TestScalarEncapsed_SimpleVarOneChar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2312,11 +2321,12 @@ func TestScalarEncapsed_SimpleVarEndsEcapsed(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2411,11 +2421,12 @@ func TestScalarEncapsed_StringVarCurveOpen(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2521,11 +2532,12 @@ func TestScalarEncapsed_SimpleVarPropertyFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2599,11 +2611,12 @@ func TestScalarEncapsed_DollarOpenCurlyBraces(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2698,11 +2711,12 @@ func TestScalarEncapsed_DollarOpenCurlyBracesDimNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2807,11 +2821,12 @@ func TestScalarEncapsed_CurlyOpenMethodCall(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2900,11 +2915,12 @@ LBL; }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -2993,11 +3009,12 @@ LBL; }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3054,11 +3071,12 @@ LBL; }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3101,11 +3119,12 @@ CAD; }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3162,11 +3181,12 @@ CAD; }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3208,11 +3228,12 @@ func TestScalarMagicConstant(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3253,11 +3274,12 @@ func TestScalarNumber_LNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3298,11 +3320,12 @@ func TestScalarNumber_DNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3343,11 +3366,12 @@ func TestScalarNumber_Float(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3388,11 +3412,12 @@ func TestScalarNumber_BinaryLNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3433,11 +3458,12 @@ func TestScalarNumber_BinaryDNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3478,11 +3504,12 @@ func TestScalarNumber_HLNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3523,11 +3550,12 @@ func TestScalarNumber_HDNumber(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3568,11 +3596,12 @@ func TestScalarString_DoubleQuotedScalarString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3613,11 +3642,12 @@ func TestScalarString_DoubleQuotedScalarStringWithEscapedVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3660,11 +3690,12 @@ func TestScalarString_MultilineDoubleQuotedScalarString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3705,11 +3736,12 @@ func TestScalarString_SingleQuotedScalarString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3752,11 +3784,12 @@ func TestScalarString_MultilineSingleQuotedScalarString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3823,11 +3856,12 @@ func TestStmtAltIf_AltIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -3937,11 +3971,12 @@ func TestStmtAltIf_AltElseIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4028,11 +4063,12 @@ func TestStmtAltIf_AltElse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4207,11 +4243,12 @@ func TestStmtAltIf_AltElseElseIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4343,11 +4380,12 @@ func TestStmtClassConstList(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4466,11 +4504,12 @@ func TestStmtClassConstList_WithoutModifiers(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4546,11 +4585,12 @@ func TestStmtClassMethod_SimpleClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4696,11 +4736,12 @@ func TestStmtClassMethod_PrivateProtectedClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4823,11 +4864,12 @@ func TestStmtClassMethod_Php7ClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -4939,11 +4981,12 @@ func TestStmtClassMethod_AbstractClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5067,11 +5110,12 @@ func TestStmtClassMethod_Php7AbstractClassMethod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5113,11 +5157,12 @@ func TestStmtClass_SimpleClass(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5172,11 +5217,12 @@ func TestStmtClass_AbstractClass(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5264,11 +5310,12 @@ func TestStmtClass_ClassExtends(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5358,11 +5405,12 @@ func TestStmtClass_ClassImplement(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5475,11 +5523,12 @@ func TestStmtClass_ClassImplements(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5631,11 +5680,12 @@ func TestStmtClass_AnonimousClass(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5731,11 +5781,12 @@ func TestStmtConstList(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5798,11 +5849,12 @@ func TestStmtContinue_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5876,11 +5928,12 @@ func TestStmtContinue_Light(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -5954,11 +6007,12 @@ func TestStmtContinue(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6032,11 +6086,12 @@ func TestStmtDeclare(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6143,11 +6198,12 @@ func TestStmtDeclare_Stmts(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6223,11 +6279,12 @@ func TestStmtDeclare_Alt(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6279,11 +6336,12 @@ func TestStmtDo(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6347,11 +6405,12 @@ func TestStmtEcho(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6404,11 +6463,12 @@ func TestStmtEcho_Parenthesis(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6449,11 +6509,12 @@ func TestStmtExpression(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6646,11 +6707,12 @@ func TestStmtFor(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6768,11 +6830,12 @@ func TestStmtFor_Alt(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6855,11 +6918,12 @@ func TestStmtForeach(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -6932,11 +6996,12 @@ func TestStmtForeach_Expr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7019,11 +7084,12 @@ func TestStmtForeach_Alt(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7127,11 +7193,12 @@ func TestStmtForeach_WithKey(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7225,11 +7292,12 @@ func TestStmtForeach_ExprWithKey(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7343,11 +7411,12 @@ func TestStmtForeach_WithRef(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7473,11 +7542,12 @@ func TestStmtForeach_WithList(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7520,11 +7590,12 @@ func TestStmtFunction(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7578,11 +7649,12 @@ func TestStmtFunction_Return(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7743,11 +7815,12 @@ func TestStmtFunction_ReturnVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7812,11 +7885,12 @@ func TestStmtFunction_Ref(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7882,11 +7956,12 @@ func TestStmtFunction_ReturnType(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -7939,11 +8014,12 @@ func TestStmtGlobal(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8101,11 +8177,12 @@ func TestStmtGlobal_Vars(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8167,11 +8244,12 @@ func TestStmtGotoLabel(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8201,11 +8279,12 @@ func TestStmtHaltCompiler(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8267,11 +8346,12 @@ func TestStmtIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8377,11 +8457,12 @@ func TestStmtIf_ElseIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8464,11 +8545,12 @@ func TestStmtIf_Else(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8637,11 +8719,12 @@ func TestStmtIf_ElseElseIf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8820,11 +8903,12 @@ func TestStmtIf_ElseIfElseIfElse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8865,11 +8949,12 @@ func TestStmtInlineHtml(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8911,11 +8996,12 @@ func TestStmtInterface(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -8992,11 +9078,12 @@ func TestStmtInterface_Extend(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9096,11 +9183,12 @@ func TestStmtInterface_Extends(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9153,11 +9241,12 @@ func TestStmtNamespace(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9211,11 +9300,12 @@ func TestStmtNamespace_Stmts(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9246,11 +9336,12 @@ func TestStmtNamespace_Anonymous(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9349,11 +9440,12 @@ func TestStmtProperty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9505,11 +9597,12 @@ func TestStmtProperty_Properties(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9661,11 +9754,12 @@ func TestStmtProperty_Properties2(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9787,11 +9881,12 @@ func TestStmtProperty_PropertyType(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9854,11 +9949,12 @@ func TestStmtStaticVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -9963,11 +10059,12 @@ func TestStmtStaticVar_Vars(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10072,11 +10169,12 @@ func TestStmtStaticVar_Vars2(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10200,11 +10298,12 @@ func TestStmtSwitch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10328,11 +10427,12 @@ func TestStmtSwitch_Semicolon(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10446,11 +10546,12 @@ func TestStmtSwitch_Alt(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10552,11 +10653,12 @@ func TestStmtSwitch_AltSemicolon(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10607,11 +10709,12 @@ func TestStmtThrow(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10653,11 +10756,12 @@ func TestStmtTrait(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10745,11 +10849,12 @@ func TestStmtTraitUse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10860,11 +10965,12 @@ func TestStmtTraitUse_Uses(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -10975,11 +11081,12 @@ func TestStmtTraitUse_EmptyAdaptations(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11134,11 +11241,12 @@ func TestStmtTraitUse_Modifier(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11304,11 +11412,12 @@ func TestStmtTraitUse_AliasModifier(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11588,11 +11697,12 @@ func TestStmtTraitUse_Adaptions(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11626,11 +11736,12 @@ func TestStmtTry_Try(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11722,11 +11833,12 @@ func TestStmtTry_TryCatch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11841,11 +11953,12 @@ func TestStmtTry_Php7TryCatch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -11994,11 +12107,12 @@ func TestStmtTry_TryCatchCatch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12101,11 +12215,12 @@ func TestStmtTry_TryCatchFinally(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12309,11 +12424,12 @@ func TestStmtTry_TryCatchCatchCatch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12366,11 +12482,12 @@ func TestStmtUnset(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12444,11 +12561,12 @@ func TestStmtUnset_Vars(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12522,11 +12640,12 @@ func TestStmtUnset_TrailingComma(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12601,11 +12720,12 @@ func TestStmtUse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12680,11 +12800,12 @@ func TestStmtUse_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12770,11 +12891,12 @@ func TestStmtUse_FullyQualifiedAlias(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -12882,11 +13004,12 @@ func TestStmtUse_List(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13005,11 +13128,12 @@ func TestStmtUse_ListAlias(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13138,11 +13262,12 @@ func TestStmtUse_ListFunctionType(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13293,11 +13418,12 @@ func TestStmtUse_ListFunctionTypeAliases(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13427,11 +13553,12 @@ func TestStmtUse_ListConstType(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13582,11 +13709,12 @@ func TestStmtUse_ListConstTypeAliases(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13727,11 +13855,12 @@ func TestStmtUse_GroupUse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -13883,11 +14012,12 @@ func TestStmtUse_GroupUseAlias(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14049,11 +14179,12 @@ func TestStmtUse_FunctionGroupUse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14215,11 +14346,12 @@ func TestStmtUse_ConstGroupUse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14402,11 +14534,12 @@ func TestStmtUse_MixedGroupUse(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14469,11 +14602,12 @@ func TestStmtBreak_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14547,11 +14681,12 @@ func TestStmtBreak_Light(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14625,11 +14760,12 @@ func TestStmtBreak(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14703,11 +14839,12 @@ func TestExprArrayDimFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14800,11 +14937,12 @@ func TestExprArrayDimFetch_Nested(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14845,11 +14983,12 @@ func TestExprArray(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -14912,11 +15051,12 @@ func TestExprArray_Item(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15032,11 +15172,12 @@ func TestExprArray_Items(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15110,11 +15251,12 @@ func TestExprArray_ItemUnpack(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15177,11 +15319,12 @@ func TestExprArrowFunction(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15267,11 +15410,12 @@ func TestExprArrowFunction_ReturnType(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15332,11 +15476,12 @@ func TestExprBitwiseNot(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15397,11 +15542,12 @@ func TestExprBooleanNot(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15475,11 +15621,12 @@ func TestExprClassConstFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15541,11 +15688,12 @@ func TestExprClassConstFetch_Static(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15606,11 +15754,12 @@ func TestExprClone_Brackets(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15671,11 +15820,12 @@ func TestExprClone(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15718,11 +15868,12 @@ func TestExprClosure(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -15893,11 +16044,12 @@ func TestExprClosure_Use(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16068,11 +16220,12 @@ func TestExprClosure_Use2(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16138,11 +16291,12 @@ func TestExprClosure_ReturnType(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16205,11 +16359,12 @@ func TestExprConstFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16272,11 +16427,12 @@ func TestExprConstFetch_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16339,11 +16495,12 @@ func TestExprConstFetch_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16404,11 +16561,12 @@ func TestExprEmpty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16469,11 +16627,12 @@ func TestExprErrorSuppress(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16534,11 +16693,12 @@ func TestExprEval(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16579,11 +16739,12 @@ func TestExprExit(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16624,11 +16785,12 @@ func TestExprExit_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16690,11 +16852,12 @@ func TestExprExit_Expr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16735,11 +16898,12 @@ func TestExprDie(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16780,11 +16944,12 @@ func TestExprDie_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16846,11 +17011,12 @@ func TestExprDie_Expr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -16923,11 +17089,12 @@ func TestExprFunctionCall(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17000,11 +17167,12 @@ func TestExprFunctionCall_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17102,11 +17270,12 @@ func TestExprFunctionCall_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17222,11 +17391,12 @@ func TestExprFunctionCall_Var(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17355,11 +17525,12 @@ func TestExprFunctionCall_ExprArg(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17420,11 +17591,12 @@ func TestExprPostDec(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17485,11 +17657,12 @@ func TestExprPostInc(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17550,11 +17723,12 @@ func TestExprPreDec(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17615,11 +17789,12 @@ func TestExprPreInc(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17680,11 +17855,12 @@ func TestExprInclude(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17745,11 +17921,12 @@ func TestExprInclude_Once(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17810,11 +17987,12 @@ func TestExprRequire(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17875,11 +18053,12 @@ func TestExprRequire_Once(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -17963,11 +18142,12 @@ func TestExprInstanceOf(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18051,11 +18231,12 @@ func TestExprInstanceOf_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18139,11 +18320,12 @@ func TestExprInstanceOf_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18206,11 +18388,12 @@ func TestExprIsset(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18294,11 +18477,12 @@ func TestExprIsset_Variables(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18370,11 +18554,12 @@ func TestExprList_Empty(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18478,11 +18663,12 @@ func TestExprList(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18596,11 +18782,12 @@ func TestExprList_ArrayIndex(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18726,11 +18913,12 @@ func TestExprList_List(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18835,11 +19023,12 @@ func TestExprList_EmptyItem(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -18946,11 +19135,12 @@ func TestExprList_EmptyItems(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19032,11 +19222,12 @@ func TestExprMethodCall(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19099,11 +19290,12 @@ func TestExprNew(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19176,11 +19368,12 @@ func TestExprNew_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19253,11 +19446,12 @@ func TestExprNew_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19386,11 +19580,12 @@ func TestExprNew_Anonymous(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19451,11 +19646,12 @@ func TestExprPrint(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19527,11 +19723,12 @@ func TestExprPropertyFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19646,11 +19843,12 @@ func TestExprReference_ForeachWithRef(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19724,11 +19922,12 @@ func TestExprShellExec(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19769,11 +19968,12 @@ func TestExprShortArray(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19836,11 +20036,12 @@ func TestExprShortArray_Item(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19956,11 +20157,12 @@ func TestExprShortArray_Items(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20064,11 +20266,12 @@ func TestExprShortList(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20182,11 +20385,12 @@ func TestExprShortList_ArrayIndex(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20312,11 +20516,12 @@ func TestExprShortList_List(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20400,11 +20605,12 @@ func TestExprStaticCall(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20488,11 +20694,12 @@ func TestExprStaticCall_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20576,11 +20783,12 @@ func TestExprStaticCall_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20674,11 +20882,12 @@ func TestExprStaticCall_Var(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20770,11 +20979,12 @@ func TestExprStaticCall_VarVar(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20858,11 +21068,12 @@ func TestExprStaticPropertyFetch(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -20946,11 +21157,12 @@ func TestExprStaticPropertyFetch_Relative(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21034,11 +21246,12 @@ func TestExprStaticPropertyFetch_FullyQualified(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21141,11 +21354,12 @@ func TestExprTernary(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21227,11 +21441,12 @@ func TestExprTernary_Simple(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21386,11 +21601,12 @@ func TestExprTernary_NestedTrue(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21545,11 +21761,12 @@ func TestExprTernary_NestedCond(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21610,11 +21827,12 @@ func TestExprUnaryMinus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21675,11 +21893,12 @@ func TestExprUnaryPlus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21730,11 +21949,12 @@ func TestExprVariable(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21795,11 +22015,12 @@ func TestExprVariable_Variable(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21839,11 +22060,12 @@ func TestExprYield(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21904,11 +22126,12 @@ func TestExprYield_Val(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -21990,11 +22213,12 @@ func TestExprYield_KeyVal(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22045,11 +22269,12 @@ func TestExprYield_Expr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22121,11 +22346,12 @@ func TestExprYield_KeyExpr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22186,11 +22412,12 @@ func TestExprYieldFrom(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22274,11 +22501,12 @@ func TestExprAssign_Assign(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22360,11 +22588,12 @@ func TestExprAssign_Reference(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22458,11 +22687,12 @@ func TestExprAssign_ReferenceNew(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22601,11 +22831,12 @@ func TestExprAssign_ReferenceArgs(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22687,11 +22918,12 @@ func TestExprAssign_BitwiseAnd(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22773,11 +23005,12 @@ func TestExprAssign_BitwiseOr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22859,11 +23092,12 @@ func TestExprAssign_BitwiseXor(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -22945,11 +23179,12 @@ func TestExprAssign_Concat(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23031,11 +23266,12 @@ func TestExprAssign_Div(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23117,11 +23353,12 @@ func TestExprAssign_Minus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23203,11 +23440,12 @@ func TestExprAssign_Mod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23289,11 +23527,12 @@ func TestExprAssign_Mul(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23375,11 +23614,12 @@ func TestExprAssign_Plus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23461,11 +23701,12 @@ func TestExprAssign_Pow(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23547,11 +23788,12 @@ func TestExprAssign_ShiftLeft(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23633,11 +23875,12 @@ func TestExprAssign_ShiftRight(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23719,11 +23962,12 @@ func TestExprAssign_Coalesce(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23807,11 +24051,12 @@ func TestExprBinary_BitwiseAnd(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23893,11 +24138,12 @@ func TestExprBinary_BitwiseOr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -23979,11 +24225,12 @@ func TestExprBinary_BitwiseXor(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24065,11 +24312,12 @@ func TestExprBinary_BooleanAnd(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24151,11 +24399,12 @@ func TestExprBinary_BooleanOr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24237,11 +24486,12 @@ func TestExprBinary_Coalesce(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24323,11 +24573,12 @@ func TestExprBinary_Concat(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24409,11 +24660,12 @@ func TestExprBinary_Div(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24495,11 +24747,12 @@ func TestExprBinary_Equal(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24581,11 +24834,12 @@ func TestExprBinary_GreaterOrEqual(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24667,11 +24921,12 @@ func TestExprBinary_Greater(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24753,11 +25008,12 @@ func TestExprBinary_Identical(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24839,11 +25095,12 @@ func TestExprBinary_LogicalAnd(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -24925,11 +25182,12 @@ func TestExprBinary_LogicalOr(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25011,11 +25269,12 @@ func TestExprBinary_LogicalXor(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25097,11 +25356,12 @@ func TestExprBinary_Minus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25183,11 +25443,12 @@ func TestExprBinary_Mod(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25269,11 +25530,12 @@ func TestExprBinary_Mul(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25355,11 +25617,12 @@ func TestExprBinary_NotEqual(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25441,11 +25704,12 @@ func TestExprBinary_NotIdentical(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25527,11 +25791,12 @@ func TestExprBinary_Plus(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25613,11 +25878,12 @@ func TestExprBinary_Pow(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25699,11 +25965,12 @@ func TestExprBinary_ShiftLeft(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25785,11 +26052,12 @@ func TestExprBinary_ShiftRight(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25871,11 +26139,12 @@ func TestExprBinary_SmallerOrEqual(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -25957,11 +26226,12 @@ func TestExprBinary_Smaller(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26043,11 +26313,12 @@ func TestExprBinary_Spaceship(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26110,11 +26381,12 @@ func TestExprCast_Array(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26175,11 +26447,12 @@ func TestExprCast_Bool(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26240,11 +26513,12 @@ func TestExprCast_BoolShort(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26305,11 +26579,12 @@ func TestExprCast_Double(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26370,11 +26645,12 @@ func TestExprCast_CastFloat(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26435,11 +26711,12 @@ func TestExprCast_Int(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26500,11 +26777,12 @@ func TestExprCast_IntShort(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26565,11 +26843,12 @@ func TestExprCast_Object(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26630,11 +26909,12 @@ func TestExprCast_String(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26695,11 +26975,12 @@ func TestExprCast_BinaryString(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -26760,10 +27041,11 @@ func TestExprCast_Unset(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } diff --git a/internal/php7/php7.go b/internal/php7/php7.go index 89954b6..7ed02ea 100644 --- a/internal/php7/php7.go +++ b/internal/php7/php7.go @@ -12,16 +12,16 @@ import ( "strconv" "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/token" ) -// line internal/php7/php7.y:16 +// line internal/php7/php7.y:15 type yySymType struct { yys int node ast.Vertex - token *scanner.Token + token *token.Token + tkn *token.Token list []ast.Vertex ClassExtends *ast.StmtClassExtends @@ -346,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php7/php7.y:5653 +// line internal/php7/php7.y:4838 // line yacctab:1 var yyExca = [...]int{ @@ -2113,482 +2113,480 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 +// line internal/php7/php7.y:293 { yylex.(*Parser).rootNode = &ast.Root{ast.Node{}, yyDollar[1].list} // save position yylex.(*Parser).rootNode.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) - yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, token.End, yylex.(*Parser).currentToken.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, token.End, yylex.(*Parser).currentToken.SkippedTokens) } case 2: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 +// line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:309 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:309 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:309 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:309 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:309 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:309 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:309 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:309 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:313 +// line internal/php7/php7.y:310 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:318 +// line internal/php7/php7.y:315 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:321 +// line internal/php7/php7.y:318 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:321 +// line internal/php7/php7.y:318 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:321 +// line internal/php7/php7.y:318 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:321 +// line internal/php7/php7.y:318 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:321 +// line internal/php7/php7.y:318 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:321 +// line internal/php7/php7.y:318 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:326 +// line internal/php7/php7.y:323 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:330 +// line internal/php7/php7.y:327 { yyVAL.token = yyDollar[1].token } case 79: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:337 +// line internal/php7/php7.y:334 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2598,20 +2596,16 @@ yydefault: if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:350 +// line internal/php7/php7.y:345 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:359 +// line internal/php7/php7.y:352 { namePart := &ast.NameNamePart{ast.Node{}, yyDollar[1].token.Value} yyVAL.list = []ast.Vertex{namePart} @@ -2620,13 +2614,11 @@ yydefault: namePart.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(namePart, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(namePart, token.Start, yyDollar[1].token.SkippedTokens) } case 82: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:372 +// line internal/php7/php7.y:363 { namePart := &ast.NameNamePart{ast.Node{}, yyDollar[3].token.Value} yyVAL.list = append(yyDollar[1].list, namePart) @@ -2635,25 +2627,21 @@ yydefault: namePart.GetNode().Position = position.NewTokenPosition(yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(namePart, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(namePart, token.Start, yyDollar[3].token.SkippedTokens) } case 83: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:389 +// line internal/php7/php7.y:378 { yyVAL.node = &ast.NameName{ast.Node{}, yyDollar[1].list} // save position yyVAL.node.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 84: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:398 +// line internal/php7/php7.y:385 { yyVAL.node = &ast.NameRelative{ast.Node{}, yyDollar[3].list} @@ -2661,14 +2649,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.SkippedTokens) } case 85: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:411 +// line internal/php7/php7.y:396 { yyVAL.node = &ast.NameFullyQualified{ast.Node{}, yyDollar[2].list} @@ -2676,62 +2662,48 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:426 +// line internal/php7/php7.y:409 { // error yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:433 +// line internal/php7/php7.y:414 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:439 +// line internal/php7/php7.y:418 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 89: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:445 +// line internal/php7/php7.y:422 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:451 +// line internal/php7/php7.y:426 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 91: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:457 +// line internal/php7/php7.y:430 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 92: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:463 +// line internal/php7/php7.y:434 { yyVAL.node = &ast.StmtHaltCompiler{ast.Node{}} @@ -2739,14 +2711,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[2].token.Tokens, append(yyDollar[3].token.Tokens, yyDollar[4].token.Tokens...)...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[2].token.SkippedTokens, append(yyDollar[3].token.SkippedTokens, yyDollar[4].token.SkippedTokens...)...)) } case 93: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:476 +// line internal/php7/php7.y:445 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtNamespace{ast.Node{}, name, nil} @@ -2756,16 +2726,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) yylex.(*Parser).MoveFreeFloating(yyDollar[2].list[0], name) - yylex.(*Parser).setFreeFloating(name, token.End, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(name, token.End, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 94: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:493 +// line internal/php7/php7.y:460 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtNamespace{ast.Node{}, name, yyDollar[4].list} @@ -2775,16 +2743,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) yylex.(*Parser).MoveFreeFloating(yyDollar[2].list[0], name) - yylex.(*Parser).setFreeFloating(name, token.End, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(name, token.End, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[5].token.SkippedTokens) } case 95: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:510 +// line internal/php7/php7.y:475 { yyVAL.node = &ast.StmtNamespace{ast.Node{}, nil, yyDollar[3].list} @@ -2792,15 +2758,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Namespace, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.SkippedTokens) } case 96: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:524 +// line internal/php7/php7.y:487 { yyVAL.node = &ast.StmtUse{ast.Node{}, yyDollar[2].node} @@ -2808,14 +2772,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 97: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:537 +// line internal/php7/php7.y:498 { useType := &ast.StmtUseType{ast.Node{}, yyDollar[2].node, yyDollar[3].node} yyVAL.node = &ast.StmtUse{ast.Node{}, useType} @@ -2825,14 +2787,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.SkippedTokens) } case 98: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:552 +// line internal/php7/php7.y:511 { useList := &ast.StmtUseList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtUse{ast.Node{}, useList} @@ -2842,14 +2802,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 99: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:567 +// line internal/php7/php7.y:524 { useList := &ast.StmtUseList{ast.Node{}, yyDollar[3].list} useType := &ast.StmtUseType{ast.Node{}, yyDollar[2].node, useList} @@ -2861,14 +2819,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.SkippedTokens) } case 100: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:584 +// line internal/php7/php7.y:539 { yyVAL.node = &ast.StmtConstList{ast.Node{}, yyDollar[2].list} @@ -2876,15 +2832,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 101: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:601 +// line internal/php7/php7.y:554 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -2892,13 +2846,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:613 +// line internal/php7/php7.y:564 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -2906,13 +2858,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 103: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:628 +// line internal/php7/php7.y:577 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} useList := &ast.StmtUseList{ast.Node{}, yyDollar[4].list} @@ -2929,17 +2879,15 @@ yydefault: // save comments if yyDollar[5].token != nil { - yylex.(*Parser).setFreeFloatingTokens(useList, token.End, yyDollar[5].token.Tokens) + yylex.(*Parser).setFreeFloatingTokens(useList, token.End, yyDollar[5].token.SkippedTokens) } - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, yyDollar[2].token.SkippedTokens) } case 104: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:653 +// line internal/php7/php7.y:600 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} prefixNsSeparator := &ast.ParserNsSeparator{ast.Node{}, name} @@ -2957,19 +2905,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token) // save comments - yylex.(*Parser).setFreeFloating(prefixNsSeparator, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(prefixNsSeparator, token.Start, yyDollar[1].token.SkippedTokens) if yyDollar[6].token != nil { - yylex.(*Parser).setFreeFloatingTokens(useList, token.End, yyDollar[6].token.Tokens) + yylex.(*Parser).setFreeFloatingTokens(useList, token.End, yyDollar[6].token.SkippedTokens) } - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, yyDollar[7].token.Tokens) - yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, yyDollar[7].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, yyDollar[3].token.SkippedTokens) } case 105: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:684 +// line internal/php7/php7.y:629 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} useList := &ast.StmtUseList{ast.Node{}, yyDollar[4].list} @@ -2986,17 +2932,15 @@ yydefault: // save comments if yyDollar[5].token != nil { - yylex.(*Parser).setFreeFloatingTokens(useList, token.End, yyDollar[5].token.Tokens) + yylex.(*Parser).setFreeFloatingTokens(useList, token.End, yyDollar[5].token.SkippedTokens) } - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, yyDollar[2].token.SkippedTokens) } case 106: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:709 +// line internal/php7/php7.y:652 { name := &ast.NameName{ast.Node{}, yyDollar[2].list} prefixNsSeparator := &ast.ParserNsSeparator{ast.Node{}, name} @@ -3014,107 +2958,89 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token) // save comments - yylex.(*Parser).setFreeFloating(prefixNsSeparator, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(prefixNsSeparator, token.Start, yyDollar[1].token.SkippedTokens) if yyDollar[6].token != nil { - yylex.(*Parser).setFreeFloatingTokens(useList, token.End, yyDollar[6].token.Tokens) + yylex.(*Parser).setFreeFloatingTokens(useList, token.End, yyDollar[6].token.SkippedTokens) } - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, yyDollar[7].token.Tokens) - yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, yyDollar[7].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, yyDollar[3].token.SkippedTokens) } case 107: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:740 +// line internal/php7/php7.y:681 { yyVAL.token = nil } case 108: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:744 +// line internal/php7/php7.y:685 { yyVAL.token = yyDollar[1].token } case 109: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:751 +// line internal/php7/php7.y:692 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 110: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:760 +// line internal/php7/php7.y:699 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 111: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:769 +// line internal/php7/php7.y:706 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 112: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:778 +// line internal/php7/php7.y:713 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 113: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:787 +// line internal/php7/php7.y:720 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:796 +// line internal/php7/php7.y:727 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 115: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:805 +// line internal/php7/php7.y:734 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 116: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:811 +// line internal/php7/php7.y:738 { yyVAL.node = &ast.StmtUseType{ast.Node{}, yyDollar[1].node, yyDollar[2].node} // save position yyVAL.node.GetNode().Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 117: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:823 +// line internal/php7/php7.y:748 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} yyVAL.node = &ast.StmtUseDeclaration{ast.Node{}, name, nil} @@ -3122,12 +3048,10 @@ yydefault: // save position name.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) yyVAL.node.GetNode().Position = position.NewNodePosition(name) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 118: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:834 +// line internal/php7/php7.y:757 { name := &ast.NameName{ast.Node{}, yyDollar[1].list} alias := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} @@ -3141,22 +3065,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.SkippedTokens) } case 119: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:856 +// line internal/php7/php7.y:777 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 120: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:862 +// line internal/php7/php7.y:781 { yyVAL.node = &ast.ParserNsSeparator{ast.Node{}, yyDollar[2].node} @@ -3165,32 +3085,26 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 121: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:878 +// line internal/php7/php7.y:795 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 122: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:887 +// line internal/php7/php7.y:802 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 123: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:896 +// line internal/php7/php7.y:809 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -3200,69 +3114,53 @@ yydefault: if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 124: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:909 +// line internal/php7/php7.y:820 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 125: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:918 +// line internal/php7/php7.y:827 { // error yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 126: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:925 +// line internal/php7/php7.y:832 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 127: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:931 +// line internal/php7/php7.y:836 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 128: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:937 +// line internal/php7/php7.y:840 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:943 +// line internal/php7/php7.y:844 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:949 +// line internal/php7/php7.y:848 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 131: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:955 +// line internal/php7/php7.y:852 { yyVAL.node = &ast.StmtHaltCompiler{ast.Node{}} @@ -3270,14 +3168,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[2].token.Tokens, append(yyDollar[3].token.Tokens, yyDollar[4].token.Tokens...)...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[2].token.SkippedTokens, append(yyDollar[3].token.SkippedTokens, yyDollar[4].token.SkippedTokens...)...)) } case 132: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:970 +// line internal/php7/php7.y:865 { yyVAL.node = &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} @@ -3285,30 +3181,24 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) } case 133: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:983 +// line internal/php7/php7.y:876 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 134: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:989 +// line internal/php7/php7.y:880 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 135: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:995 +// line internal/php7/php7.y:884 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} @@ -3326,15 +3216,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) } case 136: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1019 +// line internal/php7/php7.y:906 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[5].node} yyVAL.node = &ast.StmtDo{ast.Node{}, yyDollar[2].node, exprBrackets} @@ -3344,17 +3232,15 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(exprBrackets, token.End, append(yyDollar[6].token.Tokens, yyDollar[7].token.Tokens...)) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[7].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(exprBrackets, token.End, append(yyDollar[6].token.SkippedTokens, yyDollar[7].token.SkippedTokens...)) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[7].token.SkippedTokens) } case 137: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1037 +// line internal/php7/php7.y:922 { switch n := yyDollar[9].node.(type) { case *ast.StmtFor: @@ -3373,17 +3259,15 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.For, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.InitExpr, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.CondExpr, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.IncExpr, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.For, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.InitExpr, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.CondExpr, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.IncExpr, yyDollar[8].token.SkippedTokens) } case 138: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1064 +// line internal/php7/php7.y:947 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} @@ -3403,15 +3287,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) } case 139: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1090 +// line internal/php7/php7.y:971 { yyVAL.node = &ast.StmtBreak{ast.Node{}, yyDollar[2].node} @@ -3419,15 +3301,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1104 +// line internal/php7/php7.y:983 { yyVAL.node = &ast.StmtContinue{ast.Node{}, yyDollar[2].node} @@ -3435,15 +3315,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 141: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1118 +// line internal/php7/php7.y:995 { yyVAL.node = &ast.StmtReturn{ast.Node{}, yyDollar[2].node} @@ -3451,15 +3329,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 142: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1132 +// line internal/php7/php7.y:1007 { yyVAL.node = &ast.StmtGlobal{ast.Node{}, yyDollar[2].list} @@ -3467,15 +3343,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 143: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1146 +// line internal/php7/php7.y:1019 { yyVAL.node = &ast.StmtStatic{ast.Node{}, yyDollar[2].list} @@ -3483,15 +3357,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1160 +// line internal/php7/php7.y:1031 { yyVAL.node = &ast.StmtEcho{ast.Node{}, yyDollar[2].list} @@ -3499,16 +3371,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Echo, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Echo, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 145: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1175 +// line internal/php7/php7.y:1044 { yyVAL.node = &ast.StmtInlineHtml{ast.Node{}, yyDollar[1].token.Value} @@ -3516,13 +3386,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 146: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1187 +// line internal/php7/php7.y:1054 { yyVAL.node = &ast.StmtExpression{ast.Node{}, yyDollar[1].node} @@ -3531,14 +3399,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 147: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1201 +// line internal/php7/php7.y:1066 { yyVAL.node = &ast.StmtUnset{ast.Node{}, yyDollar[3].list} @@ -3546,21 +3412,19 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Unset, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Unset, yyDollar[2].token.SkippedTokens) if yyDollar[4].token != nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, append(yyDollar[4].token.Tokens, yyDollar[5].token.Tokens...)) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, append(yyDollar[4].token.SkippedTokens, yyDollar[5].token.SkippedTokens...)) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[5].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[5].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.CloseParenthesisToken, yyDollar[6].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.CloseParenthesisToken, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[6].token.SkippedTokens) } case 148: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1221 +// line internal/php7/php7.y:1084 { switch n := yyDollar[7].node.(type) { case *ast.StmtForeach: @@ -3577,16 +3441,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Foreach, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Foreach, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[6].token.SkippedTokens) } case 149: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1246 +// line internal/php7/php7.y:1106 { switch n := yyDollar[9].node.(type) { case *ast.StmtForeach: @@ -3605,17 +3467,15 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Foreach, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Key, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Foreach, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Key, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[8].token.SkippedTokens) } case 150: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1273 +// line internal/php7/php7.y:1131 { yyVAL.node = yyDollar[5].node yyVAL.node.(*ast.StmtDeclare).Consts = yyDollar[3].list @@ -3624,15 +3484,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Declare, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ConstList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Declare, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ConstList, yyDollar[4].token.SkippedTokens) } case 151: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1288 +// line internal/php7/php7.y:1144 { yyVAL.node = &ast.StmtNop{ast.Node{}} @@ -3640,14 +3498,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.SkippedTokens) } case 152: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1301 +// line internal/php7/php7.y:1155 { if yyDollar[6].node == nil { yyVAL.node = &ast.StmtTry{ast.Node{}, yyDollar[3].list, yyDollar[5].list, yyDollar[6].node} @@ -3658,15 +3514,13 @@ yydefault: } // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Try, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Try, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.SkippedTokens) } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1318 +// line internal/php7/php7.y:1170 { yyVAL.node = &ast.StmtThrow{ast.Node{}, yyDollar[2].node} @@ -3674,15 +3528,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 154: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1332 +// line internal/php7/php7.y:1182 { label := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} yyVAL.node = &ast.StmtGoto{ast.Node{}, label} @@ -3692,16 +3544,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(label, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Label, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(label, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Label, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 155: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1349 +// line internal/php7/php7.y:1197 { label := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.StmtLabel{ast.Node{}, label} @@ -3711,22 +3561,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Label, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Label, yyDollar[2].token.SkippedTokens) } case 156: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1366 +// line internal/php7/php7.y:1212 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 157: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1372 +// line internal/php7/php7.y:1216 { identifier := &ast.Identifier{ast.Node{}, yyDollar[5].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -3739,45 +3585,37 @@ yydefault: catch.GetNode().Position = position.NewTokensPosition(yyDollar[2].token, yyDollar[9].token) // save comments - yylex.(*Parser).setFreeFloating(catch, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(catch, token.Catch, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(catch, token.Var, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(catch, token.Cond, yyDollar[7].token.Tokens) - yylex.(*Parser).setFreeFloating(catch, token.Stmts, yyDollar[9].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(catch, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(catch, token.Catch, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(catch, token.Var, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(catch, token.Cond, yyDollar[7].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(catch, token.Stmts, yyDollar[9].token.SkippedTokens) } case 158: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1396 +// line internal/php7/php7.y:1238 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 159: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1402 +// line internal/php7/php7.y:1242 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 160: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1414 +// line internal/php7/php7.y:1252 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 161: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1420 +// line internal/php7/php7.y:1256 { yyVAL.node = &ast.StmtFinally{ast.Node{}, yyDollar[3].list} @@ -3785,42 +3623,34 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Finally, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Finally, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[4].token.SkippedTokens) } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1437 +// line internal/php7/php7.y:1271 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 163: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1443 +// line internal/php7/php7.y:1275 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 164: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1455 +// line internal/php7/php7.y:1285 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 165: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:1464 +// line internal/php7/php7.y:1292 { name := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.StmtFunction{ast.Node{}, yyDollar[2].token != nil, name, yyDollar[6].list, yyDollar[8].node, yyDollar[10].list} @@ -3830,53 +3660,51 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[11].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) if yyDollar[2].token != nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParamList, yyDollar[7].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ReturnType, yyDollar[9].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[11].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParamList, yyDollar[7].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ReturnType, yyDollar[9].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[11].token.SkippedTokens) // normalize if yyDollar[8].node == nil { yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Params, yyVAL.node.GetNode().Tokens[token.ReturnType]) delete(yyVAL.node.GetNode().Tokens, token.ReturnType) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 166: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1497 +// line internal/php7/php7.y:1323 { yyVAL.token = nil } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1501 +// line internal/php7/php7.y:1327 { yyVAL.token = yyDollar[1].token } case 168: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1508 +// line internal/php7/php7.y:1334 { yyVAL.token = nil } case 169: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1512 +// line internal/php7/php7.y:1338 { yyVAL.token = yyDollar[1].token } case 170: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1519 +// line internal/php7/php7.y:1345 { name := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.StmtClass{ast.Node{}, name, yyDollar[1].list, nil, yyDollar[4].ClassExtends, yyDollar[5].ClassImplements, yyDollar[8].list} @@ -3887,16 +3715,14 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].list[0], yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[7].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[9].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[7].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[9].token.SkippedTokens) } case 171: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:1537 +// line internal/php7/php7.y:1361 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} yyVAL.node = &ast.StmtClass{ast.Node{}, name, nil, nil, yyDollar[3].ClassExtends, yyDollar[4].ClassImplements, yyDollar[7].list} @@ -3906,32 +3732,26 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[8].token.SkippedTokens) } case 172: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1557 +// line internal/php7/php7.y:1379 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 173: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1563 +// line internal/php7/php7.y:1383 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 174: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1572 +// line internal/php7/php7.y:1390 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -3939,13 +3759,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 175: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1584 +// line internal/php7/php7.y:1400 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -3953,13 +3771,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 176: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1599 +// line internal/php7/php7.y:1413 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} yyVAL.node = &ast.StmtTrait{ast.Node{}, name, yyDollar[5].list} @@ -3969,16 +3785,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[6].token.SkippedTokens) } case 177: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1619 +// line internal/php7/php7.y:1431 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} yyVAL.node = &ast.StmtInterface{ast.Node{}, name, yyDollar[3].InterfaceExtends, yyDollar[6].list} @@ -3988,24 +3802,20 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[7].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[7].token.SkippedTokens) } case 178: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1639 +// line internal/php7/php7.y:1449 { yyVAL.ClassExtends = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 179: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1645 +// line internal/php7/php7.y:1453 { yyVAL.ClassExtends = &ast.StmtClassExtends{ast.Node{}, yyDollar[2].node} @@ -4013,21 +3823,17 @@ yydefault: yyVAL.ClassExtends.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClassExtends, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.ClassExtends, token.Start, yyDollar[1].token.SkippedTokens) } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1660 +// line internal/php7/php7.y:1466 { yyVAL.InterfaceExtends = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 181: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1666 +// line internal/php7/php7.y:1470 { yyVAL.InterfaceExtends = &ast.StmtInterfaceExtends{ast.Node{}, yyDollar[2].list} @@ -4035,21 +3841,17 @@ yydefault: yyVAL.InterfaceExtends.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.InterfaceExtends, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.InterfaceExtends, token.Start, yyDollar[1].token.SkippedTokens) } case 182: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1681 +// line internal/php7/php7.y:1483 { yyVAL.ClassImplements = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1687 +// line internal/php7/php7.y:1487 { yyVAL.ClassImplements = &ast.StmtClassImplements{ast.Node{}, yyDollar[2].list} @@ -4057,21 +3859,17 @@ yydefault: yyVAL.ClassImplements.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClassImplements, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.ClassImplements, token.Start, yyDollar[1].token.SkippedTokens) } case 184: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1702 +// line internal/php7/php7.y:1500 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1708 +// line internal/php7/php7.y:1504 { yyVAL.node = &ast.ExprReference{ast.Node{}, yyDollar[2].node} @@ -4079,13 +3877,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 186: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1720 +// line internal/php7/php7.y:1514 { yyVAL.node = &ast.ExprList{ast.Node{}, yyDollar[3].list} @@ -4093,15 +3889,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.List, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.List, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.SkippedTokens) } case 187: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1734 +// line internal/php7/php7.y:1526 { yyVAL.node = &ast.ExprShortList{ast.Node{}, yyDollar[2].list} @@ -4109,25 +3903,21 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save commentsc - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[3].token.SkippedTokens) } case 188: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1750 +// line internal/php7/php7.y:1540 { yyVAL.node = &ast.StmtFor{ast.Node{}, nil, nil, nil, yyDollar[1].node} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 189: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1759 +// line internal/php7/php7.y:1547 { stmtList := &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtAltFor{ast.Node{}, nil, nil, nil, stmtList} @@ -4137,27 +3927,23 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1779 +// line internal/php7/php7.y:1565 { yyVAL.node = &ast.StmtForeach{ast.Node{}, nil, nil, nil, yyDollar[1].node} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 191: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1788 +// line internal/php7/php7.y:1572 { stmtList := &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtAltForeach{ast.Node{}, nil, nil, nil, stmtList} @@ -4167,27 +3953,23 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 192: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1808 +// line internal/php7/php7.y:1590 { yyVAL.node = &ast.StmtDeclare{ast.Node{}, false, nil, yyDollar[1].node} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 193: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1817 +// line internal/php7/php7.y:1597 { stmtList := &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtDeclare{ast.Node{}, true, nil, stmtList} @@ -4197,16 +3979,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 194: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1837 +// line internal/php7/php7.y:1615 { caseList := &ast.StmtCaseList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtSwitch{ast.Node{}, nil, caseList} @@ -4216,14 +3996,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(caseList, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(caseList, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[3].token.SkippedTokens) } case 195: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1852 +// line internal/php7/php7.y:1628 { caseList := &ast.StmtCaseList{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.StmtSwitch{ast.Node{}, nil, caseList} @@ -4233,15 +4011,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(caseList, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(caseList, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[4].token.SkippedTokens) } case 196: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1868 +// line internal/php7/php7.y:1642 { caseList := &ast.StmtCaseList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtAltSwitch{ast.Node{}, nil, caseList} @@ -4251,16 +4027,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 197: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1885 +// line internal/php7/php7.y:1657 { caseList := &ast.StmtCaseList{ast.Node{}, yyDollar[3].list} @@ -4271,25 +4045,21 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[5].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[5].token.SkippedTokens) } case 198: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1907 +// line internal/php7/php7.y:1677 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 199: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1913 +// line internal/php7/php7.y:1681 { _case := &ast.StmtCase{ast.Node{}, yyDollar[3].node, yyDollar[5].list} yyVAL.list = append(yyDollar[1].list, _case) @@ -4298,15 +4068,13 @@ yydefault: _case.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list) // save comments - yylex.(*Parser).setFreeFloating(_case, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(_case, token.Expr, append(yyDollar[4].token.Tokens)) - yylex.(*Parser).setToken(_case, token.CaseSeparator, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_case, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(_case, token.Expr, append(yyDollar[4].token.SkippedTokens)) + yylex.(*Parser).setToken(_case, token.CaseSeparator, yyDollar[4].token.SkippedTokens) } case 200: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1928 +// line internal/php7/php7.y:1694 { _default := &ast.StmtDefault{ast.Node{}, yyDollar[4].list} yyVAL.list = append(yyDollar[1].list, _default) @@ -4315,38 +4083,34 @@ yydefault: _default.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list) // save comments - yylex.(*Parser).setFreeFloating(_default, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(_default, token.Default, yyDollar[3].token.Tokens) - yylex.(*Parser).setToken(_default, token.CaseSeparator, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_default, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(_default, token.Default, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setToken(_default, token.CaseSeparator, yyDollar[3].token.SkippedTokens) } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1946 +// line internal/php7/php7.y:1710 { yyVAL.token = yyDollar[1].token } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1950 +// line internal/php7/php7.y:1714 { yyVAL.token = yyDollar[1].token } case 203: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1957 +// line internal/php7/php7.y:1721 { yyVAL.node = &ast.StmtWhile{ast.Node{}, nil, yyDollar[1].node} // save position yyVAL.node.GetNode().Position = position.NewNodePosition(yyDollar[1].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 204: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1966 +// line internal/php7/php7.y:1728 { stmtList := &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.StmtAltWhile{ast.Node{}, nil, stmtList} @@ -4356,16 +4120,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AltEnd, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 205: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1986 +// line internal/php7/php7.y:1746 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} yyVAL.node = &ast.StmtIf{ast.Node{}, exprBrackets, yyDollar[5].node, nil, nil} @@ -4375,15 +4137,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) } case 206: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:2002 +// line internal/php7/php7.y:1760 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[4].node} _elseIf := &ast.StmtElseIf{ast.Node{}, exprBrackets, yyDollar[6].node} @@ -4397,23 +4157,19 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[6].node) // save comments - yylex.(*Parser).setFreeFloating(_elseIf, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_elseIf, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[5].token.SkippedTokens) } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2025 +// line internal/php7/php7.y:1781 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 208: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2031 +// line internal/php7/php7.y:1785 { _else := &ast.StmtElse{ast.Node{}, yyDollar[3].node} yyDollar[1].node.(*ast.StmtIf).Else = _else @@ -4425,13 +4181,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(_else, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_else, token.Start, yyDollar[2].token.SkippedTokens) } case 209: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:2050 +// line internal/php7/php7.y:1802 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} stmts := &ast.StmtStmtList{ast.Node{}, yyDollar[6].list} @@ -4445,16 +4199,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[5].token.SkippedTokens) } case 210: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:2071 +// line internal/php7/php7.y:1821 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[4].node} stmts := &ast.StmtStmtList{ast.Node{}, yyDollar[7].list} @@ -4471,16 +4223,14 @@ yydefault: _elseIf.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list) // save comments - yylex.(*Parser).setFreeFloating(_elseIf, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_elseIf, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[6].token.SkippedTokens) } case 211: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2098 +// line internal/php7/php7.y:1846 { yyVAL.node = yyDollar[1].node @@ -4490,17 +4240,15 @@ yydefault: // save comments altif := yyVAL.node.(*ast.StmtAltIf) if len(altif.ElseIf) > 0 { - yylex.(*Parser).setFreeFloating(altif.ElseIf[len(altif.ElseIf)-1], token.End, append(yyDollar[2].token.Tokens, yyDollar[3].token.Tokens...)) + yylex.(*Parser).setFreeFloating(altif.ElseIf[len(altif.ElseIf)-1], token.End, append(yyDollar[2].token.SkippedTokens, yyDollar[3].token.SkippedTokens...)) } else { - yylex.(*Parser).setFreeFloating(altif.Stmt, token.End, append(yyDollar[2].token.Tokens, yyDollar[3].token.Tokens...)) + yylex.(*Parser).setFreeFloating(altif.Stmt, token.End, append(yyDollar[2].token.SkippedTokens, yyDollar[3].token.SkippedTokens...)) } - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[3].token.SkippedTokens) } case 212: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:2116 +// line internal/php7/php7.y:1862 { stmts := &ast.StmtStmtList{ast.Node{}, yyDollar[4].list} stmtsBrackets := &ast.ParserBrackets{ast.Node{}, stmts} @@ -4516,51 +4264,41 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token) // save comments - yylex.(*Parser).setFreeFloating(_else, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(stmtsBrackets, token.End, append(yyDollar[5].token.Tokens, yyDollar[6].token.Tokens...)) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_else, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(stmtsBrackets, token.End, append(yyDollar[5].token.SkippedTokens, yyDollar[6].token.SkippedTokens...)) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[6].token.SkippedTokens) } case 213: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2142 +// line internal/php7/php7.y:1886 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 214: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2148 +// line internal/php7/php7.y:1890 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2157 +// line internal/php7/php7.y:1897 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2163 +// line internal/php7/php7.y:1901 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 217: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2175 +// line internal/php7/php7.y:1911 { identifier := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} identifier.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) @@ -4568,18 +4306,18 @@ yydefault: var variable ast.Vertex variable = &ast.ExprVariable{ast.Node{}, identifier} variable.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.SkippedTokens) if yyDollar[3].token != nil { variable = &ast.Variadic{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.SkippedTokens) } if yyDollar[2].token != nil { variable = &ast.Reference{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.SkippedTokens) } yyVAL.node = &ast.Parameter{ast.Node{}, yyDollar[1].node, variable, nil} @@ -4593,12 +4331,10 @@ yydefault: } else { yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 218: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:2211 +// line internal/php7/php7.y:1945 { identifier := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} identifier.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) @@ -4606,19 +4342,19 @@ yydefault: var variable ast.Vertex variable = &ast.ExprVariable{ast.Node{}, identifier} variable.GetNode().Position = position.NewTokenPosition(yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.End, yyDollar[5].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.End, yyDollar[5].token.SkippedTokens) if yyDollar[3].token != nil { variable = &ast.Variadic{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[3].token.SkippedTokens) } if yyDollar[2].token != nil { variable = &ast.Reference{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.SkippedTokens) } yyVAL.node = &ast.Parameter{ast.Node{}, yyDollar[1].node, variable, yyDollar[6].node} @@ -4632,36 +4368,28 @@ yydefault: } else { yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 219: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2251 +// line internal/php7/php7.y:1983 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 220: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2257 +// line internal/php7/php7.y:1987 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2266 +// line internal/php7/php7.y:1994 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2272 +// line internal/php7/php7.y:1998 { yyVAL.node = &ast.Nullable{ast.Node{}, yyDollar[2].node} @@ -4669,13 +4397,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2287 +// line internal/php7/php7.y:2011 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -4683,13 +4409,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 224: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2299 +// line internal/php7/php7.y:2021 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -4697,40 +4421,32 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 225: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2311 +// line internal/php7/php7.y:2031 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 226: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2320 +// line internal/php7/php7.y:2038 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 227: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2326 +// line internal/php7/php7.y:2042 { yyVAL.node = yyDollar[2].node // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.Tokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) } case 228: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2338 +// line internal/php7/php7.y:2052 { yyVAL.node = &ast.ArgumentList{ast.Node{}, nil} @@ -4738,14 +4454,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[2].token.SkippedTokens) } case 229: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2351 +// line internal/php7/php7.y:2063 { yyVAL.node = &ast.ArgumentList{ast.Node{}, yyDollar[2].list} @@ -4753,37 +4467,31 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) if yyDollar[3].token != nil { - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[3].token.Tokens, yyDollar[4].token.Tokens...)) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyDollar[3].token.SkippedTokens, yyDollar[4].token.SkippedTokens...)) } else { - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[4].token.SkippedTokens) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2371 +// line internal/php7/php7.y:2081 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2377 +// line internal/php7/php7.y:2085 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2389 +// line internal/php7/php7.y:2095 { yyVAL.node = &ast.Argument{ast.Node{}, false, false, yyDollar[1].node} @@ -4792,12 +4500,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 233: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2401 +// line internal/php7/php7.y:2105 { yyVAL.node = &ast.Argument{ast.Node{}, true, false, yyDollar[2].node} @@ -4805,59 +4511,47 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 234: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2416 +// line internal/php7/php7.y:2118 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2425 +// line internal/php7/php7.y:2125 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 236: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2434 +// line internal/php7/php7.y:2132 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2443 +// line internal/php7/php7.y:2139 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 238: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2452 +// line internal/php7/php7.y:2146 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 239: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2461 +// line internal/php7/php7.y:2153 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -4869,13 +4563,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2477 +// line internal/php7/php7.y:2167 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -4887,30 +4579,24 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 241: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2497 +// line internal/php7/php7.y:2185 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 242: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2503 +// line internal/php7/php7.y:2189 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 243: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2512 +// line internal/php7/php7.y:2196 { yyVAL.node = &ast.StmtPropertyList{ast.Node{}, yyDollar[1].list, yyDollar[2].node, yyDollar[3].list} @@ -4919,14 +4605,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].list[0], yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.PropertyList, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.PropertyList, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 244: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2526 +// line internal/php7/php7.y:2208 { yyVAL.node = &ast.StmtClassConstList{ast.Node{}, yyDollar[1].list, yyDollar[3].list} @@ -4936,18 +4620,16 @@ yydefault: // save comments if len(yyDollar[1].list) > 0 { yylex.(*Parser).MoveFreeFloating(yyDollar[1].list[0], yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[2].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ConstList, yyDollar[4].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ConstList, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[4].token.SkippedTokens) } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2545 +// line internal/php7/php7.y:2225 { yyVAL.node = &ast.StmtTraitUse{ast.Node{}, yyDollar[2].list, yyDollar[3].node} @@ -4955,13 +4637,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 246: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php7/php7.y:2557 +// line internal/php7/php7.y:2235 { name := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} yyVAL.node = &ast.StmtClassMethod{ast.Node{}, yyDollar[3].token != nil, name, yyDollar[1].list, yyDollar[7].list, yyDollar[9].node, yyDollar[10].node} @@ -4977,125 +4657,105 @@ yydefault: // save comments if len(yyDollar[1].list) > 0 { yylex.(*Parser).MoveFreeFloating(yyDollar[1].list[0], yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ModifierList, yyDollar[2].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[2].token.SkippedTokens) } if yyDollar[3].token == nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[4].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[4].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[8].token.SkippedTokens) } case 247: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2591 +// line internal/php7/php7.y:2267 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2597 +// line internal/php7/php7.y:2271 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 249: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2609 +// line internal/php7/php7.y:2281 { yyVAL.node = &ast.StmtNop{ast.Node{}} yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.SkippedTokens) } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2622 +// line internal/php7/php7.y:2291 { yyVAL.node = &ast.StmtTraitAdaptationList{ast.Node{}, nil} yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AdaptationList, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AdaptationList, yyDollar[2].token.SkippedTokens) } case 251: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2634 +// line internal/php7/php7.y:2301 { yyVAL.node = &ast.StmtTraitAdaptationList{ast.Node{}, yyDollar[2].list} yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.AdaptationList, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.AdaptationList, yyDollar[3].token.SkippedTokens) } case 252: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2649 +// line internal/php7/php7.y:2314 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 253: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2655 +// line internal/php7/php7.y:2318 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 254: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2664 +// line internal/php7/php7.y:2325 { yyVAL.node = yyDollar[1].node // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.NameList, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.NameList, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 255: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2674 +// line internal/php7/php7.y:2333 { yyVAL.node = yyDollar[1].node // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Alias, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Alias, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[2].token.SkippedTokens) } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2687 +// line internal/php7/php7.y:2344 { yyVAL.node = &ast.StmtTraitUsePrecedence{ast.Node{}, yyDollar[1].node, yyDollar[3].list} @@ -5104,13 +4764,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2703 +// line internal/php7/php7.y:2358 { alias := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.StmtTraitUseAlias{ast.Node{}, yyDollar[1].node, nil, alias} @@ -5121,14 +4779,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.SkippedTokens) } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2719 +// line internal/php7/php7.y:2372 { alias := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.StmtTraitUseAlias{ast.Node{}, yyDollar[1].node, nil, alias} @@ -5139,14 +4795,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[3].token.SkippedTokens) } case 259: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2735 +// line internal/php7/php7.y:2386 { alias := &ast.Identifier{ast.Node{}, yyDollar[4].token.Value} yyVAL.node = &ast.StmtTraitUseAlias{ast.Node{}, yyDollar[1].node, yyDollar[3].node, alias} @@ -5157,14 +4811,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, yyDollar[4].token.SkippedTokens) } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2751 +// line internal/php7/php7.y:2400 { yyVAL.node = &ast.StmtTraitUseAlias{ast.Node{}, yyDollar[1].node, yyDollar[3].node, nil} @@ -5173,13 +4825,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) } case 261: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2767 +// line internal/php7/php7.y:2414 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.StmtTraitMethodRef{ast.Node{}, nil, name} @@ -5189,21 +4839,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 262: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2781 +// line internal/php7/php7.y:2426 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2790 +// line internal/php7/php7.y:2433 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.StmtTraitMethodRef{ast.Node{}, yyDollar[1].node, target} @@ -5214,14 +4860,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[2].token.SkippedTokens) } case 264: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2809 +// line internal/php7/php7.y:2450 { yyVAL.node = &ast.StmtNop{ast.Node{}} @@ -5229,14 +4873,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.SemiColon, yyDollar[1].token.SkippedTokens) } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2822 +// line internal/php7/php7.y:2461 { yyVAL.node = &ast.StmtStmtList{ast.Node{}, yyDollar[2].list} @@ -5244,22 +4886,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[3].token.SkippedTokens) } case 266: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2838 +// line internal/php7/php7.y:2475 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 267: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2844 +// line internal/php7/php7.y:2479 { modifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.list = []ast.Vertex{modifier} @@ -5268,45 +4906,35 @@ yydefault: modifier.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(modifier, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(modifier, token.Start, yyDollar[1].token.SkippedTokens) } case 268: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2860 +// line internal/php7/php7.y:2493 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 269: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2866 +// line internal/php7/php7.y:2497 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 270: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2875 +// line internal/php7/php7.y:2504 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2881 +// line internal/php7/php7.y:2508 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 272: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2890 +// line internal/php7/php7.y:2515 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5314,13 +4942,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 273: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2902 +// line internal/php7/php7.y:2525 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5328,13 +4954,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 274: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2914 +// line internal/php7/php7.y:2535 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5342,13 +4966,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 275: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2926 +// line internal/php7/php7.y:2545 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5356,13 +4978,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2938 +// line internal/php7/php7.y:2555 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5370,13 +4990,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 277: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2950 +// line internal/php7/php7.y:2565 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -5384,32 +5002,26 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2965 +// line internal/php7/php7.y:2578 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 279: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2974 +// line internal/php7/php7.y:2585 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 280: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2983 +// line internal/php7/php7.y:2592 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -5421,13 +5033,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 281: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2999 +// line internal/php7/php7.y:2606 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -5439,33 +5049,27 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3019 +// line internal/php7/php7.y:2624 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3028 +// line internal/php7/php7.y:2631 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 284: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3037 +// line internal/php7/php7.y:2638 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.StmtConstant{ast.Node{}, name, yyDollar[3].node} @@ -5475,14 +5079,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3055 +// line internal/php7/php7.y:2654 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.StmtConstant{ast.Node{}, name, yyDollar[3].node} @@ -5492,76 +5094,60 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 286: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3073 +// line internal/php7/php7.y:2670 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 287: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3082 +// line internal/php7/php7.y:2677 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3091 +// line internal/php7/php7.y:2684 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 289: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3100 +// line internal/php7/php7.y:2691 { yyVAL.list = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 290: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3106 +// line internal/php7/php7.y:2695 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 291: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3115 +// line internal/php7/php7.y:2702 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 292: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3124 +// line internal/php7/php7.y:2709 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 293: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:3133 +// line internal/php7/php7.y:2716 { if yyDollar[2].node != nil { yyVAL.node = &ast.StmtClass{ast.Node{}, nil, nil, yyDollar[2].node.(*ast.ArgumentList), yyDollar[3].ClassExtends, yyDollar[4].ClassImplements, yyDollar[7].list} @@ -5573,15 +5159,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[8].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[8].token.SkippedTokens) } case 294: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3154 +// line internal/php7/php7.y:2735 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ast.Node{}, yyDollar[2].node, yyDollar[3].node.(*ast.ArgumentList)} @@ -5592,13 +5176,11 @@ yydefault: } // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3169 +// line internal/php7/php7.y:2748 { yyVAL.node = &ast.ExprNew{ast.Node{}, yyDollar[2].node, nil} @@ -5606,13 +5188,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 296: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:3184 +// line internal/php7/php7.y:2761 { listNode := &ast.ExprList{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprAssign{ast.Node{}, listNode, yyDollar[6].node} @@ -5622,16 +5202,14 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[5].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[5].token.SkippedTokens) } case 297: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:3201 +// line internal/php7/php7.y:2776 { shortList := &ast.ExprShortList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.ExprAssign{ast.Node{}, shortList, yyDollar[5].node} @@ -5641,15 +5219,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(shortList, token.ArrayPairList, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(shortList, token.ArrayPairList, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[4].token.SkippedTokens) } case 298: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3217 +// line internal/php7/php7.y:2790 { yyVAL.node = &ast.ExprAssign{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5658,13 +5234,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 299: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3230 +// line internal/php7/php7.y:2801 { yyVAL.node = &ast.ExprAssignReference{ast.Node{}, yyDollar[1].node, yyDollar[4].node} @@ -5673,14 +5247,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Equal, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Equal, yyDollar[3].token.SkippedTokens) } case 300: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3244 +// line internal/php7/php7.y:2813 { yyVAL.node = &ast.ExprClone{ast.Node{}, yyDollar[2].node} @@ -5688,13 +5260,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3256 +// line internal/php7/php7.y:2823 { yyVAL.node = &ast.ExprAssignPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5703,13 +5273,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 302: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3269 +// line internal/php7/php7.y:2834 { yyVAL.node = &ast.ExprAssignMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5718,13 +5286,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 303: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3282 +// line internal/php7/php7.y:2845 { yyVAL.node = &ast.ExprAssignMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5733,13 +5299,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 304: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3295 +// line internal/php7/php7.y:2856 { yyVAL.node = &ast.ExprAssignPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5748,13 +5312,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 305: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3308 +// line internal/php7/php7.y:2867 { yyVAL.node = &ast.ExprAssignDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5763,13 +5325,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 306: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3321 +// line internal/php7/php7.y:2878 { yyVAL.node = &ast.ExprAssignConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5778,13 +5338,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 307: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3334 +// line internal/php7/php7.y:2889 { yyVAL.node = &ast.ExprAssignMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5793,13 +5351,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 308: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3347 +// line internal/php7/php7.y:2900 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5808,13 +5364,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 309: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3360 +// line internal/php7/php7.y:2911 { yyVAL.node = &ast.ExprAssignBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5823,13 +5377,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 310: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3373 +// line internal/php7/php7.y:2922 { yyVAL.node = &ast.ExprAssignBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5838,13 +5390,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 311: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3386 +// line internal/php7/php7.y:2933 { yyVAL.node = &ast.ExprAssignShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5853,13 +5403,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 312: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3399 +// line internal/php7/php7.y:2944 { yyVAL.node = &ast.ExprAssignShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5868,13 +5416,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 313: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3412 +// line internal/php7/php7.y:2955 { yyVAL.node = &ast.ExprAssignCoalesce{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5883,13 +5429,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 314: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3425 +// line internal/php7/php7.y:2966 { yyVAL.node = &ast.ExprPostInc{ast.Node{}, yyDollar[1].node} @@ -5898,13 +5442,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 315: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3438 +// line internal/php7/php7.y:2977 { yyVAL.node = &ast.ExprPreInc{ast.Node{}, yyDollar[2].node} @@ -5912,13 +5454,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 316: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3450 +// line internal/php7/php7.y:2987 { yyVAL.node = &ast.ExprPostDec{ast.Node{}, yyDollar[1].node} @@ -5927,13 +5467,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 317: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3463 +// line internal/php7/php7.y:2998 { yyVAL.node = &ast.ExprPreDec{ast.Node{}, yyDollar[2].node} @@ -5941,13 +5479,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 318: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3475 +// line internal/php7/php7.y:3008 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5956,13 +5492,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3488 +// line internal/php7/php7.y:3019 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5971,13 +5505,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 320: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3501 +// line internal/php7/php7.y:3030 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5986,13 +5518,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 321: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3514 +// line internal/php7/php7.y:3041 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6001,13 +5531,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 322: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3527 +// line internal/php7/php7.y:3052 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6016,13 +5544,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 323: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3540 +// line internal/php7/php7.y:3063 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6031,13 +5557,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 324: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3553 +// line internal/php7/php7.y:3074 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6046,13 +5570,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3566 +// line internal/php7/php7.y:3085 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6061,13 +5583,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 326: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3579 +// line internal/php7/php7.y:3096 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6076,13 +5596,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 327: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3592 +// line internal/php7/php7.y:3107 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6091,13 +5609,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 328: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3605 +// line internal/php7/php7.y:3118 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6106,13 +5622,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 329: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3618 +// line internal/php7/php7.y:3129 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6121,13 +5635,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 330: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3631 +// line internal/php7/php7.y:3140 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6136,13 +5648,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 331: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3644 +// line internal/php7/php7.y:3151 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6151,13 +5661,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 332: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3657 +// line internal/php7/php7.y:3162 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6166,13 +5674,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3670 +// line internal/php7/php7.y:3173 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6181,13 +5687,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 334: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3683 +// line internal/php7/php7.y:3184 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6196,13 +5700,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 335: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3696 +// line internal/php7/php7.y:3195 { yyVAL.node = &ast.ExprUnaryPlus{ast.Node{}, yyDollar[2].node} @@ -6210,13 +5712,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 336: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3708 +// line internal/php7/php7.y:3205 { yyVAL.node = &ast.ExprUnaryMinus{ast.Node{}, yyDollar[2].node} @@ -6224,13 +5724,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3720 +// line internal/php7/php7.y:3215 { yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} @@ -6238,13 +5736,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 338: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3732 +// line internal/php7/php7.y:3225 { yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} @@ -6252,13 +5748,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 339: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3744 +// line internal/php7/php7.y:3235 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6267,13 +5761,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 340: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3757 +// line internal/php7/php7.y:3246 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6282,13 +5774,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 341: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3770 +// line internal/php7/php7.y:3257 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6297,13 +5787,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 342: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3783 +// line internal/php7/php7.y:3268 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6312,14 +5800,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Equal, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Equal, yyDollar[2].token.SkippedTokens) } case 343: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3797 +// line internal/php7/php7.y:3280 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6328,13 +5814,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 344: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3810 +// line internal/php7/php7.y:3291 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6343,13 +5827,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 345: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3823 +// line internal/php7/php7.y:3302 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6358,13 +5840,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 346: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3836 +// line internal/php7/php7.y:3313 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6373,13 +5853,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 347: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3849 +// line internal/php7/php7.y:3324 { yyVAL.node = &ast.ExprBinarySpaceship{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6388,13 +5866,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 348: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3862 +// line internal/php7/php7.y:3335 { yyVAL.node = &ast.ExprInstanceOf{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6403,13 +5879,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 349: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3875 +// line internal/php7/php7.y:3346 { yyVAL.node = &ast.ParserBrackets{ast.Node{}, yyDollar[2].node} @@ -6417,22 +5891,18 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3888 +// line internal/php7/php7.y:3357 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 351: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:3894 +// line internal/php7/php7.y:3361 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[5].node} @@ -6441,14 +5911,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[4].token.SkippedTokens) } case 352: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3908 +// line internal/php7/php7.y:3373 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, nil, yyDollar[4].node} @@ -6457,14 +5925,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Cond, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.True, yyDollar[3].token.SkippedTokens) } case 353: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3922 +// line internal/php7/php7.y:3385 { yyVAL.node = &ast.ExprBinaryCoalesce{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6473,21 +5939,17 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3935 +// line internal/php7/php7.y:3396 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 355: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3941 +// line internal/php7/php7.y:3400 { yyVAL.node = &ast.ExprCastInt{ast.Node{}, yyDollar[2].node} @@ -6495,14 +5957,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 356: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3954 +// line internal/php7/php7.y:3411 { yyVAL.node = &ast.ExprCastDouble{ast.Node{}, yyDollar[2].node} @@ -6510,14 +5970,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 357: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3967 +// line internal/php7/php7.y:3422 { yyVAL.node = &ast.ExprCastString{ast.Node{}, yyDollar[2].node} @@ -6525,14 +5983,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 358: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3980 +// line internal/php7/php7.y:3433 { yyVAL.node = &ast.ExprCastArray{ast.Node{}, yyDollar[2].node} @@ -6540,14 +5996,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 359: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3993 +// line internal/php7/php7.y:3444 { yyVAL.node = &ast.ExprCastObject{ast.Node{}, yyDollar[2].node} @@ -6555,14 +6009,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 360: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4006 +// line internal/php7/php7.y:3455 { yyVAL.node = &ast.ExprCastBool{ast.Node{}, yyDollar[2].node} @@ -6570,14 +6022,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 361: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4019 +// line internal/php7/php7.y:3466 { yyVAL.node = &ast.ExprCastUnset{ast.Node{}, yyDollar[2].node} @@ -6585,14 +6035,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) } case 362: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4032 +// line internal/php7/php7.y:3477 { yyVAL.node = &ast.ExprExit{ast.Node{}, false, yyDollar[2].node} @@ -6608,13 +6056,11 @@ yydefault: } // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 363: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4052 +// line internal/php7/php7.y:3495 { yyVAL.node = &ast.ExprErrorSuppress{ast.Node{}, yyDollar[2].node} @@ -6622,21 +6068,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 364: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4064 +// line internal/php7/php7.y:3505 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4070 +// line internal/php7/php7.y:3509 { yyVAL.node = &ast.ExprShellExec{ast.Node{}, yyDollar[2].list} @@ -6644,13 +6086,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 366: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4082 +// line internal/php7/php7.y:3519 { yyVAL.node = &ast.ExprPrint{ast.Node{}, yyDollar[2].node} @@ -6658,13 +6098,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4094 +// line internal/php7/php7.y:3529 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, nil} @@ -6672,13 +6110,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 368: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4106 +// line internal/php7/php7.y:3539 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} @@ -6686,13 +6122,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 369: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4118 +// line internal/php7/php7.y:3549 { yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -6700,14 +6134,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) } case 370: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4131 +// line internal/php7/php7.y:3560 { yyVAL.node = &ast.ExprYieldFrom{ast.Node{}, yyDollar[2].node} @@ -6715,21 +6147,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 371: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4143 +// line internal/php7/php7.y:3570 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 372: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4149 +// line internal/php7/php7.y:3574 { yyVAL.node = yyDollar[2].node @@ -6746,13 +6174,11 @@ yydefault: // save comments yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Static, yyVAL.node.GetNode().Tokens[token.Start]) delete(yyVAL.node.GetNode().Tokens, token.Start) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 373: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:4172 +// line internal/php7/php7.y:3595 { yyVAL.node = &ast.ExprClosure{ast.Node{}, yyDollar[2].token != nil, false, yyDollar[5].list, yyDollar[7].ClosureUse, yyDollar[8].node, yyDollar[10].list} @@ -6760,16 +6186,16 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[11].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) if yyDollar[2].token == nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[4].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[4].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[4].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[6].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ReturnType, yyDollar[9].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[11].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[6].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ReturnType, yyDollar[9].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Stmts, yyDollar[11].token.SkippedTokens) // normalize if yyDollar[8].node == nil { @@ -6780,12 +6206,10 @@ yydefault: yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Params, yyVAL.node.GetNode().Tokens[token.LexicalVarList]) delete(yyVAL.node.GetNode().Tokens, token.LexicalVarList) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 374: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:4201 +// line internal/php7/php7.y:3622 { yyVAL.node = &ast.ExprArrowFunction{ast.Node{}, yyDollar[2].token != nil, false, yyDollar[4].list, yyDollar[6].node, yyDollar[9].node} @@ -6793,47 +6217,43 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) if yyDollar[2].token == nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[3].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[3].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Function, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ampersand, yyDollar[3].token.SkippedTokens) } - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ReturnType, yyDollar[8].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ParameterList, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ReturnType, yyDollar[8].token.SkippedTokens) // normalize if yyDollar[6].node == nil { yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Params, yyVAL.node.GetNode().Tokens[token.ReturnType]) delete(yyVAL.node.GetNode().Tokens, token.ReturnType) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 376: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4233 +// line internal/php7/php7.y:3652 { yyVAL.token = nil } case 377: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4237 +// line internal/php7/php7.y:3656 { yyVAL.token = yyDollar[1].token } case 378: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4244 +// line internal/php7/php7.y:3663 { yyVAL.ClosureUse = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 379: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4250 +// line internal/php7/php7.y:3667 { yyVAL.ClosureUse = &ast.ExprClosureUse{ast.Node{}, yyDollar[3].list} @@ -6841,34 +6261,28 @@ yydefault: yyVAL.ClosureUse.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.Use, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.LexicalVarList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.Use, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.ClosureUse, token.LexicalVarList, yyDollar[4].token.SkippedTokens) } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4267 +// line internal/php7/php7.y:3682 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 381: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4276 +// line internal/php7/php7.y:3689 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 382: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4285 +// line internal/php7/php7.y:3696 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, identifier} @@ -6878,13 +6292,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 383: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4299 +// line internal/php7/php7.y:3708 { identifier := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -6896,14 +6308,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.SkippedTokens) } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4319 +// line internal/php7/php7.y:3726 { yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, yyDollar[1].node, yyDollar[2].node.(*ast.ArgumentList)} @@ -6912,12 +6322,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 385: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4331 +// line internal/php7/php7.y:3736 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6926,13 +6334,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 386: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4344 +// line internal/php7/php7.y:3747 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6941,13 +6347,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 387: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4357 +// line internal/php7/php7.y:3758 { yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, yyDollar[1].node, yyDollar[2].node.(*ast.ArgumentList)} @@ -6956,12 +6360,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 388: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4372 +// line internal/php7/php7.y:3771 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -6969,45 +6371,35 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 389: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4384 +// line internal/php7/php7.y:3781 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 390: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4393 +// line internal/php7/php7.y:3788 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 391: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4399 +// line internal/php7/php7.y:3792 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 392: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4408 +// line internal/php7/php7.y:3799 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4414 +// line internal/php7/php7.y:3803 { yyVAL.node = &ast.ParserBrackets{ast.Node{}, yyDollar[2].node} @@ -7015,58 +6407,46 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 394: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4430 +// line internal/php7/php7.y:3817 { yyVAL.list = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 395: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4436 +// line internal/php7/php7.y:3821 { part := &ast.ScalarEncapsedStringPart{ast.Node{}, yyDollar[1].token.Value} yyVAL.list = []ast.Vertex{part} // save position part.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 396: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4446 +// line internal/php7/php7.y:3829 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 397: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4455 +// line internal/php7/php7.y:3836 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 398: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4461 +// line internal/php7/php7.y:3840 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 399: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4470 +// line internal/php7/php7.y:3847 { yyVAL.node = &ast.ExprArray{ast.Node{}, yyDollar[3].list} @@ -7074,15 +6454,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Array, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Array, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[4].token.SkippedTokens) } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4484 +// line internal/php7/php7.y:3859 { yyVAL.node = &ast.ExprShortArray{ast.Node{}, yyDollar[2].list} @@ -7090,14 +6468,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.ArrayPairList, yyDollar[3].token.SkippedTokens) } case 401: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4497 +// line internal/php7/php7.y:3870 { yyVAL.node = &ast.ScalarString{ast.Node{}, yyDollar[1].token.Value} @@ -7105,13 +6481,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 402: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4512 +// line internal/php7/php7.y:3883 { yyVAL.node = &ast.ScalarLnumber{ast.Node{}, yyDollar[1].token.Value} @@ -7119,13 +6493,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 403: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4524 +// line internal/php7/php7.y:3893 { yyVAL.node = &ast.ScalarDnumber{ast.Node{}, yyDollar[1].token.Value} @@ -7133,13 +6505,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 404: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4536 +// line internal/php7/php7.y:3903 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7147,13 +6517,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 405: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4548 +// line internal/php7/php7.y:3913 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7161,13 +6529,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 406: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4560 +// line internal/php7/php7.y:3923 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7175,13 +6541,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 407: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4572 +// line internal/php7/php7.y:3933 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7189,13 +6553,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 408: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4584 +// line internal/php7/php7.y:3943 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7203,13 +6565,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 409: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4596 +// line internal/php7/php7.y:3953 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7217,13 +6577,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4608 +// line internal/php7/php7.y:3963 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7231,13 +6589,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4620 +// line internal/php7/php7.y:3973 { yyVAL.node = &ast.ScalarMagicConstant{ast.Node{}, yyDollar[1].token.Value} @@ -7245,13 +6601,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4632 +// line internal/php7/php7.y:3983 { encapsed := &ast.ScalarEncapsedStringPart{ast.Node{}, yyDollar[2].token.Value} yyVAL.node = &ast.ScalarHeredoc{ast.Node{}, yyDollar[1].token.Value, []ast.Vertex{encapsed}} @@ -7261,13 +6615,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4646 +// line internal/php7/php7.y:3995 { yyVAL.node = &ast.ScalarHeredoc{ast.Node{}, yyDollar[1].token.Value, nil} @@ -7275,13 +6627,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 414: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4658 +// line internal/php7/php7.y:4005 { yyVAL.node = &ast.ScalarEncapsed{ast.Node{}, yyDollar[2].list} @@ -7289,13 +6639,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 415: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4670 +// line internal/php7/php7.y:4015 { yyVAL.node = &ast.ScalarHeredoc{ast.Node{}, yyDollar[1].token.Value, yyDollar[2].list} @@ -7303,29 +6651,23 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4682 +// line internal/php7/php7.y:4025 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4688 +// line internal/php7/php7.y:4029 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 418: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4697 +// line internal/php7/php7.y:4036 { yyVAL.node = &ast.ExprConstFetch{ast.Node{}, yyDollar[1].node} @@ -7334,12 +6676,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4709 +// line internal/php7/php7.y:4046 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} @@ -7350,14 +6690,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.SkippedTokens) } case 420: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4725 +// line internal/php7/php7.y:4060 { target := &ast.Identifier{ast.Node{}, yyDollar[3].token.Value} yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} @@ -7368,62 +6706,48 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, yyDollar[3].token.SkippedTokens) } case 421: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4744 +// line internal/php7/php7.y:4077 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 422: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4750 +// line internal/php7/php7.y:4081 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4759 +// line internal/php7/php7.y:4088 { yyVAL.node = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4765 +// line internal/php7/php7.y:4092 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 425: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4774 +// line internal/php7/php7.y:4099 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 426: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4783 +// line internal/php7/php7.y:4106 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4789 +// line internal/php7/php7.y:4110 { yyVAL.node = &ast.ParserBrackets{ast.Node{}, yyDollar[2].node} @@ -7431,30 +6755,24 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4802 +// line internal/php7/php7.y:4121 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4811 +// line internal/php7/php7.y:4128 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 430: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4817 +// line internal/php7/php7.y:4132 { yyVAL.node = &ast.ParserBrackets{ast.Node{}, yyDollar[2].node} @@ -7462,30 +6780,24 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 431: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4830 +// line internal/php7/php7.y:4143 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 432: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4839 +// line internal/php7/php7.y:4150 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 433: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4845 +// line internal/php7/php7.y:4154 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7493,14 +6805,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 434: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4858 +// line internal/php7/php7.y:4165 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7508,14 +6818,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 435: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4871 +// line internal/php7/php7.y:4176 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7523,14 +6831,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 436: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4884 +// line internal/php7/php7.y:4187 { yyVAL.node = &ast.ExprMethodCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -7539,37 +6845,29 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4897 +// line internal/php7/php7.y:4198 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 438: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4906 +// line internal/php7/php7.y:4205 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 439: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4912 +// line internal/php7/php7.y:4209 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4918 +// line internal/php7/php7.y:4213 { yyVAL.node = &ast.ExprPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7578,13 +6876,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 441: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4934 +// line internal/php7/php7.y:4227 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, name} @@ -7594,13 +6890,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4948 +// line internal/php7/php7.y:4239 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -7608,15 +6902,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.Start, append(yyDollar[2].token.Tokens, yyDollar[3].node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.End, append(yyDollar[3].node.GetNode().Tokens[token.End], yyDollar[4].token.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.Start, append(yyDollar[2].token.SkippedTokens, yyDollar[3].node.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens(yyDollar[3].node, token.End, append(yyDollar[3].node.GetNode().Tokens[token.End], yyDollar[4].token.SkippedTokens...)) } case 443: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4962 +// line internal/php7/php7.y:4251 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -7624,13 +6916,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 444: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4977 +// line internal/php7/php7.y:4264 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7639,13 +6929,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 445: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4990 +// line internal/php7/php7.y:4275 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7654,21 +6942,17 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 446: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5006 +// line internal/php7/php7.y:4289 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 447: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:5012 +// line internal/php7/php7.y:4293 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7676,14 +6960,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 448: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:5025 +// line internal/php7/php7.y:4304 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7691,14 +6973,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5038 +// line internal/php7/php7.y:4315 { yyVAL.node = &ast.ExprPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7707,13 +6987,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5051 +// line internal/php7/php7.y:4326 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7722,13 +7000,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 451: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5064 +// line internal/php7/php7.y:4337 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7737,13 +7013,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) } case 452: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5080 +// line internal/php7/php7.y:4351 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -7751,33 +7025,27 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 453: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5092 +// line internal/php7/php7.y:4361 { yyVAL.node = yyDollar[2].node // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.Tokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5102 +// line internal/php7/php7.y:4369 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5111 +// line internal/php7/php7.y:4376 { yyVAL.node = &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} @@ -7785,57 +7053,45 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 456: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5123 +// line internal/php7/php7.y:4386 { yyVAL.node = yyDollar[2].node // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.Tokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5133 +// line internal/php7/php7.y:4394 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 458: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5142 +// line internal/php7/php7.y:4401 { yyVAL.list = yyDollar[1].list - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 459: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:5151 +// line internal/php7/php7.y:4408 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, nil} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 460: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5157 +// line internal/php7/php7.y:4412 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 461: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5166 +// line internal/php7/php7.y:4419 { if len(yyDollar[1].list) == 0 { yyDollar[1].list = []ast.Vertex{&ast.ExprArrayItem{ast.Node{}, false, nil, nil}} @@ -7844,25 +7100,21 @@ yydefault: yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5179 +// line internal/php7/php7.y:4430 { if yyDollar[1].node.(*ast.ExprArrayItem).Key == nil && yyDollar[1].node.(*ast.ExprArrayItem).Val == nil { yyVAL.list = []ast.Vertex{} } else { yyVAL.list = []ast.Vertex{yyDollar[1].node} } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 463: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5192 +// line internal/php7/php7.y:4441 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, yyDollar[3].node} @@ -7871,13 +7123,11 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) } case 464: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5205 +// line internal/php7/php7.y:4452 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[1].node} @@ -7886,12 +7136,10 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 465: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:5217 +// line internal/php7/php7.y:4462 { reference := &ast.ExprReference{ast.Node{}, yyDollar[4].node} yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, reference} @@ -7902,14 +7150,12 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(reference, token.Start, yyDollar[3].token.SkippedTokens) } case 466: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5233 +// line internal/php7/php7.y:4476 { reference := &ast.ExprReference{ast.Node{}, yyDollar[2].node} yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, reference} @@ -7919,13 +7165,11 @@ yydefault: reference.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 467: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5247 +// line internal/php7/php7.y:4488 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, true, nil, yyDollar[2].node} @@ -7933,13 +7177,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 468: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:5259 +// line internal/php7/php7.y:4498 { // TODO: Cannot use list() as standalone expression listNode := &ast.ExprList{ast.Node{}, yyDollar[5].list} @@ -7951,16 +7193,14 @@ yydefault: // save comments yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.Start, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[4].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.Start, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[4].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[6].token.SkippedTokens) } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:5278 +// line internal/php7/php7.y:4515 { // TODO: Cannot use list() as standalone expression listNode := &ast.ExprList{ast.Node{}, yyDollar[3].list} @@ -7971,23 +7211,19 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, yyDollar[4].token.SkippedTokens) } case 470: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5298 +// line internal/php7/php7.y:4533 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 471: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5304 +// line internal/php7/php7.y:4537 { encapsed := &ast.ScalarEncapsedStringPart{ast.Node{}, yyDollar[2].token.Value} yyVAL.list = append(yyDollar[1].list, encapsed) @@ -7996,21 +7232,17 @@ yydefault: encapsed.GetNode().Position = position.NewTokenPosition(yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(encapsed, token.Start, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(encapsed, token.Start, yyDollar[2].token.SkippedTokens) } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5317 +// line internal/php7/php7.y:4548 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 473: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5323 +// line internal/php7/php7.y:4552 { encapsed := &ast.ScalarEncapsedStringPart{ast.Node{}, yyDollar[1].token.Value} yyVAL.list = []ast.Vertex{encapsed, yyDollar[2].node} @@ -8019,13 +7251,11 @@ yydefault: encapsed.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(encapsed, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(encapsed, token.Start, yyDollar[1].token.SkippedTokens) } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5339 +// line internal/php7/php7.y:4566 { name := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, name} @@ -8035,13 +7265,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 475: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:5353 +// line internal/php7/php7.y:4578 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -8053,14 +7281,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[4].token.SkippedTokens) } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5370 +// line internal/php7/php7.y:4593 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -8074,14 +7300,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloating(fetch, token.Start, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Var, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(fetch, token.Start, yyDollar[3].token.SkippedTokens) } case 477: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5389 +// line internal/php7/php7.y:4610 { variable := &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -8091,14 +7315,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 478: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5404 +// line internal/php7/php7.y:4623 { name := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} variable := &ast.ExprVariable{ast.Node{}, name} @@ -8110,14 +7332,12 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) // save comments - yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 479: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:5421 +// line internal/php7/php7.y:4638 { identifier := &ast.Identifier{ast.Node{}, yyDollar[2].token.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} @@ -8129,28 +7349,24 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) // save comments - yylex.(*Parser).setToken(variable, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[3].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[5].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[6].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(variable, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Var, yyDollar[3].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Expr, yyDollar[5].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[6].token.SkippedTokens) } case 480: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5440 +// line internal/php7/php7.y:4655 { yyVAL.node = yyDollar[2].node // save comments - yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 481: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5453 +// line internal/php7/php7.y:4666 { yyVAL.node = &ast.ScalarString{ast.Node{}, yyDollar[1].token.Value} @@ -8158,13 +7374,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 482: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5465 +// line internal/php7/php7.y:4676 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -8177,13 +7391,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 483: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5482 +// line internal/php7/php7.y:4691 { var lnumber *ast.ScalarLnumber // TODO: add option to handle 64 bit integer @@ -8205,13 +7417,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 484: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5508 +// line internal/php7/php7.y:4715 { identifier := &ast.Identifier{ast.Node{}, yyDollar[1].token.Value} yyVAL.node = &ast.ExprVariable{ast.Node{}, identifier} @@ -8221,13 +7431,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 485: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:5525 +// line internal/php7/php7.y:4730 { yyVAL.node = &ast.ExprIsset{ast.Node{}, yyDollar[3].list} @@ -8235,19 +7443,17 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Isset, yyDollar[2].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Isset, yyDollar[2].token.SkippedTokens) if yyDollar[4].token == nil { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[5].token.Tokens) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[5].token.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, append(yyDollar[4].token.Tokens, yyDollar[5].token.Tokens...)) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, append(yyDollar[4].token.SkippedTokens, yyDollar[5].token.SkippedTokens...)) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 486: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:5543 +// line internal/php7/php7.y:4746 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} yyVAL.node = &ast.ExprEmpty{ast.Node{}, exprBrackets} @@ -8257,15 +7463,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) } case 487: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5559 +// line internal/php7/php7.y:4760 { yyVAL.node = &ast.ExprInclude{ast.Node{}, yyDollar[2].node} @@ -8273,13 +7477,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 488: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5571 +// line internal/php7/php7.y:4770 { yyVAL.node = &ast.ExprIncludeOnce{ast.Node{}, yyDollar[2].node} @@ -8287,13 +7489,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:5583 +// line internal/php7/php7.y:4780 { exprBrackets := &ast.ParserBrackets{ast.Node{}, yyDollar[3].node} yyVAL.node = &ast.ExprEval{ast.Node{}, exprBrackets} @@ -8303,15 +7503,13 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, yyDollar[2].token.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, yyDollar[4].token.SkippedTokens) } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5599 +// line internal/php7/php7.y:4794 { yyVAL.node = &ast.ExprRequire{ast.Node{}, yyDollar[2].node} @@ -8319,13 +7517,11 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:5611 +// line internal/php7/php7.y:4804 { yyVAL.node = &ast.ExprRequireOnce{ast.Node{}, yyDollar[2].node} @@ -8333,36 +7529,28 @@ yydefault: yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 492: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5626 +// line internal/php7/php7.y:4817 { yyVAL.list = []ast.Vertex{yyDollar[1].node} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 493: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5632 +// line internal/php7/php7.y:4821 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) } case 494: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5644 +// line internal/php7/php7.y:4831 { yyVAL.node = yyDollar[1].node - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } } goto yystack /* stack new state and value */ diff --git a/internal/php7/php7.y b/internal/php7/php7.y index d43148c..23503c6 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -5,17 +5,17 @@ import ( "bytes" "strconv" - "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/token" + "github.com/z7zmey/php-parser/internal/position" + "github.com/z7zmey/php-parser/pkg/ast" + "github.com/z7zmey/php-parser/pkg/token" ) %} %union{ node ast.Vertex - token *scanner.Token + token *token.Token + tkn *token.Token list []ast.Vertex ClassExtends *ast.StmtClassExtends @@ -24,7 +24,6 @@ import ( ClosureUse *ast.ExprClosureUse } -%type $unk %token T_INCLUDE %token T_INCLUDE_ONCE %token T_EXIT @@ -297,9 +296,7 @@ start: // save position yylex.(*Parser).rootNode.GetNode().Position = position.NewNodeListPosition($1) - yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, token.End, yylex.(*Parser).currentToken.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, token.End, yylex.(*Parser).currentToken.SkippedTokens) } ; @@ -343,14 +340,10 @@ top_statement_list: if $2 != nil { $$ = append($1, $2) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -364,9 +357,7 @@ namespace_name: namePart.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(namePart, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(namePart, token.Start, $1.SkippedTokens) } | namespace_name T_NS_SEPARATOR T_STRING { @@ -377,10 +368,8 @@ namespace_name: namePart.GetNode().Position = position.NewTokenPosition($3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - yylex.(*Parser).setFreeFloating(namePart, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(namePart, token.Start, $3.SkippedTokens) } ; @@ -391,8 +380,6 @@ name: // save position $$.GetNode().Position = position.NewNodeListPosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_NAMESPACE T_NS_SEPARATOR namespace_name { @@ -402,10 +389,8 @@ name: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.SkippedTokens) } | T_NS_SEPARATOR namespace_name { @@ -415,9 +400,7 @@ name: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -426,38 +409,26 @@ top_statement: { // error $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | function_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | class_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | trait_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | interface_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_HALT_COMPILER '(' ')' ';' { @@ -467,10 +438,8 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($2.Tokens, append($3.Tokens, $4.Tokens...)...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($2.SkippedTokens, append($3.SkippedTokens, $4.SkippedTokens...)...)) } | T_NAMESPACE namespace_name ';' { @@ -482,12 +451,10 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) yylex.(*Parser).MoveFreeFloating($2[0], name) - yylex.(*Parser).setFreeFloating(name, token.End, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(name, token.End, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_NAMESPACE namespace_name '{' top_statement_list '}' { @@ -499,12 +466,10 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) yylex.(*Parser).MoveFreeFloating($2[0], name) - yylex.(*Parser).setFreeFloating(name, token.End, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(name, token.End, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $5.SkippedTokens) } | T_NAMESPACE '{' top_statement_list '}' { @@ -514,11 +479,9 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Namespace, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.SkippedTokens) } | T_USE mixed_group_use_declaration ';' { @@ -528,10 +491,8 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | T_USE use_type group_use_declaration ';' { @@ -543,10 +504,8 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.SkippedTokens) } | T_USE use_declarations ';' { @@ -558,10 +517,8 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | T_USE use_type use_declarations ';' { @@ -575,10 +532,8 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.SkippedTokens) } | T_CONST const_list ';' { @@ -588,11 +543,9 @@ top_statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } ; @@ -605,9 +558,7 @@ use_type: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_CONST { @@ -617,9 +568,7 @@ use_type: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -641,13 +590,11 @@ group_use_declaration: // save comments if $5 != nil { - yylex.(*Parser).setFreeFloatingTokens(useList, token.End, $5.Tokens) + yylex.(*Parser).setFreeFloatingTokens(useList, token.End, $5.SkippedTokens) } - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, $6.Tokens) - yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, $2.SkippedTokens) } | T_NS_SEPARATOR namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations possible_comma '}' { @@ -667,15 +614,13 @@ group_use_declaration: $$.GetNode().Position = position.NewTokensPosition($1, $7) // save comments - yylex.(*Parser).setFreeFloating(prefixNsSeparator, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating(prefixNsSeparator, token.Start, $1.SkippedTokens) if $6 != nil { - yylex.(*Parser).setFreeFloatingTokens(useList, token.End, $6.Tokens) + yylex.(*Parser).setFreeFloatingTokens(useList, token.End, $6.SkippedTokens) } - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, $4.Tokens) - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, $7.Tokens) - yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, $4.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, $7.SkippedTokens) + yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, $3.SkippedTokens) } ; @@ -697,13 +642,11 @@ mixed_group_use_declaration: // save comments if $5 != nil { - yylex.(*Parser).setFreeFloatingTokens(useList, token.End, $5.Tokens) + yylex.(*Parser).setFreeFloatingTokens(useList, token.End, $5.SkippedTokens) } - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, $6.Tokens) - yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, $2.SkippedTokens) } | T_NS_SEPARATOR namespace_name T_NS_SEPARATOR '{' inline_use_declarations possible_comma '}' { @@ -723,15 +666,13 @@ mixed_group_use_declaration: $$.GetNode().Position = position.NewTokensPosition($1, $7) // save comments - yylex.(*Parser).setFreeFloating(prefixNsSeparator, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating(prefixNsSeparator, token.Start, $1.SkippedTokens) if $6 != nil { - yylex.(*Parser).setFreeFloatingTokens(useList, token.End, $6.Tokens) + yylex.(*Parser).setFreeFloatingTokens(useList, token.End, $6.SkippedTokens) } - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, $4.Tokens) - yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, $7.Tokens) - yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.Start, $4.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(useListBrackets, token.End, $7.SkippedTokens) + yylex.(*Parser).setFreeFloating(useListNsSeparator, token.Start, $3.SkippedTokens) } ; @@ -752,15 +693,11 @@ inline_use_declarations: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | inline_use_declaration { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -770,15 +707,11 @@ unprefixed_use_declarations: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | unprefixed_use_declaration { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -788,15 +721,11 @@ use_declarations: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | use_declaration { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -804,8 +733,6 @@ inline_use_declaration: unprefixed_use_declaration { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | use_type unprefixed_use_declaration { @@ -813,8 +740,6 @@ inline_use_declaration: // save position $$.GetNode().Position = position.NewNodesPosition($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -827,8 +752,6 @@ unprefixed_use_declaration: // save position name.GetNode().Position = position.NewNodeListPosition($1) $$.GetNode().Position = position.NewNodePosition(name) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | namespace_name T_AS T_STRING { @@ -844,10 +767,8 @@ unprefixed_use_declaration: $$.GetNode().Position = position.NewNodeListTokenPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(asAlias, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(asAlias, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $3.SkippedTokens) } ; @@ -855,8 +776,6 @@ use_declaration: unprefixed_use_declaration { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_NS_SEPARATOR unprefixed_use_declaration { @@ -867,9 +786,7 @@ use_declaration: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -879,15 +796,11 @@ const_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | const_decl { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -902,14 +815,10 @@ inner_statement_list: if $2 != nil { $$ = append($1, $2) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -918,38 +827,26 @@ inner_statement: { // error $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | function_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | class_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | trait_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | interface_declaration_statement { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_HALT_COMPILER '(' ')' ';' { @@ -959,10 +856,8 @@ inner_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($2.Tokens, append($3.Tokens, $4.Tokens...)...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($2.SkippedTokens, append($3.SkippedTokens, $4.SkippedTokens...)...)) } statement: @@ -974,22 +869,16 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) } | if_stmt { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | alt_if_stmt { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_WHILE '(' expr ')' while_statement { @@ -1009,11 +898,9 @@ statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) } | T_DO statement T_WHILE '(' expr ')' ';' { @@ -1025,13 +912,11 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $7) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $4.Tokens) - yylex.(*Parser).setFreeFloating(exprBrackets, token.End, append($6.Tokens, $7.Tokens...)) - yylex.(*Parser).setToken($$, token.SemiColon, $7.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating(exprBrackets, token.End, append($6.SkippedTokens, $7.SkippedTokens...)) + yylex.(*Parser).setToken($$, token.SemiColon, $7.SkippedTokens) } | T_FOR '(' for_exprs ';' for_exprs ';' for_exprs ')' for_statement { @@ -1052,13 +937,11 @@ statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $9) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.For, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.InitExpr, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.CondExpr, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.IncExpr, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.For, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.InitExpr, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.CondExpr, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.IncExpr, $8.SkippedTokens) } | T_SWITCH '(' expr ')' switch_case_list { @@ -1080,11 +963,9 @@ statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) } | T_BREAK optional_expr ';' { @@ -1094,11 +975,9 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_CONTINUE optional_expr ';' { @@ -1108,11 +987,9 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_RETURN optional_expr ';' { @@ -1122,11 +999,9 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_GLOBAL global_var_list ';' { @@ -1136,11 +1011,9 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.VarList, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.VarList, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_STATIC static_var_list ';' { @@ -1150,11 +1023,9 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.VarList, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.VarList, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_ECHO echo_expr_list ';' { @@ -1164,12 +1035,10 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Echo, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Echo, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_INLINE_HTML { @@ -1179,9 +1048,7 @@ statement: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | expr ';' { @@ -1192,10 +1059,8 @@ statement: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | T_UNSET '(' unset_variables possible_comma ')' ';' { @@ -1205,17 +1070,15 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $6) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Unset, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Unset, $2.SkippedTokens) if $4 != nil { - yylex.(*Parser).setFreeFloating($$, token.VarList, append($4.Tokens, $5.Tokens...)) + yylex.(*Parser).setFreeFloating($$, token.VarList, append($4.SkippedTokens, $5.SkippedTokens...)) } else { - yylex.(*Parser).setFreeFloating($$, token.VarList, $5.Tokens) + yylex.(*Parser).setFreeFloating($$, token.VarList, $5.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.CloseParenthesisToken, $6.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $6.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.CloseParenthesisToken, $6.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $6.SkippedTokens) } | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement { @@ -1234,13 +1097,10 @@ statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $7) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Foreach, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Var, $6.Tokens) - - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Foreach, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Var, $6.SkippedTokens) } | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement { @@ -1261,13 +1121,11 @@ statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $9) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Foreach, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Key, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Var, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Foreach, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Key, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Var, $8.SkippedTokens) } | T_DECLARE '(' const_list ')' declare_statement { @@ -1278,11 +1136,9 @@ statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Declare, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ConstList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Declare, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ConstList, $4.SkippedTokens) } | ';' { @@ -1292,10 +1148,8 @@ statement: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $1.SkippedTokens) } | T_TRY '{' inner_statement_list '}' catch_list finally_statement { @@ -1308,11 +1162,9 @@ statement: } // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Try, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Try, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.SkippedTokens) } | T_THROW expr ';' { @@ -1322,11 +1174,9 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_GOTO T_STRING ';' { @@ -1338,12 +1188,10 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(label, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Label, $3.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(label, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Label, $3.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | T_STRING ':' { @@ -1355,18 +1203,14 @@ statement: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Label, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Label, $2.SkippedTokens) } catch_list: /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | catch_list T_CATCH '(' catch_name_list T_VARIABLE ')' '{' inner_statement_list '}' { @@ -1381,31 +1225,25 @@ catch_list: catch.GetNode().Position = position.NewTokensPosition($2, $9) // save comments - yylex.(*Parser).setFreeFloating(catch, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(catch, token.Catch, $3.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, $5.Tokens) - yylex.(*Parser).setFreeFloating(catch, token.Var, $6.Tokens) - yylex.(*Parser).setFreeFloating(catch, token.Cond, $7.Tokens) - yylex.(*Parser).setFreeFloating(catch, token.Stmts, $9.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(catch, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(catch, token.Catch, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating(catch, token.Var, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating(catch, token.Cond, $7.SkippedTokens) + yylex.(*Parser).setFreeFloating(catch, token.Stmts, $9.SkippedTokens) } ; catch_name_list: name { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | catch_name_list '|' name { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -1413,8 +1251,6 @@ finally_statement: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_FINALLY '{' inner_statement_list '}' { @@ -1424,11 +1260,9 @@ finally_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Finally, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Finally, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $4.SkippedTokens) } ; @@ -1436,17 +1270,13 @@ unset_variables: unset_variable { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | unset_variables ',' unset_variable { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -1454,8 +1284,6 @@ unset_variable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -1471,24 +1299,22 @@ function_declaration_statement: // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) if $2 != nil { - yylex.(*Parser).setFreeFloating($$, token.Function, $2.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $3.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating(name, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $3.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.Name, $5.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ParamList, $7.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ReturnType, $9.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $11.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ParamList, $7.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ReturnType, $9.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $11.SkippedTokens) // normalize if $8 == nil { yylex.(*Parser).setFreeFloatingTokens($$, token.Params, $$.GetNode().Tokens[token.ReturnType]); delete($$.GetNode().Tokens, token.ReturnType) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -1526,12 +1352,10 @@ class_declaration_statement: // save comments yylex.(*Parser).MoveFreeFloating($1[0], $$) - yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $7.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $9.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $7.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $9.SkippedTokens) } | T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' { @@ -1543,12 +1367,10 @@ class_declaration_statement: $$.GetNode().Position = position.NewTokensPosition($1, $8) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $8.SkippedTokens) } ; @@ -1556,14 +1378,10 @@ class_modifiers: class_modifier { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | class_modifiers class_modifier { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -1576,9 +1394,7 @@ class_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_FINAL { @@ -1588,9 +1404,7 @@ class_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -1605,12 +1419,10 @@ trait_declaration_statement: $$.GetNode().Position = position.NewTokensPosition($1, $6) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $6.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $6.SkippedTokens) } ; @@ -1625,12 +1437,10 @@ interface_declaration_statement: $$.GetNode().Position = position.NewTokensPosition($1, $7) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(name, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $5.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $7.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(name, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $7.SkippedTokens) } ; @@ -1638,8 +1448,6 @@ extends_from: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_EXTENDS name { @@ -1649,9 +1457,7 @@ extends_from: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -1659,8 +1465,6 @@ interface_extends_list: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_EXTENDS name_list { @@ -1670,9 +1474,7 @@ interface_extends_list: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -1680,8 +1482,6 @@ implements_list: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_IMPLEMENTS name_list { @@ -1691,9 +1491,7 @@ implements_list: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -1701,8 +1499,6 @@ foreach_variable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '&' variable { @@ -1712,9 +1508,7 @@ foreach_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_LIST '(' array_pair_list ')' { @@ -1724,11 +1518,9 @@ foreach_variable: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.List, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.List, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.SkippedTokens) } | '[' array_pair_list ']' { @@ -1738,10 +1530,8 @@ foreach_variable: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save commentsc - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $3.SkippedTokens) } ; @@ -1752,8 +1542,6 @@ for_statement: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' inner_statement_list T_ENDFOR ';' { @@ -1765,12 +1553,10 @@ for_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } ; @@ -1781,8 +1567,6 @@ foreach_statement: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' inner_statement_list T_ENDFOREACH ';' { @@ -1794,12 +1578,10 @@ foreach_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } ; @@ -1810,8 +1592,6 @@ declare_statement: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' inner_statement_list T_ENDDECLARE ';' { @@ -1823,12 +1603,10 @@ declare_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } ; @@ -1843,10 +1621,8 @@ switch_case_list: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(caseList, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(caseList, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $3.SkippedTokens) } | '{' ';' case_list '}' { @@ -1858,11 +1634,9 @@ switch_case_list: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating(caseList, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, $2.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(caseList, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $4.SkippedTokens) } | ':' case_list T_ENDSWITCH ';' { @@ -1874,12 +1648,10 @@ switch_case_list: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } | ':' ';' case_list T_ENDSWITCH ';' { @@ -1892,13 +1664,11 @@ switch_case_list: $$.GetNode().Position = position.NewTokensPosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, $2.Tokens) - yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $5.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(caseList, token.CaseListStart, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(caseList, token.CaseListEnd, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $5.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $5.SkippedTokens) } ; @@ -1906,8 +1676,6 @@ case_list: /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | case_list T_CASE expr case_separator inner_statement_list { @@ -1918,11 +1686,9 @@ case_list: _case.GetNode().Position = position.NewTokenNodeListPosition($2, $5) // save comments - yylex.(*Parser).setFreeFloating(_case, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(_case, token.Expr, append($4.Tokens)) - yylex.(*Parser).setToken(_case, token.CaseSeparator, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_case, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(_case, token.Expr, append($4.SkippedTokens)) + yylex.(*Parser).setToken(_case, token.CaseSeparator, $4.SkippedTokens) } | case_list T_DEFAULT case_separator inner_statement_list { @@ -1933,11 +1699,9 @@ case_list: _default.GetNode().Position = position.NewTokenNodeListPosition($2, $4) // save comments - yylex.(*Parser).setFreeFloating(_default, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloating(_default, token.Default, $3.Tokens) - yylex.(*Parser).setToken(_default, token.CaseSeparator, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_default, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(_default, token.Default, $3.SkippedTokens) + yylex.(*Parser).setToken(_default, token.CaseSeparator, $3.SkippedTokens) } ; @@ -1959,8 +1723,6 @@ while_statement: // save position $$.GetNode().Position = position.NewNodePosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' inner_statement_list T_ENDWHILE ';' { @@ -1972,12 +1734,10 @@ while_statement: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Cond, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AltEnd, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } ; @@ -1992,11 +1752,9 @@ if_stmt_without_else: $$.GetNode().Position = position.NewTokenNodePosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) } | if_stmt_without_else T_ELSEIF '(' expr ')' statement { @@ -2012,11 +1770,9 @@ if_stmt_without_else: $$.GetNode().Position = position.NewNodesPosition($1, $6) // save comments - yylex.(*Parser).setFreeFloating(_elseIf, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_elseIf, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $5.SkippedTokens) } ; @@ -2024,8 +1780,6 @@ if_stmt: if_stmt_without_else %prec T_NOELSE { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | if_stmt_without_else T_ELSE statement { @@ -2039,9 +1793,7 @@ if_stmt: $$.GetNode().Position = position.NewNodesPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating(_else, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_else, token.Start, $2.SkippedTokens) } ; @@ -2060,12 +1812,10 @@ alt_if_stmt_without_else: $$.GetNode().Position = position.NewTokenNodeListPosition($1, $6) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $5.SkippedTokens) } | alt_if_stmt_without_else T_ELSEIF '(' expr ')' ':' inner_statement_list { @@ -2084,12 +1834,10 @@ alt_if_stmt_without_else: _elseIf.GetNode().Position = position.NewTokenNodeListPosition($2, $7) // save comments - yylex.(*Parser).setFreeFloating(_elseIf, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $5.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $6.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_elseIf, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $5.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $6.SkippedTokens) } ; @@ -2104,13 +1852,11 @@ alt_if_stmt: // save comments altif := $$.(*ast.StmtAltIf) if len(altif.ElseIf) > 0 { - yylex.(*Parser).setFreeFloating(altif.ElseIf[len(altif.ElseIf)-1], token.End, append($2.Tokens, $3.Tokens...)) + yylex.(*Parser).setFreeFloating(altif.ElseIf[len(altif.ElseIf)-1], token.End, append($2.SkippedTokens, $3.SkippedTokens...)) } else { - yylex.(*Parser).setFreeFloating(altif.Stmt, token.End, append($2.Tokens, $3.Tokens...)) + yylex.(*Parser).setFreeFloating(altif.Stmt, token.End, append($2.SkippedTokens, $3.SkippedTokens...)) } - yylex.(*Parser).setToken($$, token.SemiColon, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) } | alt_if_stmt_without_else T_ELSE ':' inner_statement_list T_ENDIF ';' { @@ -2128,12 +1874,10 @@ alt_if_stmt: $$.GetNode().Position = position.NewNodeTokenPosition($1, $6) // save comments - yylex.(*Parser).setFreeFloating(_else, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(stmtsBrackets, token.End, append($5.Tokens, $6.Tokens...)) - yylex.(*Parser).setToken($$, token.SemiColon, $6.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(_else, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(stmtsBrackets, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(stmtsBrackets, token.End, append($5.SkippedTokens, $6.SkippedTokens...)) + yylex.(*Parser).setToken($$, token.SemiColon, $6.SkippedTokens) } ; @@ -2141,14 +1885,10 @@ parameter_list: non_empty_parameter_list { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2156,17 +1896,13 @@ non_empty_parameter_list: parameter { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_parameter_list ',' parameter { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -2179,18 +1915,18 @@ parameter: var variable ast.Vertex variable = &ast.ExprVariable{ast.Node{}, identifier} variable.GetNode().Position = position.NewTokenPosition($4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $4.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $4.SkippedTokens) if $3 != nil { variable = &ast.Variadic{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition($3, $4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $3.SkippedTokens) } if $2 != nil { variable = &ast.Reference{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition($2, $4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $2.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $2.SkippedTokens) } $$ = &ast.Parameter{ast.Node{}, $1, variable, nil} @@ -2204,8 +1940,6 @@ parameter: } else { $$.GetNode().Position = position.NewTokenPosition($4) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | optional_type is_reference is_variadic T_VARIABLE '=' expr { @@ -2215,19 +1949,19 @@ parameter: var variable ast.Vertex variable = &ast.ExprVariable{ast.Node{}, identifier} variable.GetNode().Position = position.NewTokenPosition($4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $4.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.End, $5.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.End, $5.SkippedTokens) if $3 != nil { variable = &ast.Variadic{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition($3, $4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $3.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $3.SkippedTokens) } if $2 != nil { variable = &ast.Reference{ast.Node{}, variable} variable.GetNode().Position = position.NewTokensPosition($2, $4) - yylex.(*Parser).setFreeFloating(variable, token.Start, $2.Tokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $2.SkippedTokens) } $$ = &ast.Parameter{ast.Node{}, $1, variable, $6} @@ -2241,8 +1975,6 @@ parameter: } else { $$.GetNode().Position = position.NewTokenNodePosition($4, $6) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2250,14 +1982,10 @@ optional_type: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | type_expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2265,8 +1993,6 @@ type_expr: type { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '?' type { @@ -2276,9 +2002,7 @@ type_expr: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -2291,9 +2015,7 @@ type: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_CALLABLE { @@ -2303,15 +2025,11 @@ type: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | name { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2319,17 +2037,13 @@ return_type: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | ':' type_expr { $$ = $2; // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.Tokens, $$.GetNode().Tokens[token.Start]...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.SkippedTokens, $$.GetNode().Tokens[token.Start]...)) } ; @@ -2342,10 +2056,8 @@ argument_list: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $2.SkippedTokens) } | '(' non_empty_argument_list possible_comma ')' { @@ -2355,14 +2067,12 @@ argument_list: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) if $3 != nil { - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($3.Tokens, $4.Tokens...)) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($3.SkippedTokens, $4.SkippedTokens...)) } else { - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.SkippedTokens) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2370,17 +2080,13 @@ non_empty_argument_list: argument { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_argument_list ',' argument { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -2394,8 +2100,6 @@ argument: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_ELLIPSIS expr { @@ -2405,9 +2109,7 @@ argument: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -2417,15 +2119,11 @@ global_var_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | global_var { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2433,8 +2131,6 @@ global_var: simple_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2444,15 +2140,11 @@ static_var_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | static_var { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2469,9 +2161,7 @@ static_var: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_VARIABLE '=' expr { @@ -2485,10 +2175,8 @@ static_var: $$.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } ; @@ -2496,14 +2184,10 @@ class_statement_list: class_statement_list class_statement { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2517,10 +2201,8 @@ class_statement: // save comments yylex.(*Parser).MoveFreeFloating($1[0], $$) - yylex.(*Parser).setFreeFloating($$, token.PropertyList, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.PropertyList, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } | method_modifiers T_CONST class_const_list ';' { @@ -2532,14 +2214,12 @@ class_statement: // save comments if len($1) > 0 { yylex.(*Parser).MoveFreeFloating($1[0], $$) - yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Start, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $2.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.ConstList, $4.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.ConstList, $4.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $4.SkippedTokens) } | T_USE name_list trait_adaptations { @@ -2549,9 +2229,7 @@ class_statement: $$.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | method_modifiers T_FUNCTION returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type method_body { @@ -2569,20 +2247,18 @@ class_statement: // save comments if len($1) > 0 { yylex.(*Parser).MoveFreeFloating($1[0], $$) - yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.ModifierList, $2.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Start, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $2.SkippedTokens) } if $3 == nil { - yylex.(*Parser).setFreeFloating($$, token.Function, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $4.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Function, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Ampersand, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Ampersand, $4.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.Name, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ParameterList, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ParameterList, $8.SkippedTokens) } ; @@ -2590,17 +2266,13 @@ name_list: name { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | name_list ',' name { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -2612,11 +2284,8 @@ trait_adaptations: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $1.Tokens) - - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $1.SkippedTokens) } | '{' '}' { @@ -2625,10 +2294,8 @@ trait_adaptations: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AdaptationList, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AdaptationList, $2.SkippedTokens) } | '{' trait_adaptation_list '}' { @@ -2637,10 +2304,8 @@ trait_adaptations: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.AdaptationList, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.AdaptationList, $3.SkippedTokens) } ; @@ -2648,14 +2313,10 @@ trait_adaptation_list: trait_adaptation { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | trait_adaptation_list trait_adaptation { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2665,20 +2326,16 @@ trait_adaptation: $$ = $1; // save comments - yylex.(*Parser).setFreeFloating($$, token.NameList, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.NameList, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } | trait_alias ';' { $$ = $1; // save comments - yylex.(*Parser).setFreeFloating($$, token.Alias, $2.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Alias, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $2.SkippedTokens) } ; @@ -2692,9 +2349,7 @@ trait_precedence: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) } ; @@ -2710,10 +2365,8 @@ trait_alias: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $3.SkippedTokens) } | trait_method_reference T_AS reserved_non_modifiers { @@ -2726,10 +2379,8 @@ trait_alias: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $3.SkippedTokens) } | trait_method_reference T_AS member_modifier identifier { @@ -2742,10 +2393,8 @@ trait_alias: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.Tokens) - yylex.(*Parser).setFreeFloating(alias, token.Start, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(alias, token.Start, $4.SkippedTokens) } | trait_method_reference T_AS member_modifier { @@ -2756,9 +2405,7 @@ trait_alias: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) } ; @@ -2773,15 +2420,11 @@ trait_method_reference: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | absolute_trait_method_reference { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2797,10 +2440,8 @@ absolute_trait_method_reference: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $2.SkippedTokens) } ; @@ -2813,10 +2454,8 @@ method_body: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.SemiColon, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.SemiColon, $1.SkippedTokens) } | '{' inner_statement_list '}' { @@ -2826,10 +2465,8 @@ method_body: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $3.SkippedTokens) } ; @@ -2837,8 +2474,6 @@ variable_modifiers: non_empty_member_modifiers { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_VAR { @@ -2849,9 +2484,7 @@ variable_modifiers: modifier.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(modifier, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(modifier, token.Start, $1.SkippedTokens) } ; @@ -2859,14 +2492,10 @@ method_modifiers: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_member_modifiers { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2874,14 +2503,10 @@ non_empty_member_modifiers: member_modifier { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_member_modifiers member_modifier { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2894,9 +2519,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_PROTECTED { @@ -2906,9 +2529,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_PRIVATE { @@ -2918,9 +2539,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_STATIC { @@ -2930,9 +2549,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_ABSTRACT { @@ -2942,9 +2559,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_FINAL { @@ -2954,9 +2569,7 @@ member_modifier: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -2966,15 +2579,11 @@ property_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | property { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -2991,9 +2600,7 @@ property: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_VARIABLE '=' expr backup_doc_comment { @@ -3007,10 +2614,8 @@ property: $$.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } ; @@ -3020,15 +2625,11 @@ class_const_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | class_const_decl { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3043,10 +2644,8 @@ class_const_decl: $$.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; @@ -3061,10 +2660,8 @@ const_decl: $$.GetNode().Position = position.NewTokenNodePosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; @@ -3074,15 +2671,11 @@ echo_expr_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | echo_expr { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3090,8 +2683,6 @@ echo_expr: expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3099,14 +2690,10 @@ for_exprs: /* empty */ { $$ = nil; - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | non_empty_for_exprs { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3116,15 +2703,11 @@ non_empty_for_exprs: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | expr { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -3141,11 +2724,9 @@ anonymous_class: $$.GetNode().Position = position.NewTokensPosition($1, $8) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Name, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $8.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Name, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $8.SkippedTokens) } ; @@ -3161,9 +2742,7 @@ new_expr: } // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_NEW anonymous_class { @@ -3173,9 +2752,7 @@ new_expr: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -3190,12 +2767,10 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $6) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, $2.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $4.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Var, $5.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Var, $5.SkippedTokens) } | '[' array_pair_list ']' '=' expr { @@ -3207,11 +2782,9 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(shortList, token.ArrayPairList, $3.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Var, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(shortList, token.ArrayPairList, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Var, $4.SkippedTokens) } | variable '=' expr { @@ -3222,9 +2795,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable '=' '&' expr { @@ -3235,10 +2806,8 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Equal, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Equal, $3.SkippedTokens) } | T_CLONE expr { @@ -3248,9 +2817,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | variable T_PLUS_EQUAL expr { @@ -3261,9 +2828,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_MINUS_EQUAL expr { @@ -3274,9 +2839,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_MUL_EQUAL expr { @@ -3287,9 +2850,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_POW_EQUAL expr { @@ -3300,9 +2861,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_DIV_EQUAL expr { @@ -3313,9 +2872,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_CONCAT_EQUAL expr { @@ -3326,9 +2883,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_MOD_EQUAL expr { @@ -3339,9 +2894,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_AND_EQUAL expr { @@ -3352,9 +2905,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_OR_EQUAL expr { @@ -3365,9 +2916,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_XOR_EQUAL expr { @@ -3378,9 +2927,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_SL_EQUAL expr { @@ -3391,9 +2938,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_SR_EQUAL expr { @@ -3404,9 +2949,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_COALESCE_EQUAL expr { @@ -3417,9 +2960,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | variable T_INC { @@ -3430,9 +2971,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | T_INC variable { @@ -3442,9 +2981,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | variable T_DEC { @@ -3455,9 +2992,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | T_DEC variable { @@ -3467,9 +3002,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | expr T_BOOLEAN_OR expr { @@ -3480,9 +3013,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_BOOLEAN_AND expr { @@ -3493,9 +3024,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_LOGICAL_OR expr { @@ -3506,9 +3035,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_LOGICAL_AND expr { @@ -3519,9 +3046,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_LOGICAL_XOR expr { @@ -3532,9 +3057,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '|' expr { @@ -3545,9 +3068,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '&' expr { @@ -3558,9 +3079,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '^' expr { @@ -3571,9 +3090,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '.' expr { @@ -3584,9 +3101,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '+' expr { @@ -3597,9 +3112,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '-' expr { @@ -3610,9 +3123,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '*' expr { @@ -3623,9 +3134,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_POW expr { @@ -3636,9 +3145,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '/' expr { @@ -3649,9 +3156,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '%' expr { @@ -3662,9 +3167,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_SL expr { @@ -3675,9 +3178,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_SR expr { @@ -3688,9 +3189,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | '+' expr %prec T_INC { @@ -3700,9 +3199,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '-' expr %prec T_INC { @@ -3712,9 +3209,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '!' expr { @@ -3724,9 +3219,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '~' expr { @@ -3736,9 +3229,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | expr T_IS_IDENTICAL expr { @@ -3749,9 +3240,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_NOT_IDENTICAL expr { @@ -3762,9 +3251,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_EQUAL expr { @@ -3775,9 +3262,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_NOT_EQUAL expr { @@ -3788,10 +3273,8 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setToken($$, token.Equal, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setToken($$, token.Equal, $2.SkippedTokens) } | expr '<' expr { @@ -3802,9 +3285,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_SMALLER_OR_EQUAL expr { @@ -3815,9 +3296,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr '>' expr { @@ -3828,9 +3307,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_IS_GREATER_OR_EQUAL expr { @@ -3841,9 +3318,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_SPACESHIP expr { @@ -3854,9 +3329,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr T_INSTANCEOF class_name_reference { @@ -3867,9 +3340,7 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | '(' expr ')' { @@ -3879,16 +3350,12 @@ expr_without_variable: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | new_expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr '?' expr ':' expr { @@ -3899,10 +3366,8 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Cond, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.True, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.True, $4.SkippedTokens) } | expr '?' ':' expr { @@ -3913,10 +3378,8 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Cond, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.True, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Cond, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.True, $3.SkippedTokens) } | expr T_COALESCE expr { @@ -3927,15 +3390,11 @@ expr_without_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | internal_functions_in_yacc { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_INT_CAST expr { @@ -3945,10 +3404,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_DOUBLE_CAST expr { @@ -3958,10 +3415,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_STRING_CAST expr { @@ -3971,10 +3426,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_ARRAY_CAST expr { @@ -3984,10 +3437,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_OBJECT_CAST expr { @@ -3997,10 +3448,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_BOOL_CAST expr { @@ -4010,10 +3459,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_UNSET_CAST expr { @@ -4023,10 +3470,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setToken($$, token.Cast, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) } | T_EXIT exit_expr { @@ -4044,9 +3489,7 @@ expr_without_variable: } // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '@' expr { @@ -4056,15 +3499,11 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '`' backticks_expr '`' { @@ -4074,9 +3513,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_PRINT expr { @@ -4086,9 +3523,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_YIELD { @@ -4098,9 +3533,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_YIELD expr { @@ -4110,9 +3543,7 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_YIELD expr T_DOUBLE_ARROW expr { @@ -4122,10 +3553,8 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) } | T_YIELD_FROM expr { @@ -4135,15 +3564,11 @@ expr_without_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | inline_function { $$ = $1; - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_STATIC inline_function { @@ -4161,9 +3586,7 @@ expr_without_variable: // save comments yylex.(*Parser).setFreeFloatingTokens($$, token.Static, $$.GetNode().Tokens[token.Start]); delete($$.GetNode().Tokens, token.Start) - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens); - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens); } ; @@ -4176,16 +3599,16 @@ inline_function: $$.GetNode().Position = position.NewTokensPosition($1, $11) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) if $2 == nil { - yylex.(*Parser).setFreeFloating($$, token.Function, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $4.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Function, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Ampersand, $4.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Ampersand, $4.SkippedTokens) } - yylex.(*Parser).setFreeFloating($$, token.ParameterList, $6.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ReturnType, $9.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Stmts, $11.Tokens) + yylex.(*Parser).setFreeFloating($$, token.ParameterList, $6.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ReturnType, $9.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Stmts, $11.SkippedTokens) // normalize if $8 == nil { @@ -4194,8 +3617,6 @@ inline_function: if $7 == nil { yylex.(*Parser).setFreeFloatingTokens($$, token.Params, $$.GetNode().Tokens[token.LexicalVarList]); delete($$.GetNode().Tokens, token.LexicalVarList) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_FN returns_ref '(' parameter_list ')' return_type backup_doc_comment T_DOUBLE_ARROW expr { @@ -4205,22 +3626,20 @@ inline_function: $$.GetNode().Position = position.NewTokenNodePosition($1, $9) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) if $2 == nil { - yylex.(*Parser).setFreeFloating($$, token.Function, $3.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $3.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.Function, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Ampersand, $3.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Function, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Ampersand, $3.SkippedTokens) }; - yylex.(*Parser).setFreeFloating($$, token.ParameterList, $5.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ReturnType, $8.Tokens) + yylex.(*Parser).setFreeFloating($$, token.ParameterList, $5.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ReturnType, $8.SkippedTokens) // normalize if $6 == nil { yylex.(*Parser).setFreeFloatingTokens($$, token.Params, $$.GetNode().Tokens[token.ReturnType]); delete($$.GetNode().Tokens, token.ReturnType) }; - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4243,8 +3662,6 @@ lexical_vars: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_USE '(' lexical_var_list ')' { @@ -4254,11 +3671,9 @@ lexical_vars: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Use, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.LexicalVarList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Use, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.LexicalVarList, $4.SkippedTokens) } ; @@ -4268,15 +3683,11 @@ lexical_var_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | lexical_var { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4291,9 +3702,7 @@ lexical_var: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '&' T_VARIABLE { @@ -4307,10 +3716,8 @@ lexical_var: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(variable, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(variable, token.Start, $2.SkippedTokens) } ; @@ -4324,8 +3731,6 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list { @@ -4336,9 +3741,7 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list { @@ -4349,9 +3752,7 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | callable_expr argument_list { @@ -4362,8 +3763,6 @@ function_call: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4376,15 +3775,11 @@ class_name: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | name { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4392,14 +3787,10 @@ class_name_reference: class_name { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | new_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4407,8 +3798,6 @@ exit_expr: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '(' optional_expr ')' { @@ -4418,10 +3807,8 @@ exit_expr: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } ; @@ -4429,8 +3816,6 @@ backticks_expr: /* empty */ { $$ = []ast.Vertex{} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_ENCAPSED_AND_WHITESPACE { @@ -4439,14 +3824,10 @@ backticks_expr: // save position part.GetNode().Position = position.NewTokenPosition($1) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | encaps_list { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4454,14 +3835,10 @@ ctor_arguments: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | argument_list { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4474,11 +3851,9 @@ dereferencable_scalar: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Array, $2.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Array, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $4.SkippedTokens) } | '[' array_pair_list ']' { @@ -4488,10 +3863,8 @@ dereferencable_scalar: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.ArrayPairList, $3.SkippedTokens) } | T_CONSTANT_ENCAPSED_STRING { @@ -4501,9 +3874,7 @@ dereferencable_scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -4516,9 +3887,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_DNUMBER { @@ -4528,9 +3897,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_LINE { @@ -4540,9 +3907,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_FILE { @@ -4552,9 +3917,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_DIR { @@ -4564,9 +3927,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_TRAIT_C { @@ -4576,9 +3937,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_METHOD_C { @@ -4588,9 +3947,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_FUNC_C { @@ -4600,9 +3957,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_NS_C { @@ -4612,9 +3967,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_CLASS_C { @@ -4624,9 +3977,7 @@ scalar: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { @@ -4638,9 +3989,7 @@ scalar: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_START_HEREDOC T_END_HEREDOC { @@ -4650,9 +3999,7 @@ scalar: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '"' encaps_list '"' { @@ -4662,9 +4009,7 @@ scalar: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_START_HEREDOC encaps_list T_END_HEREDOC { @@ -4674,21 +4019,15 @@ scalar: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | dereferencable_scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | constant { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4702,8 +4041,6 @@ constant: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | class_name T_PAAMAYIM_NEKUDOTAYIM identifier { @@ -4716,10 +4053,8 @@ constant: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $3.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier { @@ -4732,10 +4067,8 @@ constant: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - yylex.(*Parser).setFreeFloating(target, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(target, token.Start, $3.SkippedTokens) } ; @@ -4743,14 +4076,10 @@ expr: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr_without_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4758,14 +4087,10 @@ optional_expr: /* empty */ { $$ = nil - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4773,8 +4098,6 @@ variable_class_name: dereferencable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4782,8 +4105,6 @@ dereferencable: variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '(' expr ')' { @@ -4793,16 +4114,12 @@ dereferencable: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | dereferencable_scalar { $$ = $1; - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4810,8 +4127,6 @@ callable_expr: callable_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '(' expr ')' { @@ -4821,16 +4136,12 @@ callable_expr: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | dereferencable_scalar { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4838,8 +4149,6 @@ callable_variable: simple_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | dereferencable '[' optional_expr ']' { @@ -4849,10 +4158,8 @@ callable_variable: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | constant '[' optional_expr ']' { @@ -4862,10 +4169,8 @@ callable_variable: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | dereferencable '{' expr '}' { @@ -4875,10 +4180,8 @@ callable_variable: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | dereferencable T_OBJECT_OPERATOR property_name argument_list { @@ -4889,15 +4192,11 @@ callable_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | function_call { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -4905,14 +4204,10 @@ variable: callable_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | static_member { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | dereferencable T_OBJECT_OPERATOR property_name { @@ -4923,9 +4218,7 @@ variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } ; @@ -4940,9 +4233,7 @@ simple_variable: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '$' '{' expr '}' { @@ -4952,11 +4243,9 @@ simple_variable: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($3, token.Start, append($2.Tokens, $3.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens($3, token.End, append($3.GetNode().Tokens[token.End], $4.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($3, token.Start, append($2.SkippedTokens, $3.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens($3, token.End, append($3.GetNode().Tokens[token.End], $4.SkippedTokens...)) } | '$' simple_variable { @@ -4966,9 +4255,7 @@ simple_variable: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -4982,9 +4269,7 @@ static_member: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { @@ -4995,9 +4280,7 @@ static_member: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; @@ -5005,8 +4288,6 @@ new_variable: simple_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | new_variable '[' optional_expr ']' { @@ -5016,10 +4297,8 @@ new_variable: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | new_variable '{' expr '}' { @@ -5029,10 +4308,8 @@ new_variable: $$.GetNode().Position = position.NewNodeTokenPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | new_variable T_OBJECT_OPERATOR property_name { @@ -5043,9 +4320,7 @@ new_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { @@ -5056,9 +4331,7 @@ new_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } | new_variable T_PAAMAYIM_NEKUDOTAYIM simple_variable { @@ -5069,9 +4342,7 @@ new_variable: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) } ; @@ -5084,25 +4355,19 @@ member_name: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '{' expr '}' { $$ = $2; // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.Tokens, $$.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.SkippedTokens, $$.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.SkippedTokens...)) } | simple_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5115,25 +4380,19 @@ property_name: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '{' expr '}' { $$ = $2; // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.Tokens, $$.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.Tokens...)) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, append($1.SkippedTokens, $$.GetNode().Tokens[token.Start]...)) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($$.GetNode().Tokens[token.End], $3.SkippedTokens...)) } | simple_variable { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5141,8 +4400,6 @@ array_pair_list: non_empty_array_pair_list { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5150,14 +4407,10 @@ possible_array_pair: /* empty */ { $$ = &ast.ExprArrayItem{ast.Node{}, false, nil, nil} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | array_pair { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5171,9 +4424,7 @@ non_empty_array_pair_list: $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } | possible_array_pair { @@ -5182,8 +4433,6 @@ non_empty_array_pair_list: } else { $$ = []ast.Vertex{$1} } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; @@ -5197,9 +4446,7 @@ array_pair: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) } | expr { @@ -5210,8 +4457,6 @@ array_pair: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | expr T_DOUBLE_ARROW '&' variable { @@ -5224,10 +4469,8 @@ array_pair: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setFreeFloating(reference, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(reference, token.Start, $3.SkippedTokens) } | '&' variable { @@ -5239,9 +4482,7 @@ array_pair: reference.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_ELLIPSIS expr { @@ -5251,9 +4492,7 @@ array_pair: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | expr T_DOUBLE_ARROW T_LIST '(' array_pair_list ')' { @@ -5267,12 +4506,10 @@ array_pair: // save comments yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Expr, $2.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.Start, $3.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, $4.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $6.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.Start, $3.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, $4.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $6.SkippedTokens) } | T_LIST '(' array_pair_list ')' { @@ -5285,11 +4522,9 @@ array_pair: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.List, $2.Tokens) - yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.List, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(listNode, token.ArrayPairList, $4.SkippedTokens) } ; @@ -5297,8 +4532,6 @@ encaps_list: encaps_list encaps_var { $$ = append($1, $2) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | encaps_list T_ENCAPSED_AND_WHITESPACE { @@ -5309,15 +4542,11 @@ encaps_list: encapsed.GetNode().Position = position.NewTokenPosition($2) // save comments - yylex.(*Parser).setFreeFloating(encapsed, token.Start, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(encapsed, token.Start, $2.SkippedTokens) } | encaps_var { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_ENCAPSED_AND_WHITESPACE encaps_var { @@ -5328,9 +4557,7 @@ encaps_list: encapsed.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating(encapsed, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(encapsed, token.Start, $1.SkippedTokens) } ; @@ -5345,9 +4572,7 @@ encaps_var: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_VARIABLE '[' encaps_var_offset ']' { @@ -5361,10 +4586,8 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $4.SkippedTokens) } | T_VARIABLE T_OBJECT_OPERATOR T_STRING { @@ -5380,10 +4603,8 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Var, $2.Tokens) - yylex.(*Parser).setFreeFloating(fetch, token.Start, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Var, $2.SkippedTokens) + yylex.(*Parser).setFreeFloating(fetch, token.Start, $3.SkippedTokens) } | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { @@ -5395,10 +4616,8 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setToken($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { @@ -5412,10 +4631,8 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setToken($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { @@ -5429,22 +4646,18 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $6) // save comments - yylex.(*Parser).setToken(variable, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $3.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $5.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $6.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken(variable, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Var, $3.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Expr, $5.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $6.SkippedTokens) } | T_CURLY_OPEN variable '}' { $$ = $2; // save comments - yylex.(*Parser).setToken($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setToken($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.SkippedTokens) } ; @@ -5457,9 +4670,7 @@ encaps_var_offset: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_NUM_STRING { @@ -5474,9 +4685,7 @@ encaps_var_offset: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | '-' T_NUM_STRING { @@ -5500,9 +4709,7 @@ encaps_var_offset: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_VARIABLE { @@ -5514,9 +4721,7 @@ encaps_var_offset: $$.GetNode().Position = position.NewTokenPosition($1) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -5529,15 +4734,13 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokensPosition($1, $5) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.Isset, $2.Tokens) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloating($$, token.Isset, $2.SkippedTokens) if $4 == nil { - yylex.(*Parser).setFreeFloating($$, token.VarList, $5.Tokens) + yylex.(*Parser).setFreeFloating($$, token.VarList, $5.SkippedTokens) } else { - yylex.(*Parser).setFreeFloating($$, token.VarList, append($4.Tokens, $5.Tokens...)) + yylex.(*Parser).setFreeFloating($$, token.VarList, append($4.SkippedTokens, $5.SkippedTokens...)) } - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_EMPTY '(' expr ')' { @@ -5549,11 +4752,9 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) } | T_INCLUDE expr { @@ -5563,9 +4764,7 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_INCLUDE_ONCE expr { @@ -5575,9 +4774,7 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_EVAL '(' expr ')' { @@ -5589,11 +4786,9 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.Tokens) - yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.Start, $2.SkippedTokens) + yylex.(*Parser).setFreeFloatingTokens(exprBrackets, token.End, $4.SkippedTokens) } | T_REQUIRE expr { @@ -5603,9 +4798,7 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_REQUIRE_ONCE expr { @@ -5615,9 +4808,7 @@ internal_functions_in_yacc: $$.GetNode().Position = position.NewTokenNodePosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } ; @@ -5625,17 +4816,13 @@ isset_variables: isset_variable { $$ = []ast.Vertex{$1} - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | isset_variables ',' isset_variable { $$ = append($1, $3) // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.Tokens) - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) + yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) } ; @@ -5643,8 +4830,6 @@ isset_variable: expr { $$ = $1 - - yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } ; diff --git a/internal/php7/php7_bench_test.go b/internal/php7/php7_bench_test.go index 558c54b..d5f2636 100644 --- a/internal/php7/php7_bench_test.go +++ b/internal/php7/php7_bench_test.go @@ -382,7 +382,7 @@ CAD; ` for n := 0; n < b.N; n++ { - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() } diff --git a/internal/php7/php7_test.go b/internal/php7/php7_test.go index 68364f5..8d52038 100644 --- a/internal/php7/php7_test.go +++ b/internal/php7/php7_test.go @@ -19595,11 +19595,12 @@ func TestPhp7(t *testing.T) { }, } - lexer := scanner.NewLexer(src, "7.4", false, nil) + lexer := scanner.NewLexer(src, "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19734,11 +19735,12 @@ func TestPhp5Strings(t *testing.T) { }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19962,11 +19964,12 @@ CAD; }, } - lexer := scanner.NewLexer([]byte(src), "7.4", false, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() actual := php7parser.GetRootNode() traverser.NewDFS(new(visitor.FilterParserNodes)).Traverse(actual) + traverser.NewDFS(new(visitor.FilterTokens)).Traverse(actual) assert.DeepEqual(t, expected, actual) } @@ -19989,7 +19992,7 @@ func TestPhp7ControlCharsErrors(t *testing.T) { parserErrors = append(parserErrors, e) } - lexer := scanner.NewLexer([]byte(src), "7.4", false, errorHandlerFunc) + lexer := scanner.NewLexer([]byte(src), "7.4", errorHandlerFunc) php7parser := php7.NewParser(lexer, errorHandlerFunc) php7parser.Parse() assert.DeepEqual(t, expected, parserErrors) diff --git a/internal/position/position.go b/internal/position/position.go index cbcc309..2603826 100644 --- a/internal/position/position.go +++ b/internal/position/position.go @@ -1,9 +1,9 @@ package position import ( - "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/position" + "github.com/z7zmey/php-parser/pkg/token" ) type startPos struct { @@ -95,7 +95,7 @@ func NewNodePosition(n ast.Vertex) *position.Position { } // NewTokenPosition returns new Position -func NewTokenPosition(t *scanner.Token) *position.Position { +func NewTokenPosition(t *token.Token) *position.Position { return &position.Position{ StartLine: t.Position.StartLine, EndLine: t.Position.EndLine, @@ -105,7 +105,7 @@ func NewTokenPosition(t *scanner.Token) *position.Position { } // NewTokensPosition returns new Position -func NewTokensPosition(startToken *scanner.Token, endToken *scanner.Token) *position.Position { +func NewTokensPosition(startToken *token.Token, endToken *token.Token) *position.Position { return &position.Position{ StartLine: startToken.Position.StartLine, EndLine: endToken.Position.EndLine, @@ -115,7 +115,7 @@ func NewTokensPosition(startToken *scanner.Token, endToken *scanner.Token) *posi } // NewTokenNodePosition returns new Position -func NewTokenNodePosition(t *scanner.Token, n ast.Vertex) *position.Position { +func NewTokenNodePosition(t *token.Token, n ast.Vertex) *position.Position { return &position.Position{ StartLine: t.Position.StartLine, EndLine: getNodeEndPos(n).endLine, @@ -125,7 +125,7 @@ func NewTokenNodePosition(t *scanner.Token, n ast.Vertex) *position.Position { } // NewNodeTokenPosition returns new Position -func NewNodeTokenPosition(n ast.Vertex, t *scanner.Token) *position.Position { +func NewNodeTokenPosition(n ast.Vertex, t *token.Token) *position.Position { return &position.Position{ StartLine: getNodeStartPos(n).startLine, EndLine: t.Position.EndLine, @@ -145,7 +145,7 @@ func NewNodesPosition(startNode ast.Vertex, endNode ast.Vertex) *position.Positi } // NewNodeListTokenPosition returns new Position -func NewNodeListTokenPosition(list []ast.Vertex, t *scanner.Token) *position.Position { +func NewNodeListTokenPosition(list []ast.Vertex, t *token.Token) *position.Position { return &position.Position{ StartLine: getListStartPos(list).startLine, EndLine: t.Position.EndLine, @@ -155,7 +155,7 @@ func NewNodeListTokenPosition(list []ast.Vertex, t *scanner.Token) *position.Pos } // NewTokenNodeListPosition returns new Position -func NewTokenNodeListPosition(t *scanner.Token, list []ast.Vertex) *position.Position { +func NewTokenNodeListPosition(t *token.Token, list []ast.Vertex) *position.Position { return &position.Position{ StartLine: t.Position.StartLine, EndLine: getListEndPos(list).endLine, @@ -185,7 +185,7 @@ func NewNodeListNodePosition(list []ast.Vertex, n ast.Vertex) *position.Position } // NewOptionalListTokensPosition returns new Position -func NewOptionalListTokensPosition(list []ast.Vertex, t *scanner.Token, endToken *scanner.Token) *position.Position { +func NewOptionalListTokensPosition(list []ast.Vertex, t *token.Token, endToken *token.Token) *position.Position { if list == nil { return &position.Position{ StartLine: t.Position.StartLine, diff --git a/internal/position/position_test.go b/internal/position/position_test.go index f932f2d..1fd6c83 100644 --- a/internal/position/position_test.go +++ b/internal/position/position_test.go @@ -5,15 +5,15 @@ import ( "testing" 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/position" + "github.com/z7zmey/php-parser/pkg/token" ) func TestNewTokenPosition(t *testing.T) { - tkn := &scanner.Token{ + tkn := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 1, EndLine: 1, StartPos: 0, @@ -29,18 +29,18 @@ func TestNewTokenPosition(t *testing.T) { } func TestNewTokensPosition(t *testing.T) { - token1 := &scanner.Token{ + token1 := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 1, EndLine: 1, StartPos: 0, EndPos: 3, }, } - token2 := &scanner.Token{ + token2 := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 2, EndLine: 2, StartPos: 4, @@ -71,9 +71,9 @@ func TestNewNodePosition(t *testing.T) { } func TestNewTokenNodePosition(t *testing.T) { - tkn := &scanner.Token{ + tkn := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 1, EndLine: 1, StartPos: 0, @@ -108,9 +108,9 @@ func TestNewNodeTokenPosition(t *testing.T) { }, } - tkn := &scanner.Token{ + tkn := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 2, EndLine: 2, StartPos: 10, @@ -202,9 +202,9 @@ func TestNewNodeListTokenPosition(t *testing.T) { }, } - tkn := &scanner.Token{ + tkn := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 3, EndLine: 3, StartPos: 20, @@ -218,9 +218,9 @@ func TestNewNodeListTokenPosition(t *testing.T) { } func TestNewTokenNodeListPosition(t *testing.T) { - tkn := &scanner.Token{ + tkn := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 1, EndLine: 1, StartPos: 0, @@ -332,18 +332,18 @@ func TestNewNodeListNodePosition(t *testing.T) { } func TestNewOptionalListTokensPosition(t *testing.T) { - token1 := &scanner.Token{ + token1 := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 1, EndLine: 1, StartPos: 0, EndPos: 3, }, } - token2 := &scanner.Token{ + token2 := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 2, EndLine: 2, StartPos: 4, @@ -378,18 +378,18 @@ func TestNewOptionalListTokensPosition2(t *testing.T) { }, } - token1 := &scanner.Token{ + token1 := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 4, EndLine: 4, StartPos: 27, EndPos: 29, }, } - token2 := &scanner.Token{ + token2 := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 5, EndLine: 5, StartPos: 30, @@ -426,9 +426,9 @@ func TestNilNodeListPos(t *testing.T) { } func TestNilNodeListTokenPos(t *testing.T) { - token := &scanner.Token{ + token := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 1, EndLine: 1, StartPos: 0, @@ -459,9 +459,9 @@ func TestEmptyNodeListPos(t *testing.T) { } func TestEmptyNodeListTokenPos(t *testing.T) { - token := &scanner.Token{ + token := &token.Token{ Value: []byte(`foo`), - Position: position.Position{ + Position: &position.Position{ StartLine: 1, EndLine: 1, StartPos: 0, diff --git a/internal/scanner/lexer.go b/internal/scanner/lexer.go index 7456961..b21ff7c 100644 --- a/internal/scanner/lexer.go +++ b/internal/scanner/lexer.go @@ -13,31 +13,32 @@ import ( type Lexer struct { data []byte phpVersion string - withTokens bool errHandlerFunc func(*errors.Error) + sts, ste int p, pe, cs int ts, te, act int stack []int top int heredocLabel []byte - tokenPool *TokenPool + tokenPool *token.Pool + positionPool *position.Pool newLines NewLines } -func NewLexer(data []byte, phpVersion string, withTokens bool, errHandlerFunc func(*errors.Error)) *Lexer { +func NewLexer(data []byte, phpVersion string, errHandlerFunc func(*errors.Error)) *Lexer { lex := &Lexer{ data: data, phpVersion: phpVersion, - withTokens: withTokens, errHandlerFunc: errHandlerFunc, pe: len(data), stack: make([]int, 0), - tokenPool: &TokenPool{}, - newLines: NewLines{make([]int, 0, 128)}, + tokenPool: token.NewPool(position.DefaultBlockSize), + positionPool: position.NewPool(position.DefaultBlockSize), + newLines: NewLines{make([]int, 0, 128)}, } initLexer(lex) @@ -45,26 +46,37 @@ func NewLexer(data []byte, phpVersion string, withTokens bool, errHandlerFunc fu return lex } -func (lex *Lexer) ReturnTokenToPool(t *Token) { - lex.tokenPool.Put(t) +func (lex *Lexer) setTokenPosition(token *token.Token) { + pos := lex.positionPool.Get() + + pos.StartLine = lex.newLines.GetLine(lex.ts) + pos.EndLine = lex.newLines.GetLine(lex.te - 1) + pos.StartPos = lex.ts + pos.EndPos = lex.te + + token.Position = pos } -func (lex *Lexer) setTokenPosition(token *Token) { - token.Position.StartLine = lex.newLines.GetLine(lex.ts) - token.Position.EndLine = lex.newLines.GetLine(lex.te - 1) - token.Position.StartPos = lex.ts - token.Position.EndPos = lex.te -} - -func (lex *Lexer) addHiddenToken(t *Token, id TokenID, ps, pe int) { - if !lex.withTokens { - return +func (lex *Lexer) addSkippedToken(t *token.Token, id token.ID, ps, pe int) { + if lex.sts == 0 { + lex.sts = lex.ts } - t.Tokens = append(t.Tokens, token.Token{ - ID: token.ID(id), - Value: lex.data[ps:pe], - }) + lex.ste = lex.te + + // TODO remove after parser refactoring + + skippedTkn := lex.tokenPool.Get() + skippedTkn.ID = id + skippedTkn.Value = lex.data[ps:pe] + + lex.setTokenPosition(skippedTkn) + + if t.SkippedTokens == nil { + t.SkippedTokens = make([]*token.Token, 0, 2) + } + + t.SkippedTokens = append(t.SkippedTokens, skippedTkn) } func (lex *Lexer) isNotStringVar() bool { diff --git a/internal/scanner/lexer_tokens.go b/internal/scanner/lexer_tokens.go deleted file mode 100644 index bd54024..0000000 --- a/internal/scanner/lexer_tokens.go +++ /dev/null @@ -1,145 +0,0 @@ -package scanner - -type TokenID int - -//go:generate stringer -type=TokenID -output ./tokenid_string.go -const ( - T_INCLUDE TokenID = iota + 57346 - T_INCLUDE_ONCE - T_EXIT - T_IF - T_LNUMBER - T_DNUMBER - T_STRING - T_STRING_VARNAME - T_VARIABLE - T_NUM_STRING - T_INLINE_HTML - T_CHARACTER - T_BAD_CHARACTER - T_ENCAPSED_AND_WHITESPACE - T_CONSTANT_ENCAPSED_STRING - T_ECHO - T_DO - T_WHILE - T_ENDWHILE - T_FOR - T_ENDFOR - T_FOREACH - T_ENDFOREACH - T_DECLARE - T_ENDDECLARE - T_AS - T_SWITCH - T_ENDSWITCH - T_CASE - T_DEFAULT - T_BREAK - T_CONTINUE - T_GOTO - T_FUNCTION - T_FN - T_CONST - T_RETURN - T_TRY - T_CATCH - T_FINALLY - T_THROW - T_USE - T_INSTEADOF - T_GLOBAL - T_VAR - T_UNSET - T_ISSET - T_EMPTY - T_HALT_COMPILER - T_CLASS - T_TRAIT - T_INTERFACE - T_EXTENDS - T_IMPLEMENTS - T_OBJECT_OPERATOR - T_DOUBLE_ARROW - T_LIST - T_ARRAY - T_CALLABLE - T_CLASS_C - T_TRAIT_C - T_METHOD_C - T_FUNC_C - T_LINE - T_FILE - T_COMMENT - T_DOC_COMMENT - T_OPEN_TAG - T_OPEN_TAG_WITH_ECHO - T_CLOSE_TAG - T_WHITESPACE - T_START_HEREDOC - T_END_HEREDOC - T_DOLLAR_OPEN_CURLY_BRACES - T_CURLY_OPEN - T_PAAMAYIM_NEKUDOTAYIM - T_NAMESPACE - T_NS_C - T_DIR - T_NS_SEPARATOR - T_ELLIPSIS - T_EVAL - T_REQUIRE - T_REQUIRE_ONCE - T_LOGICAL_OR - T_LOGICAL_XOR - T_LOGICAL_AND - T_INSTANCEOF - T_NEW - T_CLONE - T_ELSEIF - T_ELSE - T_ENDIF - T_PRINT - T_YIELD - T_STATIC - T_ABSTRACT - T_FINAL - T_PRIVATE - T_PROTECTED - T_PUBLIC - T_INC - T_DEC - T_YIELD_FROM - T_INT_CAST - T_DOUBLE_CAST - T_STRING_CAST - T_ARRAY_CAST - T_OBJECT_CAST - T_BOOL_CAST - T_UNSET_CAST - T_COALESCE - T_SPACESHIP - T_NOELSE - T_PLUS_EQUAL - T_MINUS_EQUAL - T_MUL_EQUAL - T_POW_EQUAL - T_DIV_EQUAL - T_CONCAT_EQUAL - T_MOD_EQUAL - T_AND_EQUAL - T_OR_EQUAL - T_XOR_EQUAL - T_SL_EQUAL - T_SR_EQUAL - T_COALESCE_EQUAL - T_BOOLEAN_OR - T_BOOLEAN_AND - T_POW - T_SL - T_SR - T_IS_IDENTICAL - T_IS_NOT_IDENTICAL - T_IS_EQUAL - T_IS_NOT_EQUAL - T_IS_SMALLER_OR_EQUAL - T_IS_GREATER_OR_EQUAL -) diff --git a/internal/scanner/scanner.go b/internal/scanner/scanner.go index c6ebf1c..f90db23 100644 --- a/internal/scanner/scanner.go +++ b/internal/scanner/scanner.go @@ -5,9 +5,11 @@ import ( "fmt" "strconv" "strings" + + "github.com/z7zmey/php-parser/pkg/token" ) -// line internal/scanner/scanner.go:13 +// line internal/scanner/scanner.go:15 const lexer_start int = 113 const lexer_first_final int = 113 const lexer_error int = 0 @@ -29,11 +31,11 @@ const lexer_en_halt_compiller_close_parenthesis int = 522 const lexer_en_halt_compiller_close_semicolon int = 526 const lexer_en_halt_compiller_end int = 530 -// line internal/scanner/scanner.rl:15 +// line internal/scanner/scanner.rl:17 func initLexer(lex *Lexer) { - // line internal/scanner/scanner.go:41 + // line internal/scanner/scanner.go:43 { lex.cs = lexer_start lex.top = 0 @@ -42,23 +44,24 @@ func initLexer(lex *Lexer) { lex.act = 0 } - // line internal/scanner/scanner.rl:19 + // line internal/scanner/scanner.rl:21 } -func (lex *Lexer) Lex() *Token { +func (lex *Lexer) Lex() *token.Token { eof := lex.pe - var tok TokenID + var tok token.ID - token := lex.tokenPool.Get() - token.Tokens = token.Tokens[:0] - token.Value = lex.data[0:0] + tkn := lex.tokenPool.Get() + + lex.sts = 0 + lex.ste = 0 lblStart := 0 lblEnd := 0 _, _ = lblStart, lblEnd - // line internal/scanner/scanner.go:67 + // line internal/scanner/scanner.go:70 { var _widec int16 if (lex.p) == (lex.pe) { @@ -2215,7 +2218,7 @@ func (lex *Lexer) Lex() *Token { goto st_out tr0: lex.cs = 113 - // line internal/scanner/scanner.rl:129 + // line internal/scanner/scanner.rl:132 (lex.p) = (lex.te) - 1 { lex.cs = 116 @@ -2224,7 +2227,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr169: lex.cs = 113 - // line internal/scanner/scanner.rl:129 + // line internal/scanner/scanner.rl:132 lex.te = (lex.p) + 1 { lex.cs = 116 @@ -2233,7 +2236,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr171: lex.cs = 113 - // line internal/scanner/scanner.rl:129 + // line internal/scanner/scanner.rl:132 lex.te = (lex.p) (lex.p)-- { @@ -2242,13 +2245,13 @@ func (lex *Lexer) Lex() *Token { } goto _again tr172: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:126 + // line internal/scanner/scanner.rl:129 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_COMMENT, lex.ts, lex.te) } goto st113 st113: @@ -2262,7 +2265,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:2271 + // line internal/scanner/scanner.go:2274 if lex.data[(lex.p)] == 35 { goto tr170 } @@ -2277,13 +2280,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof114 } st_case_114: - // line internal/scanner/scanner.go:2286 + // line internal/scanner/scanner.go:2289 if lex.data[(lex.p)] == 33 { goto st1 } goto tr171 tr3: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -2299,7 +2302,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof1 } st_case_1: - // line internal/scanner/scanner.go:2308 + // line internal/scanner/scanner.go:2311 switch lex.data[(lex.p)] { case 10: goto tr2 @@ -2308,7 +2311,7 @@ func (lex *Lexer) Lex() *Token { } goto st1 tr2: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -2324,35 +2327,35 @@ func (lex *Lexer) Lex() *Token { goto _test_eof115 } st_case_115: - // line internal/scanner/scanner.go:2333 + // line internal/scanner/scanner.go:2336 goto tr172 tr4: lex.cs = 116 - // line internal/scanner/scanner.rl:142 + // line internal/scanner/scanner.rl:145 (lex.p) = (lex.te) - 1 { - lex.addHiddenToken(token, T_OPEN_TAG, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_OPEN_TAG, lex.ts, lex.te) lex.cs = 123 } goto _again tr7: lex.cs = 116 - // line internal/scanner/scanner.rl:146 + // line internal/scanner/scanner.rl:149 lex.te = (lex.p) + 1 { lex.ungetCnt(lex.te - lex.ts - 5) - lex.addHiddenToken(token, T_OPEN_TAG, lex.ts, lex.ts+5) + lex.addSkippedToken(tkn, token.T_OPEN_TAG, lex.ts, lex.ts+5) lex.cs = 123 } goto _again tr177: - // line internal/scanner/scanner.rl:136 + // line internal/scanner/scanner.rl:139 lex.te = (lex.p) (lex.p)-- { lex.ungetStr("<") - lex.setTokenPosition(token) - tok = T_INLINE_HTML + lex.setTokenPosition(tkn) + tok = token.T_INLINE_HTML { (lex.p)++ lex.cs = 116 @@ -2361,15 +2364,15 @@ func (lex *Lexer) Lex() *Token { } goto st116 tr179: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:136 + // line internal/scanner/scanner.rl:139 lex.te = (lex.p) (lex.p)-- { lex.ungetStr("<") - lex.setTokenPosition(token) - tok = T_INLINE_HTML + lex.setTokenPosition(tkn) + tok = token.T_INLINE_HTML { (lex.p)++ lex.cs = 116 @@ -2379,21 +2382,21 @@ func (lex *Lexer) Lex() *Token { goto st116 tr185: lex.cs = 116 - // line internal/scanner/scanner.rl:142 + // line internal/scanner/scanner.rl:145 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_OPEN_TAG, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_OPEN_TAG, lex.ts, lex.te) lex.cs = 123 } goto _again tr186: lex.cs = 116 - // line internal/scanner/scanner.rl:151 + // line internal/scanner/scanner.rl:154 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_ECHO + lex.setTokenPosition(tkn) + tok = token.T_ECHO lex.cs = 123 { (lex.p)++ @@ -2403,14 +2406,14 @@ func (lex *Lexer) Lex() *Token { goto _again tr188: lex.cs = 116 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:146 + // line internal/scanner/scanner.rl:149 lex.te = (lex.p) (lex.p)-- { lex.ungetCnt(lex.te - lex.ts - 5) - lex.addHiddenToken(token, T_OPEN_TAG, lex.ts, lex.ts+5) + lex.addSkippedToken(tkn, token.T_OPEN_TAG, lex.ts, lex.ts+5) lex.cs = 123 } goto _again @@ -2425,7 +2428,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:2423 + // line internal/scanner/scanner.go:2426 switch lex.data[(lex.p)] { case 10: goto tr174 @@ -2436,7 +2439,7 @@ func (lex *Lexer) Lex() *Token { } goto st117 tr175: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -2448,13 +2451,13 @@ func (lex *Lexer) Lex() *Token { goto st117 tr180: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st117 tr182: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -2470,7 +2473,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof117 } st_case_117: - // line internal/scanner/scanner.go:2468 + // line internal/scanner/scanner.go:2471 switch lex.data[(lex.p)] { case 10: goto tr174 @@ -2481,7 +2484,7 @@ func (lex *Lexer) Lex() *Token { } goto st117 tr174: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -2493,9 +2496,9 @@ func (lex *Lexer) Lex() *Token { goto st118 tr181: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -2511,7 +2514,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof118 } st_case_118: - // line internal/scanner/scanner.go:2509 + // line internal/scanner/scanner.go:2512 switch lex.data[(lex.p)] { case 10: goto tr181 @@ -2522,7 +2525,7 @@ func (lex *Lexer) Lex() *Token { } goto tr180 tr183: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st119 st119: @@ -2530,7 +2533,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof119 } st_case_119: - // line internal/scanner/scanner.go:2528 + // line internal/scanner/scanner.go:2531 switch lex.data[(lex.p)] { case 10: goto tr174 @@ -2568,7 +2571,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof121 } st_case_121: - // line internal/scanner/scanner.go:2566 + // line internal/scanner/scanner.go:2569 switch lex.data[(lex.p)] { case 61: goto tr186 @@ -2619,7 +2622,7 @@ func (lex *Lexer) Lex() *Token { } goto tr4 tr8: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -2635,10 +2638,10 @@ func (lex *Lexer) Lex() *Token { goto _test_eof122 } st_case_122: - // line internal/scanner/scanner.go:2633 + // line internal/scanner/scanner.go:2636 goto tr188 tr9: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -2654,16 +2657,16 @@ func (lex *Lexer) Lex() *Token { goto _test_eof5 } st_case_5: - // line internal/scanner/scanner.go:2652 + // line internal/scanner/scanner.go:2655 if lex.data[(lex.p)] == 10 { goto tr8 } goto tr4 tr10: - // line internal/scanner/scanner.rl:160 + // line internal/scanner/scanner.rl:163 (lex.p) = (lex.te) - 1 { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st123 tr12: @@ -2673,8 +2676,8 @@ func (lex *Lexer) Lex() *Token { case 10: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ goto _out @@ -2688,16 +2691,16 @@ func (lex *Lexer) Lex() *Token { _, err := strconv.ParseInt(s, 2, 0) if err == nil { - lex.setTokenPosition(token) - tok = T_LNUMBER + lex.setTokenPosition(tkn) + tok = token.T_LNUMBER { (lex.p)++ goto _out } } - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ goto _out @@ -2716,16 +2719,16 @@ func (lex *Lexer) Lex() *Token { _, err := strconv.ParseInt(s, base, 0) if err == nil { - lex.setTokenPosition(token) - tok = T_LNUMBER + lex.setTokenPosition(tkn) + tok = token.T_LNUMBER { (lex.p)++ goto _out } } - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ goto _out @@ -2739,16 +2742,16 @@ func (lex *Lexer) Lex() *Token { _, err := strconv.ParseInt(s, 16, 0) if err == nil { - lex.setTokenPosition(token) - tok = T_LNUMBER + lex.setTokenPosition(tkn) + tok = token.T_LNUMBER { (lex.p)++ goto _out } } - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ goto _out @@ -2757,8 +2760,8 @@ func (lex *Lexer) Lex() *Token { case 14: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ABSTRACT + lex.setTokenPosition(tkn) + tok = token.T_ABSTRACT { (lex.p)++ goto _out @@ -2767,8 +2770,8 @@ func (lex *Lexer) Lex() *Token { case 15: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ARRAY + lex.setTokenPosition(tkn) + tok = token.T_ARRAY { (lex.p)++ goto _out @@ -2777,8 +2780,8 @@ func (lex *Lexer) Lex() *Token { case 16: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_AS + lex.setTokenPosition(tkn) + tok = token.T_AS { (lex.p)++ goto _out @@ -2787,8 +2790,8 @@ func (lex *Lexer) Lex() *Token { case 17: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_BREAK + lex.setTokenPosition(tkn) + tok = token.T_BREAK { (lex.p)++ goto _out @@ -2797,8 +2800,8 @@ func (lex *Lexer) Lex() *Token { case 18: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_CALLABLE + lex.setTokenPosition(tkn) + tok = token.T_CALLABLE { (lex.p)++ goto _out @@ -2807,8 +2810,8 @@ func (lex *Lexer) Lex() *Token { case 19: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_CASE + lex.setTokenPosition(tkn) + tok = token.T_CASE { (lex.p)++ goto _out @@ -2817,8 +2820,8 @@ func (lex *Lexer) Lex() *Token { case 20: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_CATCH + lex.setTokenPosition(tkn) + tok = token.T_CATCH { (lex.p)++ goto _out @@ -2827,8 +2830,8 @@ func (lex *Lexer) Lex() *Token { case 21: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_CLASS + lex.setTokenPosition(tkn) + tok = token.T_CLASS { (lex.p)++ goto _out @@ -2837,8 +2840,8 @@ func (lex *Lexer) Lex() *Token { case 22: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_CLONE + lex.setTokenPosition(tkn) + tok = token.T_CLONE { (lex.p)++ goto _out @@ -2847,8 +2850,8 @@ func (lex *Lexer) Lex() *Token { case 23: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_CONST + lex.setTokenPosition(tkn) + tok = token.T_CONST { (lex.p)++ goto _out @@ -2857,8 +2860,8 @@ func (lex *Lexer) Lex() *Token { case 24: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_CONTINUE + lex.setTokenPosition(tkn) + tok = token.T_CONTINUE { (lex.p)++ goto _out @@ -2867,8 +2870,8 @@ func (lex *Lexer) Lex() *Token { case 25: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_DECLARE + lex.setTokenPosition(tkn) + tok = token.T_DECLARE { (lex.p)++ goto _out @@ -2877,8 +2880,8 @@ func (lex *Lexer) Lex() *Token { case 26: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_DEFAULT + lex.setTokenPosition(tkn) + tok = token.T_DEFAULT { (lex.p)++ goto _out @@ -2887,8 +2890,8 @@ func (lex *Lexer) Lex() *Token { case 27: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_DO + lex.setTokenPosition(tkn) + tok = token.T_DO { (lex.p)++ goto _out @@ -2897,8 +2900,8 @@ func (lex *Lexer) Lex() *Token { case 28: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ECHO + lex.setTokenPosition(tkn) + tok = token.T_ECHO { (lex.p)++ goto _out @@ -2907,8 +2910,8 @@ func (lex *Lexer) Lex() *Token { case 30: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ELSEIF + lex.setTokenPosition(tkn) + tok = token.T_ELSEIF { (lex.p)++ goto _out @@ -2917,8 +2920,8 @@ func (lex *Lexer) Lex() *Token { case 31: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_EMPTY + lex.setTokenPosition(tkn) + tok = token.T_EMPTY { (lex.p)++ goto _out @@ -2927,8 +2930,8 @@ func (lex *Lexer) Lex() *Token { case 32: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENDDECLARE + lex.setTokenPosition(tkn) + tok = token.T_ENDDECLARE { (lex.p)++ goto _out @@ -2937,8 +2940,8 @@ func (lex *Lexer) Lex() *Token { case 34: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENDFOREACH + lex.setTokenPosition(tkn) + tok = token.T_ENDFOREACH { (lex.p)++ goto _out @@ -2947,8 +2950,8 @@ func (lex *Lexer) Lex() *Token { case 35: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENDIF + lex.setTokenPosition(tkn) + tok = token.T_ENDIF { (lex.p)++ goto _out @@ -2957,8 +2960,8 @@ func (lex *Lexer) Lex() *Token { case 36: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENDSWITCH + lex.setTokenPosition(tkn) + tok = token.T_ENDSWITCH { (lex.p)++ goto _out @@ -2967,8 +2970,8 @@ func (lex *Lexer) Lex() *Token { case 37: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENDWHILE + lex.setTokenPosition(tkn) + tok = token.T_ENDWHILE { (lex.p)++ goto _out @@ -2977,8 +2980,8 @@ func (lex *Lexer) Lex() *Token { case 38: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_EVAL + lex.setTokenPosition(tkn) + tok = token.T_EVAL { (lex.p)++ goto _out @@ -2987,8 +2990,8 @@ func (lex *Lexer) Lex() *Token { case 39: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_EXIT + lex.setTokenPosition(tkn) + tok = token.T_EXIT { (lex.p)++ goto _out @@ -2997,8 +3000,8 @@ func (lex *Lexer) Lex() *Token { case 40: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_EXTENDS + lex.setTokenPosition(tkn) + tok = token.T_EXTENDS { (lex.p)++ goto _out @@ -3007,8 +3010,8 @@ func (lex *Lexer) Lex() *Token { case 42: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_FINALLY + lex.setTokenPosition(tkn) + tok = token.T_FINALLY { (lex.p)++ goto _out @@ -3017,8 +3020,8 @@ func (lex *Lexer) Lex() *Token { case 44: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_FOREACH + lex.setTokenPosition(tkn) + tok = token.T_FOREACH { (lex.p)++ goto _out @@ -3027,8 +3030,8 @@ func (lex *Lexer) Lex() *Token { case 45: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_FUNCTION + lex.setTokenPosition(tkn) + tok = token.T_FUNCTION { (lex.p)++ goto _out @@ -3037,8 +3040,8 @@ func (lex *Lexer) Lex() *Token { case 46: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_FN + lex.setTokenPosition(tkn) + tok = token.T_FN { (lex.p)++ goto _out @@ -3047,8 +3050,8 @@ func (lex *Lexer) Lex() *Token { case 47: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_GLOBAL + lex.setTokenPosition(tkn) + tok = token.T_GLOBAL { (lex.p)++ goto _out @@ -3057,8 +3060,8 @@ func (lex *Lexer) Lex() *Token { case 48: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_GOTO + lex.setTokenPosition(tkn) + tok = token.T_GOTO { (lex.p)++ goto _out @@ -3067,8 +3070,8 @@ func (lex *Lexer) Lex() *Token { case 49: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_IF + lex.setTokenPosition(tkn) + tok = token.T_IF { (lex.p)++ goto _out @@ -3077,8 +3080,8 @@ func (lex *Lexer) Lex() *Token { case 50: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ISSET + lex.setTokenPosition(tkn) + tok = token.T_ISSET { (lex.p)++ goto _out @@ -3087,8 +3090,8 @@ func (lex *Lexer) Lex() *Token { case 51: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_IMPLEMENTS + lex.setTokenPosition(tkn) + tok = token.T_IMPLEMENTS { (lex.p)++ goto _out @@ -3097,8 +3100,8 @@ func (lex *Lexer) Lex() *Token { case 52: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_INSTANCEOF + lex.setTokenPosition(tkn) + tok = token.T_INSTANCEOF { (lex.p)++ goto _out @@ -3107,8 +3110,8 @@ func (lex *Lexer) Lex() *Token { case 53: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_INSTEADOF + lex.setTokenPosition(tkn) + tok = token.T_INSTEADOF { (lex.p)++ goto _out @@ -3117,8 +3120,8 @@ func (lex *Lexer) Lex() *Token { case 54: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_INTERFACE + lex.setTokenPosition(tkn) + tok = token.T_INTERFACE { (lex.p)++ goto _out @@ -3127,8 +3130,8 @@ func (lex *Lexer) Lex() *Token { case 55: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_LIST + lex.setTokenPosition(tkn) + tok = token.T_LIST { (lex.p)++ goto _out @@ -3137,8 +3140,8 @@ func (lex *Lexer) Lex() *Token { case 56: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_NAMESPACE + lex.setTokenPosition(tkn) + tok = token.T_NAMESPACE { (lex.p)++ goto _out @@ -3147,8 +3150,8 @@ func (lex *Lexer) Lex() *Token { case 57: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_PRIVATE + lex.setTokenPosition(tkn) + tok = token.T_PRIVATE { (lex.p)++ goto _out @@ -3157,8 +3160,8 @@ func (lex *Lexer) Lex() *Token { case 58: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_PUBLIC + lex.setTokenPosition(tkn) + tok = token.T_PUBLIC { (lex.p)++ goto _out @@ -3167,8 +3170,8 @@ func (lex *Lexer) Lex() *Token { case 59: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_PRINT + lex.setTokenPosition(tkn) + tok = token.T_PRINT { (lex.p)++ goto _out @@ -3177,8 +3180,8 @@ func (lex *Lexer) Lex() *Token { case 60: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_PROTECTED + lex.setTokenPosition(tkn) + tok = token.T_PROTECTED { (lex.p)++ goto _out @@ -3187,8 +3190,8 @@ func (lex *Lexer) Lex() *Token { case 61: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_RETURN + lex.setTokenPosition(tkn) + tok = token.T_RETURN { (lex.p)++ goto _out @@ -3197,8 +3200,8 @@ func (lex *Lexer) Lex() *Token { case 62: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_STATIC + lex.setTokenPosition(tkn) + tok = token.T_STATIC { (lex.p)++ goto _out @@ -3207,8 +3210,8 @@ func (lex *Lexer) Lex() *Token { case 63: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_SWITCH + lex.setTokenPosition(tkn) + tok = token.T_SWITCH { (lex.p)++ goto _out @@ -3217,8 +3220,8 @@ func (lex *Lexer) Lex() *Token { case 64: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_THROW + lex.setTokenPosition(tkn) + tok = token.T_THROW { (lex.p)++ goto _out @@ -3227,8 +3230,8 @@ func (lex *Lexer) Lex() *Token { case 65: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_TRAIT + lex.setTokenPosition(tkn) + tok = token.T_TRAIT { (lex.p)++ goto _out @@ -3237,8 +3240,8 @@ func (lex *Lexer) Lex() *Token { case 66: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_TRY + lex.setTokenPosition(tkn) + tok = token.T_TRY { (lex.p)++ goto _out @@ -3247,8 +3250,8 @@ func (lex *Lexer) Lex() *Token { case 67: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_UNSET + lex.setTokenPosition(tkn) + tok = token.T_UNSET { (lex.p)++ goto _out @@ -3257,8 +3260,8 @@ func (lex *Lexer) Lex() *Token { case 68: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_USE + lex.setTokenPosition(tkn) + tok = token.T_USE { (lex.p)++ goto _out @@ -3267,8 +3270,8 @@ func (lex *Lexer) Lex() *Token { case 69: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_VAR + lex.setTokenPosition(tkn) + tok = token.T_VAR { (lex.p)++ goto _out @@ -3277,8 +3280,8 @@ func (lex *Lexer) Lex() *Token { case 70: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_WHILE + lex.setTokenPosition(tkn) + tok = token.T_WHILE { (lex.p)++ goto _out @@ -3287,8 +3290,8 @@ func (lex *Lexer) Lex() *Token { case 71: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_YIELD_FROM + lex.setTokenPosition(tkn) + tok = token.T_YIELD_FROM { (lex.p)++ goto _out @@ -3297,8 +3300,8 @@ func (lex *Lexer) Lex() *Token { case 74: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_INCLUDE_ONCE + lex.setTokenPosition(tkn) + tok = token.T_INCLUDE_ONCE { (lex.p)++ goto _out @@ -3307,8 +3310,8 @@ func (lex *Lexer) Lex() *Token { case 76: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_REQUIRE_ONCE + lex.setTokenPosition(tkn) + tok = token.T_REQUIRE_ONCE { (lex.p)++ goto _out @@ -3317,8 +3320,8 @@ func (lex *Lexer) Lex() *Token { case 77: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_CLASS_C + lex.setTokenPosition(tkn) + tok = token.T_CLASS_C { (lex.p)++ goto _out @@ -3327,8 +3330,8 @@ func (lex *Lexer) Lex() *Token { case 78: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_DIR + lex.setTokenPosition(tkn) + tok = token.T_DIR { (lex.p)++ goto _out @@ -3337,8 +3340,8 @@ func (lex *Lexer) Lex() *Token { case 79: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_FILE + lex.setTokenPosition(tkn) + tok = token.T_FILE { (lex.p)++ goto _out @@ -3347,8 +3350,8 @@ func (lex *Lexer) Lex() *Token { case 80: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_FUNC_C + lex.setTokenPosition(tkn) + tok = token.T_FUNC_C { (lex.p)++ goto _out @@ -3357,8 +3360,8 @@ func (lex *Lexer) Lex() *Token { case 81: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_LINE + lex.setTokenPosition(tkn) + tok = token.T_LINE { (lex.p)++ goto _out @@ -3367,8 +3370,8 @@ func (lex *Lexer) Lex() *Token { case 82: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_NS_C + lex.setTokenPosition(tkn) + tok = token.T_NS_C { (lex.p)++ goto _out @@ -3377,8 +3380,8 @@ func (lex *Lexer) Lex() *Token { case 83: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_METHOD_C + lex.setTokenPosition(tkn) + tok = token.T_METHOD_C { (lex.p)++ goto _out @@ -3387,8 +3390,8 @@ func (lex *Lexer) Lex() *Token { case 84: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_TRAIT_C + lex.setTokenPosition(tkn) + tok = token.T_TRAIT_C { (lex.p)++ goto _out @@ -3397,8 +3400,8 @@ func (lex *Lexer) Lex() *Token { case 85: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_HALT_COMPILER + lex.setTokenPosition(tkn) + tok = token.T_HALT_COMPILER lex.cs = 518 { (lex.p)++ @@ -3408,8 +3411,8 @@ func (lex *Lexer) Lex() *Token { case 86: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_NEW + lex.setTokenPosition(tkn) + tok = token.T_NEW { (lex.p)++ goto _out @@ -3418,8 +3421,8 @@ func (lex *Lexer) Lex() *Token { case 87: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_LOGICAL_AND + lex.setTokenPosition(tkn) + tok = token.T_LOGICAL_AND { (lex.p)++ goto _out @@ -3428,8 +3431,8 @@ func (lex *Lexer) Lex() *Token { case 88: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_LOGICAL_OR + lex.setTokenPosition(tkn) + tok = token.T_LOGICAL_OR { (lex.p)++ goto _out @@ -3438,8 +3441,8 @@ func (lex *Lexer) Lex() *Token { case 89: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_LOGICAL_XOR + lex.setTokenPosition(tkn) + tok = token.T_LOGICAL_XOR { (lex.p)++ goto _out @@ -3448,8 +3451,8 @@ func (lex *Lexer) Lex() *Token { case 118: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_SL + lex.setTokenPosition(tkn) + tok = token.T_SL { (lex.p)++ goto _out @@ -3458,8 +3461,8 @@ func (lex *Lexer) Lex() *Token { case 135: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_STRING + lex.setTokenPosition(tkn) + tok = token.T_STRING { (lex.p)++ goto _out @@ -3468,8 +3471,8 @@ func (lex *Lexer) Lex() *Token { case 140: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = TokenID(int('"')) + lex.setTokenPosition(tkn) + tok = token.ID(int('"')) lex.cs = 493 { (lex.p)++ @@ -3480,11 +3483,11 @@ func (lex *Lexer) Lex() *Token { goto _again tr15: - // line internal/scanner/scanner.rl:350 + // line internal/scanner/scanner.rl:351 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_CONSTANT_ENCAPSED_STRING + lex.setTokenPosition(tkn) + tok = token.T_CONSTANT_ENCAPSED_STRING { (lex.p)++ lex.cs = 123 @@ -3493,7 +3496,7 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr19: - // line internal/scanner/scanner.rl:373 + // line internal/scanner/scanner.rl:374 (lex.p) = (lex.te) - 1 { c := lex.data[lex.p] @@ -3501,13 +3504,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr23: - // line internal/scanner/scanner.rl:335 + // line internal/scanner/scanner.rl:338 (lex.p) = (lex.te) - 1 { - // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); - // tok = TokenID(Rune2Class(rune)); - lex.setTokenPosition(token) - tok = TokenID(int(lex.data[lex.ts])) + lex.setTokenPosition(tkn) + tok = token.ID(int(lex.data[lex.ts])) { (lex.p)++ lex.cs = 123 @@ -3516,11 +3517,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr38: - // line internal/scanner/scanner.rl:310 + // line internal/scanner/scanner.rl:313 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_ARRAY_CAST + lex.setTokenPosition(tkn) + tok = token.T_ARRAY_CAST { (lex.p)++ lex.cs = 123 @@ -3529,11 +3530,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr45: - // line internal/scanner/scanner.rl:315 + // line internal/scanner/scanner.rl:318 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_STRING_CAST + lex.setTokenPosition(tkn) + tok = token.T_STRING_CAST { (lex.p)++ lex.cs = 123 @@ -3542,11 +3543,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr49: - // line internal/scanner/scanner.rl:311 + // line internal/scanner/scanner.rl:314 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_BOOL_CAST + lex.setTokenPosition(tkn) + tok = token.T_BOOL_CAST { (lex.p)++ lex.cs = 123 @@ -3555,11 +3556,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr57: - // line internal/scanner/scanner.rl:312 + // line internal/scanner/scanner.rl:315 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_DOUBLE_CAST + lex.setTokenPosition(tkn) + tok = token.T_DOUBLE_CAST { (lex.p)++ lex.cs = 123 @@ -3568,11 +3569,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr64: - // line internal/scanner/scanner.rl:313 + // line internal/scanner/scanner.rl:316 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_INT_CAST + lex.setTokenPosition(tkn) + tok = token.T_INT_CAST { (lex.p)++ lex.cs = 123 @@ -3581,11 +3582,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr73: - // line internal/scanner/scanner.rl:314 + // line internal/scanner/scanner.rl:317 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_OBJECT_CAST + lex.setTokenPosition(tkn) + tok = token.T_OBJECT_CAST { (lex.p)++ lex.cs = 123 @@ -3594,11 +3595,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr84: - // line internal/scanner/scanner.rl:316 + // line internal/scanner/scanner.rl:319 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_UNSET_CAST + lex.setTokenPosition(tkn) + tok = token.T_UNSET_CAST { (lex.p)++ lex.cs = 123 @@ -3607,11 +3608,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr85: - // line internal/scanner/scanner.rl:278 + // line internal/scanner/scanner.rl:281 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_ELLIPSIS + lex.setTokenPosition(tkn) + tok = token.T_ELLIPSIS { (lex.p)++ lex.cs = 123 @@ -3620,11 +3621,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr88: - // line internal/scanner/scanner.rl:164 + // line internal/scanner/scanner.rl:167 (lex.p) = (lex.te) - 1 { - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ lex.cs = 123 @@ -3633,7 +3634,7 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr98: - // line internal/scanner/scanner.rl:322 + // line internal/scanner/scanner.rl:325 lex.te = (lex.p) + 1 { isDocComment := false @@ -3642,14 +3643,14 @@ func (lex *Lexer) Lex() *Token { } if isDocComment { - lex.addHiddenToken(token, T_DOC_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_DOC_COMMENT, lex.ts, lex.te) } else { - lex.addHiddenToken(token, T_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_COMMENT, lex.ts, lex.te) } } goto st123 tr99: - // line internal/scanner/scanner.rl:175 + // line internal/scanner/scanner.rl:178 (lex.p) = (lex.te) - 1 { base := 10 @@ -3661,8 +3662,8 @@ func (lex *Lexer) Lex() *Token { _, err := strconv.ParseInt(s, base, 0) if err == nil { - lex.setTokenPosition(token) - tok = T_LNUMBER + lex.setTokenPosition(tkn) + tok = token.T_LNUMBER { (lex.p)++ lex.cs = 123 @@ -3670,8 +3671,8 @@ func (lex *Lexer) Lex() *Token { } } - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ lex.cs = 123 @@ -3681,11 +3682,11 @@ func (lex *Lexer) Lex() *Token { goto st123 tr112: lex.cs = 123 - // line internal/scanner/scanner.rl:162 + // line internal/scanner/scanner.rl:165 (lex.p) = (lex.te) - 1 { - lex.setTokenPosition(token) - tok = TokenID(int(';')) + lex.setTokenPosition(tkn) + tok = token.ID(int(';')) lex.cs = 116 { (lex.p)++ @@ -3695,11 +3696,11 @@ func (lex *Lexer) Lex() *Token { goto _again tr128: lex.cs = 123 - // line internal/scanner/scanner.rl:161 + // line internal/scanner/scanner.rl:164 (lex.p) = (lex.te) - 1 { - lex.setTokenPosition(token) - tok = TokenID(int(';')) + lex.setTokenPosition(tkn) + tok = token.ID(int(';')) lex.cs = 116 { (lex.p)++ @@ -3708,11 +3709,11 @@ func (lex *Lexer) Lex() *Token { } goto _again tr130: - // line internal/scanner/scanner.rl:346 + // line internal/scanner/scanner.rl:347 (lex.p) = (lex.te) - 1 { - lex.setTokenPosition(token) - tok = T_STRING + lex.setTokenPosition(tkn) + tok = token.T_STRING { (lex.p)++ lex.cs = 123 @@ -3721,11 +3722,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr132: - // line internal/scanner/scanner.rl:259 + // line internal/scanner/scanner.rl:262 (lex.p) = (lex.te) - 1 { - lex.setTokenPosition(token) - tok = T_YIELD + lex.setTokenPosition(tkn) + tok = token.T_YIELD { (lex.p)++ lex.cs = 123 @@ -3734,11 +3735,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr143: - // line internal/scanner/scanner.rl:258 + // line internal/scanner/scanner.rl:261 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_YIELD_FROM + lex.setTokenPosition(tkn) + tok = token.T_YIELD_FROM { (lex.p)++ lex.cs = 123 @@ -3747,7 +3748,7 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr189: - // line internal/scanner/scanner.rl:373 + // line internal/scanner/scanner.rl:374 lex.te = (lex.p) + 1 { c := lex.data[lex.p] @@ -3755,13 +3756,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr200: - // line internal/scanner/scanner.rl:335 + // line internal/scanner/scanner.rl:338 lex.te = (lex.p) + 1 { - // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); - // tok = TokenID(Rune2Class(rune)); - lex.setTokenPosition(token) - tok = TokenID(int(lex.data[lex.ts])) + lex.setTokenPosition(tkn) + tok = token.ID(int(lex.data[lex.ts])) { (lex.p)++ lex.cs = 123 @@ -3770,11 +3769,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr234: - // line internal/scanner/scanner.rl:277 + // line internal/scanner/scanner.rl:280 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_NS_SEPARATOR + lex.setTokenPosition(tkn) + tok = token.T_NS_SEPARATOR { (lex.p)++ lex.cs = 123 @@ -3784,11 +3783,11 @@ func (lex *Lexer) Lex() *Token { goto st123 tr237: lex.cs = 123 - // line internal/scanner/scanner.rl:370 + // line internal/scanner/scanner.rl:371 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int('`')) + lex.setTokenPosition(tkn) + tok = token.ID(int('`')) lex.cs = 487 { (lex.p)++ @@ -3797,45 +3796,45 @@ func (lex *Lexer) Lex() *Token { } goto _again tr238: - // line internal/scanner/scanner.rl:343 + // line internal/scanner/scanner.rl:344 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int('{')) + lex.setTokenPosition(tkn) + tok = token.ID(int('{')) lex.call(123, 123) goto _out } goto st123 tr240: - // line internal/scanner/scanner.rl:344 + // line internal/scanner/scanner.rl:345 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int('}')) + lex.setTokenPosition(tkn) + tok = token.ID(int('}')) lex.ret(1) goto _out } goto st123 tr241: - // line internal/scanner/scanner.rl:160 + // line internal/scanner/scanner.rl:163 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st123 tr243: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:160 + // line internal/scanner/scanner.rl:163 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st123 tr247: - // line internal/scanner/scanner.rl:373 + // line internal/scanner/scanner.rl:374 lex.te = (lex.p) (lex.p)-- { @@ -3844,14 +3843,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr248: - // line internal/scanner/scanner.rl:335 + // line internal/scanner/scanner.rl:338 lex.te = (lex.p) (lex.p)-- { - // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); - // tok = TokenID(Rune2Class(rune)); - lex.setTokenPosition(token) - tok = TokenID(int(lex.data[lex.ts])) + lex.setTokenPosition(tkn) + tok = token.ID(int(lex.data[lex.ts])) { (lex.p)++ lex.cs = 123 @@ -3860,12 +3857,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr250: - // line internal/scanner/scanner.rl:296 + // line internal/scanner/scanner.rl:299 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_IS_NOT_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_IS_NOT_EQUAL { (lex.p)++ lex.cs = 123 @@ -3874,11 +3871,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr251: - // line internal/scanner/scanner.rl:297 + // line internal/scanner/scanner.rl:300 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_IS_NOT_IDENTICAL + lex.setTokenPosition(tkn) + tok = token.T_IS_NOT_IDENTICAL { (lex.p)++ lex.cs = 123 @@ -3888,12 +3885,12 @@ func (lex *Lexer) Lex() *Token { goto st123 tr252: lex.cs = 123 - // line internal/scanner/scanner.rl:371 + // line internal/scanner/scanner.rl:372 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = TokenID(int('"')) + lex.setTokenPosition(tkn) + tok = token.ID(int('"')) lex.cs = 493 { (lex.p)++ @@ -3902,32 +3899,32 @@ func (lex *Lexer) Lex() *Token { } goto _again tr253: - // line internal/scanner/scanner.rl:318 + // line internal/scanner/scanner.rl:321 lex.te = (lex.p) (lex.p)-- { lex.ungetStr("?>") - lex.addHiddenToken(token, T_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_COMMENT, lex.ts, lex.te) } goto st123 tr256: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:318 + // line internal/scanner/scanner.rl:321 lex.te = (lex.p) (lex.p)-- { lex.ungetStr("?>") - lex.addHiddenToken(token, T_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_COMMENT, lex.ts, lex.te) } goto st123 tr261: - // line internal/scanner/scanner.rl:345 + // line internal/scanner/scanner.rl:346 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_VARIABLE + lex.setTokenPosition(tkn) + tok = token.T_VARIABLE { (lex.p)++ lex.cs = 123 @@ -3936,11 +3933,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr262: - // line internal/scanner/scanner.rl:291 + // line internal/scanner/scanner.rl:294 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_MOD_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_MOD_EQUAL { (lex.p)++ lex.cs = 123 @@ -3949,11 +3946,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr263: - // line internal/scanner/scanner.rl:280 + // line internal/scanner/scanner.rl:283 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_BOOLEAN_AND + lex.setTokenPosition(tkn) + tok = token.T_BOOLEAN_AND { (lex.p)++ lex.cs = 123 @@ -3962,11 +3959,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr264: - // line internal/scanner/scanner.rl:282 + // line internal/scanner/scanner.rl:285 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_AND_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_AND_EQUAL { (lex.p)++ lex.cs = 123 @@ -3975,11 +3972,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr266: - // line internal/scanner/scanner.rl:285 + // line internal/scanner/scanner.rl:288 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_MUL_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_MUL_EQUAL { (lex.p)++ lex.cs = 123 @@ -3988,12 +3985,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr267: - // line internal/scanner/scanner.rl:304 + // line internal/scanner/scanner.rl:307 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_POW + lex.setTokenPosition(tkn) + tok = token.T_POW { (lex.p)++ lex.cs = 123 @@ -4002,11 +3999,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr268: - // line internal/scanner/scanner.rl:286 + // line internal/scanner/scanner.rl:289 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_POW_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_POW_EQUAL { (lex.p)++ lex.cs = 123 @@ -4015,11 +4012,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr269: - // line internal/scanner/scanner.rl:293 + // line internal/scanner/scanner.rl:296 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_INC + lex.setTokenPosition(tkn) + tok = token.T_INC { (lex.p)++ lex.cs = 123 @@ -4028,11 +4025,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr270: - // line internal/scanner/scanner.rl:288 + // line internal/scanner/scanner.rl:291 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_PLUS_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_PLUS_EQUAL { (lex.p)++ lex.cs = 123 @@ -4041,11 +4038,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr271: - // line internal/scanner/scanner.rl:292 + // line internal/scanner/scanner.rl:295 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_DEC + lex.setTokenPosition(tkn) + tok = token.T_DEC { (lex.p)++ lex.cs = 123 @@ -4054,11 +4051,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr272: - // line internal/scanner/scanner.rl:289 + // line internal/scanner/scanner.rl:292 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_MINUS_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_MINUS_EQUAL { (lex.p)++ lex.cs = 123 @@ -4068,11 +4065,11 @@ func (lex *Lexer) Lex() *Token { goto st123 tr273: lex.cs = 123 - // line internal/scanner/scanner.rl:348 + // line internal/scanner/scanner.rl:349 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_OBJECT_OPERATOR + lex.setTokenPosition(tkn) + tok = token.T_OBJECT_OPERATOR lex.cs = 470 { (lex.p)++ @@ -4081,11 +4078,11 @@ func (lex *Lexer) Lex() *Token { } goto _again tr275: - // line internal/scanner/scanner.rl:284 + // line internal/scanner/scanner.rl:287 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_CONCAT_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_CONCAT_EQUAL { (lex.p)++ lex.cs = 123 @@ -4094,12 +4091,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr276: - // line internal/scanner/scanner.rl:164 + // line internal/scanner/scanner.rl:167 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ lex.cs = 123 @@ -4108,11 +4105,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr279: - // line internal/scanner/scanner.rl:287 + // line internal/scanner/scanner.rl:290 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_DIV_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_DIV_EQUAL { (lex.p)++ lex.cs = 123 @@ -4121,7 +4118,7 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr280: - // line internal/scanner/scanner.rl:175 + // line internal/scanner/scanner.rl:178 lex.te = (lex.p) (lex.p)-- { @@ -4134,8 +4131,8 @@ func (lex *Lexer) Lex() *Token { _, err := strconv.ParseInt(s, base, 0) if err == nil { - lex.setTokenPosition(token) - tok = T_LNUMBER + lex.setTokenPosition(tkn) + tok = token.T_LNUMBER { (lex.p)++ lex.cs = 123 @@ -4143,8 +4140,8 @@ func (lex *Lexer) Lex() *Token { } } - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ lex.cs = 123 @@ -4153,7 +4150,7 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr285: - // line internal/scanner/scanner.rl:165 + // line internal/scanner/scanner.rl:168 lex.te = (lex.p) (lex.p)-- { @@ -4161,8 +4158,8 @@ func (lex *Lexer) Lex() *Token { _, err := strconv.ParseInt(s, 2, 0) if err == nil { - lex.setTokenPosition(token) - tok = T_LNUMBER + lex.setTokenPosition(tkn) + tok = token.T_LNUMBER { (lex.p)++ lex.cs = 123 @@ -4170,8 +4167,8 @@ func (lex *Lexer) Lex() *Token { } } - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ lex.cs = 123 @@ -4180,7 +4177,7 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr286: - // line internal/scanner/scanner.rl:190 + // line internal/scanner/scanner.rl:193 lex.te = (lex.p) (lex.p)-- { @@ -4188,8 +4185,8 @@ func (lex *Lexer) Lex() *Token { _, err := strconv.ParseInt(s, 16, 0) if err == nil { - lex.setTokenPosition(token) - tok = T_LNUMBER + lex.setTokenPosition(tkn) + tok = token.T_LNUMBER { (lex.p)++ lex.cs = 123 @@ -4197,8 +4194,8 @@ func (lex *Lexer) Lex() *Token { } } - lex.setTokenPosition(token) - tok = T_DNUMBER + lex.setTokenPosition(tkn) + tok = token.T_DNUMBER { (lex.p)++ lex.cs = 123 @@ -4207,11 +4204,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr287: - // line internal/scanner/scanner.rl:279 + // line internal/scanner/scanner.rl:282 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_PAAMAYIM_NEKUDOTAYIM + lex.setTokenPosition(tkn) + tok = token.T_PAAMAYIM_NEKUDOTAYIM { (lex.p)++ lex.cs = 123 @@ -4221,12 +4218,12 @@ func (lex *Lexer) Lex() *Token { goto st123 tr288: lex.cs = 123 - // line internal/scanner/scanner.rl:162 + // line internal/scanner/scanner.rl:165 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = TokenID(int(';')) + lex.setTokenPosition(tkn) + tok = token.ID(int(';')) lex.cs = 116 { (lex.p)++ @@ -4236,14 +4233,14 @@ func (lex *Lexer) Lex() *Token { goto _again tr290: lex.cs = 123 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:162 + // line internal/scanner/scanner.rl:165 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = TokenID(int(';')) + lex.setTokenPosition(tkn) + tok = token.ID(int(';')) lex.cs = 116 { (lex.p)++ @@ -4252,11 +4249,11 @@ func (lex *Lexer) Lex() *Token { } goto _again tr293: - // line internal/scanner/scanner.rl:296 + // line internal/scanner/scanner.rl:299 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_IS_NOT_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_IS_NOT_EQUAL { (lex.p)++ lex.cs = 123 @@ -4265,12 +4262,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr294: - // line internal/scanner/scanner.rl:305 + // line internal/scanner/scanner.rl:308 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_SL + lex.setTokenPosition(tkn) + tok = token.T_SL { (lex.p)++ lex.cs = 123 @@ -4279,11 +4276,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr295: - // line internal/scanner/scanner.rl:300 + // line internal/scanner/scanner.rl:303 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_SL_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_SL_EQUAL { (lex.p)++ lex.cs = 123 @@ -4293,15 +4290,15 @@ func (lex *Lexer) Lex() *Token { goto st123 tr296: lex.cs = 123 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:356 + // line internal/scanner/scanner.rl:357 lex.te = (lex.p) (lex.p)-- { lex.heredocLabel = lex.data[lblStart:lblEnd] - lex.setTokenPosition(token) - tok = T_START_HEREDOC + lex.setTokenPosition(tkn) + tok = token.T_START_HEREDOC if lex.isHeredocEnd(lex.p + 1) { lex.cs = 499 @@ -4317,12 +4314,12 @@ func (lex *Lexer) Lex() *Token { } goto _again tr297: - // line internal/scanner/scanner.rl:303 + // line internal/scanner/scanner.rl:306 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_IS_SMALLER_OR_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_IS_SMALLER_OR_EQUAL { (lex.p)++ lex.cs = 123 @@ -4331,11 +4328,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr298: - // line internal/scanner/scanner.rl:295 + // line internal/scanner/scanner.rl:298 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_SPACESHIP + lex.setTokenPosition(tkn) + tok = token.T_SPACESHIP { (lex.p)++ lex.cs = 123 @@ -4344,11 +4341,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr300: - // line internal/scanner/scanner.rl:294 + // line internal/scanner/scanner.rl:297 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_DOUBLE_ARROW + lex.setTokenPosition(tkn) + tok = token.T_DOUBLE_ARROW { (lex.p)++ lex.cs = 123 @@ -4357,12 +4354,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr301: - // line internal/scanner/scanner.rl:298 + // line internal/scanner/scanner.rl:301 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_IS_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_IS_EQUAL { (lex.p)++ lex.cs = 123 @@ -4371,11 +4368,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr302: - // line internal/scanner/scanner.rl:299 + // line internal/scanner/scanner.rl:302 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_IS_IDENTICAL + lex.setTokenPosition(tkn) + tok = token.T_IS_IDENTICAL { (lex.p)++ lex.cs = 123 @@ -4384,11 +4381,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr303: - // line internal/scanner/scanner.rl:302 + // line internal/scanner/scanner.rl:305 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_IS_GREATER_OR_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_IS_GREATER_OR_EQUAL { (lex.p)++ lex.cs = 123 @@ -4397,12 +4394,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr305: - // line internal/scanner/scanner.rl:306 + // line internal/scanner/scanner.rl:309 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_SR + lex.setTokenPosition(tkn) + tok = token.T_SR { (lex.p)++ lex.cs = 123 @@ -4411,11 +4408,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr306: - // line internal/scanner/scanner.rl:301 + // line internal/scanner/scanner.rl:304 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_SR_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_SR_EQUAL { (lex.p)++ lex.cs = 123 @@ -4425,12 +4422,12 @@ func (lex *Lexer) Lex() *Token { goto st123 tr309: lex.cs = 123 - // line internal/scanner/scanner.rl:161 + // line internal/scanner/scanner.rl:164 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = TokenID(int(';')) + lex.setTokenPosition(tkn) + tok = token.ID(int(';')) lex.cs = 116 { (lex.p)++ @@ -4440,14 +4437,14 @@ func (lex *Lexer) Lex() *Token { goto _again tr311: lex.cs = 123 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:161 + // line internal/scanner/scanner.rl:164 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = TokenID(int(';')) + lex.setTokenPosition(tkn) + tok = token.ID(int(';')) lex.cs = 116 { (lex.p)++ @@ -4456,12 +4453,12 @@ func (lex *Lexer) Lex() *Token { } goto _again tr312: - // line internal/scanner/scanner.rl:307 + // line internal/scanner/scanner.rl:310 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_COALESCE + lex.setTokenPosition(tkn) + tok = token.T_COALESCE { (lex.p)++ lex.cs = 123 @@ -4470,11 +4467,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr313: - // line internal/scanner/scanner.rl:308 + // line internal/scanner/scanner.rl:311 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_COALESCE_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_COALESCE_EQUAL { (lex.p)++ lex.cs = 123 @@ -4483,12 +4480,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr314: - // line internal/scanner/scanner.rl:346 + // line internal/scanner/scanner.rl:347 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_STRING + lex.setTokenPosition(tkn) + tok = token.T_STRING { (lex.p)++ lex.cs = 123 @@ -4497,12 +4494,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr394: - // line internal/scanner/scanner.rl:216 + // line internal/scanner/scanner.rl:219 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ELSE + lex.setTokenPosition(tkn) + tok = token.T_ELSE { (lex.p)++ lex.cs = 123 @@ -4511,12 +4508,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr414: - // line internal/scanner/scanner.rl:220 + // line internal/scanner/scanner.rl:223 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENDFOR + lex.setTokenPosition(tkn) + tok = token.T_ENDFOR { (lex.p)++ lex.cs = 123 @@ -4525,12 +4522,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr443: - // line internal/scanner/scanner.rl:228 + // line internal/scanner/scanner.rl:231 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_FINAL + lex.setTokenPosition(tkn) + tok = token.T_FINAL { (lex.p)++ lex.cs = 123 @@ -4539,12 +4536,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr447: - // line internal/scanner/scanner.rl:230 + // line internal/scanner/scanner.rl:233 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_FOR + lex.setTokenPosition(tkn) + tok = token.T_FOR { (lex.p)++ lex.cs = 123 @@ -4553,12 +4550,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr479: - // line internal/scanner/scanner.rl:260 + // line internal/scanner/scanner.rl:263 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_INCLUDE + lex.setTokenPosition(tkn) + tok = token.T_INCLUDE { (lex.p)++ lex.cs = 123 @@ -4567,12 +4564,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr547: - // line internal/scanner/scanner.rl:262 + // line internal/scanner/scanner.rl:265 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_REQUIRE + lex.setTokenPosition(tkn) + tok = token.T_REQUIRE { (lex.p)++ lex.cs = 123 @@ -4581,12 +4578,12 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr593: - // line internal/scanner/scanner.rl:259 + // line internal/scanner/scanner.rl:262 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_YIELD + lex.setTokenPosition(tkn) + tok = token.T_YIELD { (lex.p)++ lex.cs = 123 @@ -4595,11 +4592,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr598: - // line internal/scanner/scanner.rl:290 + // line internal/scanner/scanner.rl:293 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_XOR_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_XOR_EQUAL { (lex.p)++ lex.cs = 123 @@ -4608,11 +4605,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr672: - // line internal/scanner/scanner.rl:283 + // line internal/scanner/scanner.rl:286 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_OR_EQUAL + lex.setTokenPosition(tkn) + tok = token.T_OR_EQUAL { (lex.p)++ lex.cs = 123 @@ -4621,11 +4618,11 @@ func (lex *Lexer) Lex() *Token { } goto st123 tr673: - // line internal/scanner/scanner.rl:281 + // line internal/scanner/scanner.rl:284 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_BOOLEAN_OR + lex.setTokenPosition(tkn) + tok = token.T_BOOLEAN_OR { (lex.p)++ lex.cs = 123 @@ -4644,7 +4641,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:3509 + // line internal/scanner/scanner.go:3506 switch lex.data[(lex.p)] { case 10: goto tr11 @@ -4829,7 +4826,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st124 st124: @@ -4837,7 +4834,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof124 } st_case_124: - // line internal/scanner/scanner.go:3702 + // line internal/scanner/scanner.go:3699 switch lex.data[(lex.p)] { case 10: goto tr11 @@ -4854,7 +4851,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -4869,9 +4866,9 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -4887,7 +4884,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof125 } st_case_125: - // line internal/scanner/scanner.go:3752 + // line internal/scanner/scanner.go:3749 switch lex.data[(lex.p)] { case 10: goto tr245 @@ -4901,7 +4898,7 @@ func (lex *Lexer) Lex() *Token { } goto tr243 tr242: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -4913,9 +4910,9 @@ func (lex *Lexer) Lex() *Token { goto st6 tr246: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -4931,13 +4928,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof6 } st_case_6: - // line internal/scanner/scanner.go:3796 + // line internal/scanner/scanner.go:3793 if lex.data[(lex.p)] == 10 { goto tr11 } goto tr10 tr191: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -4953,7 +4950,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof126 } st_case_126: - // line internal/scanner/scanner.go:3818 + // line internal/scanner/scanner.go:3815 if lex.data[(lex.p)] == 10 { goto tr11 } @@ -4980,7 +4977,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:371 + // line internal/scanner/scanner.rl:372 lex.act = 140 goto st129 st129: @@ -4988,7 +4985,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof129 } st_case_129: - // line internal/scanner/scanner.go:3853 + // line internal/scanner/scanner.go:3850 switch lex.data[(lex.p)] { case 10: goto tr14 @@ -5005,7 +5002,7 @@ func (lex *Lexer) Lex() *Token { } goto st7 tr14: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -5021,7 +5018,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof7 } st_case_7: - // line internal/scanner/scanner.go:3886 + // line internal/scanner/scanner.go:3883 switch lex.data[(lex.p)] { case 10: goto tr14 @@ -5098,7 +5095,7 @@ func (lex *Lexer) Lex() *Token { } goto st7 tr255: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -5110,13 +5107,13 @@ func (lex *Lexer) Lex() *Token { goto st130 tr257: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st130 tr259: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -5132,7 +5129,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof130 } st_case_130: - // line internal/scanner/scanner.go:3997 + // line internal/scanner/scanner.go:3994 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -5182,7 +5179,7 @@ func (lex *Lexer) Lex() *Token { } goto tr253 tr254: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -5194,9 +5191,9 @@ func (lex *Lexer) Lex() *Token { goto st131 tr258: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -5212,7 +5209,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof131 } st_case_131: - // line internal/scanner/scanner.go:4077 + // line internal/scanner/scanner.go:4074 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -5339,7 +5336,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof136 } st_case_136: - // line internal/scanner/scanner.go:4204 + // line internal/scanner/scanner.go:4201 switch lex.data[(lex.p)] { case 10: goto tr21 @@ -5352,7 +5349,7 @@ func (lex *Lexer) Lex() *Token { } goto st11 tr21: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -5368,7 +5365,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof11 } st_case_11: - // line internal/scanner/scanner.go:4233 + // line internal/scanner/scanner.go:4230 switch lex.data[(lex.p)] { case 10: goto tr21 @@ -5402,7 +5399,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof137 } st_case_137: - // line internal/scanner/scanner.go:4267 + // line internal/scanner/scanner.go:4264 switch lex.data[(lex.p)] { case 9: goto st13 @@ -6250,7 +6247,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof142 } st_case_142: - // line internal/scanner/scanner.go:5115 + // line internal/scanner/scanner.go:5112 switch lex.data[(lex.p)] { case 46: goto st67 @@ -6274,7 +6271,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:164 + // line internal/scanner/scanner.rl:167 lex.act = 10 goto st143 st143: @@ -6282,7 +6279,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof143 } st_case_143: - // line internal/scanner/scanner.go:5147 + // line internal/scanner/scanner.go:5144 switch lex.data[(lex.p)] { case 69: goto st68 @@ -6323,7 +6320,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:164 + // line internal/scanner/scanner.rl:167 lex.act = 10 goto st144 st144: @@ -6331,7 +6328,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof144 } st_case_144: - // line internal/scanner/scanner.go:5196 + // line internal/scanner/scanner.go:5193 if lex.data[(lex.p)] == 95 { goto st69 } @@ -6358,7 +6355,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof145 } st_case_145: - // line internal/scanner/scanner.go:5223 + // line internal/scanner/scanner.go:5220 switch lex.data[(lex.p)] { case 42: goto st71 @@ -6369,7 +6366,7 @@ func (lex *Lexer) Lex() *Token { } goto tr248 tr92: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6381,13 +6378,13 @@ func (lex *Lexer) Lex() *Token { goto st71 tr94: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st71 tr96: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6403,7 +6400,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof71 } st_case_71: - // line internal/scanner/scanner.go:5268 + // line internal/scanner/scanner.go:5265 switch lex.data[(lex.p)] { case 10: goto tr91 @@ -6414,7 +6411,7 @@ func (lex *Lexer) Lex() *Token { } goto st71 tr91: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6426,9 +6423,9 @@ func (lex *Lexer) Lex() *Token { goto st72 tr95: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6444,7 +6441,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof72 } st_case_72: - // line internal/scanner/scanner.go:5309 + // line internal/scanner/scanner.go:5306 switch lex.data[(lex.p)] { case 10: goto tr95 @@ -6455,7 +6452,7 @@ func (lex *Lexer) Lex() *Token { } goto tr94 tr97: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st73 st73: @@ -6463,7 +6460,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof73 } st_case_73: - // line internal/scanner/scanner.go:5328 + // line internal/scanner/scanner.go:5325 switch lex.data[(lex.p)] { case 10: goto tr91 @@ -6479,7 +6476,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:175 + // line internal/scanner/scanner.rl:178 lex.act = 12 goto st146 st146: @@ -6487,7 +6484,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof146 } st_case_146: - // line internal/scanner/scanner.go:5352 + // line internal/scanner/scanner.go:5349 switch lex.data[(lex.p)] { case 46: goto tr281 @@ -6510,7 +6507,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:164 + // line internal/scanner/scanner.rl:167 lex.act = 10 goto st147 st147: @@ -6518,7 +6515,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof147 } st_case_147: - // line internal/scanner/scanner.go:5383 + // line internal/scanner/scanner.go:5380 switch lex.data[(lex.p)] { case 69: goto st68 @@ -6533,7 +6530,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:175 + // line internal/scanner/scanner.rl:178 lex.act = 12 goto st148 st148: @@ -6541,7 +6538,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof148 } st_case_148: - // line internal/scanner/scanner.go:5406 + // line internal/scanner/scanner.go:5403 switch lex.data[(lex.p)] { case 46: goto tr281 @@ -6578,7 +6575,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:165 + // line internal/scanner/scanner.rl:168 lex.act = 11 goto st149 st149: @@ -6586,7 +6583,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof149 } st_case_149: - // line internal/scanner/scanner.go:5451 + // line internal/scanner/scanner.go:5448 if lex.data[(lex.p)] == 95 { goto st75 } @@ -6616,7 +6613,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:190 + // line internal/scanner/scanner.rl:193 lex.act = 13 goto st150 st150: @@ -6624,7 +6621,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof150 } st_case_150: - // line internal/scanner/scanner.go:5489 + // line internal/scanner/scanner.go:5486 if lex.data[(lex.p)] == 95 { goto st76 } @@ -6660,7 +6657,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof152 } st_case_152: - // line internal/scanner/scanner.go:5525 + // line internal/scanner/scanner.go:5522 switch lex.data[(lex.p)] { case 10: goto tr104 @@ -6676,7 +6673,7 @@ func (lex *Lexer) Lex() *Token { } goto tr248 tr107: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st77 st77: @@ -6684,7 +6681,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof77 } st_case_77: - // line internal/scanner/scanner.go:5549 + // line internal/scanner/scanner.go:5546 switch lex.data[(lex.p)] { case 10: goto tr104 @@ -6700,7 +6697,7 @@ func (lex *Lexer) Lex() *Token { } goto tr23 tr104: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6712,9 +6709,9 @@ func (lex *Lexer) Lex() *Token { goto st78 tr108: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6730,7 +6727,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof78 } st_case_78: - // line internal/scanner/scanner.go:5595 + // line internal/scanner/scanner.go:5592 switch lex.data[(lex.p)] { case 10: goto tr108 @@ -6746,7 +6743,7 @@ func (lex *Lexer) Lex() *Token { } goto tr23 tr105: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6758,9 +6755,9 @@ func (lex *Lexer) Lex() *Token { goto st79 tr109: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6776,13 +6773,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof79 } st_case_79: - // line internal/scanner/scanner.go:5641 + // line internal/scanner/scanner.go:5638 if lex.data[(lex.p)] == 10 { goto tr104 } goto tr23 tr110: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st80 st80: @@ -6790,7 +6787,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof80 } st_case_80: - // line internal/scanner/scanner.go:5655 + // line internal/scanner/scanner.go:5652 if lex.data[(lex.p)] == 62 { goto tr111 } @@ -6805,7 +6802,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof153 } st_case_153: - // line internal/scanner/scanner.go:5670 + // line internal/scanner/scanner.go:5667 switch lex.data[(lex.p)] { case 10: goto tr113 @@ -6814,7 +6811,7 @@ func (lex *Lexer) Lex() *Token { } goto tr288 tr113: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6830,10 +6827,10 @@ func (lex *Lexer) Lex() *Token { goto _test_eof154 } st_case_154: - // line internal/scanner/scanner.go:5695 + // line internal/scanner/scanner.go:5692 goto tr290 tr289: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -6849,7 +6846,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof81 } st_case_81: - // line internal/scanner/scanner.go:5714 + // line internal/scanner/scanner.go:5711 if lex.data[(lex.p)] == 10 { goto tr113 } @@ -6872,7 +6869,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:305 + // line internal/scanner/scanner.rl:308 lex.act = 118 goto st156 st156: @@ -6880,7 +6877,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof156 } st_case_156: - // line internal/scanner/scanner.go:5745 + // line internal/scanner/scanner.go:5742 switch lex.data[(lex.p)] { case 60: goto st82 @@ -6940,7 +6937,7 @@ func (lex *Lexer) Lex() *Token { } goto tr118 tr118: - // line internal/scanner/scanner.rl:35 + // line internal/scanner/scanner.rl:38 lblStart = lex.p goto st84 st84: @@ -6948,7 +6945,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof84 } st_case_84: - // line internal/scanner/scanner.go:5813 + // line internal/scanner/scanner.go:5810 switch lex.data[(lex.p)] { case 34: goto tr119 @@ -6974,7 +6971,7 @@ func (lex *Lexer) Lex() *Token { } goto st84 tr119: - // line internal/scanner/scanner.rl:36 + // line internal/scanner/scanner.rl:39 lblEnd = lex.p goto st85 st85: @@ -6982,7 +6979,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof85 } st_case_85: - // line internal/scanner/scanner.go:5847 + // line internal/scanner/scanner.go:5844 switch lex.data[(lex.p)] { case 10: goto tr121 @@ -6991,7 +6988,7 @@ func (lex *Lexer) Lex() *Token { } goto tr12 tr121: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -7003,9 +7000,9 @@ func (lex *Lexer) Lex() *Token { goto st157 tr125: - // line internal/scanner/scanner.rl:36 + // line internal/scanner/scanner.rl:39 lblEnd = lex.p - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -7021,10 +7018,10 @@ func (lex *Lexer) Lex() *Token { goto _test_eof157 } st_case_157: - // line internal/scanner/scanner.go:5886 + // line internal/scanner/scanner.go:5883 goto tr296 tr122: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -7036,9 +7033,9 @@ func (lex *Lexer) Lex() *Token { goto st86 tr126: - // line internal/scanner/scanner.rl:36 + // line internal/scanner/scanner.rl:39 lblEnd = lex.p - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -7054,7 +7051,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof86 } st_case_86: - // line internal/scanner/scanner.go:5919 + // line internal/scanner/scanner.go:5916 if lex.data[(lex.p)] == 10 { goto tr121 } @@ -7081,7 +7078,7 @@ func (lex *Lexer) Lex() *Token { } goto tr123 tr123: - // line internal/scanner/scanner.rl:35 + // line internal/scanner/scanner.rl:38 lblStart = lex.p goto st88 st88: @@ -7089,7 +7086,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof88 } st_case_88: - // line internal/scanner/scanner.go:5954 + // line internal/scanner/scanner.go:5951 switch lex.data[(lex.p)] { case 39: goto tr119 @@ -7115,7 +7112,7 @@ func (lex *Lexer) Lex() *Token { } goto st88 tr117: - // line internal/scanner/scanner.rl:35 + // line internal/scanner/scanner.rl:38 lblStart = lex.p goto st89 st89: @@ -7123,7 +7120,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof89 } st_case_89: - // line internal/scanner/scanner.go:5988 + // line internal/scanner/scanner.go:5985 switch lex.data[(lex.p)] { case 10: goto tr125 @@ -7223,7 +7220,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof164 } st_case_164: - // line internal/scanner/scanner.go:6088 + // line internal/scanner/scanner.go:6085 switch lex.data[(lex.p)] { case 10: goto tr129 @@ -7232,7 +7229,7 @@ func (lex *Lexer) Lex() *Token { } goto tr309 tr129: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -7248,10 +7245,10 @@ func (lex *Lexer) Lex() *Token { goto _test_eof165 } st_case_165: - // line internal/scanner/scanner.go:6113 + // line internal/scanner/scanner.go:6110 goto tr311 tr310: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -7267,7 +7264,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof90 } st_case_90: - // line internal/scanner/scanner.go:6132 + // line internal/scanner/scanner.go:6129 if lex.data[(lex.p)] == 10 { goto tr129 } @@ -7328,490 +7325,490 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:346 + // line internal/scanner/scanner.rl:347 lex.act = 135 goto st168 tr318: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:203 + // line internal/scanner/scanner.rl:206 lex.act = 16 goto st168 tr324: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:201 + // line internal/scanner/scanner.rl:204 lex.act = 14 goto st168 tr325: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:274 + // line internal/scanner/scanner.rl:277 lex.act = 87 goto st168 tr328: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:202 + // line internal/scanner/scanner.rl:205 lex.act = 15 goto st168 tr333: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:204 + // line internal/scanner/scanner.rl:207 lex.act = 17 goto st168 tr345: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:205 + // line internal/scanner/scanner.rl:208 lex.act = 18 goto st168 tr346: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:206 + // line internal/scanner/scanner.rl:209 lex.act = 19 goto st168 tr348: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:207 + // line internal/scanner/scanner.rl:210 lex.act = 20 goto st168 tr355: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:232 + // line internal/scanner/scanner.rl:235 lex.act = 45 goto st168 tr359: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:208 + // line internal/scanner/scanner.rl:211 lex.act = 21 goto st168 tr361: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:209 + // line internal/scanner/scanner.rl:212 lex.act = 22 goto st168 tr365: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:210 + // line internal/scanner/scanner.rl:213 lex.act = 23 goto st168 tr369: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:211 + // line internal/scanner/scanner.rl:214 lex.act = 24 goto st168 tr372: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:214 + // line internal/scanner/scanner.rl:217 lex.act = 27 goto st168 tr378: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:212 + // line internal/scanner/scanner.rl:215 lex.act = 25 goto st168 tr382: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:213 + // line internal/scanner/scanner.rl:216 lex.act = 26 goto st168 tr383: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:226 + // line internal/scanner/scanner.rl:229 lex.act = 39 goto st168 tr391: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:215 + // line internal/scanner/scanner.rl:218 lex.act = 28 goto st168 tr396: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:217 + // line internal/scanner/scanner.rl:220 lex.act = 30 goto st168 tr399: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:218 + // line internal/scanner/scanner.rl:221 lex.act = 31 goto st168 tr411: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:219 + // line internal/scanner/scanner.rl:222 lex.act = 32 goto st168 tr418: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:221 + // line internal/scanner/scanner.rl:224 lex.act = 34 goto st168 tr419: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:222 + // line internal/scanner/scanner.rl:225 lex.act = 35 goto st168 tr424: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:223 + // line internal/scanner/scanner.rl:226 lex.act = 36 goto st168 tr428: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:224 + // line internal/scanner/scanner.rl:227 lex.act = 37 goto st168 tr430: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:225 + // line internal/scanner/scanner.rl:228 lex.act = 38 goto st168 tr436: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:227 + // line internal/scanner/scanner.rl:230 lex.act = 40 goto st168 tr438: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:233 + // line internal/scanner/scanner.rl:236 lex.act = 46 goto st168 tr445: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:229 + // line internal/scanner/scanner.rl:232 lex.act = 42 goto st168 tr451: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:231 + // line internal/scanner/scanner.rl:234 lex.act = 44 goto st168 tr457: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:234 + // line internal/scanner/scanner.rl:237 lex.act = 47 goto st168 tr459: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:235 + // line internal/scanner/scanner.rl:238 lex.act = 48 goto st168 tr460: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:236 + // line internal/scanner/scanner.rl:239 lex.act = 49 goto st168 tr471: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:238 + // line internal/scanner/scanner.rl:241 lex.act = 51 goto st168 tr484: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:261 + // line internal/scanner/scanner.rl:264 lex.act = 74 goto st168 tr492: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:239 + // line internal/scanner/scanner.rl:242 lex.act = 52 goto st168 tr496: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:240 + // line internal/scanner/scanner.rl:243 lex.act = 53 goto st168 tr502: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:241 + // line internal/scanner/scanner.rl:244 lex.act = 54 goto st168 tr505: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:237 + // line internal/scanner/scanner.rl:240 lex.act = 50 goto st168 tr508: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:242 + // line internal/scanner/scanner.rl:245 lex.act = 55 goto st168 tr517: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:243 + // line internal/scanner/scanner.rl:246 lex.act = 56 goto st168 tr518: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:273 + // line internal/scanner/scanner.rl:276 lex.act = 86 goto st168 tr519: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:275 + // line internal/scanner/scanner.rl:278 lex.act = 88 goto st168 tr526: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:246 + // line internal/scanner/scanner.rl:249 lex.act = 59 goto st168 tr529: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:244 + // line internal/scanner/scanner.rl:247 lex.act = 57 goto st168 tr535: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:247 + // line internal/scanner/scanner.rl:250 lex.act = 60 goto st168 tr539: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:245 + // line internal/scanner/scanner.rl:248 lex.act = 58 goto st168 tr552: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:263 + // line internal/scanner/scanner.rl:266 lex.act = 76 goto st168 tr555: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:248 + // line internal/scanner/scanner.rl:251 lex.act = 61 goto st168 tr561: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:249 + // line internal/scanner/scanner.rl:252 lex.act = 62 goto st168 tr565: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:250 + // line internal/scanner/scanner.rl:253 lex.act = 63 goto st168 tr570: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:251 + // line internal/scanner/scanner.rl:254 lex.act = 64 goto st168 tr572: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:253 + // line internal/scanner/scanner.rl:256 lex.act = 66 goto st168 tr574: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:252 + // line internal/scanner/scanner.rl:255 lex.act = 65 goto st168 tr579: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:254 + // line internal/scanner/scanner.rl:257 lex.act = 67 goto st168 tr580: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:255 + // line internal/scanner/scanner.rl:258 lex.act = 68 goto st168 tr582: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:256 + // line internal/scanner/scanner.rl:259 lex.act = 69 goto st168 tr586: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:257 + // line internal/scanner/scanner.rl:260 lex.act = 70 goto st168 tr588: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:276 + // line internal/scanner/scanner.rl:279 lex.act = 89 goto st168 tr597: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:258 + // line internal/scanner/scanner.rl:261 lex.act = 71 goto st168 tr613: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:264 + // line internal/scanner/scanner.rl:267 lex.act = 77 goto st168 tr617: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:265 + // line internal/scanner/scanner.rl:268 lex.act = 78 goto st168 tr623: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:266 + // line internal/scanner/scanner.rl:269 lex.act = 79 goto st168 tr631: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:267 + // line internal/scanner/scanner.rl:270 lex.act = 80 goto st168 tr643: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:272 + // line internal/scanner/scanner.rl:275 lex.act = 85 goto st168 tr648: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:268 + // line internal/scanner/scanner.rl:271 lex.act = 81 goto st168 tr655: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:270 + // line internal/scanner/scanner.rl:273 lex.act = 83 goto st168 tr665: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:269 + // line internal/scanner/scanner.rl:272 lex.act = 82 goto st168 tr671: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:271 + // line internal/scanner/scanner.rl:274 lex.act = 84 goto st168 st168: @@ -7819,7 +7816,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof168 } st_case_168: - // line internal/scanner/scanner.go:6684 + // line internal/scanner/scanner.go:6681 if lex.data[(lex.p)] == 96 { goto tr12 } @@ -8155,7 +8152,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:346 + // line internal/scanner/scanner.rl:347 lex.act = 135 goto st179 st179: @@ -8163,7 +8160,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof179 } st_case_179: - // line internal/scanner/scanner.go:7028 + // line internal/scanner/scanner.go:7025 switch lex.data[(lex.p)] { case 34: goto st7 @@ -15157,7 +15154,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof399 } st_case_399: - // line internal/scanner/scanner.go:14022 + // line internal/scanner/scanner.go:14019 switch lex.data[(lex.p)] { case 10: goto tr134 @@ -15200,7 +15197,7 @@ func (lex *Lexer) Lex() *Token { } goto tr220 tr137: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st93 st93: @@ -15208,7 +15205,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof93 } st_case_93: - // line internal/scanner/scanner.go:14073 + // line internal/scanner/scanner.go:14070 switch lex.data[(lex.p)] { case 10: goto tr134 @@ -15226,7 +15223,7 @@ func (lex *Lexer) Lex() *Token { } goto tr132 tr134: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -15238,9 +15235,9 @@ func (lex *Lexer) Lex() *Token { goto st94 tr138: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -15256,7 +15253,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof94 } st_case_94: - // line internal/scanner/scanner.go:14121 + // line internal/scanner/scanner.go:14118 switch lex.data[(lex.p)] { case 10: goto tr138 @@ -15274,7 +15271,7 @@ func (lex *Lexer) Lex() *Token { } goto tr132 tr135: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -15286,9 +15283,9 @@ func (lex *Lexer) Lex() *Token { goto st95 tr139: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -15304,13 +15301,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof95 } st_case_95: - // line internal/scanner/scanner.go:14169 + // line internal/scanner/scanner.go:14166 if lex.data[(lex.p)] == 10 { goto tr134 } goto tr132 tr140: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st96 st96: @@ -15318,7 +15315,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof96 } st_case_96: - // line internal/scanner/scanner.go:14183 + // line internal/scanner/scanner.go:14180 switch lex.data[(lex.p)] { case 82: goto st97 @@ -17422,14 +17419,14 @@ func (lex *Lexer) Lex() *Token { } goto tr248 tr144: - // line internal/scanner/scanner.rl:380 + // line internal/scanner/scanner.rl:381 (lex.p) = (lex.te) - 1 { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st470 tr674: - // line internal/scanner/scanner.rl:383 + // line internal/scanner/scanner.rl:384 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -17439,25 +17436,25 @@ func (lex *Lexer) Lex() *Token { } goto st470 tr679: - // line internal/scanner/scanner.rl:380 + // line internal/scanner/scanner.rl:381 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st470 tr681: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:380 + // line internal/scanner/scanner.rl:381 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st470 tr685: - // line internal/scanner/scanner.rl:383 + // line internal/scanner/scanner.rl:384 lex.te = (lex.p) (lex.p)-- { @@ -17468,11 +17465,11 @@ func (lex *Lexer) Lex() *Token { } goto st470 tr686: - // line internal/scanner/scanner.rl:381 + // line internal/scanner/scanner.rl:382 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_OBJECT_OPERATOR + lex.setTokenPosition(tkn) + tok = token.T_OBJECT_OPERATOR { (lex.p)++ lex.cs = 470 @@ -17482,12 +17479,12 @@ func (lex *Lexer) Lex() *Token { goto st470 tr687: lex.cs = 470 - // line internal/scanner/scanner.rl:382 + // line internal/scanner/scanner.rl:383 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_STRING + lex.setTokenPosition(tkn) + tok = token.T_STRING lex.cs = 123 { (lex.p)++ @@ -17506,7 +17503,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:16339 + // line internal/scanner/scanner.go:16336 switch lex.data[(lex.p)] { case 10: goto tr145 @@ -17551,7 +17548,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st471 st471: @@ -17559,7 +17556,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof471 } st_case_471: - // line internal/scanner/scanner.go:16392 + // line internal/scanner/scanner.go:16389 switch lex.data[(lex.p)] { case 10: goto tr145 @@ -17576,7 +17573,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -17591,9 +17588,9 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -17609,7 +17606,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof472 } st_case_472: - // line internal/scanner/scanner.go:16442 + // line internal/scanner/scanner.go:16439 switch lex.data[(lex.p)] { case 10: goto tr683 @@ -17623,7 +17620,7 @@ func (lex *Lexer) Lex() *Token { } goto tr681 tr680: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -17635,9 +17632,9 @@ func (lex *Lexer) Lex() *Token { goto st99 tr684: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -17653,13 +17650,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof99 } st_case_99: - // line internal/scanner/scanner.go:16486 + // line internal/scanner/scanner.go:16483 if lex.data[(lex.p)] == 10 { goto tr145 } goto tr144 tr676: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -17675,7 +17672,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof473 } st_case_473: - // line internal/scanner/scanner.go:16508 + // line internal/scanner/scanner.go:16505 if lex.data[(lex.p)] == 10 { goto tr145 } @@ -17729,8 +17726,8 @@ func (lex *Lexer) Lex() *Token { { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE lex.cs = 499 { (lex.p)++ @@ -17742,14 +17739,14 @@ func (lex *Lexer) Lex() *Token { goto _again tr692: lex.cs = 476 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:387 + // line internal/scanner/scanner.rl:388 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE lex.cs = 499 { (lex.p)++ @@ -17759,12 +17756,12 @@ func (lex *Lexer) Lex() *Token { goto _again tr696: lex.cs = 476 - // line internal/scanner/scanner.rl:387 + // line internal/scanner/scanner.rl:388 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE lex.cs = 499 { (lex.p)++ @@ -17786,7 +17783,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:16605 + // line internal/scanner/scanner.go:16602 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17843,16 +17840,16 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:387 + // line internal/scanner/scanner.rl:388 lex.act = 146 goto st477 tr693: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:387 + // line internal/scanner/scanner.rl:388 lex.act = 146 goto st477 st477: @@ -17860,7 +17857,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof477 } st_case_477: - // line internal/scanner/scanner.go:16679 + // line internal/scanner/scanner.go:16676 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17910,7 +17907,7 @@ func (lex *Lexer) Lex() *Token { } goto tr691 tr689: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -17922,9 +17919,9 @@ func (lex *Lexer) Lex() *Token { goto st478 tr694: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -17940,7 +17937,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof478 } st_case_478: - // line internal/scanner/scanner.go:16759 + // line internal/scanner/scanner.go:16756 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17990,7 +17987,7 @@ func (lex *Lexer) Lex() *Token { } goto tr692 tr690: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -18002,9 +17999,9 @@ func (lex *Lexer) Lex() *Token { goto st479 tr695: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -18020,7 +18017,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof479 } st_case_479: - // line internal/scanner/scanner.go:16839 + // line internal/scanner/scanner.go:16836 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18070,18 +18067,18 @@ func (lex *Lexer) Lex() *Token { } goto tr696 tr146: - // line internal/scanner/scanner.rl:396 + // line internal/scanner/scanner.rl:397 lex.te = (lex.p) + 1 { lex.ungetCnt(1) - lex.setTokenPosition(token) - tok = T_CURLY_OPEN + lex.setTokenPosition(tkn) + tok = token.T_CURLY_OPEN lex.call(480, 123) goto _out } goto st480 tr704: - // line internal/scanner/scanner.rl:398 + // line internal/scanner/scanner.rl:399 lex.te = (lex.p) (lex.p)-- { @@ -18097,11 +18094,11 @@ func (lex *Lexer) Lex() *Token { } goto st480 tr705: - // line internal/scanner/scanner.rl:397 + // line internal/scanner/scanner.rl:398 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.setTokenPosition(tkn) + tok = token.T_DOLLAR_OPEN_CURLY_BRACES lex.call(480, 516) goto _out } @@ -18114,16 +18111,16 @@ func (lex *Lexer) Lex() *Token { { (lex.p) = (lex.te) - 1 lex.ungetCnt(1) - lex.setTokenPosition(token) - tok = T_CURLY_OPEN + lex.setTokenPosition(tkn) + tok = token.T_CURLY_OPEN lex.call(480, 123) goto _out } case 148: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.setTokenPosition(tkn) + tok = token.T_DOLLAR_OPEN_CURLY_BRACES lex.call(480, 516) goto _out } @@ -18131,8 +18128,8 @@ func (lex *Lexer) Lex() *Token { { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE if len(lex.data) > lex.p+1 && lex.data[lex.p+1] != '$' && lex.data[lex.p+1] != '{' { lex.cs = 499 @@ -18147,14 +18144,14 @@ func (lex *Lexer) Lex() *Token { goto _again tr707: lex.cs = 480 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:399 + // line internal/scanner/scanner.rl:400 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE if len(lex.data) > lex.p+1 && lex.data[lex.p+1] != '$' && lex.data[lex.p+1] != '{' { lex.cs = 499 @@ -18167,12 +18164,12 @@ func (lex *Lexer) Lex() *Token { goto _again tr711: lex.cs = 480 - // line internal/scanner/scanner.rl:399 + // line internal/scanner/scanner.rl:400 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE if len(lex.data) > lex.p+1 && lex.data[lex.p+1] != '$' && lex.data[lex.p+1] != '{' { lex.cs = 499 @@ -18194,7 +18191,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:16971 + // line internal/scanner/scanner.go:16968 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18273,30 +18270,30 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:399 + // line internal/scanner/scanner.rl:400 lex.act = 150 goto st482 tr708: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:399 + // line internal/scanner/scanner.rl:400 lex.act = 150 goto st482 tr712: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:397 + // line internal/scanner/scanner.rl:398 lex.act = 148 goto st482 tr713: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:396 + // line internal/scanner/scanner.rl:397 lex.act = 147 goto st482 st482: @@ -18304,7 +18301,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof482 } st_case_482: - // line internal/scanner/scanner.go:17081 + // line internal/scanner/scanner.go:17078 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18354,7 +18351,7 @@ func (lex *Lexer) Lex() *Token { } goto tr706 tr700: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -18366,9 +18363,9 @@ func (lex *Lexer) Lex() *Token { goto st483 tr709: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -18384,7 +18381,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof483 } st_case_483: - // line internal/scanner/scanner.go:17161 + // line internal/scanner/scanner.go:17158 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18434,7 +18431,7 @@ func (lex *Lexer) Lex() *Token { } goto tr707 tr701: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -18446,9 +18443,9 @@ func (lex *Lexer) Lex() *Token { goto st484 tr710: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -18464,7 +18461,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof484 } st_case_484: - // line internal/scanner/scanner.go:17241 + // line internal/scanner/scanner.go:17238 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18628,7 +18625,7 @@ func (lex *Lexer) Lex() *Token { } goto tr711 tr148: - // line internal/scanner/scanner.rl:413 + // line internal/scanner/scanner.rl:414 lex.te = (lex.p) + 1 { lex.ungetCnt(2) @@ -18643,33 +18640,33 @@ func (lex *Lexer) Lex() *Token { } goto st487 tr149: - // line internal/scanner/scanner.rl:412 + // line internal/scanner/scanner.rl:413 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.setTokenPosition(tkn) + tok = token.T_DOLLAR_OPEN_CURLY_BRACES lex.call(487, 516) goto _out } goto st487 tr150: - // line internal/scanner/scanner.rl:411 + // line internal/scanner/scanner.rl:412 lex.te = (lex.p) + 1 { lex.ungetCnt(1) - lex.setTokenPosition(token) - tok = T_CURLY_OPEN + lex.setTokenPosition(tkn) + tok = token.T_CURLY_OPEN lex.call(487, 123) goto _out } goto st487 tr715: lex.cs = 487 - // line internal/scanner/scanner.rl:414 + // line internal/scanner/scanner.rl:415 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int('`')) + lex.setTokenPosition(tkn) + tok = token.ID(int('`')) lex.cs = 123 { (lex.p)++ @@ -18685,16 +18682,16 @@ func (lex *Lexer) Lex() *Token { { (lex.p) = (lex.te) - 1 lex.ungetCnt(1) - lex.setTokenPosition(token) - tok = T_CURLY_OPEN + lex.setTokenPosition(tkn) + tok = token.T_CURLY_OPEN lex.call(487, 123) goto _out } case 152: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.setTokenPosition(tkn) + tok = token.T_DOLLAR_OPEN_CURLY_BRACES lex.call(487, 516) goto _out } @@ -18714,8 +18711,8 @@ func (lex *Lexer) Lex() *Token { case 154: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = TokenID(int('`')) + lex.setTokenPosition(tkn) + tok = token.ID(int('`')) lex.cs = 123 { (lex.p)++ @@ -18726,8 +18723,8 @@ func (lex *Lexer) Lex() *Token { { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE { (lex.p)++ goto _out @@ -18737,14 +18734,14 @@ func (lex *Lexer) Lex() *Token { goto _again tr724: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:415 + // line internal/scanner/scanner.rl:416 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE { (lex.p)++ lex.cs = 487 @@ -18753,12 +18750,12 @@ func (lex *Lexer) Lex() *Token { } goto st487 tr728: - // line internal/scanner/scanner.rl:415 + // line internal/scanner/scanner.rl:416 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE { (lex.p)++ lex.cs = 487 @@ -18777,7 +18774,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:17484 + // line internal/scanner/scanner.go:17481 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18875,44 +18872,44 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:415 + // line internal/scanner/scanner.rl:416 lex.act = 155 goto st488 tr721: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:414 + // line internal/scanner/scanner.rl:415 lex.act = 154 goto st488 tr725: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:415 + // line internal/scanner/scanner.rl:416 lex.act = 155 goto st488 tr729: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:413 + // line internal/scanner/scanner.rl:414 lex.act = 153 goto st488 tr730: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:412 + // line internal/scanner/scanner.rl:413 lex.act = 152 goto st488 tr731: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:411 + // line internal/scanner/scanner.rl:412 lex.act = 151 goto st488 st488: @@ -18920,7 +18917,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof488 } st_case_488: - // line internal/scanner/scanner.go:17627 + // line internal/scanner/scanner.go:17624 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18970,7 +18967,7 @@ func (lex *Lexer) Lex() *Token { } goto tr723 tr718: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -18982,9 +18979,9 @@ func (lex *Lexer) Lex() *Token { goto st489 tr726: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -19000,7 +18997,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof489 } st_case_489: - // line internal/scanner/scanner.go:17707 + // line internal/scanner/scanner.go:17704 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -19050,7 +19047,7 @@ func (lex *Lexer) Lex() *Token { } goto tr724 tr719: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -19062,9 +19059,9 @@ func (lex *Lexer) Lex() *Token { goto st490 tr727: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -19080,7 +19077,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof490 } st_case_490: - // line internal/scanner/scanner.go:17787 + // line internal/scanner/scanner.go:17784 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -19285,7 +19282,7 @@ func (lex *Lexer) Lex() *Token { } goto tr728 tr151: - // line internal/scanner/scanner.rl:425 + // line internal/scanner/scanner.rl:426 lex.te = (lex.p) + 1 { lex.ungetCnt(2) @@ -19300,33 +19297,33 @@ func (lex *Lexer) Lex() *Token { } goto st493 tr152: - // line internal/scanner/scanner.rl:424 + // line internal/scanner/scanner.rl:425 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.setTokenPosition(tkn) + tok = token.T_DOLLAR_OPEN_CURLY_BRACES lex.call(493, 516) goto _out } goto st493 tr153: - // line internal/scanner/scanner.rl:423 + // line internal/scanner/scanner.rl:424 lex.te = (lex.p) + 1 { lex.ungetCnt(1) - lex.setTokenPosition(token) - tok = T_CURLY_OPEN + lex.setTokenPosition(tkn) + tok = token.T_CURLY_OPEN lex.call(493, 123) goto _out } goto st493 tr732: lex.cs = 493 - // line internal/scanner/scanner.rl:426 + // line internal/scanner/scanner.rl:427 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int('"')) + lex.setTokenPosition(tkn) + tok = token.ID(int('"')) lex.cs = 123 { (lex.p)++ @@ -19342,16 +19339,16 @@ func (lex *Lexer) Lex() *Token { { (lex.p) = (lex.te) - 1 lex.ungetCnt(1) - lex.setTokenPosition(token) - tok = T_CURLY_OPEN + lex.setTokenPosition(tkn) + tok = token.T_CURLY_OPEN lex.call(493, 123) goto _out } case 157: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.setTokenPosition(tkn) + tok = token.T_DOLLAR_OPEN_CURLY_BRACES lex.call(493, 516) goto _out } @@ -19371,8 +19368,8 @@ func (lex *Lexer) Lex() *Token { case 159: { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = TokenID(int('"')) + lex.setTokenPosition(tkn) + tok = token.ID(int('"')) lex.cs = 123 { (lex.p)++ @@ -19383,8 +19380,8 @@ func (lex *Lexer) Lex() *Token { { (lex.p) = (lex.te) - 1 - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE { (lex.p)++ goto _out @@ -19394,14 +19391,14 @@ func (lex *Lexer) Lex() *Token { goto _again tr742: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:427 + // line internal/scanner/scanner.rl:428 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE { (lex.p)++ lex.cs = 493 @@ -19410,12 +19407,12 @@ func (lex *Lexer) Lex() *Token { } goto st493 tr746: - // line internal/scanner/scanner.rl:427 + // line internal/scanner/scanner.rl:428 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE { (lex.p)++ lex.cs = 493 @@ -19434,7 +19431,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18071 + // line internal/scanner/scanner.go:18068 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -19532,44 +19529,44 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:427 + // line internal/scanner/scanner.rl:428 lex.act = 160 goto st494 tr738: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:426 + // line internal/scanner/scanner.rl:427 lex.act = 159 goto st494 tr743: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:427 + // line internal/scanner/scanner.rl:428 lex.act = 160 goto st494 tr747: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:425 + // line internal/scanner/scanner.rl:426 lex.act = 158 goto st494 tr748: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:424 + // line internal/scanner/scanner.rl:425 lex.act = 157 goto st494 tr749: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:423 + // line internal/scanner/scanner.rl:424 lex.act = 156 goto st494 st494: @@ -19577,7 +19574,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof494 } st_case_494: - // line internal/scanner/scanner.go:18214 + // line internal/scanner/scanner.go:18211 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -19627,7 +19624,7 @@ func (lex *Lexer) Lex() *Token { } goto tr741 tr736: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -19639,9 +19636,9 @@ func (lex *Lexer) Lex() *Token { goto st495 tr744: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -19657,7 +19654,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof495 } st_case_495: - // line internal/scanner/scanner.go:18294 + // line internal/scanner/scanner.go:18291 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -19707,7 +19704,7 @@ func (lex *Lexer) Lex() *Token { } goto tr742 tr737: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -19719,9 +19716,9 @@ func (lex *Lexer) Lex() *Token { goto st496 tr745: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -19737,7 +19734,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof496 } st_case_496: - // line internal/scanner/scanner.go:18374 + // line internal/scanner/scanner.go:18371 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -19943,12 +19940,12 @@ func (lex *Lexer) Lex() *Token { goto tr746 tr751: lex.cs = 499 - // line internal/scanner/scanner.rl:435 + // line internal/scanner/scanner.rl:436 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_END_HEREDOC + lex.setTokenPosition(tkn) + tok = token.T_END_HEREDOC lex.cs = 123 { (lex.p)++ @@ -19967,7 +19964,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18601 + // line internal/scanner/scanner.go:18598 if lex.data[(lex.p)] == 96 { goto st0 } @@ -20011,7 +20008,7 @@ func (lex *Lexer) Lex() *Token { } goto st500 tr154: - // line internal/scanner/scanner.rl:454 + // line internal/scanner/scanner.rl:455 (lex.p) = (lex.te) - 1 { lex.ungetCnt(1) @@ -20023,12 +20020,12 @@ func (lex *Lexer) Lex() *Token { } goto st501 tr155: - // line internal/scanner/scanner.rl:451 + // line internal/scanner/scanner.rl:452 lex.te = (lex.p) + 1 { lex.ungetCnt(1) - lex.setTokenPosition(token) - tok = T_OBJECT_OPERATOR + lex.setTokenPosition(tkn) + tok = token.T_OBJECT_OPERATOR { (lex.p)++ lex.cs = 501 @@ -20037,7 +20034,7 @@ func (lex *Lexer) Lex() *Token { } goto st501 tr752: - // line internal/scanner/scanner.rl:454 + // line internal/scanner/scanner.rl:455 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -20049,17 +20046,17 @@ func (lex *Lexer) Lex() *Token { } goto st501 tr756: - // line internal/scanner/scanner.rl:453 + // line internal/scanner/scanner.rl:454 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int('[')) + lex.setTokenPosition(tkn) + tok = token.ID(int('[')) lex.call(501, 506) goto _out } goto st501 tr757: - // line internal/scanner/scanner.rl:454 + // line internal/scanner/scanner.rl:455 lex.te = (lex.p) (lex.p)-- { @@ -20072,12 +20069,12 @@ func (lex *Lexer) Lex() *Token { } goto st501 tr759: - // line internal/scanner/scanner.rl:450 + // line internal/scanner/scanner.rl:451 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_VARIABLE + lex.setTokenPosition(tkn) + tok = token.T_VARIABLE { (lex.p)++ lex.cs = 501 @@ -20086,12 +20083,12 @@ func (lex *Lexer) Lex() *Token { } goto st501 tr761: - // line internal/scanner/scanner.rl:452 + // line internal/scanner/scanner.rl:453 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_STRING + lex.setTokenPosition(tkn) + tok = token.T_STRING { (lex.p)++ lex.cs = 501 @@ -20110,7 +20107,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18693 + // line internal/scanner/scanner.go:18690 switch lex.data[(lex.p)] { case 36: goto st502 @@ -20191,7 +20188,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof504 } st_case_504: - // line internal/scanner/scanner.go:18774 + // line internal/scanner/scanner.go:18771 if lex.data[(lex.p)] == 62 { goto st105 } @@ -20244,11 +20241,11 @@ func (lex *Lexer) Lex() *Token { } goto st505 tr156: - // line internal/scanner/scanner.rl:458 + // line internal/scanner/scanner.rl:459 (lex.p) = (lex.te) - 1 { - lex.setTokenPosition(token) - tok = T_NUM_STRING + lex.setTokenPosition(tkn) + tok = token.T_NUM_STRING { (lex.p)++ lex.cs = 506 @@ -20257,7 +20254,7 @@ func (lex *Lexer) Lex() *Token { } goto st506 tr762: - // line internal/scanner/scanner.rl:464 + // line internal/scanner/scanner.rl:465 lex.te = (lex.p) + 1 { c := lex.data[lex.p] @@ -20265,21 +20262,21 @@ func (lex *Lexer) Lex() *Token { } goto st506 tr763: - // line internal/scanner/scanner.rl:461 + // line internal/scanner/scanner.rl:462 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE lex.ret(2) goto _out } goto st506 tr766: - // line internal/scanner/scanner.rl:462 + // line internal/scanner/scanner.rl:463 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int(lex.data[lex.ts])) + lex.setTokenPosition(tkn) + tok = token.ID(int(lex.data[lex.ts])) { (lex.p)++ lex.cs = 506 @@ -20288,30 +20285,30 @@ func (lex *Lexer) Lex() *Token { } goto st506 tr770: - // line internal/scanner/scanner.rl:463 + // line internal/scanner/scanner.rl:464 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int(']')) + lex.setTokenPosition(tkn) + tok = token.ID(int(']')) lex.ret(2) goto _out } goto st506 tr771: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:461 + // line internal/scanner/scanner.rl:462 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_ENCAPSED_AND_WHITESPACE + lex.setTokenPosition(tkn) + tok = token.T_ENCAPSED_AND_WHITESPACE lex.ret(2) goto _out } goto st506 tr772: - // line internal/scanner/scanner.rl:464 + // line internal/scanner/scanner.rl:465 lex.te = (lex.p) (lex.p)-- { @@ -20320,12 +20317,12 @@ func (lex *Lexer) Lex() *Token { } goto st506 tr773: - // line internal/scanner/scanner.rl:462 + // line internal/scanner/scanner.rl:463 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = TokenID(int(lex.data[lex.ts])) + lex.setTokenPosition(tkn) + tok = token.ID(int(lex.data[lex.ts])) { (lex.p)++ lex.cs = 506 @@ -20334,12 +20331,12 @@ func (lex *Lexer) Lex() *Token { } goto st506 tr775: - // line internal/scanner/scanner.rl:459 + // line internal/scanner/scanner.rl:460 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_VARIABLE + lex.setTokenPosition(tkn) + tok = token.T_VARIABLE { (lex.p)++ lex.cs = 506 @@ -20348,12 +20345,12 @@ func (lex *Lexer) Lex() *Token { } goto st506 tr776: - // line internal/scanner/scanner.rl:458 + // line internal/scanner/scanner.rl:459 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_NUM_STRING + lex.setTokenPosition(tkn) + tok = token.T_NUM_STRING { (lex.p)++ lex.cs = 506 @@ -20362,12 +20359,12 @@ func (lex *Lexer) Lex() *Token { } goto st506 tr780: - // line internal/scanner/scanner.rl:460 + // line internal/scanner/scanner.rl:461 lex.te = (lex.p) (lex.p)-- { - lex.setTokenPosition(token) - tok = T_STRING + lex.setTokenPosition(tkn) + tok = token.T_STRING { (lex.p)++ lex.cs = 506 @@ -20386,7 +20383,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18906 + // line internal/scanner/scanner.go:18903 switch lex.data[(lex.p)] { case 10: goto tr764 @@ -20452,7 +20449,7 @@ func (lex *Lexer) Lex() *Token { } goto st515 tr764: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -20468,10 +20465,10 @@ func (lex *Lexer) Lex() *Token { goto _test_eof507 } st_case_507: - // line internal/scanner/scanner.go:18988 + // line internal/scanner/scanner.go:18985 goto tr771 tr765: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -20487,7 +20484,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof508 } st_case_508: - // line internal/scanner/scanner.go:19007 + // line internal/scanner/scanner.go:19004 if lex.data[(lex.p)] == 10 { goto tr764 } @@ -20549,7 +20546,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof511 } st_case_511: - // line internal/scanner/scanner.go:19069 + // line internal/scanner/scanner.go:19066 switch lex.data[(lex.p)] { case 95: goto st106 @@ -20572,7 +20569,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof512 } st_case_512: - // line internal/scanner/scanner.go:19092 + // line internal/scanner/scanner.go:19089 if lex.data[(lex.p)] == 95 { goto st106 } @@ -20608,7 +20605,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof513 } st_case_513: - // line internal/scanner/scanner.go:19128 + // line internal/scanner/scanner.go:19125 if lex.data[(lex.p)] == 95 { goto st107 } @@ -20644,7 +20641,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof514 } st_case_514: - // line internal/scanner/scanner.go:19164 + // line internal/scanner/scanner.go:19161 if lex.data[(lex.p)] == 95 { goto st108 } @@ -20689,7 +20686,7 @@ func (lex *Lexer) Lex() *Token { goto st515 tr160: lex.cs = 516 - // line internal/scanner/scanner.rl:472 + // line internal/scanner/scanner.rl:473 (lex.p) = (lex.te) - 1 { lex.ungetCnt(1) @@ -20698,12 +20695,12 @@ func (lex *Lexer) Lex() *Token { goto _again tr162: lex.cs = 516 - // line internal/scanner/scanner.rl:471 + // line internal/scanner/scanner.rl:472 lex.te = (lex.p) + 1 { lex.ungetCnt(1) - lex.setTokenPosition(token) - tok = T_STRING_VARNAME + lex.setTokenPosition(tkn) + tok = token.T_STRING_VARNAME lex.cs = 123 { (lex.p)++ @@ -20713,7 +20710,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr781: lex.cs = 516 - // line internal/scanner/scanner.rl:472 + // line internal/scanner/scanner.rl:473 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -20722,7 +20719,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr783: lex.cs = 516 - // line internal/scanner/scanner.rl:472 + // line internal/scanner/scanner.rl:473 lex.te = (lex.p) (lex.p)-- { @@ -20741,7 +20738,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:19243 + // line internal/scanner/scanner.go:19240 if lex.data[(lex.p)] == 96 { goto tr781 } @@ -20768,7 +20765,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof517 } st_case_517: - // line internal/scanner/scanner.go:19270 + // line internal/scanner/scanner.go:19267 switch lex.data[(lex.p)] { case 91: goto tr162 @@ -20827,15 +20824,15 @@ func (lex *Lexer) Lex() *Token { } goto st109 tr163: - // line internal/scanner/scanner.rl:476 + // line internal/scanner/scanner.rl:477 (lex.p) = (lex.te) - 1 { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st518 tr784: lex.cs = 518 - // line internal/scanner/scanner.rl:478 + // line internal/scanner/scanner.rl:479 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -20844,11 +20841,11 @@ func (lex *Lexer) Lex() *Token { goto _again tr787: lex.cs = 518 - // line internal/scanner/scanner.rl:477 + // line internal/scanner/scanner.rl:478 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int('(')) + lex.setTokenPosition(tkn) + tok = token.ID(int('(')) lex.cs = 522 { (lex.p)++ @@ -20857,26 +20854,26 @@ func (lex *Lexer) Lex() *Token { } goto _again tr788: - // line internal/scanner/scanner.rl:476 + // line internal/scanner/scanner.rl:477 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st518 tr790: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:476 + // line internal/scanner/scanner.rl:477 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st518 tr794: lex.cs = 518 - // line internal/scanner/scanner.rl:478 + // line internal/scanner/scanner.rl:479 lex.te = (lex.p) (lex.p)-- { @@ -20895,7 +20892,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:19377 + // line internal/scanner/scanner.go:19374 switch lex.data[(lex.p)] { case 10: goto tr164 @@ -20919,7 +20916,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st519 st519: @@ -20927,7 +20924,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof519 } st_case_519: - // line internal/scanner/scanner.go:19409 + // line internal/scanner/scanner.go:19406 switch lex.data[(lex.p)] { case 10: goto tr164 @@ -20944,7 +20941,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -20959,9 +20956,9 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -20977,7 +20974,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof520 } st_case_520: - // line internal/scanner/scanner.go:19459 + // line internal/scanner/scanner.go:19456 switch lex.data[(lex.p)] { case 10: goto tr792 @@ -20991,7 +20988,7 @@ func (lex *Lexer) Lex() *Token { } goto tr790 tr789: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21003,9 +21000,9 @@ func (lex *Lexer) Lex() *Token { goto st110 tr793: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21021,13 +21018,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof110 } st_case_110: - // line internal/scanner/scanner.go:19503 + // line internal/scanner/scanner.go:19500 if lex.data[(lex.p)] == 10 { goto tr164 } goto tr163 tr786: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21043,21 +21040,21 @@ func (lex *Lexer) Lex() *Token { goto _test_eof521 } st_case_521: - // line internal/scanner/scanner.go:19525 + // line internal/scanner/scanner.go:19522 if lex.data[(lex.p)] == 10 { goto tr164 } goto tr794 tr165: - // line internal/scanner/scanner.rl:482 + // line internal/scanner/scanner.rl:483 (lex.p) = (lex.te) - 1 { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st522 tr795: lex.cs = 522 - // line internal/scanner/scanner.rl:484 + // line internal/scanner/scanner.rl:485 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -21066,11 +21063,11 @@ func (lex *Lexer) Lex() *Token { goto _again tr798: lex.cs = 522 - // line internal/scanner/scanner.rl:483 + // line internal/scanner/scanner.rl:484 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int(')')) + lex.setTokenPosition(tkn) + tok = token.ID(int(')')) lex.cs = 526 { (lex.p)++ @@ -21079,26 +21076,26 @@ func (lex *Lexer) Lex() *Token { } goto _again tr799: - // line internal/scanner/scanner.rl:482 + // line internal/scanner/scanner.rl:483 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st522 tr801: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:482 + // line internal/scanner/scanner.rl:483 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st522 tr805: lex.cs = 522 - // line internal/scanner/scanner.rl:484 + // line internal/scanner/scanner.rl:485 lex.te = (lex.p) (lex.p)-- { @@ -21117,7 +21114,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:19579 + // line internal/scanner/scanner.go:19576 switch lex.data[(lex.p)] { case 10: goto tr166 @@ -21141,7 +21138,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st523 st523: @@ -21149,7 +21146,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof523 } st_case_523: - // line internal/scanner/scanner.go:19611 + // line internal/scanner/scanner.go:19608 switch lex.data[(lex.p)] { case 10: goto tr166 @@ -21166,7 +21163,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21181,9 +21178,9 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21199,7 +21196,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof524 } st_case_524: - // line internal/scanner/scanner.go:19661 + // line internal/scanner/scanner.go:19658 switch lex.data[(lex.p)] { case 10: goto tr803 @@ -21213,7 +21210,7 @@ func (lex *Lexer) Lex() *Token { } goto tr801 tr800: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21225,9 +21222,9 @@ func (lex *Lexer) Lex() *Token { goto st111 tr804: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21243,13 +21240,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof111 } st_case_111: - // line internal/scanner/scanner.go:19705 + // line internal/scanner/scanner.go:19702 if lex.data[(lex.p)] == 10 { goto tr166 } goto tr165 tr797: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21265,21 +21262,21 @@ func (lex *Lexer) Lex() *Token { goto _test_eof525 } st_case_525: - // line internal/scanner/scanner.go:19727 + // line internal/scanner/scanner.go:19724 if lex.data[(lex.p)] == 10 { goto tr166 } goto tr805 tr167: - // line internal/scanner/scanner.rl:488 + // line internal/scanner/scanner.rl:489 (lex.p) = (lex.te) - 1 { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st526 tr806: lex.cs = 526 - // line internal/scanner/scanner.rl:490 + // line internal/scanner/scanner.rl:491 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -21288,11 +21285,11 @@ func (lex *Lexer) Lex() *Token { goto _again tr809: lex.cs = 526 - // line internal/scanner/scanner.rl:489 + // line internal/scanner/scanner.rl:490 lex.te = (lex.p) + 1 { - lex.setTokenPosition(token) - tok = TokenID(int(';')) + lex.setTokenPosition(tkn) + tok = token.ID(int(';')) lex.cs = 530 { (lex.p)++ @@ -21301,26 +21298,26 @@ func (lex *Lexer) Lex() *Token { } goto _again tr810: - // line internal/scanner/scanner.rl:488 + // line internal/scanner/scanner.rl:489 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st526 tr812: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:488 + // line internal/scanner/scanner.rl:489 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te) } goto st526 tr816: lex.cs = 526 - // line internal/scanner/scanner.rl:490 + // line internal/scanner/scanner.rl:491 lex.te = (lex.p) (lex.p)-- { @@ -21339,7 +21336,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:19781 + // line internal/scanner/scanner.go:19778 switch lex.data[(lex.p)] { case 10: goto tr168 @@ -21363,7 +21360,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 goto st527 st527: @@ -21371,7 +21368,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof527 } st_case_527: - // line internal/scanner/scanner.go:19813 + // line internal/scanner/scanner.go:19810 switch lex.data[(lex.p)] { case 10: goto tr168 @@ -21388,7 +21385,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21403,9 +21400,9 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21421,7 +21418,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof528 } st_case_528: - // line internal/scanner/scanner.go:19863 + // line internal/scanner/scanner.go:19860 switch lex.data[(lex.p)] { case 10: goto tr814 @@ -21435,7 +21432,7 @@ func (lex *Lexer) Lex() *Token { } goto tr812 tr811: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21447,9 +21444,9 @@ func (lex *Lexer) Lex() *Token { goto st112 tr815: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21465,13 +21462,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof112 } st_case_112: - // line internal/scanner/scanner.go:19907 + // line internal/scanner/scanner.go:19904 if lex.data[(lex.p)] == 10 { goto tr168 } goto tr167 tr808: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21487,7 +21484,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof529 } st_case_529: - // line internal/scanner/scanner.go:19929 + // line internal/scanner/scanner.go:19926 if lex.data[(lex.p)] == 10 { goto tr168 } @@ -21504,27 +21501,27 @@ func (lex *Lexer) Lex() *Token { case 186: { (lex.p) = (lex.te) - 1 - lex.addHiddenToken(token, T_HALT_COMPILER, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_HALT_COMPILER, lex.ts, lex.te) } } goto st530 tr821: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:494 + // line internal/scanner/scanner.rl:495 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_HALT_COMPILER, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_HALT_COMPILER, lex.ts, lex.te) } goto st530 tr825: - // line internal/scanner/scanner.rl:494 + // line internal/scanner/scanner.rl:495 lex.te = (lex.p) (lex.p)-- { - lex.addHiddenToken(token, T_HALT_COMPILER, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_HALT_COMPILER, lex.ts, lex.te) } goto st530 st530: @@ -21541,7 +21538,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:19973 + // line internal/scanner/scanner.go:19970 switch lex.data[(lex.p)] { case 10: goto tr818 @@ -21553,16 +21550,16 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:494 + // line internal/scanner/scanner.rl:495 lex.act = 186 goto st531 tr822: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:494 + // line internal/scanner/scanner.rl:495 lex.act = 186 goto st531 st531: @@ -21570,7 +21567,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof531 } st_case_531: - // line internal/scanner/scanner.go:20002 + // line internal/scanner/scanner.go:19999 switch lex.data[(lex.p)] { case 10: goto tr818 @@ -21579,7 +21576,7 @@ func (lex *Lexer) Lex() *Token { } goto tr817 tr818: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21591,9 +21588,9 @@ func (lex *Lexer) Lex() *Token { goto st532 tr823: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21609,7 +21606,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof532 } st_case_532: - // line internal/scanner/scanner.go:20041 + // line internal/scanner/scanner.go:20038 switch lex.data[(lex.p)] { case 10: goto tr823 @@ -21618,7 +21615,7 @@ func (lex *Lexer) Lex() *Token { } goto tr822 tr819: - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21630,9 +21627,9 @@ func (lex *Lexer) Lex() *Token { goto st533 tr824: - // line internal/scanner/scanner.rl:54 + // line internal/scanner/scanner.rl:57 - // line internal/scanner/scanner.rl:38 + // line internal/scanner/scanner.rl:41 if lex.data[lex.p] == '\n' { lex.newLines.Append(lex.p + 1) @@ -21648,7 +21645,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof533 } st_case_533: - // line internal/scanner/scanner.go:20080 + // line internal/scanner/scanner.go:20077 switch lex.data[(lex.p)] { case 10: goto tr818 @@ -24294,11 +24291,12 @@ func (lex *Lexer) Lex() *Token { } } - // line internal/scanner/scanner.rl:498 + // line internal/scanner/scanner.rl:499 - token.Value = lex.data[lex.ts:lex.te] - token.ID = tok - lex.addHiddenToken(token, tok, lex.ts, lex.te) + tkn.Value = lex.data[lex.ts:lex.te] + tkn.ID = token.ID(tok) + tkn.Skipped = lex.data[lex.sts:lex.ste] + lex.addSkippedToken(tkn, tok, lex.ts, lex.te) - return token + return tkn } diff --git a/internal/scanner/scanner.rl b/internal/scanner/scanner.rl index cd29221..18874ae 100644 --- a/internal/scanner/scanner.rl +++ b/internal/scanner/scanner.rl @@ -4,6 +4,8 @@ import ( "fmt" "strconv" "strings" + + "github.com/z7zmey/php-parser/pkg/token" ) %%{ @@ -18,13 +20,14 @@ func initLexer(lex *Lexer) { %% write init; } -func (lex *Lexer) Lex() *Token { +func (lex *Lexer) Lex() *token.Token { eof := lex.pe - var tok TokenID + var tok token.ID - token := lex.tokenPool.Get() - token.Tokens = token.Tokens[:0] - token.Value = lex.data[0:0] + tkn := lex.tokenPool.Get() + + lex.sts = 0 + lex.ste = 0 lblStart := 0 lblEnd := 0 @@ -124,7 +127,7 @@ func (lex *Lexer) Lex() *Token { main := |* "#!" any* :>> newline => { - lex.addHiddenToken(token, T_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_COMMENT, lex.ts, lex.te) }; any => { fnext html; @@ -135,42 +138,42 @@ func (lex *Lexer) Lex() *Token { html := |* any_line+ -- ' { lex.ungetStr("<") - lex.setTokenPosition(token) - tok = T_INLINE_HTML; + lex.setTokenPosition(tkn) + tok = token.T_INLINE_HTML; fbreak; }; ' { - lex.addHiddenToken(token, T_OPEN_TAG, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_OPEN_TAG, lex.ts, lex.te) fnext php; }; ' { lex.ungetCnt(lex.te - lex.ts - 5) - lex.addHiddenToken(token, T_OPEN_TAG, lex.ts, lex.ts+5) + lex.addSkippedToken(tkn, token.T_OPEN_TAG, lex.ts, lex.ts+5) fnext php; }; ' { - lex.setTokenPosition(token); - tok = T_ECHO; + lex.setTokenPosition(tkn); + tok = token.T_ECHO; fnext php; fbreak; }; *|; php := |* - whitespace_line* => {lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te)}; - '?>' newline? => {lex.setTokenPosition(token); tok = TokenID(int(';')); fnext html; fbreak;}; - ';' whitespace_line* '?>' newline? => {lex.setTokenPosition(token); tok = TokenID(int(';')); fnext html; fbreak;}; + whitespace_line* => {lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te)}; + '?>' newline? => {lex.setTokenPosition(tkn); tok = token.ID(int(';')); fnext html; fbreak;}; + ';' whitespace_line* '?>' newline? => {lex.setTokenPosition(tkn); tok = token.ID(int(';')); fnext html; fbreak;}; - (dnum | exponent_dnum) => {lex.setTokenPosition(token); tok = T_DNUMBER; fbreak;}; + (dnum | exponent_dnum) => {lex.setTokenPosition(tkn); tok = token.T_DNUMBER; fbreak;}; bnum => { s := strings.Replace(string(lex.data[lex.ts+2:lex.te]), "_", "", -1) _, err := strconv.ParseInt(s, 2, 0) if err == nil { - lex.setTokenPosition(token); tok = T_LNUMBER; fbreak; + lex.setTokenPosition(tkn); tok = token.T_LNUMBER; fbreak; } - lex.setTokenPosition(token); tok = T_DNUMBER; fbreak; + lex.setTokenPosition(tkn); tok = token.T_DNUMBER; fbreak; }; lnum => { base := 10 @@ -182,142 +185,142 @@ func (lex *Lexer) Lex() *Token { _, err := strconv.ParseInt(s, base, 0) if err == nil { - lex.setTokenPosition(token); tok = T_LNUMBER; fbreak; + lex.setTokenPosition(tkn); tok = token.T_LNUMBER; fbreak; } - lex.setTokenPosition(token); tok = T_DNUMBER; fbreak; + lex.setTokenPosition(tkn); tok = token.T_DNUMBER; fbreak; }; hnum => { s := strings.Replace(string(lex.data[lex.ts+2:lex.te]), "_", "", -1) _, err := strconv.ParseInt(s, 16, 0) if err == nil { - lex.setTokenPosition(token); tok = T_LNUMBER; fbreak; + lex.setTokenPosition(tkn); tok = token.T_LNUMBER; fbreak; } - lex.setTokenPosition(token); tok = T_DNUMBER; fbreak; + lex.setTokenPosition(tkn); tok = token.T_DNUMBER; fbreak; }; - 'abstract'i => {lex.setTokenPosition(token); tok = T_ABSTRACT; fbreak;}; - 'array'i => {lex.setTokenPosition(token); tok = T_ARRAY; fbreak;}; - 'as'i => {lex.setTokenPosition(token); tok = T_AS; fbreak;}; - 'break'i => {lex.setTokenPosition(token); tok = T_BREAK; fbreak;}; - 'callable'i => {lex.setTokenPosition(token); tok = T_CALLABLE; fbreak;}; - 'case'i => {lex.setTokenPosition(token); tok = T_CASE; fbreak;}; - 'catch'i => {lex.setTokenPosition(token); tok = T_CATCH; fbreak;}; - 'class'i => {lex.setTokenPosition(token); tok = T_CLASS; fbreak;}; - 'clone'i => {lex.setTokenPosition(token); tok = T_CLONE; fbreak;}; - 'const'i => {lex.setTokenPosition(token); tok = T_CONST; fbreak;}; - 'continue'i => {lex.setTokenPosition(token); tok = T_CONTINUE; fbreak;}; - 'declare'i => {lex.setTokenPosition(token); tok = T_DECLARE; fbreak;}; - 'default'i => {lex.setTokenPosition(token); tok = T_DEFAULT; fbreak;}; - 'do'i => {lex.setTokenPosition(token); tok = T_DO; fbreak;}; - 'echo'i => {lex.setTokenPosition(token); tok = T_ECHO; fbreak;}; - 'else'i => {lex.setTokenPosition(token); tok = T_ELSE; fbreak;}; - 'elseif'i => {lex.setTokenPosition(token); tok = T_ELSEIF; fbreak;}; - 'empty'i => {lex.setTokenPosition(token); tok = T_EMPTY; fbreak;}; - 'enddeclare'i => {lex.setTokenPosition(token); tok = T_ENDDECLARE; fbreak;}; - 'endfor'i => {lex.setTokenPosition(token); tok = T_ENDFOR; fbreak;}; - 'endforeach'i => {lex.setTokenPosition(token); tok = T_ENDFOREACH; fbreak;}; - 'endif'i => {lex.setTokenPosition(token); tok = T_ENDIF; fbreak;}; - 'endswitch'i => {lex.setTokenPosition(token); tok = T_ENDSWITCH; fbreak;}; - 'endwhile'i => {lex.setTokenPosition(token); tok = T_ENDWHILE; fbreak;}; - 'eval'i => {lex.setTokenPosition(token); tok = T_EVAL; fbreak;}; - 'exit'i | 'die'i => {lex.setTokenPosition(token); tok = T_EXIT; fbreak;}; - 'extends'i => {lex.setTokenPosition(token); tok = T_EXTENDS; fbreak;}; - 'final'i => {lex.setTokenPosition(token); tok = T_FINAL; fbreak;}; - 'finally'i => {lex.setTokenPosition(token); tok = T_FINALLY; fbreak;}; - 'for'i => {lex.setTokenPosition(token); tok = T_FOR; fbreak;}; - 'foreach'i => {lex.setTokenPosition(token); tok = T_FOREACH; fbreak;}; - 'function'i | 'cfunction'i => {lex.setTokenPosition(token); tok = T_FUNCTION; fbreak;}; - 'fn'i => {lex.setTokenPosition(token); tok = T_FN; fbreak;}; - 'global'i => {lex.setTokenPosition(token); tok = T_GLOBAL; fbreak;}; - 'goto'i => {lex.setTokenPosition(token); tok = T_GOTO; fbreak;}; - 'if'i => {lex.setTokenPosition(token); tok = T_IF; fbreak;}; - 'isset'i => {lex.setTokenPosition(token); tok = T_ISSET; fbreak;}; - 'implements'i => {lex.setTokenPosition(token); tok = T_IMPLEMENTS; fbreak;}; - 'instanceof'i => {lex.setTokenPosition(token); tok = T_INSTANCEOF; fbreak;}; - 'insteadof'i => {lex.setTokenPosition(token); tok = T_INSTEADOF; fbreak;}; - 'interface'i => {lex.setTokenPosition(token); tok = T_INTERFACE; fbreak;}; - 'list'i => {lex.setTokenPosition(token); tok = T_LIST; fbreak;}; - 'namespace'i => {lex.setTokenPosition(token); tok = T_NAMESPACE; fbreak;}; - 'private'i => {lex.setTokenPosition(token); tok = T_PRIVATE; fbreak;}; - 'public'i => {lex.setTokenPosition(token); tok = T_PUBLIC; fbreak;}; - 'print'i => {lex.setTokenPosition(token); tok = T_PRINT; fbreak;}; - 'protected'i => {lex.setTokenPosition(token); tok = T_PROTECTED; fbreak;}; - 'return'i => {lex.setTokenPosition(token); tok = T_RETURN; fbreak;}; - 'static'i => {lex.setTokenPosition(token); tok = T_STATIC; fbreak;}; - 'switch'i => {lex.setTokenPosition(token); tok = T_SWITCH; fbreak;}; - 'throw'i => {lex.setTokenPosition(token); tok = T_THROW; fbreak;}; - 'trait'i => {lex.setTokenPosition(token); tok = T_TRAIT; fbreak;}; - 'try'i => {lex.setTokenPosition(token); tok = T_TRY; fbreak;}; - 'unset'i => {lex.setTokenPosition(token); tok = T_UNSET; fbreak;}; - 'use'i => {lex.setTokenPosition(token); tok = T_USE; fbreak;}; - 'var'i => {lex.setTokenPosition(token); tok = T_VAR; fbreak;}; - 'while'i => {lex.setTokenPosition(token); tok = T_WHILE; fbreak;}; - 'yield'i whitespace_line* 'from'i => {lex.setTokenPosition(token); tok = T_YIELD_FROM; fbreak;}; - 'yield'i => {lex.setTokenPosition(token); tok = T_YIELD; fbreak;}; - 'include'i => {lex.setTokenPosition(token); tok = T_INCLUDE; fbreak;}; - 'include_once'i => {lex.setTokenPosition(token); tok = T_INCLUDE_ONCE; fbreak;}; - 'require'i => {lex.setTokenPosition(token); tok = T_REQUIRE; fbreak;}; - 'require_once'i => {lex.setTokenPosition(token); tok = T_REQUIRE_ONCE; fbreak;}; - '__CLASS__'i => {lex.setTokenPosition(token); tok = T_CLASS_C; fbreak;}; - '__DIR__'i => {lex.setTokenPosition(token); tok = T_DIR; fbreak;}; - '__FILE__'i => {lex.setTokenPosition(token); tok = T_FILE; fbreak;}; - '__FUNCTION__'i => {lex.setTokenPosition(token); tok = T_FUNC_C; fbreak;}; - '__LINE__'i => {lex.setTokenPosition(token); tok = T_LINE; fbreak;}; - '__NAMESPACE__'i => {lex.setTokenPosition(token); tok = T_NS_C; fbreak;}; - '__METHOD__'i => {lex.setTokenPosition(token); tok = T_METHOD_C; fbreak;}; - '__TRAIT__'i => {lex.setTokenPosition(token); tok = T_TRAIT_C; fbreak;}; - '__halt_compiler'i => {lex.setTokenPosition(token); tok = T_HALT_COMPILER; fnext halt_compiller_open_parenthesis; fbreak;}; - 'new'i => {lex.setTokenPosition(token); tok = T_NEW; fbreak;}; - 'and'i => {lex.setTokenPosition(token); tok = T_LOGICAL_AND; fbreak;}; - 'or'i => {lex.setTokenPosition(token); tok = T_LOGICAL_OR; fbreak;}; - 'xor'i => {lex.setTokenPosition(token); tok = T_LOGICAL_XOR; fbreak;}; - '\\' => {lex.setTokenPosition(token); tok = T_NS_SEPARATOR; fbreak;}; - '...' => {lex.setTokenPosition(token); tok = T_ELLIPSIS; fbreak;}; - '::' => {lex.setTokenPosition(token); tok = T_PAAMAYIM_NEKUDOTAYIM; fbreak;}; - '&&' => {lex.setTokenPosition(token); tok = T_BOOLEAN_AND; fbreak;}; - '||' => {lex.setTokenPosition(token); tok = T_BOOLEAN_OR; fbreak;}; - '&=' => {lex.setTokenPosition(token); tok = T_AND_EQUAL; fbreak;}; - '|=' => {lex.setTokenPosition(token); tok = T_OR_EQUAL; fbreak;}; - '.=' => {lex.setTokenPosition(token); tok = T_CONCAT_EQUAL; fbreak;}; - '*=' => {lex.setTokenPosition(token); tok = T_MUL_EQUAL; fbreak;}; - '**=' => {lex.setTokenPosition(token); tok = T_POW_EQUAL; fbreak;}; - '/=' => {lex.setTokenPosition(token); tok = T_DIV_EQUAL; fbreak;}; - '+=' => {lex.setTokenPosition(token); tok = T_PLUS_EQUAL; fbreak;}; - '-=' => {lex.setTokenPosition(token); tok = T_MINUS_EQUAL; fbreak;}; - '^=' => {lex.setTokenPosition(token); tok = T_XOR_EQUAL; fbreak;}; - '%=' => {lex.setTokenPosition(token); tok = T_MOD_EQUAL; fbreak;}; - '--' => {lex.setTokenPosition(token); tok = T_DEC; fbreak;}; - '++' => {lex.setTokenPosition(token); tok = T_INC; fbreak;}; - '=>' => {lex.setTokenPosition(token); tok = T_DOUBLE_ARROW; fbreak;}; - '<=>' => {lex.setTokenPosition(token); tok = T_SPACESHIP; fbreak;}; - '!=' | '<>' => {lex.setTokenPosition(token); tok = T_IS_NOT_EQUAL; fbreak;}; - '!==' => {lex.setTokenPosition(token); tok = T_IS_NOT_IDENTICAL; fbreak;}; - '==' => {lex.setTokenPosition(token); tok = T_IS_EQUAL; fbreak;}; - '===' => {lex.setTokenPosition(token); tok = T_IS_IDENTICAL; fbreak;}; - '<<=' => {lex.setTokenPosition(token); tok = T_SL_EQUAL; fbreak;}; - '>>=' => {lex.setTokenPosition(token); tok = T_SR_EQUAL; fbreak;}; - '>=' => {lex.setTokenPosition(token); tok = T_IS_GREATER_OR_EQUAL; fbreak;}; - '<=' => {lex.setTokenPosition(token); tok = T_IS_SMALLER_OR_EQUAL; fbreak;}; - '**' => {lex.setTokenPosition(token); tok = T_POW; fbreak;}; - '<<' => {lex.setTokenPosition(token); tok = T_SL; fbreak;}; - '>>' => {lex.setTokenPosition(token); tok = T_SR; fbreak;}; - '??' => {lex.setTokenPosition(token); tok = T_COALESCE; fbreak;}; - '??=' => {lex.setTokenPosition(token); tok = T_COALESCE_EQUAL; fbreak;}; + 'abstract'i => {lex.setTokenPosition(tkn); tok = token.T_ABSTRACT; fbreak;}; + 'array'i => {lex.setTokenPosition(tkn); tok = token.T_ARRAY; fbreak;}; + 'as'i => {lex.setTokenPosition(tkn); tok = token.T_AS; fbreak;}; + 'break'i => {lex.setTokenPosition(tkn); tok = token.T_BREAK; fbreak;}; + 'callable'i => {lex.setTokenPosition(tkn); tok = token.T_CALLABLE; fbreak;}; + 'case'i => {lex.setTokenPosition(tkn); tok = token.T_CASE; fbreak;}; + 'catch'i => {lex.setTokenPosition(tkn); tok = token.T_CATCH; fbreak;}; + 'class'i => {lex.setTokenPosition(tkn); tok = token.T_CLASS; fbreak;}; + 'clone'i => {lex.setTokenPosition(tkn); tok = token.T_CLONE; fbreak;}; + 'const'i => {lex.setTokenPosition(tkn); tok = token.T_CONST; fbreak;}; + 'continue'i => {lex.setTokenPosition(tkn); tok = token.T_CONTINUE; fbreak;}; + 'declare'i => {lex.setTokenPosition(tkn); tok = token.T_DECLARE; fbreak;}; + 'default'i => {lex.setTokenPosition(tkn); tok = token.T_DEFAULT; fbreak;}; + 'do'i => {lex.setTokenPosition(tkn); tok = token.T_DO; fbreak;}; + 'echo'i => {lex.setTokenPosition(tkn); tok = token.T_ECHO; fbreak;}; + 'else'i => {lex.setTokenPosition(tkn); tok = token.T_ELSE; fbreak;}; + 'elseif'i => {lex.setTokenPosition(tkn); tok = token.T_ELSEIF; fbreak;}; + 'empty'i => {lex.setTokenPosition(tkn); tok = token.T_EMPTY; fbreak;}; + 'enddeclare'i => {lex.setTokenPosition(tkn); tok = token.T_ENDDECLARE; fbreak;}; + 'endfor'i => {lex.setTokenPosition(tkn); tok = token.T_ENDFOR; fbreak;}; + 'endforeach'i => {lex.setTokenPosition(tkn); tok = token.T_ENDFOREACH; fbreak;}; + 'endif'i => {lex.setTokenPosition(tkn); tok = token.T_ENDIF; fbreak;}; + 'endswitch'i => {lex.setTokenPosition(tkn); tok = token.T_ENDSWITCH; fbreak;}; + 'endwhile'i => {lex.setTokenPosition(tkn); tok = token.T_ENDWHILE; fbreak;}; + 'eval'i => {lex.setTokenPosition(tkn); tok = token.T_EVAL; fbreak;}; + 'exit'i | 'die'i => {lex.setTokenPosition(tkn); tok = token.T_EXIT; fbreak;}; + 'extends'i => {lex.setTokenPosition(tkn); tok = token.T_EXTENDS; fbreak;}; + 'final'i => {lex.setTokenPosition(tkn); tok = token.T_FINAL; fbreak;}; + 'finally'i => {lex.setTokenPosition(tkn); tok = token.T_FINALLY; fbreak;}; + 'for'i => {lex.setTokenPosition(tkn); tok = token.T_FOR; fbreak;}; + 'foreach'i => {lex.setTokenPosition(tkn); tok = token.T_FOREACH; fbreak;}; + 'function'i | 'cfunction'i => {lex.setTokenPosition(tkn); tok = token.T_FUNCTION; fbreak;}; + 'fn'i => {lex.setTokenPosition(tkn); tok = token.T_FN; fbreak;}; + 'global'i => {lex.setTokenPosition(tkn); tok = token.T_GLOBAL; fbreak;}; + 'goto'i => {lex.setTokenPosition(tkn); tok = token.T_GOTO; fbreak;}; + 'if'i => {lex.setTokenPosition(tkn); tok = token.T_IF; fbreak;}; + 'isset'i => {lex.setTokenPosition(tkn); tok = token.T_ISSET; fbreak;}; + 'implements'i => {lex.setTokenPosition(tkn); tok = token.T_IMPLEMENTS; fbreak;}; + 'instanceof'i => {lex.setTokenPosition(tkn); tok = token.T_INSTANCEOF; fbreak;}; + 'insteadof'i => {lex.setTokenPosition(tkn); tok = token.T_INSTEADOF; fbreak;}; + 'interface'i => {lex.setTokenPosition(tkn); tok = token.T_INTERFACE; fbreak;}; + 'list'i => {lex.setTokenPosition(tkn); tok = token.T_LIST; fbreak;}; + 'namespace'i => {lex.setTokenPosition(tkn); tok = token.T_NAMESPACE; fbreak;}; + 'private'i => {lex.setTokenPosition(tkn); tok = token.T_PRIVATE; fbreak;}; + 'public'i => {lex.setTokenPosition(tkn); tok = token.T_PUBLIC; fbreak;}; + 'print'i => {lex.setTokenPosition(tkn); tok = token.T_PRINT; fbreak;}; + 'protected'i => {lex.setTokenPosition(tkn); tok = token.T_PROTECTED; fbreak;}; + 'return'i => {lex.setTokenPosition(tkn); tok = token.T_RETURN; fbreak;}; + 'static'i => {lex.setTokenPosition(tkn); tok = token.T_STATIC; fbreak;}; + 'switch'i => {lex.setTokenPosition(tkn); tok = token.T_SWITCH; fbreak;}; + 'throw'i => {lex.setTokenPosition(tkn); tok = token.T_THROW; fbreak;}; + 'trait'i => {lex.setTokenPosition(tkn); tok = token.T_TRAIT; fbreak;}; + 'try'i => {lex.setTokenPosition(tkn); tok = token.T_TRY; fbreak;}; + 'unset'i => {lex.setTokenPosition(tkn); tok = token.T_UNSET; fbreak;}; + 'use'i => {lex.setTokenPosition(tkn); tok = token.T_USE; fbreak;}; + 'var'i => {lex.setTokenPosition(tkn); tok = token.T_VAR; fbreak;}; + 'while'i => {lex.setTokenPosition(tkn); tok = token.T_WHILE; fbreak;}; + 'yield'i whitespace_line* 'from'i => {lex.setTokenPosition(tkn); tok = token.T_YIELD_FROM; fbreak;}; + 'yield'i => {lex.setTokenPosition(tkn); tok = token.T_YIELD; fbreak;}; + 'include'i => {lex.setTokenPosition(tkn); tok = token.T_INCLUDE; fbreak;}; + 'include_once'i => {lex.setTokenPosition(tkn); tok = token.T_INCLUDE_ONCE; fbreak;}; + 'require'i => {lex.setTokenPosition(tkn); tok = token.T_REQUIRE; fbreak;}; + 'require_once'i => {lex.setTokenPosition(tkn); tok = token.T_REQUIRE_ONCE; fbreak;}; + '__CLASS__'i => {lex.setTokenPosition(tkn); tok = token.T_CLASS_C; fbreak;}; + '__DIR__'i => {lex.setTokenPosition(tkn); tok = token.T_DIR; fbreak;}; + '__FILE__'i => {lex.setTokenPosition(tkn); tok = token.T_FILE; fbreak;}; + '__FUNCTION__'i => {lex.setTokenPosition(tkn); tok = token.T_FUNC_C; fbreak;}; + '__LINE__'i => {lex.setTokenPosition(tkn); tok = token.T_LINE; fbreak;}; + '__NAMESPACE__'i => {lex.setTokenPosition(tkn); tok = token.T_NS_C; fbreak;}; + '__METHOD__'i => {lex.setTokenPosition(tkn); tok = token.T_METHOD_C; fbreak;}; + '__TRAIT__'i => {lex.setTokenPosition(tkn); tok = token.T_TRAIT_C; fbreak;}; + '__halt_compiler'i => {lex.setTokenPosition(tkn); tok = token.T_HALT_COMPILER; fnext halt_compiller_open_parenthesis; fbreak;}; + 'new'i => {lex.setTokenPosition(tkn); tok = token.T_NEW; fbreak;}; + 'and'i => {lex.setTokenPosition(tkn); tok = token.T_LOGICAL_AND; fbreak;}; + 'or'i => {lex.setTokenPosition(tkn); tok = token.T_LOGICAL_OR; fbreak;}; + 'xor'i => {lex.setTokenPosition(tkn); tok = token.T_LOGICAL_XOR; fbreak;}; + '\\' => {lex.setTokenPosition(tkn); tok = token.T_NS_SEPARATOR; fbreak;}; + '...' => {lex.setTokenPosition(tkn); tok = token.T_ELLIPSIS; fbreak;}; + '::' => {lex.setTokenPosition(tkn); tok = token.T_PAAMAYIM_NEKUDOTAYIM; fbreak;}; + '&&' => {lex.setTokenPosition(tkn); tok = token.T_BOOLEAN_AND; fbreak;}; + '||' => {lex.setTokenPosition(tkn); tok = token.T_BOOLEAN_OR; fbreak;}; + '&=' => {lex.setTokenPosition(tkn); tok = token.T_AND_EQUAL; fbreak;}; + '|=' => {lex.setTokenPosition(tkn); tok = token.T_OR_EQUAL; fbreak;}; + '.=' => {lex.setTokenPosition(tkn); tok = token.T_CONCAT_EQUAL; fbreak;}; + '*=' => {lex.setTokenPosition(tkn); tok = token.T_MUL_EQUAL; fbreak;}; + '**=' => {lex.setTokenPosition(tkn); tok = token.T_POW_EQUAL; fbreak;}; + '/=' => {lex.setTokenPosition(tkn); tok = token.T_DIV_EQUAL; fbreak;}; + '+=' => {lex.setTokenPosition(tkn); tok = token.T_PLUS_EQUAL; fbreak;}; + '-=' => {lex.setTokenPosition(tkn); tok = token.T_MINUS_EQUAL; fbreak;}; + '^=' => {lex.setTokenPosition(tkn); tok = token.T_XOR_EQUAL; fbreak;}; + '%=' => {lex.setTokenPosition(tkn); tok = token.T_MOD_EQUAL; fbreak;}; + '--' => {lex.setTokenPosition(tkn); tok = token.T_DEC; fbreak;}; + '++' => {lex.setTokenPosition(tkn); tok = token.T_INC; fbreak;}; + '=>' => {lex.setTokenPosition(tkn); tok = token.T_DOUBLE_ARROW; fbreak;}; + '<=>' => {lex.setTokenPosition(tkn); tok = token.T_SPACESHIP; fbreak;}; + '!=' | '<>' => {lex.setTokenPosition(tkn); tok = token.T_IS_NOT_EQUAL; fbreak;}; + '!==' => {lex.setTokenPosition(tkn); tok = token.T_IS_NOT_IDENTICAL; fbreak;}; + '==' => {lex.setTokenPosition(tkn); tok = token.T_IS_EQUAL; fbreak;}; + '===' => {lex.setTokenPosition(tkn); tok = token.T_IS_IDENTICAL; fbreak;}; + '<<=' => {lex.setTokenPosition(tkn); tok = token.T_SL_EQUAL; fbreak;}; + '>>=' => {lex.setTokenPosition(tkn); tok = token.T_SR_EQUAL; fbreak;}; + '>=' => {lex.setTokenPosition(tkn); tok = token.T_IS_GREATER_OR_EQUAL; fbreak;}; + '<=' => {lex.setTokenPosition(tkn); tok = token.T_IS_SMALLER_OR_EQUAL; fbreak;}; + '**' => {lex.setTokenPosition(tkn); tok = token.T_POW; fbreak;}; + '<<' => {lex.setTokenPosition(tkn); tok = token.T_SL; fbreak;}; + '>>' => {lex.setTokenPosition(tkn); tok = token.T_SR; fbreak;}; + '??' => {lex.setTokenPosition(tkn); tok = token.T_COALESCE; fbreak;}; + '??=' => {lex.setTokenPosition(tkn); tok = token.T_COALESCE_EQUAL; fbreak;}; - '(' whitespace* 'array'i whitespace* ')' => {lex.setTokenPosition(token); tok = T_ARRAY_CAST; fbreak;}; - '(' whitespace* ('bool'i|'boolean'i) whitespace* ')' => {lex.setTokenPosition(token); tok = T_BOOL_CAST; fbreak;}; - '(' whitespace* ('real'i|'double'i|'float'i) whitespace* ')' => {lex.setTokenPosition(token); tok = T_DOUBLE_CAST; fbreak;}; - '(' whitespace* ('int'i|'integer'i) whitespace* ')' => {lex.setTokenPosition(token); tok = T_INT_CAST; fbreak;}; - '(' whitespace* 'object'i whitespace* ')' => {lex.setTokenPosition(token); tok = T_OBJECT_CAST; fbreak;}; - '(' whitespace* ('string'i|'binary'i) whitespace* ')' => {lex.setTokenPosition(token); tok = T_STRING_CAST; fbreak;}; - '(' whitespace* 'unset'i whitespace* ')' => {lex.setTokenPosition(token); tok = T_UNSET_CAST; fbreak;}; + '(' whitespace* 'array'i whitespace* ')' => {lex.setTokenPosition(tkn); tok = token.T_ARRAY_CAST; fbreak;}; + '(' whitespace* ('bool'i|'boolean'i) whitespace* ')' => {lex.setTokenPosition(tkn); tok = token.T_BOOL_CAST; fbreak;}; + '(' whitespace* ('real'i|'double'i|'float'i) whitespace* ')' => {lex.setTokenPosition(tkn); tok = token.T_DOUBLE_CAST; fbreak;}; + '(' whitespace* ('int'i|'integer'i) whitespace* ')' => {lex.setTokenPosition(tkn); tok = token.T_INT_CAST; fbreak;}; + '(' whitespace* 'object'i whitespace* ')' => {lex.setTokenPosition(tkn); tok = token.T_OBJECT_CAST; fbreak;}; + '(' whitespace* ('string'i|'binary'i) whitespace* ')' => {lex.setTokenPosition(tkn); tok = token.T_STRING_CAST; fbreak;}; + '(' whitespace* 'unset'i whitespace* ')' => {lex.setTokenPosition(tkn); tok = token.T_UNSET_CAST; fbreak;}; ('#' | '//') any_line* when is_not_comment_end => { lex.ungetStr("?>") - lex.addHiddenToken(token, T_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_COMMENT, lex.ts, lex.te) }; '/*' any_line* :>> '*/' { isDocComment := false; @@ -326,37 +329,35 @@ func (lex *Lexer) Lex() *Token { } if isDocComment { - lex.addHiddenToken(token, T_DOC_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_DOC_COMMENT, lex.ts, lex.te) } else { - lex.addHiddenToken(token, T_COMMENT, lex.ts, lex.te) + lex.addSkippedToken(tkn, token.T_COMMENT, lex.ts, lex.te) } }; operators => { - // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); - // tok = TokenID(Rune2Class(rune)); - lex.setTokenPosition(token); - tok = TokenID(int(lex.data[lex.ts])); + lex.setTokenPosition(tkn); + tok = token.ID(int(lex.data[lex.ts])); fbreak; }; - "{" => { lex.setTokenPosition(token); tok = TokenID(int('{')); lex.call(ftargs, fentry(php)); goto _out; }; - "}" => { lex.setTokenPosition(token); tok = TokenID(int('}')); lex.ret(1); goto _out;}; - "$" varname => { lex.setTokenPosition(token); tok = T_VARIABLE; fbreak; }; - varname => { lex.setTokenPosition(token); tok = T_STRING; fbreak; }; + "{" => { lex.setTokenPosition(tkn); tok = token.ID(int('{')); lex.call(ftargs, fentry(php)); goto _out; }; + "}" => { lex.setTokenPosition(tkn); tok = token.ID(int('}')); lex.ret(1); goto _out;}; + "$" varname => { lex.setTokenPosition(tkn); tok = token.T_VARIABLE; fbreak; }; + varname => { lex.setTokenPosition(tkn); tok = token.T_STRING; fbreak; }; - "->" => { lex.setTokenPosition(token); tok = T_OBJECT_OPERATOR; fnext property; fbreak; }; + "->" => { lex.setTokenPosition(tkn); tok = token.T_OBJECT_OPERATOR; fnext property; fbreak; }; constant_string => { - lex.setTokenPosition(token); - tok = T_CONSTANT_ENCAPSED_STRING; + lex.setTokenPosition(tkn); + tok = token.T_CONSTANT_ENCAPSED_STRING; fbreak; }; "b"i? "<<<" [ \t]* ( heredoc_label | ("'" heredoc_label "'") | ('"' heredoc_label '"') ) newline => { lex.heredocLabel = lex.data[lblStart:lblEnd] - lex.setTokenPosition(token); - tok = T_START_HEREDOC; + lex.setTokenPosition(tkn); + tok = token.T_START_HEREDOC; if lex.isHeredocEnd(lex.p+1) { fnext heredoc_end; @@ -367,8 +368,8 @@ func (lex *Lexer) Lex() *Token { } fbreak; }; - "`" => {lex.setTokenPosition(token); tok = TokenID(int('`')); fnext backqote; fbreak;}; - '"' => {lex.setTokenPosition(token); tok = TokenID(int('"')); fnext template_string; fbreak;}; + "`" => {lex.setTokenPosition(tkn); tok = token.ID(int('`')); fnext backqote; fbreak;}; + '"' => {lex.setTokenPosition(tkn); tok = token.ID(int('"')); fnext template_string; fbreak;}; any_line => { c := lex.data[lex.p] @@ -377,28 +378,28 @@ func (lex *Lexer) Lex() *Token { *|; property := |* - whitespace_line* => {lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te)}; - "->" => {lex.setTokenPosition(token); tok = T_OBJECT_OPERATOR; fbreak;}; - varname => {lex.setTokenPosition(token); tok = T_STRING; fnext php; fbreak;}; + whitespace_line* => {lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te)}; + "->" => {lex.setTokenPosition(tkn); tok = token.T_OBJECT_OPERATOR; fbreak;}; + varname => {lex.setTokenPosition(tkn); tok = token.T_STRING; fnext php; fbreak;}; any => {lex.ungetCnt(1); fgoto php;}; *|; nowdoc := |* any_line* when is_not_heredoc_end => { - lex.setTokenPosition(token); - tok = T_ENCAPSED_AND_WHITESPACE; + lex.setTokenPosition(tkn); + tok = token.T_ENCAPSED_AND_WHITESPACE; fnext heredoc_end; fbreak; }; *|; heredoc := |* - "{$" => {lex.ungetCnt(1); lex.setTokenPosition(token); tok = T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; - "${" => {lex.setTokenPosition(token); tok = T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; + "{$" => {lex.ungetCnt(1); lex.setTokenPosition(tkn); tok = token.T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; + "${" => {lex.setTokenPosition(tkn); tok = token.T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; "$" => {lex.ungetCnt(1); fcall string_var;}; any_line* when is_not_heredoc_end_or_var => { - lex.setTokenPosition(token); - tok = T_ENCAPSED_AND_WHITESPACE; + lex.setTokenPosition(tkn); + tok = token.T_ENCAPSED_AND_WHITESPACE; if len(lex.data) > lex.p+1 && lex.data[lex.p+1] != '$' && lex.data[lex.p+1] != '{' { fnext heredoc_end; @@ -408,59 +409,59 @@ func (lex *Lexer) Lex() *Token { *|; backqote := |* - "{$" => {lex.ungetCnt(1); lex.setTokenPosition(token); tok = T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; - "${" => {lex.setTokenPosition(token); tok = T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; + "{$" => {lex.ungetCnt(1); lex.setTokenPosition(tkn); tok = token.T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; + "${" => {lex.setTokenPosition(tkn); tok = token.T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; "$" varname_first => {lex.ungetCnt(2); fcall string_var;}; - '`' => {lex.setTokenPosition(token); tok = TokenID(int('`')); fnext php; fbreak;}; + '`' => {lex.setTokenPosition(tkn); tok = token.ID(int('`')); fnext php; fbreak;}; any_line* when is_not_backqoute_end_or_var => { - lex.setTokenPosition(token); - tok = T_ENCAPSED_AND_WHITESPACE; + lex.setTokenPosition(tkn); + tok = token.T_ENCAPSED_AND_WHITESPACE; fbreak; }; *|; template_string := |* - "{$" => {lex.ungetCnt(1); lex.setTokenPosition(token); tok = T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; - "${" => {lex.setTokenPosition(token); tok = T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; + "{$" => {lex.ungetCnt(1); lex.setTokenPosition(tkn); tok = token.T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; + "${" => {lex.setTokenPosition(tkn); tok = token.T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; "$" varname_first => {lex.ungetCnt(2); fcall string_var;}; - '"' => {lex.setTokenPosition(token); tok = TokenID(int('"')); fnext php; fbreak;}; + '"' => {lex.setTokenPosition(tkn); tok = token.ID(int('"')); fnext php; fbreak;}; any_line* when is_not_string_end_or_var => { - lex.setTokenPosition(token); - tok = T_ENCAPSED_AND_WHITESPACE; + lex.setTokenPosition(tkn); + tok = token.T_ENCAPSED_AND_WHITESPACE; fbreak; }; *|; heredoc_end := |* varname -- ";" => { - lex.setTokenPosition(token); - tok = T_END_HEREDOC; + lex.setTokenPosition(tkn); + tok = token.T_END_HEREDOC; fnext php; fbreak; }; varname => { - lex.setTokenPosition(token); - tok = T_END_HEREDOC; + lex.setTokenPosition(tkn); + tok = token.T_END_HEREDOC; fnext php; fbreak; }; *|; string_var := |* - '$' varname => {lex.setTokenPosition(token); tok = T_VARIABLE; fbreak;}; - '->' varname_first => {lex.ungetCnt(1); lex.setTokenPosition(token); tok = T_OBJECT_OPERATOR; fbreak;}; - varname => {lex.setTokenPosition(token); tok = T_STRING; fbreak;}; - '[' => {lex.setTokenPosition(token); tok = TokenID(int('[')); lex.call(ftargs, fentry(string_var_index)); goto _out;}; + '$' varname => {lex.setTokenPosition(tkn); tok = token.T_VARIABLE; fbreak;}; + '->' varname_first => {lex.ungetCnt(1); lex.setTokenPosition(tkn); tok = token.T_OBJECT_OPERATOR; fbreak;}; + varname => {lex.setTokenPosition(tkn); tok = token.T_STRING; fbreak;}; + '[' => {lex.setTokenPosition(tkn); tok = token.ID(int('[')); lex.call(ftargs, fentry(string_var_index)); goto _out;}; any => {lex.ungetCnt(1); fret;}; *|; string_var_index := |* - lnum | hnum | bnum => {lex.setTokenPosition(token); tok = T_NUM_STRING; fbreak;}; - '$' varname => {lex.setTokenPosition(token); tok = T_VARIABLE; fbreak;}; - varname => {lex.setTokenPosition(token); tok = T_STRING; fbreak;}; - whitespace_line | [\\'#] => {lex.setTokenPosition(token); tok = T_ENCAPSED_AND_WHITESPACE; lex.ret(2); goto _out;}; - operators > (svi, 1) => {lex.setTokenPosition(token); tok = TokenID(int(lex.data[lex.ts])); fbreak;}; - ']' > (svi, 2) => {lex.setTokenPosition(token); tok = TokenID(int(']')); lex.ret(2); goto _out;}; + lnum | hnum | bnum => {lex.setTokenPosition(tkn); tok = token.T_NUM_STRING; fbreak;}; + '$' varname => {lex.setTokenPosition(tkn); tok = token.T_VARIABLE; fbreak;}; + varname => {lex.setTokenPosition(tkn); tok = token.T_STRING; fbreak;}; + whitespace_line | [\\'#] => {lex.setTokenPosition(tkn); tok = token.T_ENCAPSED_AND_WHITESPACE; lex.ret(2); goto _out;}; + operators > (svi, 1) => {lex.setTokenPosition(tkn); tok = token.ID(int(lex.data[lex.ts])); fbreak;}; + ']' > (svi, 2) => {lex.setTokenPosition(tkn); tok = token.ID(int(']')); lex.ret(2); goto _out;}; any_line => { c := lex.data[lex.p] lex.error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)); @@ -468,38 +469,39 @@ func (lex *Lexer) Lex() *Token { *|; string_var_name := |* - varname ("[" | "}") => {lex.ungetCnt(1); lex.setTokenPosition(token); tok = T_STRING_VARNAME; fnext php; fbreak;}; + varname ("[" | "}") => {lex.ungetCnt(1); lex.setTokenPosition(tkn); tok = token.T_STRING_VARNAME; fnext php; fbreak;}; any => {lex.ungetCnt(1); fnext php;}; *|; halt_compiller_open_parenthesis := |* - whitespace_line* => {lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te)}; - "(" => {lex.setTokenPosition(token); tok = TokenID(int('(')); fnext halt_compiller_close_parenthesis; fbreak;}; + whitespace_line* => {lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te)}; + "(" => {lex.setTokenPosition(tkn); tok = token.ID(int('(')); fnext halt_compiller_close_parenthesis; fbreak;}; any => {lex.ungetCnt(1); fnext php;}; *|; halt_compiller_close_parenthesis := |* - whitespace_line* => {lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te)}; - ")" => {lex.setTokenPosition(token); tok = TokenID(int(')')); fnext halt_compiller_close_semicolon; fbreak;}; + whitespace_line* => {lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te)}; + ")" => {lex.setTokenPosition(tkn); tok = token.ID(int(')')); fnext halt_compiller_close_semicolon; fbreak;}; any => {lex.ungetCnt(1); fnext php;}; *|; halt_compiller_close_semicolon := |* - whitespace_line* => {lex.addHiddenToken(token, T_WHITESPACE, lex.ts, lex.te)}; - ";" => {lex.setTokenPosition(token); tok = TokenID(int(';')); fnext halt_compiller_end; fbreak;}; + whitespace_line* => {lex.addSkippedToken(tkn, token.T_WHITESPACE, lex.ts, lex.te)}; + ";" => {lex.setTokenPosition(tkn); tok = token.ID(int(';')); fnext halt_compiller_end; fbreak;}; any => {lex.ungetCnt(1); fnext php;}; *|; halt_compiller_end := |* - any_line* => { lex.addHiddenToken(token, T_HALT_COMPILER, lex.ts, lex.te); }; + any_line* => { lex.addSkippedToken(tkn, token.T_HALT_COMPILER, lex.ts, lex.te); }; *|; write exec; }%% - token.Value = lex.data[lex.ts:lex.te] - token.ID = tok - lex.addHiddenToken(token, tok, lex.ts, lex.te); + tkn.Value = lex.data[lex.ts:lex.te] + tkn.ID = token.ID(tok) + tkn.SkippedString = lex.data[lex.sts:lex.ste] + lex.addSkippedToken(tkn, tok, lex.ts, lex.te); - return token + return tkn } \ No newline at end of file diff --git a/internal/scanner/scanner_test.go b/internal/scanner/scanner_test.go index 530f972..465c40a 100644 --- a/internal/scanner/scanner_test.go +++ b/internal/scanner/scanner_test.go @@ -1,12 +1,12 @@ package scanner import ( - "github.com/z7zmey/php-parser/pkg/errors" - "github.com/z7zmey/php-parser/pkg/position" + "gotest.tools/assert" "testing" + "github.com/z7zmey/php-parser/pkg/errors" + "github.com/z7zmey/php-parser/pkg/position" "github.com/z7zmey/php-parser/pkg/token" - "gotest.tools/assert" ) func TestTokens(t *testing.T) { @@ -186,175 +186,174 @@ func TestTokens(t *testing.T) { ` expected := []string{ - T_INLINE_HTML.String(), - TokenID(int(';')).String(), - T_INLINE_HTML.String(), - T_ECHO.String(), - TokenID(int(';')).String(), - T_INLINE_HTML.String(), + token.T_INLINE_HTML.String(), + token.ID(int(';')).String(), + token.T_INLINE_HTML.String(), + token.T_ECHO.String(), + token.ID(int(';')).String(), + token.T_INLINE_HTML.String(), - T_ABSTRACT.String(), - T_ARRAY.String(), - T_AS.String(), - T_BREAK.String(), - T_CALLABLE.String(), - T_CASE.String(), - T_CATCH.String(), - T_CLASS.String(), - T_CLONE.String(), - T_CONST.String(), - T_CONTINUE.String(), - T_DECLARE.String(), - T_DEFAULT.String(), - T_DO.String(), - T_ECHO.String(), - T_ELSE.String(), - T_ELSEIF.String(), - T_EMPTY.String(), - T_ENDDECLARE.String(), - T_ENDFOR.String(), - T_ENDFOREACH.String(), - T_ENDIF.String(), - T_ENDSWITCH.String(), - T_ENDWHILE.String(), - T_EVAL.String(), - T_EXIT.String(), - T_EXTENDS.String(), - T_FINAL.String(), - T_FINALLY.String(), - T_FOR.String(), - T_FOREACH.String(), - T_FUNCTION.String(), - T_FUNCTION.String(), - T_GLOBAL.String(), - T_GOTO.String(), - T_IF.String(), - T_ISSET.String(), - T_IMPLEMENTS.String(), - T_INSTANCEOF.String(), - T_INSTEADOF.String(), - T_INTERFACE.String(), - T_LIST.String(), - T_NAMESPACE.String(), - T_PRIVATE.String(), - T_PUBLIC.String(), - T_PRINT.String(), - T_PROTECTED.String(), - T_RETURN.String(), - T_STATIC.String(), - T_SWITCH.String(), - T_THROW.String(), - T_TRAIT.String(), - T_TRY.String(), - T_UNSET.String(), - T_USE.String(), - T_VAR.String(), - T_WHILE.String(), - T_YIELD_FROM.String(), - T_YIELD.String(), - T_INCLUDE.String(), - T_INCLUDE_ONCE.String(), - T_REQUIRE.String(), - T_REQUIRE_ONCE.String(), + token.T_ABSTRACT.String(), + token.T_ARRAY.String(), + token.T_AS.String(), + token.T_BREAK.String(), + token.T_CALLABLE.String(), + token.T_CASE.String(), + token.T_CATCH.String(), + token.T_CLASS.String(), + token.T_CLONE.String(), + token.T_CONST.String(), + token.T_CONTINUE.String(), + token.T_DECLARE.String(), + token.T_DEFAULT.String(), + token.T_DO.String(), + token.T_ECHO.String(), + token.T_ELSE.String(), + token.T_ELSEIF.String(), + token.T_EMPTY.String(), + token.T_ENDDECLARE.String(), + token.T_ENDFOR.String(), + token.T_ENDFOREACH.String(), + token.T_ENDIF.String(), + token.T_ENDSWITCH.String(), + token.T_ENDWHILE.String(), + token.T_EVAL.String(), + token.T_EXIT.String(), + token.T_EXTENDS.String(), + token.T_FINAL.String(), + token.T_FINALLY.String(), + token.T_FOR.String(), + token.T_FOREACH.String(), + token.T_FUNCTION.String(), + token.T_FUNCTION.String(), + token.T_GLOBAL.String(), + token.T_GOTO.String(), + token.T_IF.String(), + token.T_ISSET.String(), + token.T_IMPLEMENTS.String(), + token.T_INSTANCEOF.String(), + token.T_INSTEADOF.String(), + token.T_INTERFACE.String(), + token.T_LIST.String(), + token.T_NAMESPACE.String(), + token.T_PRIVATE.String(), + token.T_PUBLIC.String(), + token.T_PRINT.String(), + token.T_PROTECTED.String(), + token.T_RETURN.String(), + token.T_STATIC.String(), + token.T_SWITCH.String(), + token.T_THROW.String(), + token.T_TRAIT.String(), + token.T_TRY.String(), + token.T_UNSET.String(), + token.T_USE.String(), + token.T_VAR.String(), + token.T_WHILE.String(), + token.T_YIELD_FROM.String(), + token.T_YIELD.String(), + token.T_INCLUDE.String(), + token.T_INCLUDE_ONCE.String(), + token.T_REQUIRE.String(), + token.T_REQUIRE_ONCE.String(), - T_CLASS_C.String(), - T_DIR.String(), - T_FILE.String(), - T_FUNC_C.String(), - T_LINE.String(), - T_NS_C.String(), - T_METHOD_C.String(), - T_TRAIT_C.String(), - T_HALT_COMPILER.String(), + token.T_CLASS_C.String(), + token.T_DIR.String(), + token.T_FILE.String(), + token.T_FUNC_C.String(), + token.T_LINE.String(), + token.T_NS_C.String(), + token.T_METHOD_C.String(), + token.T_TRAIT_C.String(), + token.T_HALT_COMPILER.String(), - T_NEW.String(), - T_LOGICAL_AND.String(), - T_LOGICAL_OR.String(), - T_LOGICAL_XOR.String(), + token.T_NEW.String(), + token.T_LOGICAL_AND.String(), + token.T_LOGICAL_OR.String(), + token.T_LOGICAL_XOR.String(), - T_NS_SEPARATOR.String(), - T_ELLIPSIS.String(), - T_PAAMAYIM_NEKUDOTAYIM.String(), - T_BOOLEAN_AND.String(), - T_BOOLEAN_OR.String(), - T_AND_EQUAL.String(), - T_OR_EQUAL.String(), - T_CONCAT_EQUAL.String(), - T_MUL_EQUAL.String(), - T_POW_EQUAL.String(), - T_DIV_EQUAL.String(), - T_PLUS_EQUAL.String(), - T_MINUS_EQUAL.String(), - T_XOR_EQUAL.String(), - T_MOD_EQUAL.String(), - T_DEC.String(), - T_INC.String(), - T_DOUBLE_ARROW.String(), - T_SPACESHIP.String(), - T_IS_NOT_EQUAL.String(), - T_IS_NOT_EQUAL.String(), - T_IS_NOT_IDENTICAL.String(), - T_IS_EQUAL.String(), - T_IS_IDENTICAL.String(), - T_SL_EQUAL.String(), - T_SR_EQUAL.String(), - T_IS_GREATER_OR_EQUAL.String(), - T_IS_SMALLER_OR_EQUAL.String(), - T_POW.String(), - T_SL.String(), - T_SR.String(), - T_COALESCE.String(), + token.T_NS_SEPARATOR.String(), + token.T_ELLIPSIS.String(), + token.T_PAAMAYIM_NEKUDOTAYIM.String(), + token.T_BOOLEAN_AND.String(), + token.T_BOOLEAN_OR.String(), + token.T_AND_EQUAL.String(), + token.T_OR_EQUAL.String(), + token.T_CONCAT_EQUAL.String(), + token.T_MUL_EQUAL.String(), + token.T_POW_EQUAL.String(), + token.T_DIV_EQUAL.String(), + token.T_PLUS_EQUAL.String(), + token.T_MINUS_EQUAL.String(), + token.T_XOR_EQUAL.String(), + token.T_MOD_EQUAL.String(), + token.T_DEC.String(), + token.T_INC.String(), + token.T_DOUBLE_ARROW.String(), + token.T_SPACESHIP.String(), + token.T_IS_NOT_EQUAL.String(), + token.T_IS_NOT_EQUAL.String(), + token.T_IS_NOT_IDENTICAL.String(), + token.T_IS_EQUAL.String(), + token.T_IS_IDENTICAL.String(), + token.T_SL_EQUAL.String(), + token.T_SR_EQUAL.String(), + token.T_IS_GREATER_OR_EQUAL.String(), + token.T_IS_SMALLER_OR_EQUAL.String(), + token.T_POW.String(), + token.T_SL.String(), + token.T_SR.String(), + token.T_COALESCE.String(), - TokenID(int(';')).String(), - TokenID(int(':')).String(), - TokenID(int(',')).String(), - TokenID(int('.')).String(), - TokenID(int('[')).String(), - TokenID(int(']')).String(), - TokenID(int('(')).String(), - TokenID(int(')')).String(), - TokenID(int('|')).String(), - TokenID(int('/')).String(), - TokenID(int('^')).String(), - TokenID(int('&')).String(), - TokenID(int('+')).String(), - TokenID(int('-')).String(), - TokenID(int('*')).String(), - TokenID(int('=')).String(), - TokenID(int('%')).String(), - TokenID(int('!')).String(), - TokenID(int('~')).String(), - TokenID(int('$')).String(), - TokenID(int('<')).String(), - TokenID(int('>')).String(), - TokenID(int('?')).String(), - TokenID(int('@')).String(), - TokenID(int('{')).String(), - TokenID(int('}')).String(), + token.ID(int(';')).String(), + token.ID(int(':')).String(), + token.ID(int(',')).String(), + token.ID(int('.')).String(), + token.ID(int('[')).String(), + token.ID(int(']')).String(), + token.ID(int('(')).String(), + token.ID(int(')')).String(), + token.ID(int('|')).String(), + token.ID(int('/')).String(), + token.ID(int('^')).String(), + token.ID(int('&')).String(), + token.ID(int('+')).String(), + token.ID(int('-')).String(), + token.ID(int('*')).String(), + token.ID(int('=')).String(), + token.ID(int('%')).String(), + token.ID(int('!')).String(), + token.ID(int('~')).String(), + token.ID(int('$')).String(), + token.ID(int('<')).String(), + token.ID(int('>')).String(), + token.ID(int('?')).String(), + token.ID(int('@')).String(), + token.ID(int('{')).String(), + token.ID(int('}')).String(), - T_VARIABLE.String(), - T_STRING.String(), + token.T_VARIABLE.String(), + token.T_STRING.String(), - T_OBJECT_OPERATOR.String(), - T_OBJECT_OPERATOR.String(), - T_STRING.String(), + token.T_OBJECT_OPERATOR.String(), + token.T_OBJECT_OPERATOR.String(), + token.T_STRING.String(), - T_ARRAY_CAST.String(), - T_BOOL_CAST.String(), - T_BOOL_CAST.String(), - T_DOUBLE_CAST.String(), - T_DOUBLE_CAST.String(), - T_DOUBLE_CAST.String(), - T_INT_CAST.String(), - T_INT_CAST.String(), - T_OBJECT_CAST.String(), - T_STRING_CAST.String(), - T_STRING_CAST.String(), - T_UNSET_CAST.String(), + token.T_ARRAY_CAST.String(), + token.T_BOOL_CAST.String(), + token.T_BOOL_CAST.String(), + token.T_DOUBLE_CAST.String(), + token.T_DOUBLE_CAST.String(), + token.T_DOUBLE_CAST.String(), + token.T_INT_CAST.String(), + token.T_INT_CAST.String(), + token.T_OBJECT_CAST.String(), + token.T_STRING_CAST.String(), + token.T_STRING_CAST.String(), + token.T_UNSET_CAST.String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -381,15 +380,14 @@ func TestShebang(t *testing.T) { "\n", } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} tkn := lexer.Lex() - assert.Equal(t, tkn.ID, T_DNUMBER) + assert.Equal(t, tkn.ID, token.T_DNUMBER) - l := len(tkn.Tokens) - for _, tt := range tkn.Tokens[:l-1] { + l := len(tkn.SkippedTokens) + for _, tt := range tkn.SkippedTokens[:l-1] { actual = append(actual, string(tt.Value)) } @@ -402,15 +400,14 @@ func TestShebangHtml(t *testing.T) { 0.1 ` - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) tkn := lexer.Lex() - assert.Equal(t, tkn.ID, T_INLINE_HTML) - assert.Equal(t, string(tkn.Tokens[0].Value), "#!/usr/bin/env php\n") + assert.Equal(t, tkn.ID, token.T_INLINE_HTML) + assert.Equal(t, string(tkn.SkippedTokens[0].Value), "#!/usr/bin/env php\n") tkn = lexer.Lex() - assert.Equal(t, tkn.ID, T_DNUMBER) + assert.Equal(t, tkn.ID, token.T_DNUMBER) } func TestNumberTokens(t *testing.T) { @@ -434,26 +431,25 @@ func TestNumberTokens(t *testing.T) { ` expected := []string{ - T_DNUMBER.String(), - T_DNUMBER.String(), - T_DNUMBER.String(), - T_DNUMBER.String(), + token.T_DNUMBER.String(), + token.T_DNUMBER.String(), + token.T_DNUMBER.String(), + token.T_DNUMBER.String(), - T_LNUMBER.String(), - T_DNUMBER.String(), + token.T_LNUMBER.String(), + token.T_DNUMBER.String(), - T_LNUMBER.String(), - T_DNUMBER.String(), + token.T_LNUMBER.String(), + token.T_DNUMBER.String(), - T_LNUMBER.String(), - T_LNUMBER.String(), + token.T_LNUMBER.String(), + token.T_LNUMBER.String(), - T_DNUMBER.String(), - T_DNUMBER.String(), + token.T_DNUMBER.String(), + token.T_DNUMBER.String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -490,27 +486,26 @@ func TestConstantStrings(t *testing.T) { ` expected := []string{ - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -547,16 +542,16 @@ func TestSingleQuoteStringTokens(t *testing.T) { ` expected := []string{ - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), - T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -591,67 +586,66 @@ func TestTeplateStringTokens(t *testing.T) { ` expected := []string{ - TokenID(int('"')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('"')).String(), - TokenID(int('"')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - T_CURLY_OPEN.String(), - T_VARIABLE.String(), - TokenID(int('}')).String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.T_CURLY_OPEN.String(), + token.T_VARIABLE.String(), + token.ID(int('}')).String(), + token.ID(int('"')).String(), - TokenID(int('"')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_CURLY_OPEN.String(), - T_VARIABLE.String(), - TokenID(int('}')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_DOLLAR_OPEN_CURLY_BRACES.String(), - T_STRING_VARNAME.String(), - TokenID(int('}')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_CURLY_OPEN.String(), + token.T_VARIABLE.String(), + token.ID(int('}')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_DOLLAR_OPEN_CURLY_BRACES.String(), + token.T_STRING_VARNAME.String(), + token.ID(int('}')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.ID(int('"')).String(), - TokenID(int('"')).String(), - T_CURLY_OPEN.String(), - T_VARIABLE.String(), - TokenID(int('}')).String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_CURLY_OPEN.String(), + token.T_VARIABLE.String(), + token.ID(int('}')).String(), + token.ID(int('"')).String(), - TokenID(int('"')).String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.ID(int('"')).String(), - TokenID(int('"')).String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.ID(int('"')).String(), - TokenID(int('"')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('"')).String(), - TokenID(int('"')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('"')).String(), - TokenID(int('"')).String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - TokenID(int('"')).String(), + token.ID(int('"')).String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.ID(int('"')).String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -682,67 +676,66 @@ func TestBackquoteStringTokens(t *testing.T) { ` expected := []string{ - TokenID(int('`')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('`')).String(), - TokenID(int('`')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - T_CURLY_OPEN.String(), - T_VARIABLE.String(), - TokenID(int('}')).String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.T_CURLY_OPEN.String(), + token.T_VARIABLE.String(), + token.ID(int('}')).String(), + token.ID(int('`')).String(), - TokenID(int('`')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_CURLY_OPEN.String(), - T_VARIABLE.String(), - TokenID(int('}')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_DOLLAR_OPEN_CURLY_BRACES.String(), - T_STRING_VARNAME.String(), - TokenID(int('}')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_CURLY_OPEN.String(), + token.T_VARIABLE.String(), + token.ID(int('}')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_DOLLAR_OPEN_CURLY_BRACES.String(), + token.T_STRING_VARNAME.String(), + token.ID(int('}')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.ID(int('`')).String(), - TokenID(int('`')).String(), - T_CURLY_OPEN.String(), - T_VARIABLE.String(), - TokenID(int('}')).String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_CURLY_OPEN.String(), + token.T_VARIABLE.String(), + token.ID(int('}')).String(), + token.ID(int('`')).String(), - TokenID(int('`')).String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.ID(int('`')).String(), - TokenID(int('`')).String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.ID(int('`')).String(), - TokenID(int('`')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('`')).String(), - TokenID(int('`')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('`')).String(), - TokenID(int('`')).String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - TokenID(int('`')).String(), + token.ID(int('`')).String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.ID(int('`')).String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -782,61 +775,60 @@ CAT; ` expected := []string{ - T_START_HEREDOC.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), - T_START_HEREDOC.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), - T_START_HEREDOC.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - T_OBJECT_OPERATOR.String(), - T_STRING.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('[')).String(), - T_NUM_STRING.String(), - TokenID(int(']')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('[')).String(), - T_NUM_STRING.String(), - TokenID(int(']')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('[')).String(), - T_NUM_STRING.String(), - TokenID(int(']')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('[')).String(), - T_STRING.String(), - TokenID(int(']')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - TokenID(int('[')).String(), - T_VARIABLE.String(), - TokenID(int(']')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_CURLY_OPEN.String(), - T_VARIABLE.String(), - TokenID(int('}')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_DOLLAR_OPEN_CURLY_BRACES.String(), - T_STRING_VARNAME.String(), - TokenID(int('}')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.T_OBJECT_OPERATOR.String(), + token.T_STRING.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('[')).String(), + token.T_NUM_STRING.String(), + token.ID(int(']')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('[')).String(), + token.T_NUM_STRING.String(), + token.ID(int(']')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('[')).String(), + token.T_NUM_STRING.String(), + token.ID(int(']')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('[')).String(), + token.T_STRING.String(), + token.ID(int(']')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.ID(int('[')).String(), + token.T_VARIABLE.String(), + token.ID(int(']')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_CURLY_OPEN.String(), + token.T_VARIABLE.String(), + token.ID(int('}')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_DOLLAR_OPEN_CURLY_BRACES.String(), + token.T_STRING_VARNAME.String(), + token.ID(int('}')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -875,41 +867,40 @@ CAT ` expected := []string{ - T_START_HEREDOC.String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), - T_START_HEREDOC.String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), - T_START_HEREDOC.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), - T_START_HEREDOC.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), - T_START_HEREDOC.String(), - T_VARIABLE.String(), - T_VARIABLE.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), + token.T_START_HEREDOC.String(), + token.T_VARIABLE.String(), + token.T_VARIABLE.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -934,21 +925,20 @@ CAT; expected := []string{ - T_START_HEREDOC.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_CURLY_OPEN.String(), - T_VARIABLE.String(), - TokenID(int('[')).String(), - T_CONSTANT_ENCAPSED_STRING.String(), - TokenID(int(']')).String(), - TokenID(int('}')).String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_CURLY_OPEN.String(), + token.T_VARIABLE.String(), + token.ID(int('[')).String(), + token.T_CONSTANT_ENCAPSED_STRING.String(), + token.ID(int(']')).String(), + token.ID(int('}')).String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -971,15 +961,14 @@ func TestHereDocTokens73(t *testing.T) { expected := []string{ - T_START_HEREDOC.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(',')).String(), - T_VARIABLE.String(), + token.T_START_HEREDOC.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(',')).String(), + token.T_VARIABLE.String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -1002,15 +991,14 @@ CAT;` expected := []string{ - T_START_HEREDOC.String(), - T_ENCAPSED_AND_WHITESPACE.String(), - T_END_HEREDOC.String(), - TokenID(int(';')).String(), + token.T_START_HEREDOC.String(), + token.T_ENCAPSED_AND_WHITESPACE.String(), + token.T_END_HEREDOC.String(), + token.ID(int(';')).String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) + lexer := NewLexer([]byte(src), "7.4", nil) lexer.phpVersion = "7.2" - lexer.withTokens = true actual := []string{} for { @@ -1032,17 +1020,16 @@ func TestInlineHtmlNopTokens(t *testing.T) { ` expected := []string{ - T_VARIABLE.String(), - TokenID(int(';')).String(), - T_INLINE_HTML.String(), + token.T_VARIABLE.String(), + token.ID(int(';')).String(), + token.T_INLINE_HTML.String(), - T_VARIABLE.String(), - TokenID(int(';')).String(), - T_INLINE_HTML.String(), + token.T_VARIABLE.String(), + token.ID(int(';')).String(), + token.T_INLINE_HTML.String(), } - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) actual := []string{} for { @@ -1061,11 +1048,11 @@ func TestStringTokensAfterVariable(t *testing.T) { src := ` test` - expected := []token.Token{ + expected := []*token.Token{ { ID: token.T_OPEN_TAG, Value: []byte(" bar ( '' ) ;` - lexer := NewLexer([]byte(src), "7.4", false, nil) - lexer.withTokens = true + lexer := NewLexer([]byte(src), "7.4", nil) - expected := []token.Token{ + expected := []*token.Token{ { ID: token.T_OPEN_TAG, Value: []byte("= TokenID(len(_TokenID_index)-1) { - return "TokenID(" + strconv.FormatInt(int64(i+57346), 10) + ")" - } - return _TokenID_name[_TokenID_index[i]:_TokenID_index[i+1]] -} diff --git a/pkg/ast/node.go b/pkg/ast/node.go index 81f6ef4..85b494a 100644 --- a/pkg/ast/node.go +++ b/pkg/ast/node.go @@ -16,6 +16,10 @@ func (n *Node) GetNode() *Node { return n } +func (n *Node) GetPosition() *position.Position { + return n.Position +} + // Root node type Root struct { Node diff --git a/pkg/ast/visitor/dump.go b/pkg/ast/visitor/dump.go index 312b888..67bbaac 100644 --- a/pkg/ast/visitor/dump.go +++ b/pkg/ast/visitor/dump.go @@ -121,7 +121,7 @@ func (v *Dump) printNode(n *ast.Node) { key := token.Position(k) v.printIndent(v.indent + 2) - v.print("token." + key.String() + ": []token.Token{\n") + v.print("token." + key.String() + ": []*token.Token{\n") for _, tkn := range n.Tokens[key] { v.printIndent(v.indent + 3) diff --git a/pkg/ast/visitor/dump_test.go b/pkg/ast/visitor/dump_test.go index cc9a387..0ccdc27 100644 --- a/pkg/ast/visitor/dump_test.go +++ b/pkg/ast/visitor/dump_test.go @@ -13,7 +13,7 @@ func ExampleDump() { stxTree := &ast.Root{ Node: ast.Node{ Tokens: token.Collection{ - token.Start: []token.Token{ + token.Start: []*token.Token{ { ID: token.T_WHITESPACE, Value: []byte(" "), @@ -44,7 +44,7 @@ func ExampleDump() { //&ast.Root{ // Node: ast.Node{ // Tokens: token.Collection{ - // token.Start: []token.Token{ + // token.Start: []*token.Token{ // { // ID: token.T_WHITESPACE, // Value: []byte(" "), diff --git a/pkg/ast/visitor/filter_tokens.go b/pkg/ast/visitor/filter_tokens.go new file mode 100644 index 0000000..c69a3f6 --- /dev/null +++ b/pkg/ast/visitor/filter_tokens.go @@ -0,0 +1,14 @@ +package visitor + +import ( + "github.com/z7zmey/php-parser/pkg/ast" +) + +type FilterTokens struct { + Null +} + +func (v *FilterTokens) EnterNode(n ast.Vertex) bool { + n.GetNode().Tokens = nil + return true +} diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index 67974fd..a50d09e 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -29,7 +29,7 @@ func Parse(src []byte, ver string, cfg Config) (ast.Vertex, error) { return nil, err } - lexer := scanner.NewLexer(src, ver, cfg.WithTokens, cfg.ErrorHandlerFunc) + lexer := scanner.NewLexer(src, ver, cfg.ErrorHandlerFunc) if r == -1 { parser = php5.NewParser(lexer, cfg.ErrorHandlerFunc) diff --git a/pkg/position/pool.go b/pkg/position/pool.go new file mode 100644 index 0000000..ad26891 --- /dev/null +++ b/pkg/position/pool.go @@ -0,0 +1,29 @@ +package position + +const DefaultBlockSize = 1024 + +type Pool struct { + block []Position + off int +} + +func NewPool(blockSize int) *Pool { + return &Pool{ + block: make([]Position, blockSize), + } +} + +func (p *Pool) Get() *Position { + if len(p.block) == 0 { + return nil + } + + if len(p.block) == p.off { + p.block = make([]Position, len(p.block)) + p.off = 0 + } + + p.off++ + + return &p.block[p.off-1] +} diff --git a/pkg/printer/printer_parsed_php5_test.go b/pkg/printer/printer_parsed_php5_test.go index 24b5acd..2745542 100644 --- a/pkg/printer/printer_parsed_php5_test.go +++ b/pkg/printer/printer_parsed_php5_test.go @@ -12,7 +12,7 @@ import ( ) func parsePhp5(src string) ast.Vertex { - lexer := scanner.NewLexer([]byte(src), "5.6", true, nil) + lexer := scanner.NewLexer([]byte(src), "5.6", nil) php5parser := php5.NewParser(lexer, nil) php5parser.Parse() diff --git a/pkg/printer/printer_parsed_php7_test.go b/pkg/printer/printer_parsed_php7_test.go index 317ea02..5978f5d 100644 --- a/pkg/printer/printer_parsed_php7_test.go +++ b/pkg/printer/printer_parsed_php7_test.go @@ -29,7 +29,7 @@ abstract class Bar extends Baz // parse - lexer := scanner.NewLexer([]byte(src), "7.4", true, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() @@ -61,7 +61,7 @@ abstract class Bar extends Baz } func parse(src string) ast.Vertex { - lexer := scanner.NewLexer([]byte(src), "7.4", true, nil) + lexer := scanner.NewLexer([]byte(src), "7.4", nil) php7parser := php7.NewParser(lexer, nil) php7parser.Parse() diff --git a/pkg/printer/printer_test.go b/pkg/printer/printer_test.go index 8e85ac0..8e6d4e0 100644 --- a/pkg/printer/printer_test.go +++ b/pkg/printer/printer_test.go @@ -75,7 +75,7 @@ func TestPrinterPrintFileInlineHtml(t *testing.T) { Expr: &ast.ExprVariable{ Node: ast.Node{ Tokens: token.Collection{ - token.Start: []token.Token{ + token.Start: []*token.Token{ { ID: token.ID('$'), Value: []byte("$"), @@ -93,7 +93,7 @@ func TestPrinterPrintFileInlineHtml(t *testing.T) { Expr: &ast.ExprVariable{ Node: ast.Node{ Tokens: token.Collection{ - token.Start: []token.Token{ + token.Start: []*token.Token{ { ID: token.ID('$'), Value: []byte("$"), diff --git a/pkg/token/pool.go b/pkg/token/pool.go new file mode 100644 index 0000000..02c88ee --- /dev/null +++ b/pkg/token/pool.go @@ -0,0 +1,29 @@ +package token + +const DefaultBlockSize = 1024 + +type Pool struct { + block []Token + off int +} + +func NewPool(blockSize int) *Pool { + return &Pool{ + block: make([]Token, blockSize), + } +} + +func (p *Pool) Get() *Token { + if len(p.block) == 0 { + return nil + } + + if len(p.block) == p.off { + p.block = make([]Token, len(p.block)) + p.off = 0 + } + + p.off++ + + return &p.block[p.off-1] +} diff --git a/pkg/token/pool_bench_test.go b/pkg/token/pool_bench_test.go new file mode 100644 index 0000000..f6b3faf --- /dev/null +++ b/pkg/token/pool_bench_test.go @@ -0,0 +1,173 @@ +package token + +import ( + "testing" +) + +const amount = 100000 + +func BenchmarkPlain(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + + for i := 0; i < amount; i++ { + buf = append(buf, &Token{}) + } + } +} + +func BenchmarkSlice128(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + slc := make([]Token, 0, 128) + + for i := 0; i < amount; i++ { + slc = append(slc, Token{}) + buf = append(buf, &slc[len(slc)-1]) + } + } +} + +func BenchmarkSlice512(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + slc := make([]Token, 0, 512) + + for i := 0; i < amount; i++ { + slc = append(slc, Token{}) + buf = append(buf, &slc[len(slc)-1]) + } + } +} + +func BenchmarkSlice1024(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + slc := make([]Token, 0, 1024) + + for i := 0; i < amount; i++ { + slc = append(slc, Token{}) + buf = append(buf, &slc[len(slc)-1]) + } + } +} + +func BenchmarkSlice2048(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + slc := make([]Token, 0, 2048) + + for i := 0; i < amount; i++ { + slc = append(slc, Token{}) + buf = append(buf, &slc[len(slc)-1]) + } + } +} + +func BenchmarkBlockAppend128(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + slc := make([]Token, 0, 128) + + for i := 0; i < amount; i++ { + if len(slc) == 128 { + slc = make([]Token, 0, 128) + } + + slc = append(slc, Token{}) + buf = append(buf, &slc[len(slc)-1]) + } + } +} + +func BenchmarkBlockAppend512(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + slc := make([]Token, 0, 512) + + for i := 0; i < amount; i++ { + if len(slc) == 512 { + slc = make([]Token, 0, 512) + } + + slc = append(slc, Token{}) + buf = append(buf, &slc[len(slc)-1]) + } + } +} + +func BenchmarkBlockAppend1024(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + slc := make([]Token, 0, 1024) + + for i := 0; i < amount; i++ { + if len(slc) == 1024 { + slc = make([]Token, 0, 1024) + } + + slc = append(slc, Token{}) + buf = append(buf, &slc[len(slc)-1]) + } + } +} + +func BenchmarkBlockAppend2048(b *testing.B) { + for n := 0; n < b.N; n++ { + buf := make([]*Token, 0, amount) + slc := make([]Token, 0, 2048) + + for i := 0; i < amount; i++ { + if len(slc) == 2048 { + slc = make([]Token, 0, 2048) + } + + slc = append(slc, Token{}) + buf = append(buf, &slc[len(slc)-1]) + } + } +} + +func BenchmarkPool128(b *testing.B) { + for n := 0; n < b.N; n++ { + pool := NewPool(128) + buf := make([]*Token, 0, amount) + + for i := 0; i < amount; i++ { + buf = append(buf, pool.Get()) + } + } +} + +func BenchmarkPool512(b *testing.B) { + for n := 0; n < b.N; n++ { + pool := NewPool(512) + buf := make([]*Token, 0, amount) + + for i := 0; i < amount; i++ { + buf = append(buf, pool.Get()) + } + } +} + +func BenchmarkPool1024(b *testing.B) { + for n := 0; n < b.N; n++ { + pool := NewPool(1024) + buf := make([]*Token, 0, amount) + + for i := 0; i < amount; i++ { + buf = append(buf, pool.Get()) + } + } +} + +func BenchmarkPool2048(b *testing.B) { + for n := 0; n < b.N; n++ { + pool := NewPool(2048) + buf := make([]*Token, 0, amount) + + for i := 0; i < amount; i++ { + buf = append(buf, pool.Get()) + } + } +} diff --git a/pkg/token/position.go b/pkg/token/position.go index 2ea40d4..cd76285 100644 --- a/pkg/token/position.go +++ b/pkg/token/position.go @@ -62,7 +62,7 @@ const ( CloseParenthesisToken ) -type Collection map[Position][]Token +type Collection map[Position][]*Token func (c Collection) IsEmpty() bool { for _, v := range c { diff --git a/pkg/token/token.go b/pkg/token/token.go index c1fa07e..b36c85f 100644 --- a/pkg/token/token.go +++ b/pkg/token/token.go @@ -1,5 +1,7 @@ package token +import "github.com/z7zmey/php-parser/pkg/position" + //go:generate stringer -type=ID -output ./token_string.go type ID int @@ -145,6 +147,13 @@ const ( ) type Token struct { - ID ID - Value []byte + ID ID + Value []byte + Position *position.Position + SkippedTokens []*Token + Skipped []byte +} + +func (t *Token) GetPosition() *position.Position { + return t.Position }