| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| extension type ET<T extends core::Object? = dynamic>(T% _) { |
| abstract extension-type-member representation-field get _() → T%; |
| method test = self::ET|test; |
| method tearoff test = self::ET|get#test; |
| constructor • = self::ET|constructor#; |
| constructor tearoff • = self::ET|constructor#_#new#tearOff; |
| } |
| static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(self::ET|constructor#::T% _) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ { |
| lowered final self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _; |
| return #this; |
| } |
| static extension-type-member method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */ |
| return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_); |
| static extension-type-member method ET|test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|test::T%>% /* erasure=self::ET|test::T%, declared=! */ #this) → void {} |
| static extension-type-member method ET|get#test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|get#test::T%>% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void |
| return () → void => self::ET|test<self::ET|get#test::T%>(#this); |
| static method main() → dynamic { |
| self::ET|test<Null>(self::ET|constructor#<Null>(null)); |
| self::ET|test<core::int?>(self::ET|constructor#<core::int?>(42)); |
| } |