| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| static method useAddAll() → void { |
| dynamic dynamicList1 = <core::int>[0, 1, 2]; |
| dynamic dynamicList2 = <core::num>[3, 4, 5]; |
| dynamic dynamicList3 = <core::int?>[6, 7, 8]; |
| core::Iterable<core::int> iterableIntList = <core::int>[9, 10, 11]; |
| core::List<core::int> intList = <core::int>[12, 13, 14]; |
| core::List<core::int> list1 = block { |
| final core::List<core::int> #t1 = <core::int>[]; |
| for (final dynamic #t2 in dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) { |
| final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int; |
| #t1.{core::List::add}{Invariant}(#t3){(core::int) → void}; |
| } |
| for (final dynamic #t4 in dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) { |
| final core::int #t5 = #t4 as{TypeError,ForNonNullableByDefault} core::int; |
| #t1.{core::List::add}{Invariant}(#t5){(core::int) → void}; |
| } |
| for (final dynamic #t6 in dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<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::List::generate<core::int>(15, (core::int i) → core::int => i), list1); |
| core::List<core::num> list2 = block { |
| final core::List<core::num> #t8 = <core::num>[]; |
| for (final dynamic #t9 in dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) { |
| final core::num #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::num; |
| #t8.{core::List::add}{Invariant}(#t10){(core::num) → void}; |
| } |
| for (final dynamic #t11 in dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) { |
| final core::num #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::num; |
| #t8.{core::List::add}{Invariant}(#t12){(core::num) → void}; |
| } |
| for (final dynamic #t13 in dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<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::List::generate<core::num>(15, (core::int i) → core::int => i), list2); |
| } |
| static method useAddAllNullable() → void { |
| dynamic dynamicList1 = <core::int>[0, 1, 2]; |
| dynamic dynamicList2 = <core::num>[3, 4, 5]; |
| dynamic dynamicList3 = <core::int?>[6, 7, 8]; |
| core::Iterable<core::int>? iterableIntList = true ?{core::List<core::int>?} <core::int>[9, 10, 11] : null; |
| core::List<core::int>? intList = true ?{core::List<core::int>?} <core::int>[12, 13, 14] : null; |
| core::List<core::int> list1 = block { |
| final core::List<core::int> #t15 = <core::int>[]; |
| final core::Iterable<dynamic>? #t16 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t16 == null)) |
| for (final dynamic #t17 in #t16{core::Iterable<dynamic>}) { |
| final core::int #t18 = #t17 as{TypeError,ForNonNullableByDefault} core::int; |
| #t15.{core::List::add}{Invariant}(#t18){(core::int) → void}; |
| } |
| final core::Iterable<dynamic>? #t19 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t19 == null)) |
| for (final dynamic #t20 in #t19{core::Iterable<dynamic>}) { |
| final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int; |
| #t15.{core::List::add}{Invariant}(#t21){(core::int) → void}; |
| } |
| final core::Iterable<dynamic>? #t22 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t22 == null)) |
| for (final dynamic #t23 in #t22{core::Iterable<dynamic>}) { |
| final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int; |
| #t15.{core::List::add}{Invariant}(#t24){(core::int) → void}; |
| } |
| final core::Iterable<core::int>? #t25 = iterableIntList; |
| if(!(#t25 == null)) |
| #t15.{core::List::addAll}{Invariant}(#t25{core::Iterable<core::int>}){(core::Iterable<core::int>) → void}; |
| final core::Iterable<core::int>? #t26 = intList; |
| if(!(#t26 == null)) |
| #t15.{core::List::addAll}{Invariant}(#t26{core::Iterable<core::int>}){(core::Iterable<core::int>) → void}; |
| } =>#t15; |
| self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list1); |
| core::List<core::num> list2 = block { |
| final core::List<core::num> #t27 = <core::num>[]; |
| final core::Iterable<dynamic>? #t28 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t28 == null)) |
| for (final dynamic #t29 in #t28{core::Iterable<dynamic>}) { |
| final core::num #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::num; |
| #t27.{core::List::add}{Invariant}(#t30){(core::num) → void}; |
| } |
| final core::Iterable<dynamic>? #t31 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t31 == null)) |
| for (final dynamic #t32 in #t31{core::Iterable<dynamic>}) { |
| final core::num #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::num; |
| #t27.{core::List::add}{Invariant}(#t33){(core::num) → void}; |
| } |
| final core::Iterable<dynamic>? #t34 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?; |
| if(!(#t34 == null)) |
| for (final dynamic #t35 in #t34{core::Iterable<dynamic>}) { |
| final core::num #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::num; |
| #t27.{core::List::add}{Invariant}(#t36){(core::num) → void}; |
| } |
| final core::Iterable<core::num>? #t37 = iterableIntList; |
| if(!(#t37 == null)) |
| #t27.{core::List::addAll}{Invariant}(#t37{core::Iterable<core::num>}){(core::Iterable<core::num>) → void}; |
| final core::Iterable<core::num>? #t38 = intList; |
| if(!(#t38 == null)) |
| #t27.{core::List::addAll}{Invariant}(#t38{core::Iterable<core::num>}){(core::Iterable<core::num>) → void}; |
| } =>#t27; |
| self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i), list2); |
| } |
| 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}}."; |
| } |
| } |
| } |