| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| static method test(dynamic o, [dynamic expectedRest = #C1]) → dynamic { |
| #L1: |
| { |
| final synthesized dynamic #0#0 = o; |
| synthesized core::bool #0#4; |
| synthesized core::bool #0#4#isSet = false; |
| synthesized core::int #0#2; |
| synthesized core::bool #0#2#isSet = false; |
| synthesized core::bool #0#8; |
| synthesized core::bool #0#8#isSet = false; |
| synthesized dynamic #0#9; |
| synthesized core::bool #0#9#isSet = false; |
| synthesized dynamic #0#12; |
| synthesized core::bool #0#12#isSet = false; |
| synthesized core::bool #0#19; |
| synthesized core::bool #0#19#isSet = false; |
| synthesized core::List<dynamic> #0#22; |
| synthesized core::bool #0#22#isSet = false; |
| synthesized core::bool #0#24; |
| synthesized core::bool #0#24#isSet = false; |
| synthesized core::bool #0#26; |
| synthesized core::bool #0#26#isSet = false; |
| synthesized core::int #0#29; |
| synthesized core::bool #0#29#isSet = false; |
| { |
| if(#0#0 is core::List<dynamic> && (#0#4#isSet ?{core::bool} #0#4{core::bool} : let final core::bool* #t1 = #0#4#isSet = true in #0#4 = (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t2 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::>=}(#C2){(core::num) → core::bool}) && (#0#8#isSet ?{core::bool} #0#8{core::bool} : let final core::bool* #t3 = #0#8#isSet = true in #0#8 = #C3 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic}) && #C4 =={core::num::==}{(core::Object) → core::bool} (#0#9#isSet ?{dynamic} #0#9{dynamic} : let final core::bool* #t4 = #0#9#isSet = true in #0#9 = #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic})) { |
| { |
| return 0; |
| } |
| } |
| } |
| { |
| if(#0#0 is core::List<dynamic> && (#0#4#isSet ?{core::bool} #0#4{core::bool} : let final core::bool* #t5 = #0#4#isSet = true in #0#4 = (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t6 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::>=}(#C2){(core::num) → core::bool}) && (#0#8#isSet ?{core::bool} #0#8{core::bool} : let final core::bool* #t7 = #0#8#isSet = true in #0#8 = #C3 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic}) && #C4 =={core::num::==}{(core::Object) → core::bool} (#0#12#isSet ?{dynamic} #0#12{dynamic} : let final core::bool* #t8 = #0#12#isSet = true in #0#12 = #0#0{core::List<dynamic>}.{core::List::[]}((#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t9 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(1){(core::num) → core::int}){(core::int) → dynamic})) { |
| { |
| return 1; |
| } |
| } |
| } |
| { |
| hoisted core::List<dynamic> rest; |
| if(#0#0 is core::List<dynamic> && (#0#4#isSet ?{core::bool} #0#4{core::bool} : let final core::bool* #t10 = #0#4#isSet = true in #0#4 = (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t11 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::>=}(#C2){(core::num) → core::bool}) && (#0#8#isSet ?{core::bool} #0#8{core::bool} : let final core::bool* #t12 = #0#8#isSet = true in #0#8 = #C3 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic}) && #C2 =={core::num::==}{(core::Object) → core::bool} (#0#9#isSet ?{dynamic} #0#9{dynamic} : let final core::bool* #t13 = #0#9#isSet = true in #0#9 = #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic}) && (let final core::List<dynamic> #t14 = rest = #0#0{core::List<dynamic>}.{core::List::sublist}(2){(core::int, [core::int?]) → core::List<dynamic>} in true)) { |
| { |
| self::expect(expectedRest, rest); |
| return 2; |
| } |
| } |
| } |
| { |
| hoisted core::List<dynamic> rest; |
| if(#0#0 is core::List<dynamic> && (#0#4#isSet ?{core::bool} #0#4{core::bool} : let final core::bool* #t15 = #0#4#isSet = true in #0#4 = (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t16 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::>=}(#C2){(core::num) → core::bool}) && (#0#8#isSet ?{core::bool} #0#8{core::bool} : let final core::bool* #t17 = #0#8#isSet = true in #0#8 = #C3 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic}) && (let final core::List<dynamic> #t18 = rest = #0#0{core::List<dynamic>}.{core::List::sublist}(1, (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t19 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(1){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>} in true) && #C2 =={core::num::==}{(core::Object) → core::bool} (#0#12#isSet ?{dynamic} #0#12{dynamic} : let final core::bool* #t20 = #0#12#isSet = true in #0#12 = #0#0{core::List<dynamic>}.{core::List::[]}((#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t21 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(1){(core::num) → core::int}){(core::int) → dynamic})) { |
| { |
| self::expect(expectedRest, rest); |
| return 3; |
| } |
| } |
| } |
| { |
| hoisted core::List<dynamic> rest; |
| if(#0#0 is core::List<dynamic> && (#0#19#isSet ?{core::bool} #0#19{core::bool} : let final core::bool* #t22 = #0#19#isSet = true in #0#19 = (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t23 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::>=}(#C5){(core::num) → core::bool}) && (#0#8#isSet ?{core::bool} #0#8{core::bool} : let final core::bool* #t24 = #0#8#isSet = true in #0#8 = #C3 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic}) && #C5 =={core::num::==}{(core::Object) → core::bool} (#0#9#isSet ?{dynamic} #0#9{dynamic} : let final core::bool* #t25 = #0#9#isSet = true in #0#9 = #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic}) && (let final core::List<dynamic> #t26 = rest = #0#22#isSet ?{core::List<dynamic>} #0#22{core::List<dynamic>} : let final core::bool* #t27 = #0#22#isSet = true in #0#22 = #0#0{core::List<dynamic>}.{core::List::sublist}(2, (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t28 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>} in true) && (#0#24#isSet ?{core::bool} #0#24{core::bool} : let final core::bool* #t29 = #0#24#isSet = true in #0#24 = #C2 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<dynamic>}.{core::List::[]}((#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t30 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int) → dynamic}) && (#0#26#isSet ?{core::bool} #0#26{core::bool} : let final core::bool* #t31 = #0#26#isSet = true in #0#26 = #C6 =={core::num::==}{(core::Object) → core::bool} (#0#12#isSet ?{dynamic} #0#12{dynamic} : let final core::bool* #t32 = #0#12#isSet = true in #0#12 = #0#0{core::List<dynamic>}.{core::List::[]}((#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t33 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(1){(core::num) → core::int}){(core::int) → dynamic}))) { |
| { |
| self::expect(expectedRest, rest); |
| return 4; |
| } |
| } |
| } |
| { |
| hoisted core::List<dynamic> rest; |
| if(#0#0 is core::List<dynamic> && (#0#19#isSet ?{core::bool} #0#19{core::bool} : let final core::bool* #t34 = #0#19#isSet = true in #0#19 = (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t35 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::>=}(#C5){(core::num) → core::bool}) && (#0#8#isSet ?{core::bool} #0#8{core::bool} : let final core::bool* #t36 = #0#8#isSet = true in #0#8 = #C3 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic}) && #C7 =={core::num::==}{(core::Object) → core::bool} (#0#9#isSet ?{dynamic} #0#9{dynamic} : let final core::bool* #t37 = #0#9#isSet = true in #0#9 = #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic}) && ((#0#29#isSet ?{core::int} #0#29{core::int} : let final core::bool* #t38 = #0#29#isSet = true in #0#29 = (#0#22#isSet ?{core::List<dynamic>} #0#22{core::List<dynamic>} : let final core::bool* #t39 = #0#22#isSet = true in #0#22 = #0#0{core::List<dynamic>}.{core::List::sublist}(2, (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t40 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>}).{core::List::length}{core::int}).{core::num::>=}(#C2){(core::num) → core::bool} && #C4 =={core::num::==}{(core::Object) → core::bool} (#0#22#isSet ?{core::List<dynamic>} #0#22{core::List<dynamic>} : let final core::bool* #t41 = #0#22#isSet = true in #0#22 = #0#0{core::List<dynamic>}.{core::List::sublist}(2, (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t42 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>}).{core::List::[]}(0){(core::int) → dynamic} && (let final core::List<dynamic> #t43 = rest = (#0#22#isSet ?{core::List<dynamic>} #0#22{core::List<dynamic>} : let final core::bool* #t44 = #0#22#isSet = true in #0#22 = #0#0{core::List<dynamic>}.{core::List::sublist}(2, (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t45 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>}).{core::List::sublist}(1, (#0#29#isSet ?{core::int} #0#29{core::int} : let final core::bool* #t46 = #0#29#isSet = true in #0#29 = (#0#22#isSet ?{core::List<dynamic>} #0#22{core::List<dynamic>} : let final core::bool* #t47 = #0#22#isSet = true in #0#22 = #0#0{core::List<dynamic>}.{core::List::sublist}(2, (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t48 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>}).{core::List::length}{core::int}).{core::num::-}(1){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>} in true) && #C2 =={core::num::==}{(core::Object) → core::bool} (#0#22#isSet ?{core::List<dynamic>} #0#22{core::List<dynamic>} : let final core::bool* #t49 = #0#22#isSet = true in #0#22 = #0#0{core::List<dynamic>}.{core::List::sublist}(2, (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t50 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>}).{core::List::[]}((#0#29#isSet ?{core::int} #0#29{core::int} : let final core::bool* #t51 = #0#29#isSet = true in #0#29 = (#0#22#isSet ?{core::List<dynamic>} #0#22{core::List<dynamic>} : let final core::bool* #t52 = #0#22#isSet = true in #0#22 = #0#0{core::List<dynamic>}.{core::List::sublist}(2, (#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t53 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int, [core::int?]) → core::List<dynamic>}).{core::List::length}{core::int}).{core::num::-}(1){(core::num) → core::int}){(core::int) → dynamic}) && (#0#24#isSet ?{core::bool} #0#24{core::bool} : let final core::bool* #t54 = #0#24#isSet = true in #0#24 = #C2 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<dynamic>}.{core::List::[]}((#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t55 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(2){(core::num) → core::int}){(core::int) → dynamic}) && (#0#26#isSet ?{core::bool} #0#26{core::bool} : let final core::bool* #t56 = #0#26#isSet = true in #0#26 = #C6 =={core::num::==}{(core::Object) → core::bool} (#0#12#isSet ?{dynamic} #0#12{dynamic} : let final core::bool* #t57 = #0#12#isSet = true in #0#12 = #0#0{core::List<dynamic>}.{core::List::[]}((#0#2#isSet ?{core::int} #0#2{core::int} : let final core::bool* #t58 = #0#2#isSet = true in #0#2 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}).{core::num::-}(1){(core::num) → core::int}){(core::int) → dynamic}))) { |
| { |
| self::expect(expectedRest, rest); |
| return 5; |
| } |
| } |
| } |
| } |
| } |
| static method main() → dynamic { |
| self::expect(0, self::test(core::_GrowableList::_literal2<core::int>(0, 1))); |
| self::expect(0, self::test(core::_GrowableList::_literal3<core::int>(0, 1, 2))); |
| self::expect(1, self::test(core::_GrowableList::_literal3<core::int>(0, 2, 1))); |
| self::expect(1, self::test(core::_GrowableList::_literal4<core::int>(0, 2, 3, 1))); |
| self::expect(2, self::test(core::_GrowableList::_literal2<core::int>(0, 2), core::_GrowableList::•<dynamic>(0))); |
| self::expect(2, self::test(core::_GrowableList::_literal3<core::int>(0, 2, 2), core::_GrowableList::_literal1<core::int>(2))); |
| self::expect(2, self::test(core::_GrowableList::_literal3<core::int>(0, 2, 3), core::_GrowableList::_literal1<core::int>(3))); |
| self::expect(2, self::test(core::_GrowableList::_literal4<core::int>(0, 2, 3, 4), core::_GrowableList::_literal2<core::int>(3, 4))); |
| self::expect(3, self::test(core::_GrowableList::_literal4<core::int>(0, 3, 4, 2), core::_GrowableList::_literal2<core::int>(3, 4))); |
| self::expect(3, self::test(core::_GrowableList::_literal5<core::int>(0, 3, 4, 5, 2), core::_GrowableList::_literal3<core::int>(3, 4, 5))); |
| self::expect(4, self::test(core::_GrowableList::_literal4<core::int>(0, 4, 2, 3), core::_GrowableList::•<dynamic>(0))); |
| self::expect(4, self::test(core::_GrowableList::_literal5<core::int>(0, 4, 2, 2, 3), core::_GrowableList::_literal1<core::int>(2))); |
| self::expect(4, self::test(core::_GrowableList::_literal6<core::int>(0, 4, 2, 3, 2, 3), core::_GrowableList::_literal2<core::int>(2, 3))); |
| self::expect(null, self::test(core::_GrowableList::_literal5<core::int>(0, 5, 3, 2, 3))); |
| self::expect(null, self::test(core::_GrowableList::_literal5<core::Object>(0, 5, core::_GrowableList::•<dynamic>(0), 2, 3))); |
| self::expect(null, self::test(core::_GrowableList::_literal5<core::Object>(0, 5, core::_GrowableList::_literal2<core::int>(0, 1), 2, 3))); |
| self::expect(5, self::test(core::_GrowableList::_literal6<core::int>(0, 5, 1, 2, 2, 3), core::_GrowableList::•<dynamic>(0))); |
| self::expect(5, self::test(core::_GrowableList::_literal7<core::int>(0, 5, 1, 3, 2, 2, 3), core::_GrowableList::_literal1<core::int>(3))); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(expected is core::List<dynamic> && actual is core::List<dynamic>) { |
| if(expected{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} actual{core::List<dynamic>}.{core::List::length}{core::int}) { |
| for (core::int i = 0; i.{core::num::<}(expected{core::List<dynamic>}.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) { |
| if(!(expected{core::List<dynamic>}.{core::List::[]}(i){(core::int) → dynamic} =={core::Object::==}{(core::Object) → core::bool} actual{core::List<dynamic>}.{core::List::[]}(i){(core::int) → dynamic})) { |
| throw "Expected ${expected{core::List<dynamic>}.{core::List::[]}(i){(core::int) → dynamic}}, actual ${actual{core::List<dynamic>}.{core::List::[]}(i){(core::int) → dynamic}} @ index ${i}"; |
| } |
| } |
| return; |
| } |
| } |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, actual ${actual}"; |
| } |
| |
| constants { |
| #C1 = null |
| #C2 = 2 |
| #C3 = 0 |
| #C4 = 1 |
| #C5 = 4 |
| #C6 = 3 |
| #C7 = 5 |
| } |