diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index da86d22e16e..75fc273aafd 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2335,6 +2335,7 @@ module ts { } if (resolver.isDeclarationVisible(node)) { + emitJsDocComments(node); emitDeclarationFlags(node); write("class "); emitSourceTextOfNode(node.name); diff --git a/tests/baselines/reference/commentsClass.js b/tests/baselines/reference/commentsClass.js index 2fa56116f0a..a60c8be73e1 100644 --- a/tests/baselines/reference/commentsClass.js +++ b/tests/baselines/reference/commentsClass.js @@ -131,6 +131,7 @@ var i8_c = c8; //// [commentsClass.d.ts] +/** This is class c2 without constuctor*/ declare class c2 { } declare var i2: c2; @@ -140,11 +141,13 @@ declare class c3 { } declare var i3: c3; declare var i3_c: typeof c3; +/** Class comment*/ declare class c4 { constructor(); } declare var i4: c4; declare var i4_c: typeof c4; +/** Class with statics*/ declare class c5 { static s1: number; } @@ -162,6 +165,8 @@ declare class c7 { } declare var i7: c7; declare var i7_c: typeof c7; +/** class with statics and constructor + */ declare class c8 { static s1: number; constructor(); diff --git a/tests/baselines/reference/commentsClassMembers.js b/tests/baselines/reference/commentsClassMembers.js index adee10efd33..4b07668c673 100644 --- a/tests/baselines/reference/commentsClassMembers.js +++ b/tests/baselines/reference/commentsClassMembers.js @@ -471,6 +471,7 @@ cProperties_i.nc_p2 = cProperties_i.nc_p1; //// [commentsClassMembers.d.ts] +/** This is comment for c1*/ declare class c1 { p1: number; p2(b: number): number; diff --git a/tests/baselines/reference/commentsExternalModules.js b/tests/baselines/reference/commentsExternalModules.js index f7da87cee74..846085c366d 100644 --- a/tests/baselines/reference/commentsExternalModules.js +++ b/tests/baselines/reference/commentsExternalModules.js @@ -143,6 +143,7 @@ export declare module m1 { var b: number; /** m2 comments*/ module m2 { + /** class comment;*/ class c { } var i: c; @@ -155,6 +156,7 @@ export declare module m4 { /** m2 comments */ module m2 { + /** class comment; */ class c { } var i: c; diff --git a/tests/baselines/reference/commentsExternalModules2.js b/tests/baselines/reference/commentsExternalModules2.js index bb3b4e52be8..f140a05cfd1 100644 --- a/tests/baselines/reference/commentsExternalModules2.js +++ b/tests/baselines/reference/commentsExternalModules2.js @@ -143,6 +143,7 @@ export declare module m1 { var b: number; /** m2 comments*/ module m2 { + /** class comment;*/ class c { } var i: c; @@ -155,6 +156,7 @@ export declare module m4 { /** m2 comments */ module m2 { + /** class comment; */ class c { } var i: c; diff --git a/tests/baselines/reference/commentsModules.js b/tests/baselines/reference/commentsModules.js index b6dd914dc34..f73c06fa381 100644 --- a/tests/baselines/reference/commentsModules.js +++ b/tests/baselines/reference/commentsModules.js @@ -276,6 +276,7 @@ declare module m1 { var b: number; /** m2 comments*/ module m2 { + /** class comment;*/ class c { } var i: c; @@ -287,17 +288,20 @@ declare module m1 { declare var myvar: m1.m2.c; /** module comment of m2.m3*/ declare module m2.m3 { + /** Exported class comment*/ class c { } } /** module comment of m3.m4.m5*/ declare module m3.m4.m5 { + /** Exported class comment*/ class c { } } /** module comment of m4.m5.m6*/ declare module m4.m5.m6 { module m7 { + /** Exported class comment*/ class c { } } @@ -306,12 +310,14 @@ declare module m4.m5.m6 { declare module m5.m6.m7 { /** module m8 comment*/ module m8 { + /** Exported class comment*/ class c { } } } declare module m6.m7 { module m8 { + /** Exported class comment*/ class c { } } @@ -319,6 +325,7 @@ declare module m6.m7 { declare module m7.m8 { /** module m9 comment*/ module m9 { + /** Exported class comment*/ class c { } class e { diff --git a/tests/baselines/reference/commentsMultiModuleMultiFile.js b/tests/baselines/reference/commentsMultiModuleMultiFile.js index d5cecc3f0d5..2c0cf2b837e 100644 --- a/tests/baselines/reference/commentsMultiModuleMultiFile.js +++ b/tests/baselines/reference/commentsMultiModuleMultiFile.js @@ -102,6 +102,7 @@ export declare module multiM { } /** thi is multi module 2*/ export declare module multiM { + /** class c comment*/ class c { } class e { @@ -110,6 +111,7 @@ export declare module multiM { //// [commentsMultiModuleMultiFile_1.d.ts] /** this is multi module 3 comment*/ export declare module multiM { + /** class d comment*/ class d { } class f { diff --git a/tests/baselines/reference/commentsMultiModuleSingleFile.js b/tests/baselines/reference/commentsMultiModuleSingleFile.js index 5f84c68afd3..133cc579889 100644 --- a/tests/baselines/reference/commentsMultiModuleSingleFile.js +++ b/tests/baselines/reference/commentsMultiModuleSingleFile.js @@ -68,12 +68,14 @@ new multiM.c(); //// [commentsMultiModuleSingleFile.d.ts] /** this is multi declare module*/ declare module multiM { + /** class b*/ class b { } class d { } } declare module multiM { + /** class c comment*/ class c { } class e { diff --git a/tests/baselines/reference/commentsemitComments.js b/tests/baselines/reference/commentsemitComments.js index fa44b33dc97..1a350db1d91 100644 --- a/tests/baselines/reference/commentsemitComments.js +++ b/tests/baselines/reference/commentsemitComments.js @@ -149,6 +149,7 @@ var m1; declare var myVariable: number; declare function foo(p: number): void; declare var fooVar: () => void; +/**class comment*/ declare class c { constructor(); b: number; @@ -168,6 +169,7 @@ interface i1 { declare var i1_i: i1; /** this is module comment*/ declare module m1 { + /** class b */ class b { x: number; constructor(x: number); diff --git a/tests/baselines/reference/declFileAccessors.js b/tests/baselines/reference/declFileAccessors.js index e19badb737d..ce50fc0ada0 100644 --- a/tests/baselines/reference/declFileAccessors.js +++ b/tests/baselines/reference/declFileAccessors.js @@ -269,6 +269,7 @@ var c2 = (function () { //// [declFileAccessors_0.d.ts] +/** This is comment for c1*/ export declare class c1 { p3: number; private pp3; @@ -280,6 +281,7 @@ export declare class c1 { onlySetter: number; } //// [declFileAccessors_1.d.ts] +/** This is comment for c2 - the global class*/ declare class c2 { p3: number; private pp3;