class A { } class B extends A { f(x) { a; if (x) { return new C(); } else { return a; } } } class C extends B> {}