From 94897d8c6682ad30f43eb09db680b73ab0526bf5 Mon Sep 17 00:00:00 2001 From: Vadym Slizov Date: Fri, 4 Dec 2020 13:10:12 +0200 Subject: [PATCH] [refactoring] remove *FreeFloating* functions --- internal/php5/parser.go | 109 ---------------------------------------- internal/php5/php5.go | Bin 265977 -> 262882 bytes internal/php5/php5.y | 34 ------------- internal/php7/parser.go | 109 ---------------------------------------- internal/php7/php7.go | Bin 219796 -> 218067 bytes internal/php7/php7.y | 14 ------ 6 files changed, 266 deletions(-) diff --git a/internal/php5/parser.go b/internal/php5/parser.go index 5b06343..ee75429 100644 --- a/internal/php5/parser.go +++ b/internal/php5/parser.go @@ -1,8 +1,6 @@ package php5 import ( - "bytes" - "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/errors" @@ -62,110 +60,3 @@ func lastNode(nn []ast.Vertex) ast.Vertex { } return nn[len(nn)-1] } - -func (p *Parser) MoveFreeFloating(src ast.Vertex, dst ast.Vertex) { - if _, ok := src.GetNode().Tokens[token.Start]; !ok { - return - } - - if src.GetNode().Tokens == nil { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - (*dstCollection)[token.Start] = src.GetNode().Tokens[token.Start] - delete(src.GetNode().Tokens, token.Start) -} - -func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - l := len(tokens) - for _, v := range tokens[0 : l-1] { - (*dstCollection)[pos] = append((*dstCollection)[pos], v) - } -} - -func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - (*dstCollection)[pos] = make([]*token.Token, 0) - - for _, v := range tokens { - (*dstCollection)[pos] = append((*dstCollection)[pos], v) - } -} - -func (p *Parser) setToken(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - l := len(tokens) - (*dstCollection)[pos] = append((*dstCollection)[pos], tokens[l-1]) -} - -func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast.Vertex) { - if _, ok := prevNode.GetNode().Tokens[token.SemiColon]; !ok { - return - } - - semiColon := prevNode.GetNode().Tokens[token.SemiColon] - delete(prevNode.GetNode().Tokens, token.SemiColon) - if len(semiColon) == 0 { - return - } - - if semiColon[0].Value[0] == ';' { - p.setFreeFloatingTokens(prevNode, token.SemiColon, []*token.Token{ - { - ID: token.ID(';'), - Value: semiColon[0].Value[0:1], - }, - }) - } - - vlen := len(semiColon[0].Value) - tlen := 2 - if bytes.HasSuffix(semiColon[0].Value, []byte("?>\n")) { - tlen = 3 - } - - phpCloseTag := []*token.Token{} - if vlen-tlen > 1 { - phpCloseTag = append(phpCloseTag, &token.Token{ - ID: token.T_WHITESPACE, - Value: semiColon[0].Value[1 : vlen-tlen], - }) - } - - phpCloseTag = append(phpCloseTag, &token.Token{ - ID: T_CLOSE_TAG, - Value: semiColon[0].Value[vlen-tlen:], - }) - - p.setFreeFloatingTokens(htmlNode, token.Start, append(phpCloseTag, htmlNode.GetNode().Tokens[token.Start]...)) -} diff --git a/internal/php5/php5.go b/internal/php5/php5.go index 626fc16ccbf360ff1988ca8972dc6a6a12f02b40..bff63f66f0d496776932345fd98e5ebfcf1777ac 100644 GIT binary patch delta 9661 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 delta 12768 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 diff --git a/internal/php5/php5.y b/internal/php5/php5.y index 48045f0..2a24915 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -280,11 +280,6 @@ start: top_statement_list: top_statement_list top_statement { - if inlineHtmlNode, ok := $2.(*ast.StmtInlineHtml); ok && len($1) > 0 { - prevNode := lastNode($1) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if $2 != nil { $$ = append($1, $2) } @@ -744,8 +739,6 @@ constant_declaration: }) $$ = $1 - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.StmtConstList).Consts).(*ast.StmtConstant).Name, token.Start, $3.SkippedTokens) } | T_CONST T_STRING '=' static_scalar { @@ -771,19 +764,12 @@ constant_declaration: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.StmtConstList).Consts).(*ast.StmtConstant).Name, token.Start, $2.SkippedTokens) } ; inner_statement_list: inner_statement_list inner_statement { - if inlineHtmlNode, ok := $2.(*ast.StmtInlineHtml); ok && len($1) > 0 { - prevNode := lastNode($1) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if $2 != nil { $$ = append($1, $2) } @@ -1752,8 +1738,6 @@ declare_list: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.ParserSeparatedList).Items).(*ast.StmtConstant).Name, token.Start, $1.SkippedTokens) } | declare_list ',' T_STRING '=' static_scalar { @@ -1777,8 +1761,6 @@ declare_list: ) $$ = $1 - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.ParserSeparatedList).Items).(*ast.StmtConstant).Name, token.Start, $3.SkippedTokens) } ; @@ -2923,8 +2905,6 @@ class_constant_declaration: }) $$ = $1 - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.StmtClassConstList).Consts).(*ast.StmtConstant).Name, token.Start, $3.SkippedTokens) } | T_CONST T_STRING '=' static_scalar { @@ -2950,8 +2930,6 @@ class_constant_declaration: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.StmtClassConstList).Consts).(*ast.StmtConstant).Name, token.Start, $2.SkippedTokens) } ; @@ -3624,7 +3602,6 @@ expr_without_variable: OpTkn: $2, Right: $3, } - yylex.(*Parser).setToken($$, token.Equal, $2.SkippedTokens) } | expr '<' expr { @@ -4416,13 +4393,11 @@ dynamic_class_name_reference: nn.Var = $$ $$.GetNode().Position = position.NewNodesPosition($$, nn) $$ = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, $$) case *ast.ExprPropertyFetch: nn.Var = $$ $$.GetNode().Position = position.NewNodesPosition($$, nn) $$ = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, $$) } } @@ -4432,13 +4407,11 @@ dynamic_class_name_reference: nn.Var = $$ $$.GetNode().Position = position.NewNodesPosition($$, nn) $$ = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, $$) case *ast.ExprPropertyFetch: nn.Var = $$ $$.GetNode().Position = position.NewNodesPosition($$, nn) $$ = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, $$) } } } @@ -5046,7 +5019,6 @@ static_operation: OpTkn: $2, Right: $3, } - yylex.(*Parser).setToken($$, token.Equal, $2.SkippedTokens) } | static_scalar_value '<' static_scalar_value { @@ -6333,12 +6305,6 @@ encaps_var_offset: Value: $1.Value, } } - - // save position - $$.GetNode().Position = position.NewTokenPosition($1) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_VARIABLE { diff --git a/internal/php7/parser.go b/internal/php7/parser.go index 32f3fa5..f49ecd8 100644 --- a/internal/php7/parser.go +++ b/internal/php7/parser.go @@ -1,8 +1,6 @@ package php7 import ( - "bytes" - "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/errors" @@ -62,110 +60,3 @@ func lastNode(nn []ast.Vertex) ast.Vertex { } return nn[len(nn)-1] } - -func (p *Parser) MoveFreeFloating(src ast.Vertex, dst ast.Vertex) { - if _, ok := src.GetNode().Tokens[token.Start]; !ok { - return - } - - if src.GetNode().Tokens == nil { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - (*dstCollection)[token.Start] = src.GetNode().Tokens[token.Start] - delete(src.GetNode().Tokens, token.Start) -} - -func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - l := len(tokens) - for _, v := range tokens[0 : l-1] { - (*dstCollection)[pos] = append((*dstCollection)[pos], v) - } -} - -func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - (*dstCollection)[pos] = make([]*token.Token, 0) - - for _, v := range tokens { - (*dstCollection)[pos] = append((*dstCollection)[pos], v) - } -} - -func (p *Parser) setToken(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - l := len(tokens) - (*dstCollection)[pos] = append((*dstCollection)[pos], tokens[l-1]) -} - -func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast.Vertex) { - if _, ok := prevNode.GetNode().Tokens[token.SemiColon]; !ok { - return - } - - semiColon := prevNode.GetNode().Tokens[token.SemiColon] - delete(prevNode.GetNode().Tokens, token.SemiColon) - if len(semiColon) == 0 { - return - } - - if semiColon[0].Value[0] == ';' { - p.setFreeFloatingTokens(prevNode, token.SemiColon, []*token.Token{ - { - ID: token.ID(';'), - Value: semiColon[0].Value[0:1], - }, - }) - } - - vlen := len(semiColon[0].Value) - tlen := 2 - if bytes.HasSuffix(semiColon[0].Value, []byte("?>\n")) { - tlen = 3 - } - - phpCloseTag := []*token.Token{} - if vlen-tlen > 1 { - phpCloseTag = append(phpCloseTag, &token.Token{ - ID: token.T_WHITESPACE, - Value: semiColon[0].Value[1 : vlen-tlen], - }) - } - - phpCloseTag = append(phpCloseTag, &token.Token{ - ID: T_CLOSE_TAG, - Value: semiColon[0].Value[vlen-tlen:], - }) - - p.setFreeFloatingTokens(htmlNode, token.Start, append(phpCloseTag, htmlNode.GetNode().Tokens[token.Start]...)) -} diff --git a/internal/php7/php7.go b/internal/php7/php7.go index 35f39c1cc9ba8bda32d70573fa4134f23d812f32..c592f8c04798e7589fac0f7c8c8baddd64fe49ac 100644 GIT binary patch delta 7212 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 delta 9158 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 0 { - prevNode := lastNode($1) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if $2 != nil { $$ = append($1, $2) } @@ -796,11 +791,6 @@ const_list: inner_statement_list: inner_statement_list inner_statement { - if inlineHtmlNode, ok := $2.(*ast.StmtInlineHtml); ok && len($1) > 0 { - prevNode := lastNode($1) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if $2 != nil { $$ = append($1, $2) } @@ -2633,8 +2623,6 @@ class_const_decl: EqualTkn: $2, Expr: $3, } - - yylex.(*Parser).setFreeFloating($$.(*ast.StmtConstant).Name, token.Start, $1.SkippedTokens) } ; @@ -2655,8 +2643,6 @@ const_decl: EqualTkn: $2, Expr: $3, } - - yylex.(*Parser).setFreeFloating($$.(*ast.StmtConstant).Name, token.Start, $1.SkippedTokens) } ;