blob: 2fb28c15df51f25df4dca154ae0252fc33a45f5c [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
typedef Exactly<invariant T extends core::Object? = dynamic> = (T%) T%;
extension StaticType<T extends core::Object? = dynamic> on T% {
method expectStaticType = self::StaticType|expectStaticType;
tearoff expectStaticType = self::StaticType|get#expectStaticType;
}
extension type ET1(core::int id) {
constructor = self::ET1|;
tearoff = self::ET1|_#new#tearOff;
}
extension type ET2<T extends core::Object? = dynamic>(T% id) {
constructor = self::ET2|;
tearoff = self::ET2|_#new#tearOff;
}
extension type ET3(core::int id) {
constructor = self::ET3|;
tearoff = self::ET3|_#new#tearOff;
}
extension type ET4<T extends core::Object? = dynamic>(T% id) {
constructor = self::ET4|;
tearoff = self::ET4|_#new#tearOff;
}
extension type ET5(core::int id) {
constructor n = self::ET5|n;
tearoff n = self::ET5|_#n#tearOff;
}
extension type ET6<T extends core::Object? = dynamic>(T% id) {
constructor n = self::ET6|n;
tearoff n = self::ET6|_#n#tearOff;
}
static inline-class-member method ET1|(core::int id) self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
return #this;
}
static inline-class-member method ET1|_#new#tearOff(core::int id) → self::ET1 /* = core::int */
return self::ET1|(id);
static inline-class-member method ET2|<T extends core::Object? = dynamic>(self::ET2|::T% id) self::ET2<self::ET2|::T%> /* = self::ET2|::T% */ {
lowered final self::ET2<self::ET2|::T%> /* = self::ET2|::T% */ #this = id;
return #this;
}
static inline-class-member method ET2|_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|_#new#tearOff::T% id) → self::ET2<self::ET2|_#new#tearOff::T%> /* = self::ET2|_#new#tearOff::T% */
return self::ET2|<self::ET2|_#new#tearOff::T%>(id);
static inline-class-member method ET3|(core::int id) self::ET3 /* = core::int */ {
lowered final self::ET3 /* = core::int */ #this = id;
return #this;
}
static inline-class-member method ET3|_#new#tearOff(core::int id) → self::ET3 /* = core::int */
return self::ET3|(id);
static inline-class-member method ET4|<T extends core::Object? = dynamic>(self::ET4|::T% id) self::ET4<self::ET4|::T%> /* = self::ET4|::T% */ {
lowered final self::ET4<self::ET4|::T%> /* = self::ET4|::T% */ #this = id;
return #this;
}
static inline-class-member method ET4|_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|_#new#tearOff::T% id) → self::ET4<self::ET4|_#new#tearOff::T%> /* = self::ET4|_#new#tearOff::T% */
return self::ET4|<self::ET4|_#new#tearOff::T%>(id);
static inline-class-member method ET5|n(core::int id) self::ET5 /* = core::int */ {
lowered final self::ET5 /* = core::int */ #this = id;
return #this;
}
static inline-class-member method ET5|_#n#tearOff(core::int id) → self::ET5 /* = core::int */
return self::ET5|n(id);
static inline-class-member method ET6|n<T extends core::Object? = dynamic>(self::ET6|n::T% id) self::ET6<self::ET6|n::T%> /* = self::ET6|n::T% */ {
lowered final self::ET6<self::ET6|n::T%> /* = self::ET6|n::T% */ #this = id;
return #this;
}
static inline-class-member method ET6|_#n#tearOff<T extends core::Object? = dynamic>(self::ET6|_#n#tearOff::T% id) → self::ET6<self::ET6|_#n#tearOff::T%> /* = self::ET6|_#n#tearOff::T% */
return self::ET6|n<self::ET6|_#n#tearOff::T%>(id);
static method main() dynamic {
self::StaticType|expectStaticType<(core::int) self::ET1 /* = core::int */, ((core::int) self::ET1 /* = core::int */) (core::int) self::ET1 /* = core::int */>(#C1);
self::StaticType|expectStaticType<(core::String) self::ET2<core::String> /* = core::String */, ((core::String) self::ET2<core::String> /* = core::String */) (core::String) self::ET2<core::String> /* = core::String */>(#C3);
self::StaticType|expectStaticType<(core::int) self::ET3 /* = core::int */, ((core::int) self::ET3 /* = core::int */) (core::int) self::ET3 /* = core::int */>(#C4);
self::StaticType|expectStaticType<(core::String) self::ET4<core::String> /* = core::String */, ((core::String) self::ET4<core::String> /* = core::String */) (core::String) self::ET4<core::String> /* = core::String */>(#C6);
self::StaticType|expectStaticType<(core::int) self::ET5 /* = core::int */, ((core::int) self::ET5 /* = core::int */) (core::int) self::ET5 /* = core::int */>(#C7);
self::StaticType|expectStaticType<(core::String) self::ET6<core::String> /* = core::String */, ((core::String) self::ET6<core::String> /* = core::String */) (core::String) self::ET6<core::String> /* = core::String */>(#C9);
}
static extension-member method StaticType|expectStaticType<T extends core::Object? = dynamic, R extends (self::StaticType|expectStaticType::T%) self::StaticType|expectStaticType::T% = (dynamic) dynamic>(lowered final self::StaticType|expectStaticType::T% #this) → self::StaticType|expectStaticType::T% {
return #this;
}
static extension-member method StaticType|get#expectStaticType<T extends core::Object? = dynamic>(lowered final self::StaticType|get#expectStaticType::T% #this) → <R extends (self::StaticType|get#expectStaticType::T%) → self::StaticType|get#expectStaticType::T% = (dynamic) → dynamic>() → self::StaticType|get#expectStaticType::T%
return <R extends (self::StaticType|get#expectStaticType::T%) → self::StaticType|get#expectStaticType::T% = (dynamic) → dynamic>() → self::StaticType|get#expectStaticType::T% => self::StaticType|expectStaticType<self::StaticType|get#expectStaticType::T%, R>(#this);
constants {
#C1 = static-tearoff self::ET1|_#new#tearOff
#C2 = static-tearoff self::ET2|_#new#tearOff
#C3 = instantiation #C2 <core::String*>
#C4 = static-tearoff self::ET3|_#new#tearOff
#C5 = static-tearoff self::ET4|_#new#tearOff
#C6 = instantiation #C5 <core::String*>
#C7 = static-tearoff self::ET5|_#n#tearOff
#C8 = static-tearoff self::ET6|_#n#tearOff
#C9 = instantiation #C8 <core::String*>
}