blob: b8b398a7f8060813a65602e44070f2195a41926c [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
import "dart:collection" as col;
import "dart:_internal" as _in;
static method useAddAll() void {
dynamic dynamicSet1 = block {
final core::Set<core::int*>* #t1 = new col::_CompactLinkedHashSet::•<core::int*>();
#t1.{core::Set::add}{Invariant}(0);
#t1.{core::Set::add}{Invariant}(1);
#t1.{core::Set::add}{Invariant}(2);
} =>#t1;
dynamic dynamicSet2 = block {
final core::Set<core::num*>* #t2 = new col::_CompactLinkedHashSet::•<core::num*>();
#t2.{core::Set::add}{Invariant}(3);
#t2.{core::Set::add}{Invariant}(4);
#t2.{core::Set::add}{Invariant}(5);
} =>#t2;
core::Iterable<core::int*>* iterableIntSet = block {
final core::Set<core::int*>* #t3 = new col::_CompactLinkedHashSet::•<core::int*>();
#t3.{core::Set::add}{Invariant}(6);
#t3.{core::Set::add}{Invariant}(7);
#t3.{core::Set::add}{Invariant}(8);
} =>#t3;
core::Iterable<core::num*>* iterableNumSet1 = block {
final core::Set<core::int*>* #t4 = new col::_CompactLinkedHashSet::•<core::int*>();
#t4.{core::Set::add}{Invariant}(9);
#t4.{core::Set::add}{Invariant}(10);
#t4.{core::Set::add}{Invariant}(11);
} =>#t4;
core::Iterable<core::num*>* iterableNumSet2 = block {
final core::Set<core::num*>* #t5 = new col::_CompactLinkedHashSet::•<core::num*>();
#t5.{core::Set::add}{Invariant}(12);
#t5.{core::Set::add}{Invariant}(13);
#t5.{core::Set::add}{Invariant}(14);
} =>#t5;
core::Set<core::int*>* intSet = block {
final core::Set<core::int*>* #t6 = new col::_CompactLinkedHashSet::•<core::int*>();
#t6.{core::Set::add}{Invariant}(15);
#t6.{core::Set::add}{Invariant}(16);
#t6.{core::Set::add}{Invariant}(17);
} =>#t6;
core::Set<core::num*>* numSet1 = block {
final core::Set<core::int*>* #t7 = new col::_CompactLinkedHashSet::•<core::int*>();
#t7.{core::Set::add}{Invariant}(18);
#t7.{core::Set::add}{Invariant}(19);
#t7.{core::Set::add}{Invariant}(20);
} =>#t7;
core::Set<core::num*>* numSet2 = block {
final core::Set<core::num*>* #t8 = new col::_CompactLinkedHashSet::•<core::num*>();
#t8.{core::Set::add}{Invariant}(21);
#t8.{core::Set::add}{Invariant}(22);
#t8.{core::Set::add}{Invariant}(23);
} =>#t8;
core::Set<core::int*>* set1 = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
{
core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
#t9.{core::Set::add}{Invariant}(#t11);
}
}
}
{
core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t13 = #t12 as{TypeError} core::int*;
#t9.{core::Set::add}{Invariant}(#t13);
}
}
}
#t9.{core::Set::addAll}{Invariant}(iterableIntSet);
{
core::Iterator<core::num*>* :sync-for-iterator = iterableNumSet1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t15 = #t14 as{TypeError} core::int*;
#t9.{core::Set::add}{Invariant}(#t15);
}
}
}
{
core::Iterator<core::num*>* :sync-for-iterator = iterableNumSet2.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t17 = #t16 as{TypeError} core::int*;
#t9.{core::Set::add}{Invariant}(#t17);
}
}
}
#t9.{core::Set::addAll}{Invariant}(intSet);
{
core::Iterator<core::num*>* :sync-for-iterator = numSet1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t19 = #t18 as{TypeError} core::int*;
#t9.{core::Set::add}{Invariant}(#t19);
}
}
}
{
core::Iterator<core::num*>* :sync-for-iterator = numSet2.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t20 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t21 = #t20 as{TypeError} core::int*;
#t9.{core::Set::add}{Invariant}(#t21);
}
}
}
} =>#t9;
self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) core::int* => i).{core::Iterable::toSet}(), set1);
core::Set<core::num*>* set2 = block {
final core::Set<core::num*>* #t22 = new col::_CompactLinkedHashSet::•<core::num*>();
{
core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t24 = #t23 as{TypeError} core::num*;
#t22.{core::Set::add}{Invariant}(#t24);
}
}
}
{
core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t26 = #t25 as{TypeError} core::num*;
#t22.{core::Set::add}{Invariant}(#t26);
}
}
}
#t22.{core::Set::addAll}{Invariant}(iterableIntSet);
#t22.{core::Set::addAll}{Invariant}(iterableNumSet1);
#t22.{core::Set::addAll}{Invariant}(iterableNumSet2);
#t22.{core::Set::addAll}{Invariant}(intSet);
#t22.{core::Set::addAll}{Invariant}(numSet1);
#t22.{core::Set::addAll}{Invariant}(numSet2);
} =>#t22;
self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) core::int* => i).{core::Iterable::toSet}(), set2);
core::Set<core::int*>* set3 = block {
final core::Set<core::int*>* #t27 = new col::_CompactLinkedHashSet::•<core::int*>();
final core::Iterable<dynamic>* #t28 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!#t28.{core::Object::==}(null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t28.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t29 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t30 = #t29 as{TypeError} core::int*;
#t27.{core::Set::add}{Invariant}(#t30);
}
}
}
final core::Iterable<dynamic>* #t31 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!#t31.{core::Object::==}(null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t31.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t32 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t33 = #t32 as{TypeError} core::int*;
#t27.{core::Set::add}{Invariant}(#t33);
}
}
}
final core::Iterable<core::int*>* #t34 = iterableIntSet;
if(!#t34.{core::Object::==}(null))
#t27.{core::Set::addAll}{Invariant}(#t34);
final core::Iterable<dynamic>* #t35 = iterableNumSet1;
if(!#t35.{core::Object::==}(null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t35.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t36 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t37 = #t36 as{TypeError} core::int*;
#t27.{core::Set::add}{Invariant}(#t37);
}
}
}
final core::Iterable<dynamic>* #t38 = iterableNumSet2;
if(!#t38.{core::Object::==}(null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t38.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t39 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t40 = #t39 as{TypeError} core::int*;
#t27.{core::Set::add}{Invariant}(#t40);
}
}
}
final core::Iterable<core::int*>* #t41 = intSet;
if(!#t41.{core::Object::==}(null))
#t27.{core::Set::addAll}{Invariant}(#t41);
final core::Iterable<dynamic>* #t42 = numSet1;
if(!#t42.{core::Object::==}(null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t42.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t43 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t44 = #t43 as{TypeError} core::int*;
#t27.{core::Set::add}{Invariant}(#t44);
}
}
}
final core::Iterable<dynamic>* #t45 = numSet2;
if(!#t45.{core::Object::==}(null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t45.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t46 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t47 = #t46 as{TypeError} core::int*;
#t27.{core::Set::add}{Invariant}(#t47);
}
}
}
} =>#t27;
self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) core::int* => i).{core::Iterable::toSet}(), set3);
core::Set<core::num*>* set4 = block {
final core::Set<core::num*>* #t48 = new col::_CompactLinkedHashSet::•<core::num*>();
final core::Iterable<dynamic>* #t49 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!#t49.{core::Object::==}(null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t49.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t50 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t51 = #t50 as{TypeError} core::num*;
#t48.{core::Set::add}{Invariant}(#t51);
}
}
}
final core::Iterable<dynamic>* #t52 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
if(!#t52.{core::Object::==}(null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t52.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t53 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t54 = #t53 as{TypeError} core::num*;
#t48.{core::Set::add}{Invariant}(#t54);
}
}
}
final core::Iterable<core::num*>* #t55 = iterableIntSet;
if(!#t55.{core::Object::==}(null))
#t48.{core::Set::addAll}{Invariant}(#t55);
final core::Iterable<core::num*>* #t56 = iterableNumSet1;
if(!#t56.{core::Object::==}(null))
#t48.{core::Set::addAll}{Invariant}(#t56);
final core::Iterable<core::num*>* #t57 = iterableNumSet2;
if(!#t57.{core::Object::==}(null))
#t48.{core::Set::addAll}{Invariant}(#t57);
final core::Iterable<core::num*>* #t58 = intSet;
if(!#t58.{core::Object::==}(null))
#t48.{core::Set::addAll}{Invariant}(#t58);
final core::Iterable<core::num*>* #t59 = numSet1;
if(!#t59.{core::Object::==}(null))
#t48.{core::Set::addAll}{Invariant}(#t59);
final core::Iterable<core::num*>* #t60 = numSet2;
if(!#t60.{core::Object::==}(null))
#t48.{core::Set::addAll}{Invariant}(#t60);
} =>#t48;
self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) core::int* => i).{core::Iterable::toSet}(), set4);
}
static method main() dynamic {
self::useAddAll();
}
static method expect(core::Set<dynamic>* set1, core::Set<dynamic>* set2) void {
if(!set1.{_in::EfficientLengthIterable::length}.{core::num::==}(set2.{_in::EfficientLengthIterable::length})) {
throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}}, actual ${set2.{_in::EfficientLengthIterable::length}}.";
}
{
core::Iterator<dynamic>* :sync-for-iterator = set1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic element = :sync-for-iterator.{core::Iterator::current};
{
if(!set2.{core::Set::contains}(element)) {
throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
}
}
}
}
}