| library; |
| import self as self; |
| import "dart:core" as core; |
| import "dart:collection" as col; |
| |
| static method test1() → dynamic { |
| { |
| synthesized core::Iterator<core::List<core::int>> :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal4<core::int>(3, 4, 5, 6)).{core::Iterable::iterator}{core::Iterator<core::List<core::int>>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final core::List<core::int> #t1 = :sync-for-iterator.{core::Iterator::current}{core::List<core::int>}; |
| { |
| hoisted core::int a2; |
| hoisted core::int b2; |
| hoisted core::List<core::int> c2; |
| { |
| final synthesized core::List<core::int> #0#0 = #t1; |
| synthesized core::int #0#4; |
| synthesized core::bool #0#4#isSet = false; |
| synthesized core::List<core::int> #0#6; |
| synthesized core::bool #0#6#isSet = false; |
| if(!(#0#0.{core::List::length}{core::int}.{core::num::>=}(#C1){(core::num) → core::bool} && ((#0#4#isSet ?{core::int} #0#4{core::int} : let final core::bool #t2 = #0#4#isSet = true in #0#4 = #0#0.{core::List::[]}(0){(core::int) → core::int}) is core::int && (let final core::int #t3 = a2 = #0#4#isSet ?{core::int} #0#4{core::int} : let final core::bool #t4 = #0#4#isSet = true in #0#4 = #0#0.{core::List::[]}(0){(core::int) → core::int} in true)) && (let final core::int #t5 = b2 = #0#0.{core::List::[]}(1){(core::int) → core::int} in true) && ((#0#6#isSet ?{core::List<core::int>} #0#6{core::List<core::int>} : let final core::bool #t6 = #0#6#isSet = true in #0#6 = #0#0.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<core::int>}) is core::List<core::int> && (let final core::List<core::int> #t7 = c2 = #0#6#isSet ?{core::List<core::int>} #0#6{core::List<core::int>} : let final core::bool #t8 = #0#6#isSet = true in #0#6 = #0#0.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<core::int>} in true)))) |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); |
| } |
| return c2.{core::Iterable::first}{core::int}.{core::int::isEven}{core::bool}; |
| } |
| } |
| } |
| } |
| static method test2() → dynamic { |
| return block { |
| final core::List<core::bool> #t9 = core::_GrowableList::•<core::bool>(0); |
| { |
| synthesized core::Iterator<core::List<core::int>> :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal4<core::int>(3, 4, 5, 6)).{core::Iterable::iterator}{core::Iterator<core::List<core::int>>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final core::List<core::int> #t10 = :sync-for-iterator.{core::Iterator::current}{core::List<core::int>}; |
| { |
| hoisted core::int a2; |
| hoisted core::int b2; |
| hoisted core::List<core::int> c2; |
| { |
| final synthesized core::List<core::int> #0#0 = #t10; |
| synthesized core::int #0#4; |
| synthesized core::bool #0#4#isSet = false; |
| synthesized core::List<core::int> #0#6; |
| synthesized core::bool #0#6#isSet = false; |
| if(!(#0#0.{core::List::length}{core::int}.{core::num::>=}(#C1){(core::num) → core::bool} && ((#0#4#isSet ?{core::int} #0#4{core::int} : let final core::bool #t11 = #0#4#isSet = true in #0#4 = #0#0.{core::List::[]}(0){(core::int) → core::int}) is core::int && (let final core::int #t12 = a2 = #0#4#isSet ?{core::int} #0#4{core::int} : let final core::bool #t13 = #0#4#isSet = true in #0#4 = #0#0.{core::List::[]}(0){(core::int) → core::int} in true)) && (let final core::int #t14 = b2 = #0#0.{core::List::[]}(1){(core::int) → core::int} in true) && ((#0#6#isSet ?{core::List<core::int>} #0#6{core::List<core::int>} : let final core::bool #t15 = #0#6#isSet = true in #0#6 = #0#0.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<core::int>}) is core::List<core::int> && (let final core::List<core::int> #t16 = c2 = #0#6#isSet ?{core::List<core::int>} #0#6{core::List<core::int>} : let final core::bool #t17 = #0#6#isSet = true in #0#6 = #0#0.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<core::int>} in true)))) |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); |
| } |
| #t9.{core::List::add}{Invariant}(c2.{core::Iterable::first}{core::int}.{core::int::isEven}{core::bool}){(core::bool) → void}; |
| } |
| } |
| } |
| } =>#t9; |
| } |
| static method test3() → core::Iterable<core::bool> { |
| return block { |
| final core::Set<core::bool> #t18 = new col::_Set::•<core::bool>(); |
| { |
| synthesized core::Iterator<core::List<core::int>> :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal4<core::int>(3, 4, 5, 6)).{core::Iterable::iterator}{core::Iterator<core::List<core::int>>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final core::List<core::int> #t19 = :sync-for-iterator.{core::Iterator::current}{core::List<core::int>}; |
| { |
| hoisted core::int a2; |
| hoisted core::int b2; |
| hoisted core::List<core::int> c2; |
| { |
| final synthesized core::List<core::int> #0#0 = #t19; |
| synthesized core::int #0#4; |
| synthesized core::bool #0#4#isSet = false; |
| synthesized core::List<core::int> #0#6; |
| synthesized core::bool #0#6#isSet = false; |
| if(!(#0#0.{core::List::length}{core::int}.{core::num::>=}(#C1){(core::num) → core::bool} && ((#0#4#isSet ?{core::int} #0#4{core::int} : let final core::bool #t20 = #0#4#isSet = true in #0#4 = #0#0.{core::List::[]}(0){(core::int) → core::int}) is core::int && (let final core::int #t21 = a2 = #0#4#isSet ?{core::int} #0#4{core::int} : let final core::bool #t22 = #0#4#isSet = true in #0#4 = #0#0.{core::List::[]}(0){(core::int) → core::int} in true)) && (let final core::int #t23 = b2 = #0#0.{core::List::[]}(1){(core::int) → core::int} in true) && ((#0#6#isSet ?{core::List<core::int>} #0#6{core::List<core::int>} : let final core::bool #t24 = #0#6#isSet = true in #0#6 = #0#0.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<core::int>}) is core::List<core::int> && (let final core::List<core::int> #t25 = c2 = #0#6#isSet ?{core::List<core::int>} #0#6{core::List<core::int>} : let final core::bool #t26 = #0#6#isSet = true in #0#6 = #0#0.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<core::int>} in true)))) |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); |
| } |
| #t18.{core::Set::add}{Invariant}(c2.{core::Iterable::first}{core::int}.{core::int::isEven}{core::bool}){(core::bool) → core::bool}; |
| } |
| } |
| } |
| } =>#t18; |
| } |
| static method test4() → dynamic { |
| return block { |
| final core::Map<core::int, core::bool> #t27 = <core::int, core::bool>{}; |
| { |
| synthesized core::Iterator<core::List<core::int>> :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal4<core::int>(3, 4, 5, 6)).{core::Iterable::iterator}{core::Iterator<core::List<core::int>>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final core::List<core::int> #t28 = :sync-for-iterator.{core::Iterator::current}{core::List<core::int>}; |
| { |
| hoisted core::int a2; |
| hoisted core::int b2; |
| hoisted core::List<core::int> c2; |
| { |
| final synthesized core::List<core::int> #0#0 = #t28; |
| synthesized core::int #0#4; |
| synthesized core::bool #0#4#isSet = false; |
| synthesized core::List<core::int> #0#6; |
| synthesized core::bool #0#6#isSet = false; |
| if(!(#0#0.{core::List::length}{core::int}.{core::num::>=}(#C1){(core::num) → core::bool} && ((#0#4#isSet ?{core::int} #0#4{core::int} : let final core::bool #t29 = #0#4#isSet = true in #0#4 = #0#0.{core::List::[]}(0){(core::int) → core::int}) is core::int && (let final core::int #t30 = a2 = #0#4#isSet ?{core::int} #0#4{core::int} : let final core::bool #t31 = #0#4#isSet = true in #0#4 = #0#0.{core::List::[]}(0){(core::int) → core::int} in true)) && (let final core::int #t32 = b2 = #0#0.{core::List::[]}(1){(core::int) → core::int} in true) && ((#0#6#isSet ?{core::List<core::int>} #0#6{core::List<core::int>} : let final core::bool #t33 = #0#6#isSet = true in #0#6 = #0#0.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<core::int>}) is core::List<core::int> && (let final core::List<core::int> #t34 = c2 = #0#6#isSet ?{core::List<core::int>} #0#6{core::List<core::int>} : let final core::bool #t35 = #0#6#isSet = true in #0#6 = #0#0.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<core::int>} in true)))) |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); |
| } |
| #t27.{core::Map::[]=}{Invariant}(c2.{core::Iterable::first}{core::int}, c2.{core::Iterable::first}{core::int}.{core::int::isEven}{core::bool}){(core::int, core::bool) → void}; |
| } |
| } |
| } |
| } =>#t27; |
| } |
| |
| constants { |
| #C1 = 2 |
| } |