| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| extension type A<T extends core::Object? = dynamic>(core::Object it) { |
| abstract extension-type-member representation-field get it() → core::Object; |
| method method = self::A|method; |
| method tearoff method = self::A|get#method; |
| get getter = self::A|get#getter; |
| operator [] = self::A|[]; |
| set setter = self::A|set#setter; |
| constructor • = self::A|constructor#; |
| constructor tearoff • = self::A|constructor#_#new#tearOff; |
| } |
| extension type B<S extends core::Object? = dynamic>(core::Object it) implements self::A<S%>% /* erasure=core::Object, declared=! */ { |
| abstract extension-type-member representation-field get it() → core::Object; |
| method method2 = self::B|method2; |
| method tearoff method2 = self::B|get#method2; |
| get getter2 = self::B|get#getter2; |
| operator []= = self::B|[]=; |
| set setter2 = self::B|set#setter2; |
| constructor • = self::B|constructor#; |
| constructor tearoff • = self::B|constructor#_#new#tearOff; |
| } |
| extension type C(core::Object i) implements self::A<core::int>% /* erasure=core::Object, declared=! */ { |
| abstract extension-type-member representation-field get i() → core::Object; |
| method method3 = self::C|method3; |
| method tearoff method3 = self::C|get#method3; |
| get getter3 = self::C|get#getter3; |
| operator []= = self::C|[]=; |
| set setter3 = self::C|set#setter3; |
| constructor • = self::C|constructor#; |
| constructor tearoff • = self::C|constructor#_#new#tearOff; |
| } |
| static extension-type-member method A|constructor#<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#::T%>% /* erasure=core::Object, declared=! */ |
| ; |
| static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%>% /* erasure=core::Object, declared=! */ |
| return self::A|constructor#<self::A|constructor#_#new#tearOff::T%>(it); |
| static extension-type-member method A|method<T extends core::Object? = dynamic>(lowered final self::A<self::A|method::T%>% /* erasure=core::Object, declared=! */ #this) → self::A|method::T% |
| ; |
| static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%>% /* erasure=core::Object, declared=! */ #this) → () → self::A|get#method::T% |
| return () → self::A|get#method::T% => self::A|method<self::A|get#method::T%>(#this); |
| static extension-type-member method A|get#getter<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#getter::T%>% /* erasure=core::Object, declared=! */ #this) → self::A|get#getter::T% |
| ; |
| static extension-type-member method A|set#setter<T extends core::Object? = dynamic>(lowered final self::A<self::A|set#setter::T%>% /* erasure=core::Object, declared=! */ #this, self::A|set#setter::T% value) → void |
| ; |
| static extension-type-member method A|[]<T extends core::Object? = dynamic>(lowered final self::A<self::A|[]::T%>% /* erasure=core::Object, declared=! */ #this, self::A|[]::T% index) → self::A|[]::T% |
| ; |
| static extension-type-member method B|constructor#<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#::S%>% /* erasure=core::Object, declared=! */ |
| ; |
| static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%>% /* erasure=core::Object, declared=! */ |
| return self::B|constructor#<self::B|constructor#_#new#tearOff::S%>(it); |
| static extension-type-member method B|method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|method2::S%>% /* erasure=core::Object, declared=! */ #this) → self::B|method2::S% |
| ; |
| static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%>% /* erasure=core::Object, declared=! */ #this) → () → self::B|get#method2::S% |
| return () → self::B|get#method2::S% => self::B|method2<self::B|get#method2::S%>(#this); |
| static extension-type-member method B|get#getter2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#getter2::S%>% /* erasure=core::Object, declared=! */ #this) → self::B|get#getter2::S% |
| ; |
| static extension-type-member method B|set#setter2<S extends core::Object? = dynamic>(lowered final self::B<self::B|set#setter2::S%>% /* erasure=core::Object, declared=! */ #this, self::B|set#setter2::S% value) → void |
| ; |
| static extension-type-member method B|[]=<S extends core::Object? = dynamic>(lowered final self::B<self::B|[]=::S%>% /* erasure=core::Object, declared=! */ #this, self::B|[]=::S% index, self::B|[]=::S% value) → void |
| ; |
| static extension-type-member method C|constructor#(core::Object i) → self::C% /* erasure=core::Object, declared=! */ |
| ; |
| static extension-type-member method C|constructor#_#new#tearOff(core::Object i) → self::C% /* erasure=core::Object, declared=! */ |
| return self::C|constructor#(i); |
| static extension-type-member method C|method3(lowered final self::C% /* erasure=core::Object, declared=! */ #this) → core::int |
| ; |
| static extension-type-member method C|get#method3(lowered final self::C% /* erasure=core::Object, declared=! */ #this) → () → core::int |
| return () → core::int => self::C|method3(#this); |
| static extension-type-member method C|get#getter3(lowered final self::C% /* erasure=core::Object, declared=! */ #this) → core::int |
| ; |
| static extension-type-member method C|set#setter3(lowered final self::C% /* erasure=core::Object, declared=! */ #this, core::int value) → void |
| ; |
| static extension-type-member method C|[]=(lowered final self::C% /* erasure=core::Object, declared=! */ #this, core::int index, core::int value) → void |
| ; |
| static method test(self::A<core::bool>% /* erasure=core::Object, declared=! */ a, self::B<core::String>% /* erasure=core::Object, declared=! */ b, self::C% /* erasure=core::Object, declared=! */ c) → dynamic |
| ; |