Files
test-repo/tests/flow/this/arrows.js
T
Christopher Chedeau 3375cfe605 Move tests around (#454)
* new_tests

* move_all_clobbered_tests

* remove all the tests that no longer exist

* re-run flow tests

* Move all the flow tests to tests/flow and prettier to tests/

* Move prettier tests to their own folders

* Add jsfmt files

* run prettier snapshot tests
2017-01-24 14:35:37 -08:00

28 lines
545 B
JavaScript

class C {
foo() {
return () => { return this.bar(); }; // OK, since this: C
}
bar() { return this; } // return type is C
}
var c = new C;
var f = c.foo();
var i = f(); // OK
(i: C); // OK
class D extends C { }
var d = new D;
var g = d.foo();
var j = g(); // OK
(j: D); // error, since return type of bar is C, not the type of `this`
class E {
foo(x: number) { }
}
class F extends E {
foo() { // OK to override with generalization
(() => {
super.foo(""); // find super method, error due to incorrect arg
})();
}
}