Emit modules that contain only const enums, if the preserveConstEnum flag is provided.

This commit is contained in:
Cyrus Najmabadi 2014-11-26 01:06:10 -08:00
parent faf3413c40
commit 498a3274b8

View File

@ -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) {