tests/cases/compiler/typeofProperty.ts(4,15): error TS2304: Cannot find name 'a'.
tests/cases/compiler/typeofProperty.ts(8,15): error TS2304: Cannot find name 'd'.
tests/cases/compiler/typeofProperty.ts(13,15): error TS2304: Cannot find name 'e'.
tests/cases/compiler/typeofProperty.ts(18,15): error TS2304: Cannot find name 'a'.
tests/cases/compiler/typeofProperty.ts(23,15): error TS2304: Cannot find name 'd'.
tests/cases/compiler/typeofProperty.ts(28,15): error TS2304: Cannot find name 'e'.


==== tests/cases/compiler/typeofProperty.ts (6 errors) ====
    
    interface I1 {
        a: number;
        b: typeof a; // Should yield error (a is not a value)
                  ~
!!! error TS2304: Cannot find name 'a'.
    }
    
    interface I2 {
        c: typeof d; // Should yield error (d is not a value)
                  ~
!!! error TS2304: Cannot find name 'd'.
        d: string;
    }
    
    interface I3 {
        e: typeof e; // Should yield error (e is not a value)
                  ~
!!! error TS2304: Cannot find name 'e'.
    }
    
    class C1 {
        a: number;
        b: typeof a; // Should yield error (a is not a value)
                  ~
!!! error TS2304: Cannot find name 'a'.
    }
    
    
    class C2 {
        c: typeof d; // Should yield error (d is not a value)
                  ~
!!! error TS2304: Cannot find name 'd'.
        d: string;
    }
    
    class C3 {
        e: typeof e; // Should yield error (e is not a value)
                  ~
!!! error TS2304: Cannot find name 'e'.
    }
    
    
    
    interface ValidInterface {
        x: string;
    }
    
    class ValidClass implements ValidInterface {
        x: string;
    }
    
    var vcInstance = new ValidClass();
    var viInstance = vcInstance;
    
    var x1: typeof vcInstance.x; // x1: string
    var x2: typeof viInstance.x; // x2: string
    
    
    