| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| static method useAddAll() → void { |
| dynamic dynamicList1 = core::_GrowableList::_literal3<core::int>(0, 1, 2); |
| dynamic dynamicList2 = core::_GrowableList::_literal3<core::num>(3, 4, 5); |
| dynamic dynamicList3 = core::_GrowableList::_literal3<core::int?>(6, 7, 8); |
| core::Iterable<core::int> iterableIntList = core::_GrowableList::_literal3<core::int>(9, 10, 11); |
| core::List<core::int> intList = core::_GrowableList::_literal3<core::int>(12, 13, 14); |
| core::List<core::int> list1 = block { |
| final core::List<core::int> #t1 = core::_GrowableList::•<core::int>(0); |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int; |
| #t1.{core::List::add}{Invariant}(#t3){(core::int) → void}; |
| } |
| } |
| } |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t5 = #t4 as{TypeError,ForNonNullableByDefault} core::int; |
| #t1.{core::List::add}{Invariant}(#t5){(core::int) → void}; |
| } |
| } |
| } |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int; |
| #t1.{core::List::add}{Invariant}(#t7){(core::int) → void}; |
| } |
| } |
| } |
| #t1.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int>) → void}; |
| #t1.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int>) → void}; |
| } =>#t1; |
| self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list1); |
| core::List<core::num> list2 = block { |
| final core::List<core::num> #t8 = core::_GrowableList::•<core::num>(0); |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::num #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::num; |
| #t8.{core::List::add}{Invariant}(#t10){(core::num) → void}; |
| } |
| } |
| } |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t11 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::num #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::num; |
| #t8.{core::List::add}{Invariant}(#t12){(core::num) → void}; |
| } |
| } |
| } |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t13 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::num #t14 = #t13 as{TypeError,ForNonNullableByDefault} core::num; |
| #t8.{core::List::add}{Invariant}(#t14){(core::num) → void}; |
| } |
| } |
| } |
| #t8.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::num>) → void}; |
| #t8.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::num>) → void}; |
| } =>#t8; |
| self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i), list2); |
| core::List<core::int> list3 = block { |
| final core::List<core::int> #t15 = core::_GrowableList::•<core::int>(0); |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int; |
| #t15.{core::List::add}{Invariant}(#t17){(core::int) → void}; |
| } |
| } |
| } |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int; |
| #t15.{core::List::add}{Invariant}(#t19){(core::int) → void}; |
| } |
| } |
| } |
| { |
| core::Iterator<dynamic> :sync-for-iterator = (dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t20 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int; |
| #t15.{core::List::add}{Invariant}(#t21){(core::int) → void}; |
| } |
| } |
| } |
| #t15.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int>) → void}; |
| #t15.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int>) → void}; |
| } =>#t15; |
| self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list3); |
| core::List<dynamic> list4 = block { |
| final core::List<dynamic> #t22 = core::List::of<dynamic>(dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>); |
| #t22.{core::List::addAll}{Invariant}(dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void}; |
| #t22.{core::List::addAll}{Invariant}(dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void}; |
| #t22.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<dynamic>) → void}; |
| #t22.{core::List::addAll}{Invariant}(intList){(core::Iterable<dynamic>) → void}; |
| } =>#t22; |
| self::expect(core::_GrowableList::generate<dynamic>(15, (core::int i) → core::int => i), list4); |
| { |
| core::List<core::int> intList1 = core::_GrowableList::_literal3<core::int>(0, 1, 2); |
| core::List<core::int> intList2 = core::_GrowableList::_literal3<core::int>(3, 4, 5); |
| core::List<core::int> list = block { |
| final core::List<core::int> #t23 = core::List::of<core::int>(intList1); |
| #t23.{core::List::addAll}{Invariant}(intList2){(core::Iterable<core::int>) → void}; |
| } =>#t23; |
| self::expect(core::_GrowableList::generate<core::int>(6, (core::int i) → core::int => i), list); |
| } |
| } |
| static method useAddAllNullable() → void { |
| dynamic dynamicList1 = core::_GrowableList::_literal3<core::int>(0, 1, 2); |
| dynamic dynamicList2 = core::_GrowableList::_literal3<core::num>(3, 4, 5); |
| dynamic dynamicList3 = core::_GrowableList::_literal3<core::int?>(6, 7, 8); |
| core::Iterable<core::int>? iterableIntList = true ?{core::List<core::int>?} core::_GrowableList::_literal3<core::int>(9, 10, 11) : null; |
| core::List<core::int>? intList = true ?{core::List<core::int>?} core::_GrowableList::_literal3<core::int>(12, 13, 14) : null; |
| core::List<core::int> list1 = block { |
| final core::List<core::int> #t24 = core::_GrowableList::•<core::int>(0); |
| final core::Iterable<dynamic>? #t25 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t25 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t25{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t26 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int; |
| #t24.{core::List::add}{Invariant}(#t27){(core::int) → void}; |
| } |
| } |
| } |
| final core::Iterable<dynamic>? #t28 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t28 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t28{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t29 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int; |
| #t24.{core::List::add}{Invariant}(#t30){(core::int) → void}; |
| } |
| } |
| } |
| final core::Iterable<dynamic>? #t31 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t31 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t31{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t32 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int; |
| #t24.{core::List::add}{Invariant}(#t33){(core::int) → void}; |
| } |
| } |
| } |
| final core::Iterable<core::int>? #t34 = iterableIntList; |
| if(!(#t34 == null)) |
| #t24.{core::List::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void}; |
| final core::Iterable<core::int>? #t35 = intList; |
| if(!(#t35 == null)) |
| #t24.{core::List::addAll}{Invariant}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void}; |
| } =>#t24; |
| self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list1); |
| core::List<core::num> list2 = block { |
| final core::List<core::num> #t36 = core::_GrowableList::•<core::num>(0); |
| final core::Iterable<dynamic>? #t37 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t37 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t37{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t38 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::num #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::num; |
| #t36.{core::List::add}{Invariant}(#t39){(core::num) → void}; |
| } |
| } |
| } |
| final core::Iterable<dynamic>? #t40 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t40 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t40{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t41 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::num #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::num; |
| #t36.{core::List::add}{Invariant}(#t42){(core::num) → void}; |
| } |
| } |
| } |
| final core::Iterable<dynamic>? #t43 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t43 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t43{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t44 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::num #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::num; |
| #t36.{core::List::add}{Invariant}(#t45){(core::num) → void}; |
| } |
| } |
| } |
| final core::Iterable<core::num>? #t46 = iterableIntList; |
| if(!(#t46 == null)) |
| #t36.{core::List::addAll}{Invariant}(#t46{core::Iterable<core::num>}){(core::Iterable<core::num>) → void}; |
| final core::Iterable<core::num>? #t47 = intList; |
| if(!(#t47 == null)) |
| #t36.{core::List::addAll}{Invariant}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void}; |
| } =>#t36; |
| self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i), list2); |
| core::List<core::int> list3 = block { |
| final core::List<core::int> #t48 = core::_GrowableList::•<core::int>(0); |
| final core::Iterable<dynamic>? #t49 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t49 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t49{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t50 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t51 = #t50 as{TypeError,ForNonNullableByDefault} core::int; |
| #t48.{core::List::add}{Invariant}(#t51){(core::int) → void}; |
| } |
| } |
| } |
| final core::Iterable<dynamic>? #t52 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t52 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t52{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t53 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int; |
| #t48.{core::List::add}{Invariant}(#t54){(core::int) → void}; |
| } |
| } |
| } |
| final core::Iterable<dynamic>? #t55 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t55 == null)) { |
| core::Iterator<dynamic> :sync-for-iterator = #t55{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final dynamic #t56 = :sync-for-iterator.{core::Iterator::current}{dynamic}; |
| { |
| final core::int #t57 = #t56 as{TypeError,ForNonNullableByDefault} core::int; |
| #t48.{core::List::add}{Invariant}(#t57){(core::int) → void}; |
| } |
| } |
| } |
| final core::Iterable<core::int>? #t58 = iterableIntList; |
| if(!(#t58 == null)) |
| #t48.{core::List::addAll}{Invariant}(#t58{core::Iterable<core::int>}){(core::Iterable<core::int>) → void}; |
| final core::Iterable<core::int>? #t59 = intList; |
| if(!(#t59 == null)) |
| #t48.{core::List::addAll}{Invariant}(#t59{core::Iterable<core::int>}){(core::Iterable<core::int>) → void}; |
| } =>#t48; |
| self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list3); |
| core::List<dynamic> list4 = block { |
| final core::List<dynamic> #t60 = core::_GrowableList::•<dynamic>(0); |
| final core::Iterable<dynamic>? #t61 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t61 == null)) |
| #t60.{core::List::addAll}{Invariant}(#t61{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void}; |
| final core::Iterable<dynamic>? #t62 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t62 == null)) |
| #t60.{core::List::addAll}{Invariant}(#t62{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void}; |
| final core::Iterable<dynamic>? #t63 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t63 == null)) |
| #t60.{core::List::addAll}{Invariant}(#t63{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void}; |
| final core::Iterable<dynamic>? #t64 = iterableIntList; |
| if(!(#t64 == null)) |
| #t60.{core::List::addAll}{Invariant}(#t64{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void}; |
| final core::Iterable<dynamic>? #t65 = intList; |
| if(!(#t65 == null)) |
| #t60.{core::List::addAll}{Invariant}(#t65{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void}; |
| } =>#t60; |
| self::expect(core::_GrowableList::generate<dynamic>(15, (core::int i) → core::int => i), list4); |
| } |
| static method main() → dynamic { |
| self::useAddAll(); |
| self::useAddAllNullable(); |
| } |
| static method expect(core::List<dynamic> list1, core::List<dynamic> list2) → void { |
| if(!(list1.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} list2.{core::List::length}{core::int})) { |
| throw "Unexpected length. Expected ${list1.{core::List::length}{core::int}}, actual ${list2.{core::List::length}{core::int}}."; |
| } |
| for (core::int i = 0; i.{core::num::<}(list1.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) { |
| if(!(list1.{core::List::[]}(i){(core::int) → dynamic} =={core::Object::==}{(core::Object) → core::bool} list2.{core::List::[]}(i){(core::int) → dynamic})) { |
| throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}."; |
| } |
| } |
| if(!(list1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} list2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) { |
| throw "Runtime time difference: ${list1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${list2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}"; |
| } |
| } |