//// [instancePropertiesInheritedIntoClassType.ts] module NonGeneric { class C { x: string; get y() { return 1; } set y(v) { } fn() { return this; } constructor(public a: number, private b: number) { } } class D extends C { e: string; } var d = new D(1, 2); var r = d.fn(); var r2 = r.x; var r3 = r.y; r.y = 4; var r6 = d.y(); // error } module Generic { class C { x: T; get y() { return null; } set y(v: U) { } fn() { return this; } constructor(public a: T, private b: U) { } } class D extends C { e: T; } var d = new D(1, ''); var r = d.fn(); var r2 = r.x; var r3 = r.y; r.y = ''; var r6 = d.y(); // error } //// [instancePropertiesInheritedIntoClassType.js] var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } __.prototype = b.prototype; d.prototype = new __(); }; var NonGeneric; (function (NonGeneric) { var C = (function () { function C(a, b) { this.a = a; this.b = b; } Object.defineProperty(C.prototype, "y", { get: function () { return 1; }, set: function (v) { }, enumerable: true, configurable: true }); C.prototype.fn = function () { return this; }; return C; })(); var D = (function (_super) { __extends(D, _super); function D() { _super.apply(this, arguments); } return D; })(C); var d = new D(1, 2); var r = d.fn(); var r2 = r.x; var r3 = r.y; r.y = 4; var r6 = d.y(); // error })(NonGeneric || (NonGeneric = {})); var Generic; (function (Generic) { var C = (function () { function C(a, b) { this.a = a; this.b = b; } Object.defineProperty(C.prototype, "y", { get: function () { return null; }, set: function (v) { }, enumerable: true, configurable: true }); C.prototype.fn = function () { return this; }; return C; })(); var D = (function (_super) { __extends(D, _super); function D() { _super.apply(this, arguments); } return D; })(C); var d = new D(1, ''); var r = d.fn(); var r2 = r.x; var r3 = r.y; r.y = ''; var r6 = d.y(); // error })(Generic || (Generic = {}));