diff --git a/internal/php5/php5.go b/internal/php5/php5.go index b8faaea..908d035 100644 Binary files a/internal/php5/php5.go and b/internal/php5/php5.go differ diff --git a/internal/php5/php5.y b/internal/php5/php5.y index 5aa8b9e..23864be 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -2404,8 +2404,8 @@ function_call_parameter_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) } @@ -2417,8 +2417,8 @@ function_call_parameter_list: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArgumentList, $3.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } @@ -2432,8 +2432,8 @@ function_call_parameter_list: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.Tokens) - yylex.(*Parser).setFreeFloating($$, token.ArgumentList, $3.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.Start, $1.Tokens) + yylex.(*Parser).setFreeFloatingTokens($$, token.End, $3.Tokens) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } diff --git a/internal/php7/php7.go b/internal/php7/php7.go index d650f60..1cf81e7 100644 Binary files a/internal/php7/php7.go and b/internal/php7/php7.go differ 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) {