| 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 = col::LinkedHashSet::•<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 = col::LinkedHashSet::•<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 = col::LinkedHashSet::•<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 = col::LinkedHashSet::•<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 = col::LinkedHashSet::•<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 = col::LinkedHashSet::•<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 = col::LinkedHashSet::•<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 = col::LinkedHashSet::•<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 = col::LinkedHashSet::•<core::int*>(); |
| for (final dynamic #t10 in dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) { |
| final core::int* #t11 = #t10 as{TypeError} core::int*; |
| #t9.{core::Set::add}{Invariant}(#t11){(core::int*) →* core::bool*}; |
| } |
| for (final dynamic #t12 in dynamicSet2 as{TypeError,ForDynamic} core::Iterable<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}; |
| for (final dynamic #t14 in iterableNumSet1) { |
| final core::int* #t15 = #t14 as{TypeError} core::int*; |
| #t9.{core::Set::add}{Invariant}(#t15){(core::int*) →* core::bool*}; |
| } |
| for (final dynamic #t16 in iterableNumSet2) { |
| 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}; |
| for (final dynamic #t18 in numSet1) { |
| final core::int* #t19 = #t18 as{TypeError} core::int*; |
| #t9.{core::Set::add}{Invariant}(#t19){(core::int*) →* core::bool*}; |
| } |
| for (final dynamic #t20 in numSet2) { |
| final core::int* #t21 = #t20 as{TypeError} core::int*; |
| #t9.{core::Set::add}{Invariant}(#t21){(core::int*) →* core::bool*}; |
| } |
| } =>#t9; |
| self::expect(core::List::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 = col::LinkedHashSet::•<core::num*>(); |
| for (final dynamic #t23 in dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) { |
| final core::num* #t24 = #t23 as{TypeError} core::num*; |
| #t22.{core::Set::add}{Invariant}(#t24){(core::num*) →* core::bool*}; |
| } |
| for (final dynamic #t25 in dynamicSet2 as{TypeError,ForDynamic} core::Iterable<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::List::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 = col::LinkedHashSet::•<core::int*>(); |
| final core::Iterable<dynamic>* #t28 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*; |
| if(!(#t28 == null)) |
| for (final dynamic #t29 in #t28) { |
| 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)) |
| for (final dynamic #t32 in #t31) { |
| 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)) |
| for (final dynamic #t36 in #t35) { |
| 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)) |
| for (final dynamic #t39 in #t38) { |
| 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)) |
| for (final dynamic #t43 in #t42) { |
| 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)) |
| for (final dynamic #t46 in #t45) { |
| final core::int* #t47 = #t46 as{TypeError} core::int*; |
| #t27.{core::Set::add}{Invariant}(#t47){(core::int*) →* core::bool*}; |
| } |
| } =>#t27; |
| self::expect(core::List::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 = col::LinkedHashSet::•<core::num*>(); |
| final core::Iterable<dynamic>* #t49 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*; |
| if(!(#t49 == null)) |
| for (final dynamic #t50 in #t49) { |
| 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)) |
| for (final dynamic #t53 in #t52) { |
| 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::List::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*}}."; |
| } |
| for (dynamic element in set1) { |
| if(!set2.{core::Set::contains}(element){(core::Object*) →* core::bool*}) { |
| throw "Element ${element} not found. Expected ${set1}, actual ${set2}."; |
| } |
| } |
| } |