blob: fe0008705ba2fce83fe13a40416f2f24b261ad16 [file] [log] [blame]
library;
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];
core::Iterable<core::int*>* iterableIntList = <core::int*>[6, 7, 8];
core::Iterable<core::num*>* iterableNumList1 = <core::int*>[9, 10, 11];
core::Iterable<core::num*>* iterableNumList2 = <core::num*>[12, 13, 14];
core::List<core::int*>* intList = <core::int*>[15, 16, 17];
core::List<core::num*>* numList1 = <core::int*>[18, 19, 20];
core::List<core::num*>* numList2 = <core::num*>[21, 22, 23];
core::List<core::int*>* list1 = block {
final core::List<core::int*>* #t1 = <core::int*>[];
for (final dynamic #t2 in dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t3 = #t2 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t3);
}
for (final dynamic #t4 in dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t5 = #t4 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t5);
}
#t1.{core::List::addAll}{Invariant}(iterableIntList);
for (final dynamic #t6 in iterableNumList1) {
final core::int* #t7 = #t6 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t7);
}
for (final dynamic #t8 in iterableNumList2) {
final core::int* #t9 = #t8 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t9);
}
#t1.{core::List::addAll}{Invariant}(intList);
for (final dynamic #t10 in numList1) {
final core::int* #t11 = #t10 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t11);
}
for (final dynamic #t12 in numList2) {
final core::int* #t13 = #t12 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t13);
}
} =>#t1;
self::expect(core::List::generate<core::int*>(24, (core::int* i) core::int* => i), list1);
core::List<core::num*>* list2 = block {
final core::List<core::num*>* #t14 = <core::num*>[];
for (final dynamic #t15 in dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::num* #t16 = #t15 as{TypeError} core::num*;
#t14.{core::List::add}{Invariant}(#t16);
}
for (final dynamic #t17 in dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::num* #t18 = #t17 as{TypeError} core::num*;
#t14.{core::List::add}{Invariant}(#t18);
}
#t14.{core::List::addAll}{Invariant}(iterableIntList);
#t14.{core::List::addAll}{Invariant}(iterableNumList1);
#t14.{core::List::addAll}{Invariant}(iterableNumList2);
#t14.{core::List::addAll}{Invariant}(intList);
#t14.{core::List::addAll}{Invariant}(numList1);
#t14.{core::List::addAll}{Invariant}(numList2);
} =>#t14;
self::expect(core::List::generate<core::num*>(24, (core::int* i) core::int* => i), list2);
core::List<core::int*>* list3 = block {
final core::List<core::int*>* #t19 = <core::int*>[];
final core::Iterable<dynamic>* #t20 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!#t20.{core::Object::==}(null))
for (final dynamic #t21 in #t20) {
final core::int* #t22 = #t21 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t22);
}
final core::Iterable<dynamic>* #t23 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!#t23.{core::Object::==}(null))
for (final dynamic #t24 in #t23) {
final core::int* #t25 = #t24 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t25);
}
final core::Iterable<core::int*>* #t26 = iterableIntList;
if(!#t26.{core::Object::==}(null))
#t19.{core::List::addAll}{Invariant}(#t26);
final core::Iterable<dynamic>* #t27 = iterableNumList1;
if(!#t27.{core::Object::==}(null))
for (final dynamic #t28 in #t27) {
final core::int* #t29 = #t28 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t29);
}
final core::Iterable<dynamic>* #t30 = iterableNumList2;
if(!#t30.{core::Object::==}(null))
for (final dynamic #t31 in #t30) {
final core::int* #t32 = #t31 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t32);
}
final core::Iterable<core::int*>* #t33 = intList;
if(!#t33.{core::Object::==}(null))
#t19.{core::List::addAll}{Invariant}(#t33);
final core::Iterable<dynamic>* #t34 = numList1;
if(!#t34.{core::Object::==}(null))
for (final dynamic #t35 in #t34) {
final core::int* #t36 = #t35 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t36);
}
final core::Iterable<dynamic>* #t37 = numList2;
if(!#t37.{core::Object::==}(null))
for (final dynamic #t38 in #t37) {
final core::int* #t39 = #t38 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t39);
}
} =>#t19;
self::expect(core::List::generate<core::int*>(24, (core::int* i) core::int* => i), list3);
core::List<core::num*>* list4 = block {
final core::List<core::num*>* #t40 = <core::num*>[];
final core::Iterable<dynamic>* #t41 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!#t41.{core::Object::==}(null))
for (final dynamic #t42 in #t41) {
final core::num* #t43 = #t42 as{TypeError} core::num*;
#t40.{core::List::add}{Invariant}(#t43);
}
final core::Iterable<dynamic>* #t44 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!#t44.{core::Object::==}(null))
for (final dynamic #t45 in #t44) {
final core::num* #t46 = #t45 as{TypeError} core::num*;
#t40.{core::List::add}{Invariant}(#t46);
}
final core::Iterable<core::num*>* #t47 = iterableIntList;
if(!#t47.{core::Object::==}(null))
#t40.{core::List::addAll}{Invariant}(#t47);
final core::Iterable<core::num*>* #t48 = iterableNumList1;
if(!#t48.{core::Object::==}(null))
#t40.{core::List::addAll}{Invariant}(#t48);
final core::Iterable<core::num*>* #t49 = iterableNumList2;
if(!#t49.{core::Object::==}(null))
#t40.{core::List::addAll}{Invariant}(#t49);
final core::Iterable<core::num*>* #t50 = intList;
if(!#t50.{core::Object::==}(null))
#t40.{core::List::addAll}{Invariant}(#t50);
final core::Iterable<core::num*>* #t51 = numList1;
if(!#t51.{core::Object::==}(null))
#t40.{core::List::addAll}{Invariant}(#t51);
final core::Iterable<core::num*>* #t52 = numList2;
if(!#t52.{core::Object::==}(null))
#t40.{core::List::addAll}{Invariant}(#t52);
} =>#t40;
self::expect(core::List::generate<core::num*>(24, (core::int* i) core::int* => i), list4);
}
static method main() dynamic {
self::useAddAll();
}
static method expect(core::List<dynamic>* list1, core::List<dynamic>* list2) void {
if(!list1.{core::List::length}.{core::num::==}(list2.{core::List::length})) {
throw "Unexpected length. Expected ${list1.{core::List::length}}, actual ${list2.{core::List::length}}.";
}
for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}); i = i.{core::num::+}(1)) {
if(!list1.{core::List::[]}(i).{core::Object::==}(list2.{core::List::[]}(i))) {
throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i)}, actual ${list2.{core::List::[]}(i)}.";
}
}
}