==== tests/cases/compiler/instancePropertyInClassType.ts (2 errors) ====
    module NonGeneric {
        class C {
            x: string;
            get y() {
                return 1;
            }
            set y(v) { }
            fn() { return this; }
            constructor(public a: number, private b: number) { }
        }
    
        var c = new C(1, 2);
        var r = c.fn();
        var r2 = r.x;
        var r3 = r.y;
        r.y = 4;
        var r6 = c.y(); // error
                 ~~~~~
!!! instancePropertyInClassType.ts(17,14): error TS2088: Cannot invoke an expression whose type lacks a call signature.
    
    }
    
    module Generic {
        class C<T,U> {
            x: T;
            get y() {
                return null;
            }
            set y(v: U) { }
            fn() { return this; }
            constructor(public a: T, private b: U) { }
        }
    
        var c = new C(1, '');
        var r = c.fn();
        var r2 = r.x;
        var r3 = r.y;
        r.y = '';
        var r6 = c.y(); // error
                 ~~~~~
!!! instancePropertyInClassType.ts(37,14): error TS2088: Cannot invoke an expression whose type lacks a call signature.
    }