| class A {} | |
| class B extends A {} | |
| class C { | |
| A? f4() {} | |
| void f1(A x) {} | |
| void f2([A? x]) {} | |
| void f3({A? x}) {} | |
| } | |
| class D extends C { | |
| B? f4() {} | |
| void f1(Object x) {} | |
| void f2([Object? x]) {} | |
| void f3({Object? x}) {} | |
| } | |
| class E extends C { | |
| Object? f4() {} | |
| void f1(B x) {} | |
| void f2([B? x]) {} | |
| void f3({B? x}) {} | |
| } | |
| main() {} |