//// [tests/cases/compiler/commentsExternalModules.ts] ////

=== commentsExternalModules_1.ts ===
/**This is on import declaration*/
import extMod = require("commentsExternalModules_0"); // trailing comment1
>extMod : Symbol(extMod, Decl(commentsExternalModules_1.ts, 0, 0))

extMod.m1.fooExport();
>extMod.m1.fooExport : Symbol(extMod.m1.fooExport, Decl(commentsExternalModules_0.ts, 15, 5))
>extMod.m1 : Symbol(extMod.m1, Decl(commentsExternalModules_0.ts, 0, 0))
>extMod : Symbol(extMod, Decl(commentsExternalModules_1.ts, 0, 0))
>m1 : Symbol(extMod.m1, Decl(commentsExternalModules_0.ts, 0, 0))
>fooExport : Symbol(extMod.m1.fooExport, Decl(commentsExternalModules_0.ts, 15, 5))

var newVar = new extMod.m1.m2.c();
>newVar : Symbol(newVar, Decl(commentsExternalModules_1.ts, 3, 3))
>extMod.m1.m2.c : Symbol(extMod.m1.m2.c, Decl(commentsExternalModules_0.ts, 9, 25))
>extMod.m1.m2 : Symbol(extMod.m1.m2, Decl(commentsExternalModules_0.ts, 7, 5))
>extMod.m1 : Symbol(extMod.m1, Decl(commentsExternalModules_0.ts, 0, 0))
>extMod : Symbol(extMod, Decl(commentsExternalModules_1.ts, 0, 0))
>m1 : Symbol(extMod.m1, Decl(commentsExternalModules_0.ts, 0, 0))
>m2 : Symbol(extMod.m1.m2, Decl(commentsExternalModules_0.ts, 7, 5))
>c : Symbol(extMod.m1.m2.c, Decl(commentsExternalModules_0.ts, 9, 25))

extMod.m4.fooExport();
>extMod.m4.fooExport : Symbol(extMod.m4.fooExport, Decl(commentsExternalModules_0.ts, 41, 5))
>extMod.m4 : Symbol(extMod.m4, Decl(commentsExternalModules_0.ts, 22, 26))
>extMod : Symbol(extMod, Decl(commentsExternalModules_1.ts, 0, 0))
>m4 : Symbol(extMod.m4, Decl(commentsExternalModules_0.ts, 22, 26))
>fooExport : Symbol(extMod.m4.fooExport, Decl(commentsExternalModules_0.ts, 41, 5))

var newVar2 = new extMod.m4.m2.c();
>newVar2 : Symbol(newVar2, Decl(commentsExternalModules_1.ts, 5, 3))
>extMod.m4.m2.c : Symbol(extMod.m4.m2.c, Decl(commentsExternalModules_0.ts, 35, 25))
>extMod.m4.m2 : Symbol(extMod.m4.m2, Decl(commentsExternalModules_0.ts, 32, 5))
>extMod.m4 : Symbol(extMod.m4, Decl(commentsExternalModules_0.ts, 22, 26))
>extMod : Symbol(extMod, Decl(commentsExternalModules_1.ts, 0, 0))
>m4 : Symbol(extMod.m4, Decl(commentsExternalModules_0.ts, 22, 26))
>m2 : Symbol(extMod.m4.m2, Decl(commentsExternalModules_0.ts, 32, 5))
>c : Symbol(extMod.m4.m2.c, Decl(commentsExternalModules_0.ts, 35, 25))

=== commentsExternalModules_0.ts ===
/** Module comment*/
export namespace m1 {
>m1 : Symbol(m1, Decl(commentsExternalModules_0.ts, 0, 0))

    /** b's comment*/
    export var b: number;
>b : Symbol(b, Decl(commentsExternalModules_0.ts, 3, 14))

    /** foo's comment*/
    function foo() {
>foo : Symbol(foo, Decl(commentsExternalModules_0.ts, 3, 25))

        return b;
>b : Symbol(b, Decl(commentsExternalModules_0.ts, 3, 14))
    }
    /** m2 comments*/
    export namespace m2 {
>m2 : Symbol(m2, Decl(commentsExternalModules_0.ts, 7, 5))

        /** class comment;*/
        export class c {
>c : Symbol(c, Decl(commentsExternalModules_0.ts, 9, 25))

        };
        /** i*/
        export var i = new c();
>i : Symbol(i, Decl(commentsExternalModules_0.ts, 14, 18))
>c : Symbol(c, Decl(commentsExternalModules_0.ts, 9, 25))
    }
    /** exported function*/
    export function fooExport() {
>fooExport : Symbol(fooExport, Decl(commentsExternalModules_0.ts, 15, 5))

        return foo();
>foo : Symbol(foo, Decl(commentsExternalModules_0.ts, 3, 25))
    }
}
m1.fooExport();
>m1.fooExport : Symbol(m1.fooExport, Decl(commentsExternalModules_0.ts, 15, 5))
>m1 : Symbol(m1, Decl(commentsExternalModules_0.ts, 0, 0))
>fooExport : Symbol(m1.fooExport, Decl(commentsExternalModules_0.ts, 15, 5))

var myvar = new m1.m2.c();
>myvar : Symbol(myvar, Decl(commentsExternalModules_0.ts, 22, 3))
>m1.m2.c : Symbol(m1.m2.c, Decl(commentsExternalModules_0.ts, 9, 25))
>m1.m2 : Symbol(m1.m2, Decl(commentsExternalModules_0.ts, 7, 5))
>m1 : Symbol(m1, Decl(commentsExternalModules_0.ts, 0, 0))
>m2 : Symbol(m1.m2, Decl(commentsExternalModules_0.ts, 7, 5))
>c : Symbol(m1.m2.c, Decl(commentsExternalModules_0.ts, 9, 25))

/** Module comment */
export namespace m4 {
>m4 : Symbol(m4, Decl(commentsExternalModules_0.ts, 22, 26))

    /** b's comment */
    export var b: number;
>b : Symbol(b, Decl(commentsExternalModules_0.ts, 27, 14))

    /** foo's comment
    */
    function foo() {
>foo : Symbol(foo, Decl(commentsExternalModules_0.ts, 27, 25))

        return b;
>b : Symbol(b, Decl(commentsExternalModules_0.ts, 27, 14))
    }
    /** m2 comments
    */
    export namespace m2 {
>m2 : Symbol(m2, Decl(commentsExternalModules_0.ts, 32, 5))

        /** class comment; */
        export class c {
>c : Symbol(c, Decl(commentsExternalModules_0.ts, 35, 25))

        };
        /** i */
        export var i = new c();
>i : Symbol(i, Decl(commentsExternalModules_0.ts, 40, 18))
>c : Symbol(c, Decl(commentsExternalModules_0.ts, 35, 25))
    }
    /** exported function */
    export function fooExport() {
>fooExport : Symbol(fooExport, Decl(commentsExternalModules_0.ts, 41, 5))

        return foo();
>foo : Symbol(foo, Decl(commentsExternalModules_0.ts, 27, 25))
    }
}
m4.fooExport();
>m4.fooExport : Symbol(m4.fooExport, Decl(commentsExternalModules_0.ts, 41, 5))
>m4 : Symbol(m4, Decl(commentsExternalModules_0.ts, 22, 26))
>fooExport : Symbol(m4.fooExport, Decl(commentsExternalModules_0.ts, 41, 5))

var myvar2 = new m4.m2.c();
>myvar2 : Symbol(myvar2, Decl(commentsExternalModules_0.ts, 48, 3))
>m4.m2.c : Symbol(m4.m2.c, Decl(commentsExternalModules_0.ts, 35, 25))
>m4.m2 : Symbol(m4.m2, Decl(commentsExternalModules_0.ts, 32, 5))
>m4 : Symbol(m4, Decl(commentsExternalModules_0.ts, 22, 26))
>m2 : Symbol(m4.m2, Decl(commentsExternalModules_0.ts, 32, 5))
>c : Symbol(m4.m2.c, Decl(commentsExternalModules_0.ts, 35, 25))

