From ed014db864165cab3f568eb8e2a0b6ea1ba5f624 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 11 Jan 2022 12:20:17 -0800 Subject: [PATCH] Add names for refactoring functions. (#47375) * Add names for refactoring functions. * Consistency in function names. --- .../refactors/addOrRemoveBracesToArrowFunction.ts | 9 +++++---- .../convertArrowFunctionOrFunctionExpression.ts | 8 ++++---- src/services/refactors/convertExport.ts | 4 ++-- src/services/refactors/convertImport.ts | 4 ++-- .../refactors/convertOverloadListToSingleSignature.ts | 8 ++++---- .../refactors/convertParamsToDestructuredObject.ts | 8 ++++---- src/services/refactors/convertStringOrTemplateLiteral.ts | 8 ++++---- .../refactors/convertToOptionalChainExpression.ts | 8 ++++---- src/services/refactors/extractSymbol.ts | 8 ++++---- src/services/refactors/extractType.ts | 4 ++-- .../refactors/generateGetAccessorAndSetAccessor.ts | 2 +- src/services/refactors/inferFunctionReturnType.ts | 8 ++++---- src/services/refactors/moveToNewFile.ts | 4 ++-- src/testRunner/unittests/services/extract/helpers.ts | 6 +++--- 14 files changed, 45 insertions(+), 44 deletions(-) diff --git a/src/services/refactors/addOrRemoveBracesToArrowFunction.ts b/src/services/refactors/addOrRemoveBracesToArrowFunction.ts index fd75154c56273..aba1a33664085 100644 --- a/src/services/refactors/addOrRemoveBracesToArrowFunction.ts +++ b/src/services/refactors/addOrRemoveBracesToArrowFunction.ts @@ -15,8 +15,9 @@ namespace ts.refactor.addOrRemoveBracesToArrowFunction { }; registerRefactor(refactorName, { kinds: [removeBracesAction.kind], - getEditsForAction, - getAvailableActions }); + getEditsForAction: getRefactorEditsToRemoveFunctionBraces, + getAvailableActions: getRefactorActionsToRemoveFunctionBraces + }); interface FunctionBracesInfo { func: ArrowFunction; @@ -25,7 +26,7 @@ namespace ts.refactor.addOrRemoveBracesToArrowFunction { addBraces: boolean; } - function getAvailableActions(context: RefactorContext): readonly ApplicableRefactorInfo[] { + function getRefactorActionsToRemoveFunctionBraces(context: RefactorContext): readonly ApplicableRefactorInfo[] { const { file, startPosition, triggerReason } = context; const info = getConvertibleArrowFunctionAtPosition(file, startPosition, triggerReason === "invoked"); if (!info) return emptyArray; @@ -54,7 +55,7 @@ namespace ts.refactor.addOrRemoveBracesToArrowFunction { return emptyArray; } - function getEditsForAction(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { + function getRefactorEditsToRemoveFunctionBraces(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { const { file, startPosition } = context; const info = getConvertibleArrowFunctionAtPosition(file, startPosition); Debug.assert(info && !isRefactorErrorInfo(info), "Expected applicable refactor info"); diff --git a/src/services/refactors/convertArrowFunctionOrFunctionExpression.ts b/src/services/refactors/convertArrowFunctionOrFunctionExpression.ts index 4165cbfcc07ed..ea0c72a4dd684 100644 --- a/src/services/refactors/convertArrowFunctionOrFunctionExpression.ts +++ b/src/services/refactors/convertArrowFunctionOrFunctionExpression.ts @@ -24,8 +24,8 @@ namespace ts.refactor.convertArrowFunctionOrFunctionExpression { toNamedFunctionAction.kind, toArrowFunctionAction.kind ], - getEditsForAction, - getAvailableActions + getEditsForAction: getRefactorEditsToConvertFunctionExpressions, + getAvailableActions: getRefactorActionsToConvertFunctionExpressions }); interface FunctionInfo { @@ -40,7 +40,7 @@ namespace ts.refactor.convertArrowFunctionOrFunctionExpression { readonly name: Identifier; } - function getAvailableActions(context: RefactorContext): readonly ApplicableRefactorInfo[] { + function getRefactorActionsToConvertFunctionExpressions(context: RefactorContext): readonly ApplicableRefactorInfo[] { const { file, startPosition, program, kind } = context; const info = getFunctionInfo(file, startPosition, program); @@ -88,7 +88,7 @@ namespace ts.refactor.convertArrowFunctionOrFunctionExpression { }]; } - function getEditsForAction(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { + function getRefactorEditsToConvertFunctionExpressions(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { const { file, startPosition, program } = context; const info = getFunctionInfo(file, startPosition, program); diff --git a/src/services/refactors/convertExport.ts b/src/services/refactors/convertExport.ts index 3737f74a09620..3d3a9de095b80 100644 --- a/src/services/refactors/convertExport.ts +++ b/src/services/refactors/convertExport.ts @@ -18,7 +18,7 @@ namespace ts.refactor { defaultToNamedAction.kind, namedToDefaultAction.kind ], - getAvailableActions(context): readonly ApplicableRefactorInfo[] { + getAvailableActions: function getRefactorActionsToConvertBetweenNamedAndDefaultExports(context): readonly ApplicableRefactorInfo[] { const info = getInfo(context, context.triggerReason === "invoked"); if (!info) return emptyArray; @@ -38,7 +38,7 @@ namespace ts.refactor { return emptyArray; }, - getEditsForAction(context, actionName): RefactorEditInfo { + getEditsForAction: function getRefactorEditsToConvertBetweenNamedAndDefaultExports(context, actionName): RefactorEditInfo { Debug.assert(actionName === defaultToNamedAction.name || actionName === namedToDefaultAction.name, "Unexpected action name"); const info = getInfo(context); Debug.assert(info && !isRefactorErrorInfo(info), "Expected applicable refactor info"); diff --git a/src/services/refactors/convertImport.ts b/src/services/refactors/convertImport.ts index 65a684d8c46d5..fedeb986eddd8 100644 --- a/src/services/refactors/convertImport.ts +++ b/src/services/refactors/convertImport.ts @@ -18,7 +18,7 @@ namespace ts.refactor { namespaceToNamedAction.kind, namedToNamespaceAction.kind ], - getAvailableActions(context): readonly ApplicableRefactorInfo[] { + getAvailableActions: function getRefactorActionsToConvertBetweenNamedAndNamespacedImports(context): readonly ApplicableRefactorInfo[] { const info = getImportToConvert(context, context.triggerReason === "invoked"); if (!info) return emptyArray; @@ -39,7 +39,7 @@ namespace ts.refactor { return emptyArray; }, - getEditsForAction(context, actionName): RefactorEditInfo { + getEditsForAction: function getRefactorEditsToConvertBetweenNamedAndNamespacedImports(context, actionName): RefactorEditInfo { Debug.assert(actionName === namespaceToNamedAction.name || actionName === namedToNamespaceAction.name, "Unexpected action name"); const info = getImportToConvert(context); Debug.assert(info && !isRefactorErrorInfo(info), "Expected applicable refactor info"); diff --git a/src/services/refactors/convertOverloadListToSingleSignature.ts b/src/services/refactors/convertOverloadListToSingleSignature.ts index 5c49bf06d0970..83c071c70ac48 100644 --- a/src/services/refactors/convertOverloadListToSingleSignature.ts +++ b/src/services/refactors/convertOverloadListToSingleSignature.ts @@ -10,11 +10,11 @@ namespace ts.refactor.addOrRemoveBracesToArrowFunction { }; registerRefactor(refactorName, { kinds: [functionOverloadAction.kind], - getEditsForAction, - getAvailableActions + getEditsForAction: getRefactorEditsToConvertOverloadsToOneSignature, + getAvailableActions: getRefactorActionsToConvertOverloadsToOneSignature }); - function getAvailableActions(context: RefactorContext): readonly ApplicableRefactorInfo[] { + function getRefactorActionsToConvertOverloadsToOneSignature(context: RefactorContext): readonly ApplicableRefactorInfo[] { const { file, startPosition, program } = context; const info = getConvertableOverloadListAtPosition(file, startPosition, program); if (!info) return emptyArray; @@ -26,7 +26,7 @@ namespace ts.refactor.addOrRemoveBracesToArrowFunction { }]; } - function getEditsForAction(context: RefactorContext): RefactorEditInfo | undefined { + function getRefactorEditsToConvertOverloadsToOneSignature(context: RefactorContext): RefactorEditInfo | undefined { const { file, startPosition, program } = context; const signatureDecls = getConvertableOverloadListAtPosition(file, startPosition, program); if (!signatureDecls) return undefined; diff --git a/src/services/refactors/convertParamsToDestructuredObject.ts b/src/services/refactors/convertParamsToDestructuredObject.ts index cec2503f83fde..784cefda23b49 100644 --- a/src/services/refactors/convertParamsToDestructuredObject.ts +++ b/src/services/refactors/convertParamsToDestructuredObject.ts @@ -11,11 +11,11 @@ namespace ts.refactor.convertParamsToDestructuredObject { }; registerRefactor(refactorName, { kinds: [toDestructuredAction.kind], - getEditsForAction, - getAvailableActions + getEditsForAction: getRefactorEditsToConvertParametersToDestructuredObject, + getAvailableActions: getRefactorActionsToConvertParametersToDestructuredObject }); - function getAvailableActions(context: RefactorContext): readonly ApplicableRefactorInfo[] { + function getRefactorActionsToConvertParametersToDestructuredObject(context: RefactorContext): readonly ApplicableRefactorInfo[] { const { file, startPosition } = context; const isJSFile = isSourceFileJS(file); if (isJSFile) return emptyArray; // TODO: GH#30113 @@ -29,7 +29,7 @@ namespace ts.refactor.convertParamsToDestructuredObject { }]; } - function getEditsForAction(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { + function getRefactorEditsToConvertParametersToDestructuredObject(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { Debug.assert(actionName === refactorName, "Unexpected action name"); const { file, startPosition, program, cancellationToken, host } = context; const functionDeclaration = getFunctionDeclarationAtPosition(file, startPosition, program.getTypeChecker()); diff --git a/src/services/refactors/convertStringOrTemplateLiteral.ts b/src/services/refactors/convertStringOrTemplateLiteral.ts index e417a0f2eae41..28baa74c65bab 100644 --- a/src/services/refactors/convertStringOrTemplateLiteral.ts +++ b/src/services/refactors/convertStringOrTemplateLiteral.ts @@ -10,11 +10,11 @@ namespace ts.refactor.convertStringOrTemplateLiteral { }; registerRefactor(refactorName, { kinds: [convertStringAction.kind], - getEditsForAction, - getAvailableActions + getEditsForAction: getRefactorEditsToConvertToTemplateString, + getAvailableActions: getRefactorActionsToConvertToTemplateString }); - function getAvailableActions(context: RefactorContext): readonly ApplicableRefactorInfo[] { + function getRefactorActionsToConvertToTemplateString(context: RefactorContext): readonly ApplicableRefactorInfo[] { const { file, startPosition } = context; const node = getNodeOrParentOfParentheses(file, startPosition); const maybeBinary = getParentBinaryExpression(node); @@ -48,7 +48,7 @@ namespace ts.refactor.convertStringOrTemplateLiteral { return node; } - function getEditsForAction(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { + function getRefactorEditsToConvertToTemplateString(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { const { file, startPosition } = context; const node = getNodeOrParentOfParentheses(file, startPosition); diff --git a/src/services/refactors/convertToOptionalChainExpression.ts b/src/services/refactors/convertToOptionalChainExpression.ts index 8bfb222c8bf0f..ba40ec6a5e553 100644 --- a/src/services/refactors/convertToOptionalChainExpression.ts +++ b/src/services/refactors/convertToOptionalChainExpression.ts @@ -10,11 +10,11 @@ namespace ts.refactor.convertToOptionalChainExpression { }; registerRefactor(refactorName, { kinds: [toOptionalChainAction.kind], - getAvailableActions, - getEditsForAction + getEditsForAction: getRefactorEditsToConvertToOptionalChain, + getAvailableActions: getRefactorActionsToConvertToOptionalChain, }); - function getAvailableActions(context: RefactorContext): readonly ApplicableRefactorInfo[] { + function getRefactorActionsToConvertToOptionalChain(context: RefactorContext): readonly ApplicableRefactorInfo[] { const info = getInfo(context, context.triggerReason === "invoked"); if (!info) return emptyArray; @@ -36,7 +36,7 @@ namespace ts.refactor.convertToOptionalChainExpression { return emptyArray; } - function getEditsForAction(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { + function getRefactorEditsToConvertToOptionalChain(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { const info = getInfo(context); Debug.assert(info && !isRefactorErrorInfo(info), "Expected applicable refactor info"); const edits = textChanges.ChangeTracker.with(context, t => diff --git a/src/services/refactors/extractSymbol.ts b/src/services/refactors/extractSymbol.ts index df6da8c097e9c..5b0032e6f0168 100644 --- a/src/services/refactors/extractSymbol.ts +++ b/src/services/refactors/extractSymbol.ts @@ -17,15 +17,15 @@ namespace ts.refactor.extractSymbol { extractConstantAction.kind, extractFunctionAction.kind ], - getAvailableActions, - getEditsForAction + getEditsForAction: getRefactorEditsToExtractSymbol, + getAvailableActions: getRefactorActionsToExtractSymbol, }); /** * Compute the associated code actions * Exported for tests. */ - export function getAvailableActions(context: RefactorContext): readonly ApplicableRefactorInfo[] { + export function getRefactorActionsToExtractSymbol(context: RefactorContext): readonly ApplicableRefactorInfo[] { const requestedRefactor = context.kind; const rangeToExtract = getRangeToExtract(context.file, getRefactorContextSpan(context), context.triggerReason === "invoked"); const targetRange = rangeToExtract.targetRange; @@ -168,7 +168,7 @@ namespace ts.refactor.extractSymbol { } /* Exported for tests */ - export function getEditsForAction(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { + export function getRefactorEditsToExtractSymbol(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { const rangeToExtract = getRangeToExtract(context.file, getRefactorContextSpan(context)); const targetRange = rangeToExtract.targetRange!; // TODO:GH#18217 diff --git a/src/services/refactors/extractType.ts b/src/services/refactors/extractType.ts index 83d72d41594ee..e932c9fcc155d 100644 --- a/src/services/refactors/extractType.ts +++ b/src/services/refactors/extractType.ts @@ -24,7 +24,7 @@ namespace ts.refactor { extractToInterfaceAction.kind, extractToTypeDefAction.kind ], - getAvailableActions(context): readonly ApplicableRefactorInfo[] { + getAvailableActions: function getRefactorActionsToExtractType(context): readonly ApplicableRefactorInfo[] { const info = getRangeToExtract(context, context.triggerReason === "invoked"); if (!info) return emptyArray; @@ -51,7 +51,7 @@ namespace ts.refactor { return emptyArray; }, - getEditsForAction(context, actionName): RefactorEditInfo { + getEditsForAction: function getRefactorEditsToExtractType(context, actionName): RefactorEditInfo { const { file, } = context; const info = getRangeToExtract(context); Debug.assert(info && !isRefactorErrorInfo(info), "Expected to find a range to extract"); diff --git a/src/services/refactors/generateGetAccessorAndSetAccessor.ts b/src/services/refactors/generateGetAccessorAndSetAccessor.ts index 76de5a7f4eaff..70f1da47dfc8e 100644 --- a/src/services/refactors/generateGetAccessorAndSetAccessor.ts +++ b/src/services/refactors/generateGetAccessorAndSetAccessor.ts @@ -10,7 +10,7 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { }; registerRefactor(actionName, { kinds: [generateGetSetAction.kind], - getEditsForAction(context, actionName) { + getEditsForAction: function getRefactorActionsToGenerateGetAndSetAccessors(context, actionName) { if (!context.endPosition) return undefined; const info = codefix.getAccessorConvertiblePropertyAtPosition(context.file, context.program, context.startPosition, context.endPosition); Debug.assert(info && !isRefactorErrorInfo(info), "Expected applicable refactor info"); diff --git a/src/services/refactors/inferFunctionReturnType.ts b/src/services/refactors/inferFunctionReturnType.ts index 919aaf5413dfa..f2e4a8f66edc1 100644 --- a/src/services/refactors/inferFunctionReturnType.ts +++ b/src/services/refactors/inferFunctionReturnType.ts @@ -10,11 +10,11 @@ namespace ts.refactor.inferFunctionReturnType { }; registerRefactor(refactorName, { kinds: [inferReturnTypeAction.kind], - getEditsForAction, - getAvailableActions + getEditsForAction: getRefactorEditsToInferReturnType, + getAvailableActions: getRefactorActionsToInferReturnType }); - function getEditsForAction(context: RefactorContext): RefactorEditInfo | undefined { + function getRefactorEditsToInferReturnType(context: RefactorContext): RefactorEditInfo | undefined { const info = getInfo(context); if (info && !isRefactorErrorInfo(info)) { const edits = textChanges.ChangeTracker.with(context, t => doChange(context.file, t, info.declaration, info.returnTypeNode)); @@ -23,7 +23,7 @@ namespace ts.refactor.inferFunctionReturnType { return undefined; } - function getAvailableActions(context: RefactorContext): readonly ApplicableRefactorInfo[] { + function getRefactorActionsToInferReturnType(context: RefactorContext): readonly ApplicableRefactorInfo[] { const info = getInfo(context); if (!info) return emptyArray; if (!isRefactorErrorInfo(info)) { diff --git a/src/services/refactors/moveToNewFile.ts b/src/services/refactors/moveToNewFile.ts index 271a08b20f4ab..6e5d9c891e7f2 100644 --- a/src/services/refactors/moveToNewFile.ts +++ b/src/services/refactors/moveToNewFile.ts @@ -10,7 +10,7 @@ namespace ts.refactor { }; registerRefactor(refactorName, { kinds: [moveToNewFileAction.kind], - getAvailableActions(context): readonly ApplicableRefactorInfo[] { + getAvailableActions: function getRefactorActionsToMoveToNewFile(context): readonly ApplicableRefactorInfo[] { const statements = getStatementsToMove(context); if (context.preferences.allowTextChangesInNewFiles && statements) { return [{ name: refactorName, description, actions: [moveToNewFileAction] }]; @@ -22,7 +22,7 @@ namespace ts.refactor { } return emptyArray; }, - getEditsForAction(context, actionName): RefactorEditInfo { + getEditsForAction: function getRefactorEditsToMoveToNewFile(context, actionName): RefactorEditInfo { Debug.assert(actionName === refactorName, "Wrong refactor invoked"); const statements = Debug.checkDefined(getStatementsToMove(context)); const edits = textChanges.ChangeTracker.with(context, t => doChange(context.file, context.program, statements, t, context.host, context.preferences)); diff --git a/src/testRunner/unittests/services/extract/helpers.ts b/src/testRunner/unittests/services/extract/helpers.ts index 9e86a96c617f2..b0fa383c96e03 100644 --- a/src/testRunner/unittests/services/extract/helpers.ts +++ b/src/testRunner/unittests/services/extract/helpers.ts @@ -107,14 +107,14 @@ namespace ts { }; const rangeToExtract = refactor.extractSymbol.getRangeToExtract(sourceFile, createTextSpanFromRange(selectionRange)); assert.equal(rangeToExtract.errors, undefined, rangeToExtract.errors && "Range error: " + rangeToExtract.errors[0].messageText); - const infos = refactor.extractSymbol.getAvailableActions(context); + const infos = refactor.extractSymbol.getRefactorActionsToExtractSymbol(context); const actions = find(infos, info => info.description === description.message)!.actions; const data: string[] = []; data.push(`// ==ORIGINAL==`); data.push(text.replace("[#|", "/*[#|*/").replace("|]", "/*|]*/")); for (const action of actions) { - const { renameLocation, edits } = refactor.extractSymbol.getEditsForAction(context, action.name)!; + const { renameLocation, edits } = refactor.extractSymbol.getRefactorEditsToExtractSymbol(context, action.name)!; assert.lengthOf(edits, 1); data.push(`// ==SCOPE::${action.description}==`); const newText = textChanges.applyChanges(sourceFile.text, edits[0].textChanges); @@ -170,7 +170,7 @@ namespace ts { }; const rangeToExtract = refactor.extractSymbol.getRangeToExtract(sourceFile, createTextSpanFromRange(selectionRange)); assert.isUndefined(rangeToExtract.errors, rangeToExtract.errors && "Range error: " + rangeToExtract.errors[0].messageText); - const infos = refactor.extractSymbol.getAvailableActions(context); + const infos = refactor.extractSymbol.getRefactorActionsToExtractSymbol(context); assert.isUndefined(find(infos, info => info.description === description.message)); }); }