blob: 6ca18f79c8f1c8ff807ba6b3582086b72ec6ffeb [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "dart:async";
extension type MyList<T extends core::Object? = dynamic>(core::List<T%> it) implements core::List<T%> {
abstract extension-type-member representation-field get it() core::List<T%>;
constructor = self::MyList|constructor#;
constructor tearoff = self::MyList|constructor#_#new#tearOff;
}
extension type MyStream<T extends core::Object? = dynamic>(asy::Stream<T%> it) implements asy::Stream<T%> {
abstract extension-type-member representation-field get it() asy::Stream<T%>;
constructor = self::MyStream|constructor#;
constructor tearoff = self::MyStream|constructor#_#new#tearOff;
}
static extension-type-member method MyList|constructor#<T extends core::Object? = dynamic>(core::List<self::MyList|constructor#::T%> it) → self::MyList<self::MyList|constructor#::T%> /* erasure=core::List<self::MyList|constructor#::T%> */ {
lowered final self::MyList<self::MyList|constructor#::T%> /* erasure=core::List<self::MyList|constructor#::T%> */ #this = it;
return #this;
}
static extension-type-member method MyList|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::MyList|constructor#_#new#tearOff::T%> it) → self::MyList<self::MyList|constructor#_#new#tearOff::T%> /* erasure=core::List<self::MyList|constructor#_#new#tearOff::T%> */
return self::MyList|constructor#<self::MyList|constructor#_#new#tearOff::T%>(it);
static extension-type-member method MyStream|constructor#<T extends core::Object? = dynamic>(asy::Stream<self::MyStream|constructor#::T%> it) → self::MyStream<self::MyStream|constructor#::T%> /* erasure=asy::Stream<self::MyStream|constructor#::T%> */ {
lowered final self::MyStream<self::MyStream|constructor#::T%> /* erasure=asy::Stream<self::MyStream|constructor#::T%> */ #this = it;
return #this;
}
static extension-type-member method MyStream|constructor#_#new#tearOff<T extends core::Object? = dynamic>(asy::Stream<self::MyStream|constructor#_#new#tearOff::T%> it) → self::MyStream<self::MyStream|constructor#_#new#tearOff::T%> /* erasure=asy::Stream<self::MyStream|constructor#_#new#tearOff::T%> */
return self::MyStream|constructor#<self::MyStream|constructor#_#new#tearOff::T%>(it);
static method method1(self::MyList<core::int> /* erasure=core::List<core::int> */ list, self::MyStream<core::int> /* erasure=asy::Stream<core::int> */ stream) dynamic async /* emittedValueType= dynamic */ {
for (core::int a in list) {
}
await for (core::int a in stream) {
}
}
static method method2(self::MyList<(core::int, core::String)> /* erasure=core::List<(core::int, core::String)> */ list, self::MyStream<(core::int, core::String)> /* erasure=asy::Stream<(core::int, core::String)> */ stream) dynamic async /* emittedValueType= dynamic */ {
for (final(core::int, core::String) #t1 in list) {
hoisted core::int a;
hoisted core::String b;
{
final synthesized(core::int, core::String) #0#0 = #t1;
a = #0#0.$1{core::int};
b = #0#0.$2{core::String};
}
}
await for (final(core::int, core::String) #t2 in stream) {
hoisted core::int a;
hoisted core::String b;
{
final synthesized(core::int, core::String) #1#0 = #t2;
a = #1#0.$1{core::int};
b = #1#0.$2{core::String};
}
}
}