| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| typedef F<X extends core::Object? = dynamic> = X%; |
| extension type E1<X extends core::Object? = dynamic>(X% it) { |
| abstract extension-type-member representation-field get it() → X%; |
| constructor • = self::E1|constructor#; |
| constructor tearoff • = self::E1|constructor#_#new#tearOff; |
| } |
| extension type E2<X extends core::Object? = dynamic>(self::E1<self::E1<X%>% /* erasure=X%, declared=! */>% /* erasure=X%, declared=! */ it) { |
| abstract extension-type-member representation-field get it() → self::E1<self::E1<X%>% /* erasure=X%, declared=! */>% /* erasure=X%, declared=! */; |
| constructor • = self::E2|constructor#; |
| constructor tearoff • = self::E2|constructor#_#new#tearOff; |
| } |
| static extension-type-member method E1|constructor#<X extends core::Object? = dynamic>(self::E1|constructor#::X% it) → self::E1<self::E1|constructor#::X%>% /* erasure=self::E1|constructor#::X%, declared=! */ { |
| lowered final self::E1<self::E1|constructor#::X%>% /* erasure=self::E1|constructor#::X%, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method E1|constructor#_#new#tearOff<X extends core::Object? = dynamic>(self::E1|constructor#_#new#tearOff::X% it) → self::E1<self::E1|constructor#_#new#tearOff::X%>% /* erasure=self::E1|constructor#_#new#tearOff::X%, declared=! */ |
| return self::E1|constructor#<self::E1|constructor#_#new#tearOff::X%>(it); |
| static extension-type-member method E2|constructor#<X extends core::Object? = dynamic>(self::E1<self::E1<self::E2|constructor#::X%>% /* erasure=self::E2|constructor#::X%, declared=! */>% /* erasure=self::E2|constructor#::X%, declared=! */ it) → self::E2<self::E2|constructor#::X%>% /* erasure=self::E2|constructor#::X%, declared=! */ { |
| lowered final self::E2<self::E2|constructor#::X%>% /* erasure=self::E2|constructor#::X%, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic>(self::E1<self::E1<self::E2|constructor#_#new#tearOff::X%>% /* erasure=self::E2|constructor#_#new#tearOff::X%, declared=! */>% /* erasure=self::E2|constructor#_#new#tearOff::X%, declared=! */ it) → self::E2<self::E2|constructor#_#new#tearOff::X%>% /* erasure=self::E2|constructor#_#new#tearOff::X%, declared=! */ |
| return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%>(it); |