diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index 038879d0a7e..9d7dc0b2a82 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -553,7 +553,7 @@ namespace ts { } else { statements.push( - createExportStatement(node.name, node.name, /*location*/ node) + createExportStatement(node.name, setNodeEmitFlags(getSynthesizedClone(node.name), NodeEmitFlags.LocalName), /*location*/ node) ); } } @@ -713,6 +713,10 @@ namespace ts { } function substituteExpressionIdentifier(node: Identifier): Expression { + if (getNodeEmitFlags(node) & NodeEmitFlags.LocalName) { + return node; + } + const container = resolver.getReferencedExportContainer(node, (getNodeEmitFlags(node) & NodeEmitFlags.ExportName) !== 0); if (container) { if (container.kind === SyntaxKind.SourceFile) {