blob: 9d1d9073307a453c6966ff8969dbe34a4c01452b [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
import "dart:_internal" as _in;
static method main() void {
{
synthesized core::Iterator<(core::Iterable<core::int>, core::Iterable<core::int>)> :sync-for-iterator = self::split<core::int>(core::_GrowableList::_literal3<core::int>(1, 2, 3)).{core::Iterable::iterator}{core::Iterator<(core::Iterable<core::int>, core::Iterable<core::int>)>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
(core::Iterable<core::int>, core::Iterable<core::int>) _ = :sync-for-iterator.{core::Iterator::current}{(core::Iterable<core::int>, core::Iterable<core::int>)};
{}
}
}
}
static method split<A extends core::Object? = dynamic>(core::Iterable<self::split::A%> it) core::Iterable<(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>)>
return block {
core::Iterable<(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>)> #t1;
final synthesized core::Iterable<self::split::A%> #1#0 = it;
#L1:
{
{
if(#C1 =={core::Object::==}{(core::Object) core::bool} #1#0.{core::Iterable::isEmpty}{core::bool}) {
#t1 = core::_GrowableList::_literal1<(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>)>((new _in::EmptyIterable::•<self::split::A%>(), new _in::EmptyIterable::•<self::split::A%>()));
break #L1;
}
}
{
hoisted self::split::A% x;
if(true) {
x = #1#0.{core::Iterable::first}{self::split::A%};
#t1 = (() → core::Iterable<(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>)> sync* /* emittedValueType= (core::Iterable<self::split::A%>, core::Iterable<self::split::A%>) */ {
yield(new _in::EmptyIterable::•<self::split::A%>(), it);
{
synthesized core::Iterator<(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>)> :sync-for-iterator = self::split<self::split::A%>(it.{core::Iterable::skip}(1){(core::int) core::Iterable<self::split::A%>}).{core::Iterable::iterator}{core::Iterator<(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>)>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>) #t2 = :sync-for-iterator.{core::Iterator::current}{(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>)};
{
hoisted core::Iterable<self::split::A%> ls;
hoisted core::Iterable<self::split::A%> rs;
{
final synthesized(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>) #0#0 = #t2;
ls = #0#0.$1{core::Iterable<self::split::A%>};
rs = #0#0.$2{core::Iterable<self::split::A%>};
}
yield( block {
final core::List<self::split::A%> #t3 = core::_GrowableList::_literal1<self::split::A%>(x);
#t3.{core::List::addAll}{Invariant}(ls){(core::Iterable<self::split::A%>) → void};
} =>#t3, rs);
}
}
}
})(){() core::Iterable<(core::Iterable<self::split::A%>, core::Iterable<self::split::A%>)>};
break #L1;
}
}
}
} =>#t1;
constants {
#C1 = true
}