Only emit comment once for export enum declaration

This commit is contained in:
Kanchalai Tanglertsampan 2016-09-07 18:02:45 -07:00
parent 874846a534
commit 9d63c5a35e
5 changed files with 57 additions and 8 deletions

View file

@ -802,17 +802,17 @@ namespace ts {
* Adds a trailing VariableStatement for an enum or module declaration.
*/
function addVarForExportedEnumOrNamespaceDeclaration(statements: Statement[], node: EnumDeclaration | ModuleDeclaration) {
statements.push(
createVariableStatement(
/*modifiers*/ undefined,
[createVariableDeclaration(
getDeclarationName(node),
const transformedStatement = createVariableStatement(
/*modifiers*/ undefined,
[createVariableDeclaration(
getDeclarationName(node),
/*type*/ undefined,
createPropertyAccess(createIdentifier("exports"), getDeclarationName(node))
)],
createPropertyAccess(createIdentifier("exports"), getDeclarationName(node))
)],
/*location*/ node
)
);
setNodeEmitFlags(transformedStatement, NodeEmitFlags.NoComments);
statements.push(transformedStatement);
}
function getDeclarationName(node: DeclarationStatement) {

View file

@ -0,0 +1,19 @@
//// [commentOnExportEnumDeclaration.ts]
/**
* comment
*/
export enum Color {
r, g, b
}
//// [commentOnExportEnumDeclaration.js]
"use strict";
/**
* comment
*/
(function (Color) {
Color[Color["r"] = 0] = "r";
Color[Color["g"] = 1] = "g";
Color[Color["b"] = 2] = "b";
})(exports.Color || (exports.Color = {}));
var Color = exports.Color;

View file

@ -0,0 +1,12 @@
=== tests/cases/compiler/commentOnExportEnumDeclaration.ts ===
/**
* comment
*/
export enum Color {
>Color : Symbol(Color, Decl(commentOnExportEnumDeclaration.ts, 0, 0))
r, g, b
>r : Symbol(Color.r, Decl(commentOnExportEnumDeclaration.ts, 3, 19))
>g : Symbol(Color.g, Decl(commentOnExportEnumDeclaration.ts, 4, 6))
>b : Symbol(Color.b, Decl(commentOnExportEnumDeclaration.ts, 4, 9))
}

View file

@ -0,0 +1,12 @@
=== tests/cases/compiler/commentOnExportEnumDeclaration.ts ===
/**
* comment
*/
export enum Color {
>Color : Color
r, g, b
>r : Color
>g : Color
>b : Color
}

View file

@ -0,0 +1,6 @@
/**
* comment
*/
export enum Color {
r, g, b
}