diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index fb43ae4fc18..f6c7b649c1a 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2447,6 +2447,7 @@ module ts { function emitVariableStatement(node: VariableStatement) { var hasDeclarationWithEmit = forEach(node.declarations, varDeclaration => resolver.isDeclarationVisible(varDeclaration)); if (hasDeclarationWithEmit) { + emitJsDocComments(node); emitDeclarationFlags(node); write("var "); emitCommaList(node.declarations, emitVariableDeclaration); diff --git a/tests/baselines/reference/commentsExternalModules.js b/tests/baselines/reference/commentsExternalModules.js index 846085c366d..3fdffa1710d 100644 --- a/tests/baselines/reference/commentsExternalModules.js +++ b/tests/baselines/reference/commentsExternalModules.js @@ -140,18 +140,21 @@ define(["require", "exports", "commentsExternalModules_0"], function (require, e //// [commentsExternalModules_0.d.ts] /** Module comment*/ export declare module m1 { + /** b's comment*/ var b: number; /** m2 comments*/ module m2 { /** class comment;*/ class c { } + /** i*/ var i: c; } function fooExport(): number; } /** Module comment */ export declare module m4 { + /** b's comment */ var b: number; /** m2 comments */ @@ -159,6 +162,7 @@ export declare module m4 { /** class comment; */ class c { } + /** i */ var i: c; } function fooExport(): number; diff --git a/tests/baselines/reference/commentsExternalModules2.js b/tests/baselines/reference/commentsExternalModules2.js index f140a05cfd1..4a962f70046 100644 --- a/tests/baselines/reference/commentsExternalModules2.js +++ b/tests/baselines/reference/commentsExternalModules2.js @@ -140,18 +140,21 @@ define(["require", "exports", "commentsExternalModules2_0"], function (require, //// [commentsExternalModules2_0.d.ts] /** Module comment*/ export declare module m1 { + /** b's comment*/ var b: number; /** m2 comments*/ module m2 { /** class comment;*/ class c { } + /** i*/ var i: c; } function fooExport(): number; } /** Module comment */ export declare module m4 { + /** b's comment */ var b: number; /** m2 comments */ @@ -159,6 +162,7 @@ export declare module m4 { /** class comment; */ class c { } + /** i */ var i: c; } function fooExport(): number; diff --git a/tests/baselines/reference/commentsFunction.js b/tests/baselines/reference/commentsFunction.js index 587f6b7a2a1..229bd505cd2 100644 --- a/tests/baselines/reference/commentsFunction.js +++ b/tests/baselines/reference/commentsFunction.js @@ -51,6 +51,9 @@ lambddaNoVarComment(10, 20); //// [commentsFunction.d.ts] declare function foo(): void; declare function fooWithParameters(a: string, b: number): void; +/** fooFunc + * comment + */ declare var fooFunc: (b: string) => string; declare var lambdaFoo: (a: number, b: number) => number; declare var lambddaNoVarComment: (a: number, b: number) => number; diff --git a/tests/baselines/reference/commentsModules.js b/tests/baselines/reference/commentsModules.js index f73c06fa381..fefa6cc2a5e 100644 --- a/tests/baselines/reference/commentsModules.js +++ b/tests/baselines/reference/commentsModules.js @@ -273,12 +273,14 @@ new m7.m8.m9.c(); //// [commentsModules.d.ts] /** Module comment*/ declare module m1 { + /** b's comment*/ var b: number; /** m2 comments*/ module m2 { /** class comment;*/ class c { } + /** i*/ var i: c; } function fooExport(): number; diff --git a/tests/baselines/reference/commentsVarDecl.js b/tests/baselines/reference/commentsVarDecl.js index 6c65a56f7ae..d01d7e561d3 100644 --- a/tests/baselines/reference/commentsVarDecl.js +++ b/tests/baselines/reference/commentsVarDecl.js @@ -74,14 +74,25 @@ n4 = z2; //// [commentsVarDecl.d.ts] +/** Variable comments*/ declare var myVariable: number; +/** This is another variable comment*/ declare var anotherVariable: number; declare var aVar: string; +/** this is multiline comment + * All these variables are of number type */ declare var anotherAnotherVariable: number; +/** Triple slash multiline comment*/ +/** another line in the comment*/ +/** comment line 2*/ declare var x: number; +/** triple slash comment1*/ +/** jsdocstyle comment - only this comment should be in .d.ts file*/ declare var n: number; +/** var deckaration with comment on type as well*/ declare var y: number; declare var yy: number; +/** comment2 */ declare var z: (x: number, y: number) => number; declare var z2: (x: number) => string; declare var x2: (x: number) => string; diff --git a/tests/baselines/reference/commentsVariableStatement1.js b/tests/baselines/reference/commentsVariableStatement1.js index 8dfbd16c68a..bc60253e24c 100644 --- a/tests/baselines/reference/commentsVariableStatement1.js +++ b/tests/baselines/reference/commentsVariableStatement1.js @@ -9,4 +9,5 @@ var v = 1; //// [commentsVariableStatement1.d.ts] +/** Comment */ declare var v: number; diff --git a/tests/baselines/reference/commentsemitComments.js b/tests/baselines/reference/commentsemitComments.js index 94b9b73f95f..1cd9e232e49 100644 --- a/tests/baselines/reference/commentsemitComments.js +++ b/tests/baselines/reference/commentsemitComments.js @@ -146,8 +146,10 @@ var m1; //// [commentsemitComments.d.ts] +/** Variable comments*/ declare var myVariable: number; declare function foo(p: number): void; +/** variable with function type comment*/ declare var fooVar: () => void; /**class comment*/ declare class c { @@ -159,6 +161,7 @@ declare class c { foo1(a: number): string; foo1(b: string): string; } +/**instance comment*/ declare var i: c; /** interface comments*/ interface i1 { @@ -169,6 +172,7 @@ interface i1 { /** prop*/ prop: string; } +/**interface instance comments*/ declare var i1_i: i1; /** this is module comment*/ declare module m1 {