blob: 253e487aef4af7abb797ef8f9c1eab5ddcbba604 [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){(core::int*) →* void};
}
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){(core::int*) →* void};
}
#t1.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int*>*) →* void};
for (final dynamic #t6 in iterableNumList1) {
final core::int* #t7 = #t6 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t7){(core::int*) →* void};
}
for (final dynamic #t8 in iterableNumList2) {
final core::int* #t9 = #t8 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t9){(core::int*) →* void};
}
#t1.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int*>*) →* void};
for (final dynamic #t10 in numList1) {
final core::int* #t11 = #t10 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t11){(core::int*) →* void};
}
for (final dynamic #t12 in numList2) {
final core::int* #t13 = #t12 as{TypeError} core::int*;
#t1.{core::List::add}{Invariant}(#t13){(core::int*) →* void};
}
} =>#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){(core::num*) →* void};
}
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){(core::num*) →* void};
}
#t14.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::num*>*) →* void};
#t14.{core::List::addAll}{Invariant}(iterableNumList1){(core::Iterable<core::num*>*) →* void};
#t14.{core::List::addAll}{Invariant}(iterableNumList2){(core::Iterable<core::num*>*) →* void};
#t14.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::num*>*) →* void};
#t14.{core::List::addAll}{Invariant}(numList1){(core::Iterable<core::num*>*) →* void};
#t14.{core::List::addAll}{Invariant}(numList2){(core::Iterable<core::num*>*) →* void};
} =>#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 == null))
for (final dynamic #t21 in #t20) {
final core::int* #t22 = #t21 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t22){(core::int*) →* void};
}
final core::Iterable<dynamic>* #t23 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!(#t23 == null))
for (final dynamic #t24 in #t23) {
final core::int* #t25 = #t24 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t25){(core::int*) →* void};
}
final core::Iterable<core::int*>* #t26 = iterableIntList;
if(!(#t26 == null))
#t19.{core::List::addAll}{Invariant}(#t26){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t27 = iterableNumList1;
if(!(#t27 == null))
for (final dynamic #t28 in #t27) {
final core::int* #t29 = #t28 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t29){(core::int*) →* void};
}
final core::Iterable<dynamic>* #t30 = iterableNumList2;
if(!(#t30 == null))
for (final dynamic #t31 in #t30) {
final core::int* #t32 = #t31 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t32){(core::int*) →* void};
}
final core::Iterable<core::int*>* #t33 = intList;
if(!(#t33 == null))
#t19.{core::List::addAll}{Invariant}(#t33){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t34 = numList1;
if(!(#t34 == null))
for (final dynamic #t35 in #t34) {
final core::int* #t36 = #t35 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t36){(core::int*) →* void};
}
final core::Iterable<dynamic>* #t37 = numList2;
if(!(#t37 == null))
for (final dynamic #t38 in #t37) {
final core::int* #t39 = #t38 as{TypeError} core::int*;
#t19.{core::List::add}{Invariant}(#t39){(core::int*) →* void};
}
} =>#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 == null))
for (final dynamic #t42 in #t41) {
final core::num* #t43 = #t42 as{TypeError} core::num*;
#t40.{core::List::add}{Invariant}(#t43){(core::num*) →* void};
}
final core::Iterable<dynamic>* #t44 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!(#t44 == null))
for (final dynamic #t45 in #t44) {
final core::num* #t46 = #t45 as{TypeError} core::num*;
#t40.{core::List::add}{Invariant}(#t46){(core::num*) →* void};
}
final core::Iterable<core::num*>* #t47 = iterableIntList;
if(!(#t47 == null))
#t40.{core::List::addAll}{Invariant}(#t47){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t48 = iterableNumList1;
if(!(#t48 == null))
#t40.{core::List::addAll}{Invariant}(#t48){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t49 = iterableNumList2;
if(!(#t49 == null))
#t40.{core::List::addAll}{Invariant}(#t49){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t50 = intList;
if(!(#t50 == null))
#t40.{core::List::addAll}{Invariant}(#t50){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t51 = numList1;
if(!(#t51 == null))
#t40.{core::List::addAll}{Invariant}(#t51){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t52 = numList2;
if(!(#t52 == null))
#t40.{core::List::addAll}{Invariant}(#t52){(core::Iterable<core::num*>*) →* void};
} =>#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::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}}.";
}
}
}