=== tests/cases/conformance/interfaces/declarationMerging/mergeTwoInterfaces2.ts === // two interfaces with the same root module should merge // root module now multiple module declarations module M2 { >M2 : typeof M2 export interface A { >A : A foo: string; >foo : string } var a: A; >a : A >A : A var r1 = a.foo >r1 : string >a.foo : string >a : A >foo : string var r2 = a.bar; >r2 : number >a.bar : number >a : A >bar : number } module M2 { >M2 : typeof M2 export interface A { >A : A bar: number; >bar : number } var a: A; >a : A >A : A var r1 = a.foo >r1 : string >a.foo : string >a : A >foo : string var r2 = a.bar; >r2 : number >a.bar : number >a : A >bar : number } // same as above but with an additional level of nesting module M2 { >M2 : typeof M2 export module M3 { >M3 : typeof M3 export interface A { >A : A foo: string; >foo : string } var a: A; >a : A >A : A var r1 = a.foo >r1 : string >a.foo : string >a : A >foo : string var r2 = a.bar; >r2 : number >a.bar : number >a : A >bar : number } } module M2 { >M2 : typeof M2 export module M3 { >M3 : typeof M3 export interface A { >A : A bar: number; >bar : number } var a: A; >a : A >A : A var r1 = a.foo >r1 : string >a.foo : string >a : A >foo : string var r2 = a.bar; >r2 : number >a.bar : number >a : A >bar : number } }