| 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}; |
| } |
| } |
| } |