From 4aae540aad17a68c39690113ae88d438a1b75a3c Mon Sep 17 00:00:00 2001 From: Vadym Slizov Date: Sun, 9 Aug 2020 01:37:09 +0200 Subject: [PATCH] [refactoring] store argument list parenthesis --- internal/php5/php5.go | Bin 332754 -> 332763 bytes internal/php5/php5.y | 12 ++++++------ internal/php7/php7.go | Bin 274511 -> 274514 bytes internal/php7/php7.y | 10 +++++----- pkg/printer/printer.go | 35 ++++++++++------------------------- pkg/token/position.go | 1 - pkg/token/position_string.go | 17 ++++++++--------- 7 files changed, 29 insertions(+), 46 deletions(-) diff --git a/internal/php5/php5.go b/internal/php5/php5.go index b8faaea75d4a1919d0548cc90a1edbdccd90df6f..908d035f2e05f28aaef5b8a6c4ea7a489a37dac3 100644 GIT binary patch delta 74 zcmcb#T;%q0k%kt=ElgaQ(-S5zN=|op%91s`;5B3L_Pd!(_Ka}Bz1!bsGo41_xA*2T N0WtIT-aHo9r2u+#9%cXl delta 112 zcmcb;T;$Snk%kt=ElgaQ(-Y1xXR0THvnC)-WY+e;>kR$2k3h3#0k;eQOwb zrZ?C!iA{g7hS7){rp_m`czUBTv+(pTD@NVv5o;M;5Jnt4!K6IB!H$V-`YT5!`}XbO MOxw4IGta&O0Kt|mo&W#< diff --git a/internal/php7/php7.y b/internal/php7/php7.y index 5193903..4a2af09 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -2318,8 +2318,8 @@ argument_list: $$.GetNode().Position = position.NewTokensPosition($1, $2) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArgumentList, $2.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $2.Tokens) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } @@ -2331,11 +2331,11 @@ argument_list: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) if $3 != nil { - yylex.(*Parser).setFreeFloating($$, token.ArgumentList, append($3.Tokens, $4.Tokens...)) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, append($3.Tokens, $4.Tokens...)) } else { - yylex.(*Parser).setFreeFloating($$, token.ArgumentList, $4.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $4.Tokens) } yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) diff --git a/pkg/printer/printer.go b/pkg/printer/printer.go index a5c5db5..e269a6d 100644 --- a/pkg/printer/printer.go +++ b/pkg/printer/printer.go @@ -1587,12 +1587,9 @@ func (p *Printer) printExprFunctionCall(n ast.Vertex) { p.Print(nn.Function) - p.printFreeFloating(nn.ArgumentList, token.Start) - io.WriteString(p.w, "(") + p.printFreeFloatingOrDefault(nn.ArgumentList, token.Start, "(") p.joinPrint(",", nn.ArgumentList.Arguments) - p.printFreeFloating(nn.ArgumentList, token.ArgumentList) - io.WriteString(p.w, ")") - p.printFreeFloating(nn.ArgumentList, token.End) + p.printFreeFloatingOrDefault(nn.ArgumentList, token.End, ")") p.printFreeFloating(nn, token.End) } @@ -1674,12 +1671,9 @@ func (p *Printer) printExprMethodCall(n ast.Vertex) { io.WriteString(p.w, "->") p.Print(nn.Method) - p.printFreeFloating(nn.ArgumentList, token.Start) - io.WriteString(p.w, "(") + p.printFreeFloatingOrDefault(nn.ArgumentList, token.Start, "(") p.joinPrint(",", nn.ArgumentList.Arguments) - p.printFreeFloating(nn.ArgumentList, token.ArgumentList) - io.WriteString(p.w, ")") - p.printFreeFloating(nn.ArgumentList, token.End) + p.printFreeFloatingOrDefault(nn.ArgumentList, token.End, ")") p.printFreeFloating(nn, token.End) } @@ -1693,12 +1687,9 @@ func (p *Printer) printExprNew(n ast.Vertex) { p.Print(nn.Class) if nn.ArgumentList != nil { - p.printFreeFloating(nn.ArgumentList, token.Start) - io.WriteString(p.w, "(") + p.printFreeFloatingOrDefault(nn.ArgumentList, token.Start, "(") p.joinPrint(",", nn.ArgumentList.Arguments) - p.printFreeFloating(nn.ArgumentList, token.ArgumentList) - io.WriteString(p.w, ")") - p.printFreeFloating(nn.ArgumentList, token.End) + p.printFreeFloatingOrDefault(nn.ArgumentList, token.End, ")") } p.printFreeFloating(nn, token.End) @@ -1851,12 +1842,9 @@ func (p *Printer) printExprStaticCall(n ast.Vertex) { io.WriteString(p.w, "::") p.Print(nn.Call) - p.printFreeFloating(nn.ArgumentList, token.Start) - io.WriteString(p.w, "(") + p.printFreeFloatingOrDefault(nn.ArgumentList, token.Start, "(") p.joinPrint(",", nn.ArgumentList.Arguments) - p.printFreeFloating(nn.ArgumentList, token.ArgumentList) - io.WriteString(p.w, ")") - p.printFreeFloating(nn.ArgumentList, token.End) + p.printFreeFloatingOrDefault(nn.ArgumentList, token.End, ")") p.printFreeFloating(nn, token.End) } @@ -2320,12 +2308,9 @@ func (p *Printer) printStmtClass(n ast.Vertex) { } if nn.ArgumentList != nil { - p.printFreeFloating(nn.ArgumentList, token.Start) - io.WriteString(p.w, "(") + p.printFreeFloatingOrDefault(nn.ArgumentList, token.Start, "(") p.joinPrint(",", nn.ArgumentList.Arguments) - p.printFreeFloating(nn.ArgumentList, token.ArgumentList) - io.WriteString(p.w, ")") - p.printFreeFloating(nn.ArgumentList, token.End) + p.printFreeFloatingOrDefault(nn.ArgumentList, token.End, ")") } if nn.Extends != nil { diff --git a/pkg/token/position.go b/pkg/token/position.go index 09559e8..329f8aa 100644 --- a/pkg/token/position.go +++ b/pkg/token/position.go @@ -63,7 +63,6 @@ const ( ArrayPairList CaseListStart CaseListEnd - ArgumentList PropertyList ParameterList AdaptationList diff --git a/pkg/token/position_string.go b/pkg/token/position_string.go index 5a62283..389ec94 100644 --- a/pkg/token/position_string.go +++ b/pkg/token/position_string.go @@ -65,18 +65,17 @@ func _() { _ = x[ArrayPairList-54] _ = x[CaseListStart-55] _ = x[CaseListEnd-56] - _ = x[ArgumentList-57] - _ = x[PropertyList-58] - _ = x[ParameterList-59] - _ = x[AdaptationList-60] - _ = x[LexicalVarList-61] - _ = x[OpenParenthesisToken-62] - _ = x[CloseParenthesisToken-63] + _ = x[PropertyList-57] + _ = x[ParameterList-58] + _ = x[AdaptationList-59] + _ = x[LexicalVarList-60] + _ = x[OpenParenthesisToken-61] + _ = x[CloseParenthesisToken-62] } -const _Position_name = "StartEndSemiColonAltEndAmpersandNameKeyVarReturnTypeCaseSeparatorLexicalVarsParamsRefCastExprInitExprCondExprIncExprTrueCondNamespaceStaticClassUseWhileForSwitchForeachDeclareLabelFinallyListDefaultIfElseIfElseFunctionAliasEqualExitArrayIssetEmptyEvalEchoTryCatchUnsetStmtsVarListConstListNameListParamListModifierListArrayPairListCaseListStartCaseListEndArgumentListPropertyListParameterListAdaptationListLexicalVarListOpenParenthesisTokenCloseParenthesisToken" +const _Position_name = "StartEndSemiColonAltEndAmpersandNameKeyVarReturnTypeCaseSeparatorLexicalVarsParamsRefCastExprInitExprCondExprIncExprTrueCondNamespaceStaticClassUseWhileForSwitchForeachDeclareLabelFinallyListDefaultIfElseIfElseFunctionAliasEqualExitArrayIssetEmptyEvalEchoTryCatchUnsetStmtsVarListConstListNameListParamListModifierListArrayPairListCaseListStartCaseListEndPropertyListParameterListAdaptationListLexicalVarListOpenParenthesisTokenCloseParenthesisToken" -var _Position_index = [...]uint16{0, 5, 8, 17, 23, 32, 36, 39, 42, 52, 65, 76, 82, 85, 89, 93, 101, 109, 116, 120, 124, 133, 139, 144, 147, 152, 155, 161, 168, 175, 180, 187, 191, 198, 200, 206, 210, 218, 223, 228, 232, 237, 242, 247, 251, 255, 258, 263, 268, 273, 280, 289, 297, 306, 318, 331, 344, 355, 367, 379, 392, 406, 420, 440, 461} +var _Position_index = [...]uint16{0, 5, 8, 17, 23, 32, 36, 39, 42, 52, 65, 76, 82, 85, 89, 93, 101, 109, 116, 120, 124, 133, 139, 144, 147, 152, 155, 161, 168, 175, 180, 187, 191, 198, 200, 206, 210, 218, 223, 228, 232, 237, 242, 247, 251, 255, 258, 263, 268, 273, 280, 289, 297, 306, 318, 331, 344, 355, 367, 380, 394, 408, 428, 449} func (i Position) String() string { if i < 0 || i >= Position(len(_Position_index)-1) {