| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| typedef Function1<O extends core::Object? = dynamic, contravariant I extends core::Object? = dynamic> = (I%) → self::Class2<O%>?; |
| abstract class Class1 extends core::Object { |
| synthetic constructor •() → self::Class1 |
| : super core::Object::•() |
| ; |
| abstract get field1() → core::String; |
| } |
| abstract class Class2<V extends core::Object? = dynamic> extends core::Object { |
| synthetic constructor •() → self::Class2<self::Class2::V%> |
| : super core::Object::•() |
| ; |
| } |
| class Class3<V extends core::Object? = dynamic, D extends core::Object? = dynamic> extends core::Object { |
| synthetic constructor •() → self::Class3<self::Class3::V%, self::Class3::D%> |
| : super core::Object::•() |
| ; |
| } |
| class Class4<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object { |
| synthetic constructor •() → self::Class4<self::Class4::K%, self::Class4::V%> |
| : super core::Object::•() |
| ; |
| operator [](covariant-by-class self::Class4::K% key) → self::Class2<self::Class4::V%> |
| return throw ""; |
| } |
| class Class5 extends core::Object { |
| late final field self::Class4<core::String?, core::bool> field2 = new self::Class4::•<core::String?, core::bool>(); |
| late final field self::Class3<core::bool, self::Class1?> field3 = self::Extension1|method1<self::Class1?, core::bool>(this.{self::Class5::getter1}{self::Class2<self::Class1?>}, (self::Class1? o) → self::Class2<core::bool>? => !(o == null) ?{self::Class2<core::bool>?} this.{self::Class5::field2}{self::Class4<core::String?, core::bool>}.{self::Class4::[]}(o{self::Class1}.{self::Class1::field1}{core::String}){(core::String?) → self::Class2<core::bool>} : null); |
| synthetic constructor •() → self::Class5 |
| : super core::Object::•() |
| ; |
| method method2() → dynamic { |
| late final self::Class3<core::bool, self::Class1?> local1 = self::Extension1|method1<self::Class1?, core::bool>(this.{self::Class5::getter1}{self::Class2<self::Class1?>}, (self::Class1? o) → self::Class2<core::bool>? => !(o == null) ?{self::Class2<core::bool>?} this.{self::Class5::field2}{self::Class4<core::String?, core::bool>}.{self::Class4::[]}(o{self::Class1}.{self::Class1::field1}{core::String}){(core::String?) → self::Class2<core::bool>} : null); |
| } |
| get getter1() → self::Class2<self::Class1?> |
| return throw ""; |
| } |
| extension Extension1<V extends core::Object? = dynamic> on self::Class2<V%> { |
| method method1 = self::Extension1|method1; |
| tearoff method1 = self::Extension1|get#method1; |
| } |
| static method Extension1|method1<V extends core::Object? = dynamic, M extends core::Object? = dynamic>(lowered final self::Class2<self::Extension1|method1::V%> #this, (self::Extension1|method1::V%) → self::Class2<self::Extension1|method1::M%>? f) → self::Class3<self::Extension1|method1::M%, self::Extension1|method1::V%> { |
| throw ""; |
| } |
| static method Extension1|get#method1<V extends core::Object? = dynamic>(lowered final self::Class2<self::Extension1|get#method1::V%> #this) → <M extends core::Object? = dynamic>((self::Extension1|get#method1::V%) → self::Class2<M%>?) → self::Class3<M%, self::Extension1|get#method1::V%> |
| return <M extends core::Object? = dynamic>((self::Extension1|get#method1::V%) → self::Class2<M%>? f) → self::Class3<M%, self::Extension1|get#method1::V%> => self::Extension1|method1<self::Extension1|get#method1::V%, M%>(#this, f); |