From 440291e316ce0dfdcdd8ebcc3373f4178b887a43 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 21 May 2018 10:48:50 -0700 Subject: [PATCH] Fix bug: Get merged module symbol in forEachExternalModule (#24295) --- src/services/codefixes/importFixes.ts | 2 +- .../completionsImport_augmentation.ts | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/completionsImport_augmentation.ts diff --git a/src/services/codefixes/importFixes.ts b/src/services/codefixes/importFixes.ts index d30e2a2cf60..eaa0a7c0611 100644 --- a/src/services/codefixes/importFixes.ts +++ b/src/services/codefixes/importFixes.ts @@ -498,7 +498,7 @@ namespace ts.codefix { } for (const sourceFile of allSourceFiles) { if (isExternalOrCommonJsModule(sourceFile)) { - cb(sourceFile.symbol, sourceFile); + cb(checker.getMergedSymbol(sourceFile.symbol), sourceFile); } } } diff --git a/tests/cases/fourslash/completionsImport_augmentation.ts b/tests/cases/fourslash/completionsImport_augmentation.ts new file mode 100644 index 00000000000..701af24537f --- /dev/null +++ b/tests/cases/fourslash/completionsImport_augmentation.ts @@ -0,0 +1,36 @@ +/// + +// @Filename: /a.ts +////export const foo = 0; + +// @Filename: /bar.ts +////export {}; +////declare module "./a" { +//// export const bar = 0; +////} + +// @Filename: /user.ts +/////**/ + +verify.completions({ + marker: "", + includes: [ + { + name: "foo", + text: "const foo: 0", + source: "/a", + sourceDisplay: "./a", + hasAction: true, + }, + { + name: "bar", + text: "const bar: 0", + source: "/a", + sourceDisplay: "./a", + hasAction: true, + }, + ], + preferences: { + includeCompletionsForModuleExports: true, + }, +});