=== tests/cases/compiler/commentsModules.ts === /** Module comment*/ module m1 { >m1 : Symbol(m1, Decl(commentsModules.ts, 0, 0)) /** b's comment*/ export var b: number; >b : Symbol(b, Decl(commentsModules.ts, 3, 14)) /** foo's comment*/ function foo() { >foo : Symbol(foo, Decl(commentsModules.ts, 3, 25)) return b; >b : Symbol(b, Decl(commentsModules.ts, 3, 14)) } /** m2 comments*/ export module m2 { >m2 : Symbol(m2, Decl(commentsModules.ts, 7, 5)) /** class comment;*/ export class c { >c : Symbol(c, Decl(commentsModules.ts, 9, 22)) }; /** i*/ export var i = new c(); >i : Symbol(i, Decl(commentsModules.ts, 14, 18)) >c : Symbol(c, Decl(commentsModules.ts, 9, 22)) } /** exported function*/ export function fooExport() { >fooExport : Symbol(fooExport, Decl(commentsModules.ts, 15, 5)) return foo(); >foo : Symbol(foo, Decl(commentsModules.ts, 3, 25)) } // shouldn't appear export function foo2Export(/**hm*/ a: string) { >foo2Export : Symbol(foo2Export, Decl(commentsModules.ts, 19, 5)) >a : Symbol(a, Decl(commentsModules.ts, 22, 31)) } /** foo3Export * comment */ export function foo3Export() { >foo3Export : Symbol(foo3Export, Decl(commentsModules.ts, 23, 5)) } /** foo4Export * comment */ function foo4Export() { >foo4Export : Symbol(foo4Export, Decl(commentsModules.ts, 29, 5)) } } // trailing comment module m1.fooExport(); >m1.fooExport : Symbol(m1.fooExport, Decl(commentsModules.ts, 15, 5)) >m1 : Symbol(m1, Decl(commentsModules.ts, 0, 0)) >fooExport : Symbol(m1.fooExport, Decl(commentsModules.ts, 15, 5)) var myvar = new m1.m2.c(); >myvar : Symbol(myvar, Decl(commentsModules.ts, 38, 3)) >m1.m2.c : Symbol(m1.m2.c, Decl(commentsModules.ts, 9, 22)) >m1.m2 : Symbol(m1.m2, Decl(commentsModules.ts, 7, 5)) >m1 : Symbol(m1, Decl(commentsModules.ts, 0, 0)) >m2 : Symbol(m1.m2, Decl(commentsModules.ts, 7, 5)) >c : Symbol(m1.m2.c, Decl(commentsModules.ts, 9, 22)) /** module comment of m2.m3*/ module m2.m3 { >m2 : Symbol(m2, Decl(commentsModules.ts, 38, 26)) >m3 : Symbol(m3, Decl(commentsModules.ts, 40, 10)) /** Exported class comment*/ export class c { >c : Symbol(c, Decl(commentsModules.ts, 40, 14)) } } /* trailing dotted module comment*/ new m2.m3.c(); >m2.m3.c : Symbol(m2.m3.c, Decl(commentsModules.ts, 40, 14)) >m2.m3 : Symbol(m2.m3, Decl(commentsModules.ts, 40, 10)) >m2 : Symbol(m2, Decl(commentsModules.ts, 38, 26)) >m3 : Symbol(m2.m3, Decl(commentsModules.ts, 40, 10)) >c : Symbol(m2.m3.c, Decl(commentsModules.ts, 40, 14)) /** module comment of m3.m4.m5*/ module m3.m4.m5 { >m3 : Symbol(m3, Decl(commentsModules.ts, 45, 14)) >m4 : Symbol(m4, Decl(commentsModules.ts, 47, 10)) >m5 : Symbol(m5, Decl(commentsModules.ts, 47, 13)) /** Exported class comment*/ export class c { >c : Symbol(c, Decl(commentsModules.ts, 47, 17)) } } // trailing dotted module 2 new m3.m4.m5.c(); >m3.m4.m5.c : Symbol(m3.m4.m5.c, Decl(commentsModules.ts, 47, 17)) >m3.m4.m5 : Symbol(m3.m4.m5, Decl(commentsModules.ts, 47, 13)) >m3.m4 : Symbol(m3.m4, Decl(commentsModules.ts, 47, 10)) >m3 : Symbol(m3, Decl(commentsModules.ts, 45, 14)) >m4 : Symbol(m3.m4, Decl(commentsModules.ts, 47, 10)) >m5 : Symbol(m3.m4.m5, Decl(commentsModules.ts, 47, 13)) >c : Symbol(m3.m4.m5.c, Decl(commentsModules.ts, 47, 17)) /** module comment of m4.m5.m6*/ module m4.m5.m6 { >m4 : Symbol(m4, Decl(commentsModules.ts, 52, 17)) >m5 : Symbol(m5, Decl(commentsModules.ts, 54, 10)) >m6 : Symbol(m6, Decl(commentsModules.ts, 54, 13)) export module m7 { >m7 : Symbol(m7, Decl(commentsModules.ts, 54, 17)) /** Exported class comment*/ export class c { >c : Symbol(c, Decl(commentsModules.ts, 55, 22)) } } /* trailing inner module */ /* multiple comments*/ } new m4.m5.m6.m7.c(); >m4.m5.m6.m7.c : Symbol(m4.m5.m6.m7.c, Decl(commentsModules.ts, 55, 22)) >m4.m5.m6.m7 : Symbol(m4.m5.m6.m7, Decl(commentsModules.ts, 54, 17)) >m4.m5.m6 : Symbol(m4.m5.m6, Decl(commentsModules.ts, 54, 13)) >m4.m5 : Symbol(m4.m5, Decl(commentsModules.ts, 54, 10)) >m4 : Symbol(m4, Decl(commentsModules.ts, 52, 17)) >m5 : Symbol(m4.m5, Decl(commentsModules.ts, 54, 10)) >m6 : Symbol(m4.m5.m6, Decl(commentsModules.ts, 54, 13)) >m7 : Symbol(m4.m5.m6.m7, Decl(commentsModules.ts, 54, 17)) >c : Symbol(m4.m5.m6.m7.c, Decl(commentsModules.ts, 55, 22)) /** module comment of m5.m6.m7*/ module m5.m6.m7 { >m5 : Symbol(m5, Decl(commentsModules.ts, 61, 20)) >m6 : Symbol(m6, Decl(commentsModules.ts, 63, 10)) >m7 : Symbol(m7, Decl(commentsModules.ts, 63, 13)) /** module m8 comment*/ export module m8 { >m8 : Symbol(m8, Decl(commentsModules.ts, 63, 17)) /** Exported class comment*/ export class c { >c : Symbol(c, Decl(commentsModules.ts, 65, 22)) } } } new m5.m6.m7.m8.c(); >m5.m6.m7.m8.c : Symbol(m5.m6.m7.m8.c, Decl(commentsModules.ts, 65, 22)) >m5.m6.m7.m8 : Symbol(m5.m6.m7.m8, Decl(commentsModules.ts, 63, 17)) >m5.m6.m7 : Symbol(m5.m6.m7, Decl(commentsModules.ts, 63, 13)) >m5.m6 : Symbol(m5.m6, Decl(commentsModules.ts, 63, 10)) >m5 : Symbol(m5, Decl(commentsModules.ts, 61, 20)) >m6 : Symbol(m5.m6, Decl(commentsModules.ts, 63, 10)) >m7 : Symbol(m5.m6.m7, Decl(commentsModules.ts, 63, 13)) >m8 : Symbol(m5.m6.m7.m8, Decl(commentsModules.ts, 63, 17)) >c : Symbol(m5.m6.m7.m8.c, Decl(commentsModules.ts, 65, 22)) module m6.m7 { >m6 : Symbol(m6, Decl(commentsModules.ts, 71, 20)) >m7 : Symbol(m7, Decl(commentsModules.ts, 72, 10)) export module m8 { >m8 : Symbol(m8, Decl(commentsModules.ts, 72, 14)) /** Exported class comment*/ export class c { >c : Symbol(c, Decl(commentsModules.ts, 73, 22)) } } } new m6.m7.m8.c(); >m6.m7.m8.c : Symbol(m6.m7.m8.c, Decl(commentsModules.ts, 73, 22)) >m6.m7.m8 : Symbol(m6.m7.m8, Decl(commentsModules.ts, 72, 14)) >m6.m7 : Symbol(m6.m7, Decl(commentsModules.ts, 72, 10)) >m6 : Symbol(m6, Decl(commentsModules.ts, 71, 20)) >m7 : Symbol(m6.m7, Decl(commentsModules.ts, 72, 10)) >m8 : Symbol(m6.m7.m8, Decl(commentsModules.ts, 72, 14)) >c : Symbol(m6.m7.m8.c, Decl(commentsModules.ts, 73, 22)) module m7.m8 { >m7 : Symbol(m7, Decl(commentsModules.ts, 79, 17)) >m8 : Symbol(m8, Decl(commentsModules.ts, 80, 10)) /** module m9 comment*/ export module m9 { >m9 : Symbol(m9, Decl(commentsModules.ts, 80, 14)) /** Exported class comment*/ export class c { >c : Symbol(c, Decl(commentsModules.ts, 82, 22)) } /** class d */ class d { >d : Symbol(d, Decl(commentsModules.ts, 85, 9)) } // class e export class e { >e : Symbol(e, Decl(commentsModules.ts, 89, 9)) } } } new m7.m8.m9.c(); >m7.m8.m9.c : Symbol(m7.m8.m9.c, Decl(commentsModules.ts, 82, 22)) >m7.m8.m9 : Symbol(m7.m8.m9, Decl(commentsModules.ts, 80, 14)) >m7.m8 : Symbol(m7.m8, Decl(commentsModules.ts, 80, 10)) >m7 : Symbol(m7, Decl(commentsModules.ts, 79, 17)) >m8 : Symbol(m7.m8, Decl(commentsModules.ts, 80, 10)) >m9 : Symbol(m7.m8.m9, Decl(commentsModules.ts, 80, 14)) >c : Symbol(m7.m8.m9.c, Decl(commentsModules.ts, 82, 22))