=== tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithMultipleBases2.ts === // merged interfaces behave as if all extends clauses from each declaration are merged together // no errors expected class C { >C : Symbol(C, Decl(mergedInterfacesWithMultipleBases2.ts, 0, 0)) a: number; >a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 3, 9)) } class C2 { >C2 : Symbol(C2, Decl(mergedInterfacesWithMultipleBases2.ts, 5, 1)) b: number; >b : Symbol(b, Decl(mergedInterfacesWithMultipleBases2.ts, 7, 10)) } class C3 { >C3 : Symbol(C3, Decl(mergedInterfacesWithMultipleBases2.ts, 9, 1)) c: string; >c : Symbol(c, Decl(mergedInterfacesWithMultipleBases2.ts, 11, 10)) } class C4 { >C4 : Symbol(C4, Decl(mergedInterfacesWithMultipleBases2.ts, 13, 1)) d: string; >d : Symbol(d, Decl(mergedInterfacesWithMultipleBases2.ts, 15, 10)) } interface A extends C, C3 { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 17, 1), Decl(mergedInterfacesWithMultipleBases2.ts, 22, 1)) >C : Symbol(C, Decl(mergedInterfacesWithMultipleBases2.ts, 0, 0)) >C3 : Symbol(C3, Decl(mergedInterfacesWithMultipleBases2.ts, 9, 1)) y: string; >y : Symbol(y, Decl(mergedInterfacesWithMultipleBases2.ts, 20, 27)) } interface A extends C2, C4 { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 17, 1), Decl(mergedInterfacesWithMultipleBases2.ts, 22, 1)) >C2 : Symbol(C2, Decl(mergedInterfacesWithMultipleBases2.ts, 5, 1)) >C4 : Symbol(C4, Decl(mergedInterfacesWithMultipleBases2.ts, 13, 1)) z: string; >z : Symbol(z, Decl(mergedInterfacesWithMultipleBases2.ts, 24, 28)) } class D implements A { >D : Symbol(D, Decl(mergedInterfacesWithMultipleBases2.ts, 26, 1)) >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 17, 1), Decl(mergedInterfacesWithMultipleBases2.ts, 22, 1)) a: number; >a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 28, 22)) b: number; >b : Symbol(b, Decl(mergedInterfacesWithMultipleBases2.ts, 29, 14)) c: string; >c : Symbol(c, Decl(mergedInterfacesWithMultipleBases2.ts, 30, 14)) d: string; >d : Symbol(d, Decl(mergedInterfacesWithMultipleBases2.ts, 31, 14)) y: string; >y : Symbol(y, Decl(mergedInterfacesWithMultipleBases2.ts, 32, 14)) z: string; >z : Symbol(z, Decl(mergedInterfacesWithMultipleBases2.ts, 33, 14)) } var a: A; >a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 37, 3)) >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 17, 1), Decl(mergedInterfacesWithMultipleBases2.ts, 22, 1)) var r = a.a; >r : Symbol(r, Decl(mergedInterfacesWithMultipleBases2.ts, 38, 3)) >a.a : Symbol(C.a, Decl(mergedInterfacesWithMultipleBases2.ts, 3, 9)) >a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 37, 3)) >a : Symbol(C.a, Decl(mergedInterfacesWithMultipleBases2.ts, 3, 9)) // generic interfaces in a module module M { >M : Symbol(M, Decl(mergedInterfacesWithMultipleBases2.ts, 38, 12)) class C { >C : Symbol(C, Decl(mergedInterfacesWithMultipleBases2.ts, 41, 10)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 42, 12)) a: T; >a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 42, 16)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 42, 12)) } class C2 { >C2 : Symbol(C2, Decl(mergedInterfacesWithMultipleBases2.ts, 44, 5)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 46, 13)) b: T; >b : Symbol(b, Decl(mergedInterfacesWithMultipleBases2.ts, 46, 17)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 46, 13)) } class C3 { >C3 : Symbol(C3, Decl(mergedInterfacesWithMultipleBases2.ts, 48, 5)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 50, 13)) c: T; >c : Symbol(c, Decl(mergedInterfacesWithMultipleBases2.ts, 50, 17)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 50, 13)) } class C4 { >C4 : Symbol(C4, Decl(mergedInterfacesWithMultipleBases2.ts, 52, 5)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 54, 13)) d: T; >d : Symbol(d, Decl(mergedInterfacesWithMultipleBases2.ts, 54, 17)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 54, 13)) } interface A extends C, C3 { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 56, 5), Decl(mergedInterfacesWithMultipleBases2.ts, 60, 5)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) >C : Symbol(C, Decl(mergedInterfacesWithMultipleBases2.ts, 41, 10)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) >C3 : Symbol(C3, Decl(mergedInterfacesWithMultipleBases2.ts, 48, 5)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) y: T; >y : Symbol(y, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 40)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) } interface A extends C2, C4 { >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 56, 5), Decl(mergedInterfacesWithMultipleBases2.ts, 60, 5)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) >C2 : Symbol(C2, Decl(mergedInterfacesWithMultipleBases2.ts, 44, 5)) >C4 : Symbol(C4, Decl(mergedInterfacesWithMultipleBases2.ts, 52, 5)) z: T; >z : Symbol(z, Decl(mergedInterfacesWithMultipleBases2.ts, 62, 51)) >T : Symbol(T, Decl(mergedInterfacesWithMultipleBases2.ts, 58, 16), Decl(mergedInterfacesWithMultipleBases2.ts, 62, 16)) } class D implements A { >D : Symbol(D, Decl(mergedInterfacesWithMultipleBases2.ts, 64, 5)) >A : Symbol(A, Decl(mergedInterfacesWithMultipleBases2.ts, 56, 5), Decl(mergedInterfacesWithMultipleBases2.ts, 60, 5)) a: boolean; >a : Symbol(a, Decl(mergedInterfacesWithMultipleBases2.ts, 66, 35)) b: string; >b : Symbol(b, Decl(mergedInterfacesWithMultipleBases2.ts, 67, 19)) c: boolean; >c : Symbol(c, Decl(mergedInterfacesWithMultipleBases2.ts, 68, 18)) d: string; >d : Symbol(d, Decl(mergedInterfacesWithMultipleBases2.ts, 69, 19)) y: boolean; >y : Symbol(y, Decl(mergedInterfacesWithMultipleBases2.ts, 70, 18)) z: boolean; >z : Symbol(z, Decl(mergedInterfacesWithMultipleBases2.ts, 71, 19)) } }