| 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); |