diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts index 42f4310ffba..190fba39043 100644 --- a/src/services/codefixes/fixAddMissingMember.ts +++ b/src/services/codefixes/fixAddMissingMember.ts @@ -369,7 +369,7 @@ function getInfo(sourceFile: SourceFile, tokenPos: number, errorCode: number, ch const moduleDeclaration = find(symbol.declarations, isModuleDeclaration); const moduleDeclarationSourceFile = moduleDeclaration?.getSourceFile(); if (moduleDeclaration && moduleDeclarationSourceFile && !isSourceFileFromLibrary(program, moduleDeclarationSourceFile)) { - return { kind: InfoKind.Function, token, call: parent.parent, sourceFile, modifierFlags: ModifierFlags.Export, parentDeclaration: moduleDeclaration }; + return { kind: InfoKind.Function, token, call: parent.parent, sourceFile: moduleDeclarationSourceFile, modifierFlags: ModifierFlags.Export, parentDeclaration: moduleDeclaration }; } const moduleSourceFile = find(symbol.declarations, isSourceFile); diff --git a/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration29.ts b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration29.ts new file mode 100644 index 00000000000..1a6c1b73ae9 --- /dev/null +++ b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration29.ts @@ -0,0 +1,27 @@ +/// + +// @filename: /a.ts +////export namespace A { +//// export function test() {} +////}; + +// @filename: /b.ts +////import { A } from "./a"; +//// +////A.fn(); + +goTo.file("/b.ts"); +verify.codeFix({ + description: [ts.Diagnostics.Add_missing_function_declaration_0.message, "fn"], + index: 0, + newFileContent: { + "/a.ts": +`export namespace A { + export function test() {} + + export function fn() { + throw new Error("Function not implemented."); + } +};`, + } +});