2016-12-23 22:31:38 +03:00
|
|
|
exports[`test test.js 1`] = `
|
|
|
|
"class A {
|
|
|
|
foo(): A { return this; }
|
|
|
|
}
|
|
|
|
class B extends A {
|
|
|
|
foo(): B { return this; }
|
|
|
|
}
|
|
|
|
class C extends A {}
|
|
|
|
var a: A = new B();
|
|
|
|
a.foo = function(): C { return new C(); }
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
class A {
|
|
|
|
foo(): A {
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
class B extends A {
|
|
|
|
foo(): B {
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
class C extends A {}
|
2017-01-11 02:51:46 +03:00
|
|
|
var a: A = new B();
|
2016-12-23 22:31:38 +03:00
|
|
|
a.foo = function(): C {
|
2017-01-11 02:51:46 +03:00
|
|
|
return new C();
|
2017-01-11 18:16:38 +03:00
|
|
|
};
|
|
|
|
"
|
2016-12-23 22:31:38 +03:00
|
|
|
`;
|