From b6c8382c78596f1b90c6b89dc6368c163b6fa9f6 Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Fri, 15 Feb 2019 15:51:20 -0800 Subject: [PATCH] replace argument list instead of whole call when refactoring --- .../refactors/convertToNamedParameters.ts | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/services/refactors/convertToNamedParameters.ts b/src/services/refactors/convertToNamedParameters.ts index cf348bd9e73..dc8043ddfa9 100644 --- a/src/services/refactors/convertToNamedParameters.ts +++ b/src/services/refactors/convertToNamedParameters.ts @@ -59,18 +59,15 @@ namespace ts.refactor.convertToNamedParameters { forEach(functionCalls, call => { if (call.arguments && call.arguments.length) { const newArgument = getSynthesizedDeepClone(createNewArguments(functionDeclaration, call.arguments), /*includeTrivia*/ true); - const newCall = updateCallArguments(call, createNodeArray([newArgument])); - suppressLeadingAndTrailingTrivia(newCall, /*recursive*/ false); - changes.replaceNode(getSourceFileOfNode(call), call, newCall); + changes.replaceNodeRange( + getSourceFileOfNode(call), + first(call.arguments), + last(call.arguments), + newArgument, + { startPosition: textChanges.LeadingTriviaOption.IncludeAll, endPosition: textChanges.TrailingTriviaOption.Include }); }}); } - function updateCallArguments(call: CallExpression | NewExpression, args: NodeArray) { - const newCall = getSynthesizedClone(call); - newCall.arguments = args; - return updateNode(newCall, call); - } - function getGroupedReferences(functionNames: Node[], program: Program, cancellationToken: CancellationToken): GroupedReferences { const functionRefs = flatMap(functionNames, name => FindAllReferences.getReferenceEntriesForNode(-1, name, program, program.getSourceFiles(), cancellationToken)); const groupedReferences = groupReferences(functionRefs);