diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 5cdf98aa63e..11ecd3a37b8 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -715,7 +715,7 @@ module ts { }; } } - + function emitEnumDeclaration(node: EnumDeclaration) { if (resolver.isDeclarationVisible(node)) { emitJsDocComments(node); @@ -3176,7 +3176,10 @@ module ts { } function emitModuleDeclaration(node: ModuleDeclaration) { - if (getModuleInstanceState(node) !== ModuleInstanceState.Instantiated) { + var shouldEmit = getModuleInstanceState(node) === ModuleInstanceState.Instantiated || + (getModuleInstanceState(node) === ModuleInstanceState.ConstEnumOnly && compilerOptions.preserveConstEnums); + + if (!shouldEmit) { return emitPinnedOrTripleSlashComments(node); } emitLeadingComments(node); @@ -3558,7 +3561,7 @@ module ts { return leadingComments; } - + function getLeadingCommentsToEmit(node: Node) { // Emit the leading comments only if the parent's pos doesn't match because parent should take care of emitting these comments if (node.parent.kind === SyntaxKind.SourceFile || node.pos !== node.parent.pos) {