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()}) {} |