fix(55937): 'Infer function return type' offered in preceding trivia (#55938)

This commit is contained in:
Oleksandr T 2023-10-03 02:34:46 +03:00 committed by GitHub
parent d9cd2d0bd0
commit c640c5de0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 2 deletions

View File

@ -10,7 +10,7 @@ import {
FunctionDeclaration,
FunctionExpression,
getLocaleSpecificMessage,
getTokenAtPosition,
getTouchingPropertyName,
isArrowFunction,
isBlock,
isInJSFile,
@ -104,7 +104,7 @@ function doChange(sourceFile: SourceFile, changes: textChanges.ChangeTracker, de
function getInfo(context: RefactorContext): FunctionInfo | RefactorErrorInfo | undefined {
if (isInJSFile(context.file) || !refactorKindBeginsWith(inferReturnTypeAction.kind, context.kind)) return;
const token = getTokenAtPosition(context.file, context.startPosition);
const token = getTouchingPropertyName(context.file, context.startPosition);
const declaration = findAncestor(token, n =>
isBlock(n) || n.parent && isArrowFunction(n.parent) && (n.kind === SyntaxKind.EqualsGreaterThanToken || n.parent.body === n) ? "quit" :
isConvertibleDeclaration(n)) as ConvertibleDeclaration | undefined;

View File

@ -0,0 +1,10 @@
/// <reference path='fourslash.ts' />
////let x = 10;/*a*//*b*/
////
////function func() {
//// return 10;
////}
goTo.select("a", "b");
verify.not.refactorAvailable("Infer function return type");