1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
//// [inferSetterParamType.ts]
class Foo {
get bar() {
return 0;
}
set bar(n) { // should not be an error - infer number
}
}
class Foo2 {
get bar() {
return 0; // should be an error - can't coerce infered return type to match setter annotated type
}
set bar(n:string) {
}
}
//// [inferSetterParamType.js]
var Foo = (function () {
function Foo() {
}
Object.defineProperty(Foo.prototype, "bar", {
get: function () {
return 0;
},
set: function (n) {
},
enumerable: true,
configurable: true
});
return Foo;
}());
var Foo2 = (function () {
function Foo2() {
}
Object.defineProperty(Foo2.prototype, "bar", {
get: function () {
return 0; // should be an error - can't coerce infered return type to match setter annotated type
},
set: function (n) {
},
enumerable: true,
configurable: true
});
return Foo2;
}());
|