=== tests/cases/compiler/declarationEmitDestructuringObjectLiteralPattern2.ts === var { a: x11, b: { a: y11, b: { a: z11 }}} = { a: 1, b: { a: "hello", b: { a: true } } }; >a : any >x11 : number >b : any >a : any >y11 : string >b : any >a : any >z11 : boolean >{ a: 1, b: { a: "hello", b: { a: true } } } : { a: number; b: { a: string; b: { a: boolean; }; }; } >a : number >1 : number >b : { a: string; b: { a: boolean; }; } >{ a: "hello", b: { a: true } } : { a: string; b: { a: boolean; }; } >a : string >"hello" : string >b : { a: boolean; } >{ a: true } : { a: boolean; } >a : boolean >true : boolean function f15() { >f15 : () => { a4: string; b4: number; c4: boolean; } var a4 = "hello"; >a4 : string >"hello" : string var b4 = 1; >b4 : number >1 : number var c4 = true; >c4 : boolean >true : boolean return { a4, b4, c4 }; >{ a4, b4, c4 } : { a4: string; b4: number; c4: boolean; } >a4 : string >b4 : number >c4 : boolean } var { a4, b4, c4 } = f15(); >a4 : string >b4 : number >c4 : boolean >f15() : { a4: string; b4: number; c4: boolean; } >f15 : () => { a4: string; b4: number; c4: boolean; } module m { >m : typeof m export var { a4, b4, c4 } = f15(); >a4 : string >b4 : number >c4 : boolean >f15() : { a4: string; b4: number; c4: boolean; } >f15 : () => { a4: string; b4: number; c4: boolean; } }