| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| static method main() → void { |
| core::List<core::int> list = core::_GrowableList::_literal3<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; |
| #L1: |
| { |
| { |
| if((#0#1#isSet ?{core::int} #0#1{core::int} : let final core::bool* #t2 = #0#1#isSet = true in #0#1 = #0#0.{core::List::length}{core::int}).{core::num::<=}(#C1){(core::num) → core::bool}) { |
| #t1 = core::_GrowableList::•<core::List<self::subs::A%>>(0); |
| break #L1; |
| } |
| } |
| { |
| hoisted self::subs::A% x; |
| hoisted core::List<self::subs::A%> xs; |
| if((#0#1#isSet ?{core::int} #0#1{core::int} : let final core::bool* #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::_GrowableList::•<core::List<self::subs::A%>>(0); |
| { |
| synthesized core::Iterator<core::List<self::subs::A%>> :sync-for-iterator = self::subs<self::subs::A%>(xs).{core::Iterable::iterator}{core::Iterator<core::List<self::subs::A%>>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| core::List<self::subs::A%> ys = :sync-for-iterator.{core::Iterator::current}{core::List<self::subs::A%>}; |
| #t4.{core::List::addAll}{Invariant}(core::_GrowableList::_literal2<core::List<self::subs::A%>>(core::_GrowableList::_literal1<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}(core::_GrowableList::_literal1<self::subs::A%>(x)){(core::List<self::subs::A%>) → void}; |
| } =>#t4; |
| break #L1; |
| } |
| } |
| } |
| } =>#t1; |
| |
| constants { |
| #C1 = 0 |
| #C2 = 1 |
| } |