=== tests/cases/conformance/statements/forStatements/forStatements.ts === interface I { >I : I id: number; >id : number } class C implements I { >C : C >I : I id: number; >id : number } class D{ >D : D >T : T source: T; >source : T >T : T recurse: D; >recurse : D >D : D >T : T wrapped: D> >wrapped : D> >D : D >D : D >T : T } function F(x: string): number { return 42; } >F : (x: string) => number >x : string >42 : number module M { >M : typeof M export class A { >A : A name: string; >name : string } export function F2(x: number): string { return x.toString(); } >F2 : (x: number) => string >x : number >x.toString() : string >x.toString : (radix?: number) => string >x : number >toString : (radix?: number) => string } for(var aNumber: number = 9.9;;){} >aNumber : number >9.9 : number for(var aString: string = 'this is a string';;){} >aString : string >'this is a string' : string for(var aDate: Date = new Date(12);;){} >aDate : Date >Date : Date >new Date(12) : Date >Date : DateConstructor >12 : number for(var anObject: Object = new Object();;){} >anObject : Object >Object : Object >new Object() : Object >Object : ObjectConstructor for(var anAny: any = null;;){} >anAny : any >null : null for(var aSecondAny: any = undefined;;){} >aSecondAny : any >undefined : undefined for(var aVoid: void = undefined;;){} >aVoid : void >undefined : undefined for(var anInterface: I = new C();;){} >anInterface : I >I : I >new C() : C >C : typeof C for(var aClass: C = new C();;){} >aClass : C >C : C >new C() : C >C : typeof C for(var aGenericClass: D = new D();;){} >aGenericClass : D >D : D >new D() : D >D : typeof D for(var anObjectLiteral: I = { id: 12 };;){} >anObjectLiteral : I >I : I >{ id: 12 } : { id: number; } >id : number >12 : number for(var anOtherObjectLiteral: { id: number } = new C();;){} >anOtherObjectLiteral : { id: number; } >id : number >new C() : C >C : typeof C for(var aFunction: typeof F = F;;){} >aFunction : (x: string) => number >F : (x: string) => number >F : (x: string) => number for(var anOtherFunction: (x: string) => number = F;;){} >anOtherFunction : (x: string) => number >x : string >F : (x: string) => number for(var aLambda: typeof F = (x) => 2;;){} >aLambda : (x: string) => number >F : (x: string) => number >(x) => 2 : (x: string) => number >x : string >2 : number for(var aModule: typeof M = M;;){} >aModule : typeof M >M : typeof M >M : typeof M for(var aClassInModule: M.A = new M.A();;){} >aClassInModule : M.A >M : any >A : M.A >new M.A() : M.A >M.A : typeof M.A >M : typeof M >A : typeof M.A for(var aFunctionInModule: typeof M.F2 = (x) => 'this is a string';;){} >aFunctionInModule : (x: number) => string >M.F2 : (x: number) => string >M : typeof M >F2 : (x: number) => string >(x) => 'this is a string' : (x: number) => string >x : number >'this is a string' : string