TypeScript/tests/baselines/reference/superCallArgsMustMatch.js

51 lines
1 KiB
TypeScript

//// [superCallArgsMustMatch.ts]
class T5<T>{
public foo: T;
constructor(public bar: T) { }
}
class T6 extends T5<number>{
constructor() {
// Should error; base constructor has type T for first arg,
// which is instantiated with 'number' in the extends clause
super("hi");
var x: number = this.foo;
}
}
//// [superCallArgsMustMatch.js]
var __extends = 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 T5 = (function () {
function T5(bar) {
this.bar = bar;
}
return T5;
})();
var T6 = (function (_super) {
__extends(T6, _super);
function T6() {
// Should error; base constructor has type T for first arg,
// which is instantiated with 'number' in the extends clause
_super.call(this, "hi");
var x = this.foo;
}
return T6;
})(T5);