diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e1173a55aaa..9ba35313e48 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -982,13 +982,7 @@ namespace ts { } function getTargetOfGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration): Symbol { - const moduleSymbol = node.parent.symbol; - if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports["export="]) { - return getMergedSymbol(moduleSymbol.exports["export="].exportSymbol); - } - else { - return getMergedSymbol(moduleSymbol); - } + return resolveExternalModuleSymbol(node.parent.symbol); } function getTargetOfExportSpecifier(node: ExportSpecifier): Symbol { diff --git a/tests/baselines/reference/umd6.symbols b/tests/baselines/reference/umd6.symbols index 3b417e005d6..d08507f1ea2 100644 --- a/tests/baselines/reference/umd6.symbols +++ b/tests/baselines/reference/umd6.symbols @@ -2,7 +2,9 @@ /// let y: number = Foo.fn(); >y : Symbol(y, Decl(a.ts, 1, 3)) +>Foo.fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 25)) >Foo : Symbol(Foo, Decl(foo.d.ts, 4, 15)) +>fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 25)) === tests/cases/conformance/externalModules/foo.d.ts === diff --git a/tests/baselines/reference/umd6.types b/tests/baselines/reference/umd6.types index dc0f45846c2..7318a43057a 100644 --- a/tests/baselines/reference/umd6.types +++ b/tests/baselines/reference/umd6.types @@ -2,10 +2,10 @@ /// let y: number = Foo.fn(); >y : number ->Foo.fn() : any ->Foo.fn : any ->Foo : any ->fn : any +>Foo.fn() : number +>Foo.fn : () => number +>Foo : typeof Foo +>fn : () => number === tests/cases/conformance/externalModules/foo.d.ts ===