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