blob: 194a871b774955a76f72813f2190d77fd1d00500 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
static method main() void {
core::List<core::int> list = <core::int>[1, 2, 3];
core::print(self::subs<core::int>(list));
}
static method subs<A extends core::Object? = dynamic>(core::List<self::subs::A%> list) core::List<core::List<self::subs::A%>>
return block {
core::List<core::List<self::subs::A%>> #t1;
final synthesized core::List<self::subs::A%> #0#0 = list;
synthesized core::int #0#1;
synthesized core::bool #0#1#isSet = false;
final const synthesized core::int #0#2 = #C1;
final const synthesized core::int #0#4 = #C2;
#L1:
{
{
if((#0#1#isSet ?{core::int} #0#1 : let final dynamic #t2 = #0#1#isSet = true in #0#1 = #0#0.{core::List::length}{core::int}).{core::num::<=}(#C1){(core::num) → core::bool}) {
#t1 = <core::List<self::subs::A%>>[];
break #L1;
}
}
{
hoisted self::subs::A% x;
hoisted core::List<self::subs::A%> xs;
if((#0#1#isSet ?{core::int} #0#1 : let final dynamic #t3 = #0#1#isSet = true in #0#1 = #0#0.{core::List::length}{core::int}).{core::num::>=}(#C2){(core::num) → core::bool}) {
x = #0#0.{core::List::[]}(0){(core::int) → self::subs::A%};
xs = #0#0.{core::List::sublist}(1){(core::int, [core::int?]) → core::List<self::subs::A%>};
#t1 = block {
final core::List<core::List<self::subs::A%>> #t4 = <core::List<self::subs::A%>>[];
for (core::List<self::subs::A%> ys in self::subs<self::subs::A%>(xs))
#t4.{core::List::addAll}{Invariant}(<core::List<self::subs::A%>>[<self::subs::A%>[x].{core::List::+}(ys){(core::List<self::subs::A%>) → core::List<self::subs::A%>}, ys]){(core::Iterable<core::List<self::subs::A%>>) → void};
#t4.{core::List::add}{Invariant}(<self::subs::A%>[x]){(core::List<self::subs::A%>) → void};
} =>#t4;
break #L1;
}
}
}
} =>#t1;
constants {
#C1 = 0
#C2 = 1
}