blob: 41cfda86f910b8c328b49e4fc91f73c3ead651a8 [file] [log] [blame]
library;
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
;
abstract get field1() core::String;
}
abstract class Class2<V extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::Class2<self::Class2::V%>
;
}
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%>
;
}
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%>
;
operator [](covariant-by-class self::Class4::K% key) self::Class2<self::Class4::V%>
;
}
class Class5 extends core::Object {
late final field self::Class4<core::String?, core::bool> field2;
late final field self::Class3<core::bool, self::Class1?> field3;
synthetic constructor •() self::Class5
;
method method2() dynamic
;
get getter1() self::Class2<self::Class1?>
;
}
extension Extension1<V extends core::Object? = dynamic> on self::Class2<V%> {
method method1 = self::Extension1|method1;
method tearoff method1 = self::Extension1|get#method1;
}
static extension-member 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%>
;
static extension-member 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);