=== tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInitializer.ts ===
interface I {
>I : I

    id: number;
>id : number
}

class C implements I {
>C : C
>I : I

    id: number;
>id : number
}

class D<T>{
>D : D<T>
>T : T

    source: T;
>source : T
>T : T

    recurse: D<T>;
>recurse : D<T>
>D : D<T>
>T : T

    wrapped: D<D<T>>
>wrapped : D<D<T>>
>D : D<T>
>D : D<T>
>T : T
}

function F(x: string): number { return 42; }
>F : (x: string) => number
>x : string

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
}

var aNumber: number = 9.9;
>aNumber : number

var aString: string = 'this is a string';
>aString : string

var aDate: Date = new Date(12);
>aDate : Date
>Date : Date
>new Date(12) : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }

var anObject: Object = new Object();
>anObject : Object
>Object : Object
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }

var anAny: any = null;
>anAny : any

var aSecondAny: any = undefined;
>aSecondAny : any
>undefined : undefined

var aVoid: void = undefined;
>aVoid : void
>undefined : undefined

var anInterface: I = new C();
>anInterface : I
>I : I
>new C() : C
>C : typeof C

var aClass: C = new C();
>aClass : C
>C : C
>new C() : C
>C : typeof C

var aGenericClass: D<string> = new D<string>();
>aGenericClass : D<string>
>D : D<T>
>new D<string>() : D<string>
>D : typeof D

var anObjectLiteral: I = { id: 12 };
>anObjectLiteral : I
>I : I
>{ id: 12 } : { id: number; }
>id : number

var anOtherObjectLiteral: { id: number } = new C();
>anOtherObjectLiteral : { id: number; }
>id : number
>new C() : C
>C : typeof C

var aFunction: typeof F = F;
>aFunction : (x: string) => number
>F : (x: string) => number
>F : (x: string) => number

var anOtherFunction: (x: string) => number = F;
>anOtherFunction : (x: string) => number
>x : string
>F : (x: string) => number

var aLambda: typeof F = (x) => 2;
>aLambda : (x: string) => number
>F : (x: string) => number
>(x) => 2 : (x: string) => number
>x : string

var aModule: typeof M = M;
>aModule : typeof M
>M : typeof M
>M : typeof M

var aClassInModule: M.A = new M.A();
>aClassInModule : M.A
>M : unknown
>A : M.A
>new M.A() : M.A
>M.A : typeof M.A
>M : typeof M
>A : typeof M.A

var aFunctionInModule: typeof M.F2 = (x) => 'this is a string';
>aFunctionInModule : (x: number) => string
>M : typeof M
>F2 : (x: number) => string
>(x) => 'this is a string' : (x: number) => string
>x : number


