=== tests/cases/conformance/internalModules/DeclarationMerging/part1.ts === module Root { >Root : typeof Root, Symbol(Root, Decl(part1.ts, 0, 0)) export module A { >A : typeof A, Symbol(A, Decl(part1.ts, 0, 13)) export interface Point { >Point : Point, Symbol(Point, Decl(part1.ts, 1, 21)) x: number; >x : number, Symbol(x, Decl(part1.ts, 2, 32)) y: number; >y : number, Symbol(y, Decl(part1.ts, 3, 22)) } export module Utils { >Utils : typeof Utils, Symbol(Utils, Decl(part1.ts, 5, 9)) export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; }, Symbol(mirror, Decl(part1.ts, 7, 29)) >T : T, Symbol(T, Decl(part1.ts, 8, 35)) >Point : Point, Symbol(Point, Decl(part1.ts, 1, 21)) >p : T, Symbol(p, Decl(part1.ts, 8, 52)) >T : T, Symbol(T, Decl(part1.ts, 8, 35)) return { x: p.y, y: p.x }; >{ x: p.y, y: p.x } : { x: number; y: number; } >x : number, Symbol(x, Decl(part1.ts, 9, 24)) >p.y : number, Symbol(Point.y, Decl(part1.ts, 3, 22)) >p : T, Symbol(p, Decl(part1.ts, 8, 52)) >y : number, Symbol(Point.y, Decl(part1.ts, 3, 22)) >y : number, Symbol(y, Decl(part1.ts, 9, 32)) >p.x : number, Symbol(Point.x, Decl(part1.ts, 2, 32)) >p : T, Symbol(p, Decl(part1.ts, 8, 52)) >x : number, Symbol(Point.x, Decl(part1.ts, 2, 32)) } } } } === tests/cases/conformance/internalModules/DeclarationMerging/part2.ts === module otherRoot { >otherRoot : typeof otherRoot, Symbol(otherRoot, Decl(part2.ts, 0, 0)) export module A { >A : typeof A, Symbol(A, Decl(part2.ts, 0, 18)) // have to be fully qualified since in different root export var Origin: Root.A.Point = { x: 0, y: 0 }; >Origin : Root.A.Point, Symbol(Origin, Decl(part2.ts, 3, 18)) >Root : any, Symbol(Root, Decl(part1.ts, 0, 0)) >A : any, Symbol(Root.A, Decl(part1.ts, 0, 13)) >Point : Root.A.Point, Symbol(Root.A.Point, Decl(part1.ts, 1, 21)) >{ x: 0, y: 0 } : { x: number; y: number; } >x : number, Symbol(x, Decl(part2.ts, 3, 43)) >0 : number >y : number, Symbol(y, Decl(part2.ts, 3, 49)) >0 : number export module Utils { >Utils : typeof Utils, Symbol(Utils, Decl(part2.ts, 3, 57)) export class Plane { >Plane : Plane, Symbol(Plane, Decl(part2.ts, 5, 29)) constructor(public tl: Root.A.Point, public br: Root.A.Point) { } >tl : Root.A.Point, Symbol(tl, Decl(part2.ts, 7, 28)) >Root : any, Symbol(Root, Decl(part1.ts, 0, 0)) >A : any, Symbol(Root.A, Decl(part1.ts, 0, 13)) >Point : Root.A.Point, Symbol(Root.A.Point, Decl(part1.ts, 1, 21)) >br : Root.A.Point, Symbol(br, Decl(part2.ts, 7, 52)) >Root : any, Symbol(Root, Decl(part1.ts, 0, 0)) >A : any, Symbol(Root.A, Decl(part1.ts, 0, 13)) >Point : Root.A.Point, Symbol(Root.A.Point, Decl(part1.ts, 1, 21)) } } } }