abstract class Class1 { | |
String get field1; | |
} | |
abstract class Class2<V> {} | |
class Class3<V, D> {} | |
class Class4<K, V> { | |
Class2<V> operator [](K key) => throw ''; | |
} | |
class Class5 { | |
Class2<Class1?> get getter1 => throw ''; | |
late final field2 = Class4<String?, bool>(); | |
late final field3 = | |
getter1.method1((o) => o != null ? field2[o.field1] : null); | |
method2() {} | |
} | |
extension Extension1<V> on Class2<V> { | |
Class3<M, V> method1<M>(Function1<M, V> f) {} | |
} | |
typedef Function1<O, I> = Class2<O>? Function(I i); |