tests/cases/compiler/typeofProperty.ts(3,15): error TS2304: Cannot find name 'a'.
tests/cases/compiler/typeofProperty.ts(7,15): error TS2304: Cannot find name 'd'.
tests/cases/compiler/typeofProperty.ts(12,15): error TS2304: Cannot find name 'e'.
tests/cases/compiler/typeofProperty.ts(17,15): error TS2304: Cannot find name 'a'.
tests/cases/compiler/typeofProperty.ts(22,15): error TS2304: Cannot find name 'd'.
tests/cases/compiler/typeofProperty.ts(27,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
    
    
    