mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 02:33:53 -06:00
fix(50077): skip convertOverloadListToSingleSignature refactoring if position is in function body (#50093)
This commit is contained in:
parent
a3a5e009a5
commit
59c91f6ce9
@ -185,6 +185,10 @@ ${newComment.split("\n").map(c => ` * ${c}`).join("\n")}
|
||||
if (!containingDecl) {
|
||||
return;
|
||||
}
|
||||
if (isFunctionLikeDeclaration(containingDecl) && containingDecl.body && rangeContainsPosition(containingDecl.body, startPosition)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const checker = program.getTypeChecker();
|
||||
const signatureSymbol = containingDecl.symbol;
|
||||
if (!signatureSymbol) {
|
||||
|
||||
@ -0,0 +1,22 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
/////*a1*/function foo(a: string): void;
|
||||
/////*a2*/function foo(a: number): void;/*b2*/
|
||||
/////*a3*/function foo(a: number | string): void/*b3*/ /*a4*/{
|
||||
//// /*a5*/console.log(1);/*b5*/
|
||||
////}/*b4*//*b1*/
|
||||
|
||||
goTo.select("a1", "b1");
|
||||
verify.refactorAvailable("Convert overload list to single signature", "Convert overload list to single signature", ts.Diagnostics.Convert_overload_list_to_single_signature.message);
|
||||
|
||||
goTo.select("a2", "b2");
|
||||
verify.refactorAvailable("Convert overload list to single signature", "Convert overload list to single signature", ts.Diagnostics.Convert_overload_list_to_single_signature.message);
|
||||
|
||||
goTo.select("a3", "b3");
|
||||
verify.refactorAvailable("Convert overload list to single signature", "Convert overload list to single signature", ts.Diagnostics.Convert_overload_list_to_single_signature.message);
|
||||
|
||||
goTo.select("a4", "b4");
|
||||
verify.not.refactorAvailable("Convert overload list to single signature", "Convert overload list to single signature", ts.Diagnostics.Convert_overload_list_to_single_signature.message);
|
||||
|
||||
goTo.select("a5", "b5");
|
||||
verify.not.refactorAvailable("Convert overload list to single signature", "Convert overload list to single signature", ts.Diagnostics.Convert_overload_list_to_single_signature.message);
|
||||
Loading…
x
Reference in New Issue
Block a user