diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index c33f7fd5234..4e30f29dc5f 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2461,8 +2461,11 @@ module ts { function tryEmitConstantValue(node: PropertyAccessExpression | ElementAccessExpression): boolean { var constantValue = resolver.getConstantValue(node); if (constantValue !== undefined) { - var propertyName = node.kind === SyntaxKind.PropertyAccessExpression ? declarationNameToString((node).name) : getTextOfNode((node).argumentExpression); - write(constantValue.toString() + " /* " + propertyName + " */"); + write(constantValue.toString()); + if (!compilerOptions.removeComments) { + var propertyName: string = node.kind === SyntaxKind.PropertyAccessExpression ? declarationNameToString((node).name) : getTextOfNode((node).argumentExpression); + write(" /* " + propertyName + " */"); + } return true; } return false; diff --git a/tests/baselines/reference/commentsdoNotEmitComments.js b/tests/baselines/reference/commentsdoNotEmitComments.js index fa1cc4c4d12..301ab56e4c0 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.js +++ b/tests/baselines/reference/commentsdoNotEmitComments.js @@ -86,6 +86,11 @@ module m1 { /// this is x declare var x; + + +/** const enum member value comment (generated by TS) */ +const enum color { red, green, blue } +var shade: color = color.green; //// [commentsdoNotEmitComments.js] @@ -129,6 +134,7 @@ var m1; })(); m1.b = b; })(m1 || (m1 = {})); +var shade = 1; //// [commentsdoNotEmitComments.d.ts] @@ -161,3 +167,9 @@ declare module m1 { } } declare var x: any; +declare const enum color { + red = 0, + green = 1, + blue = 2, +} +declare var shade: color; diff --git a/tests/baselines/reference/commentsdoNotEmitComments.types b/tests/baselines/reference/commentsdoNotEmitComments.types index c42d3d2c17c..bbe3a685ca1 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.types +++ b/tests/baselines/reference/commentsdoNotEmitComments.types @@ -151,3 +151,18 @@ module m1 { declare var x; >x : any + +/** const enum member value comment (generated by TS) */ +const enum color { red, green, blue } +>color : color +>red : color +>green : color +>blue : color + +var shade: color = color.green; +>shade : color +>color : color +>color.green : color +>color : typeof color +>green : color + diff --git a/tests/cases/compiler/commentsdoNotEmitComments.ts b/tests/cases/compiler/commentsdoNotEmitComments.ts index 0d971e79df7..6895f67b6b0 100644 --- a/tests/cases/compiler/commentsdoNotEmitComments.ts +++ b/tests/cases/compiler/commentsdoNotEmitComments.ts @@ -88,3 +88,8 @@ module m1 { /// this is x declare var x; + + +/** const enum member value comment (generated by TS) */ +const enum color { red, green, blue } +var shade: color = color.green;