blob: c76ee478039d987c738bb047c324f14a8575017b [file] [log] [blame]
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
;