| abstract class A { | |
| const A(); | |
| const factory A.redir() = B; | |
| } | |
| class B extends A { | |
| const B(); | |
| } | |
| class C { | |
| C({A a = const A.redir()}); | |
| factory C.f({A a = const A.redir()}) => C(a: a); | |
| const C.c({A a = const A.redir()}); | |
| foo({A a = const A.redir()}) {} | |
| static bar({A a = const A.redir()}) {} | |
| } | |
| extension E on C { | |
| foo({A a = const A.redir()}) {} | |
| } | |
| extension type ET(C c) { | |
| ET.named(C c, {A a = const A.redir()}) : this(c); | |
| foo({A a = const A.redir()}) {} | |
| } | |
| foo({A a = const A.redir()}) {} |