blob: 06bc9a18c19965c3fb418a699e2a2199637471f5 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
extension type A(core::int it) {
abstract extension-type-member representation-field get it() core::int;
method methodA = self::A|methodA;
method tearoff methodA = self::A|get#methodA;
constructor = self::A|constructor#;
constructor tearoff = self::A|constructor#_#new#tearOff;
}
extension type B<T extends core::Object? = dynamic>(T% it) {
abstract extension-type-member representation-field get it() T%;
method methodB = self::B|methodB;
method tearoff methodB = self::B|get#methodB;
constructor = self::B|constructor#;
constructor tearoff = self::B|constructor#_#new#tearOff;
}
extension type C1(core::int it) implements self::A% /* erasure=core::int, declared=! */ {
abstract extension-type-member representation-field get it() core::int;
method methodC1 = self::C1|methodC1;
method tearoff methodC1 = self::C1|get#methodC1;
constructor = self::C1|constructor#;
constructor tearoff = self::C1|constructor#_#new#tearOff;
}
extension type C2(core::int it) implements self::A% /* erasure=core::int, declared=! */, self::B<core::int>% /* erasure=core::int, declared=! */ {
abstract extension-type-member representation-field get it() core::int;
method methodC2 = self::C2|methodC2;
method tearoff methodC2 = self::C2|get#methodC2;
constructor = self::C2|constructor#;
constructor tearoff = self::C2|constructor#_#new#tearOff;
}
extension type D1(core::int it) implements self::C1% /* erasure=core::int, declared=! */ {
abstract extension-type-member representation-field get it() core::int;
method methodD1 = self::D1|methodD1;
method tearoff methodD1 = self::D1|get#methodD1;
constructor = self::D1|constructor#;
constructor tearoff = self::D1|constructor#_#new#tearOff;
}
static extension-type-member method A|constructor#(core::int it) → self::A% /* erasure=core::int, declared=! */
;
static extension-type-member method A|constructor#_#new#tearOff(core::int it) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#(it);
static extension-type-member method A|methodA(lowered final self::A% /* erasure=core::int, declared=! */ #this) → core::int
;
static extension-type-member method A|get#methodA(lowered final self::A% /* erasure=core::int, declared=! */ #this) → () → core::int
return () core::int => self::A|methodA(#this);
static extension-type-member method B|constructor#<T extends core::Object? = dynamic>(self::B|constructor#::T% it) → self::B<self::B|constructor#::T%>% /* erasure=self::B|constructor#::T%, declared=! */
;
static extension-type-member method B|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::B|constructor#_#new#tearOff::T% it) → self::B<self::B|constructor#_#new#tearOff::T%>% /* erasure=self::B|constructor#_#new#tearOff::T%, declared=! */
return self::B|constructor#<self::B|constructor#_#new#tearOff::T%>(it);
static extension-type-member method B|methodB<T extends core::Object? = dynamic>(lowered final self::B<self::B|methodB::T%>% /* erasure=self::B|methodB::T%, declared=! */ #this) → self::B|methodB::T%
;
static extension-type-member method B|get#methodB<T extends core::Object? = dynamic>(lowered final self::B<self::B|get#methodB::T%>% /* erasure=self::B|get#methodB::T%, declared=! */ #this) → () → self::B|get#methodB::T%
return () self::B|get#methodB::T% => self::B|methodB<self::B|get#methodB::T%>(#this);
static extension-type-member method C1|constructor#(core::int it) → self::C1% /* erasure=core::int, declared=! */
;
static extension-type-member method C1|constructor#_#new#tearOff(core::int it) → self::C1% /* erasure=core::int, declared=! */
return self::C1|constructor#(it);
static extension-type-member method C1|methodC1(lowered final self::C1% /* erasure=core::int, declared=! */ #this) → core::int
;
static extension-type-member method C1|get#methodC1(lowered final self::C1% /* erasure=core::int, declared=! */ #this) → () → core::int
return () core::int => self::C1|methodC1(#this);
static extension-type-member method C2|constructor#(core::int it) → self::C2% /* erasure=core::int, declared=! */
;
static extension-type-member method C2|constructor#_#new#tearOff(core::int it) → self::C2% /* erasure=core::int, declared=! */
return self::C2|constructor#(it);
static extension-type-member method C2|methodC2(lowered final self::C2% /* erasure=core::int, declared=! */ #this) → core::int
;
static extension-type-member method C2|get#methodC2(lowered final self::C2% /* erasure=core::int, declared=! */ #this) → () → core::int
return () core::int => self::C2|methodC2(#this);
static extension-type-member method D1|constructor#(core::int it) → self::D1% /* erasure=core::int, declared=! */
;
static extension-type-member method D1|constructor#_#new#tearOff(core::int it) → self::D1% /* erasure=core::int, declared=! */
return self::D1|constructor#(it);
static extension-type-member method D1|methodD1(lowered final self::D1% /* erasure=core::int, declared=! */ #this) → core::int
;
static extension-type-member method D1|get#methodD1(lowered final self::D1% /* erasure=core::int, declared=! */ #this) → () → core::int
return () core::int => self::D1|methodD1(#this);
static method errors(self::A% /* erasure=core::int, declared=! */ a, self::B<core::String>% /* erasure=core::String, declared=! */ b1, self::B<core::num>% /* erasure=core::num, declared=! */ b2, self::C1% /* erasure=core::int, declared=! */ c1, self::C2% /* erasure=core::int, declared=! */ c2, self::D1% /* erasure=core::int, declared=! */ d1) dynamic
;
static method method(self::A% /* erasure=core::int, declared=! */ a, self::B<core::String>% /* erasure=core::String, declared=! */ b1, self::B<core::num>% /* erasure=core::num, declared=! */ b2, self::C1% /* erasure=core::int, declared=! */ c1, self::C2% /* erasure=core::int, declared=! */ c2, self::D1% /* erasure=core::int, declared=! */ d1) dynamic
;
static method main() dynamic
;
static method expect(dynamic expected, dynamic actual) dynamic
;