=== tests/cases/conformance/statements/throwStatements/throwInEnclosingStatements.ts === function fn(x) { >fn : (x: any) => void >x : any throw x; >x : any } (x: T) => { throw x; } >(x: T) => { throw x; } : (x: T) => void >T : T >x : T >T : T >x : T var y: string; >y : string switch (y) { >y : string case 'a': throw y; >y : string default: throw y; >y : string } var z = 0; >z : number while (z < 10) { >z < 10 : boolean >z : number throw z; >z : number } for (var i = 0; ;) { throw i; } >i : number >i : number for (var idx in {}) { throw idx; } >idx : any >{} : {} >idx : any do { throw null; }while(true) var j = 0; >j : number while (j < 0) { throw j; } >j < 0 : boolean >j : number >j : number class C { >C : C >T : T private value: T; >value : T >T : T biz() { >biz : () => void throw this.value; >this.value : T >this : C >value : T } constructor() { throw this; >this : C } } var aa = { >aa : { id: number; biz(): void; } >{ id:12, biz() { throw this; }} : { id: number; biz(): void; } id:12, >id : number biz() { >biz : () => void throw this; >this : any } }