| library; |
| import self as self; |
| import "dart:core" as core; |
| import "dart:collection" as col; |
| |
| static method useAddAll() → void { |
| dynamic dynamicMap1 = <core::int*, core::int*>{0: 100, 1: 101, 2: 102}; |
| dynamic dynamicMap2 = <core::num*, core::num*>{3: 103, 4: 104, 5: 105}; |
| core::Map<core::int*, core::int*>* intMap = <core::int*, core::int*>{6: 106, 7: 107, 8: 108}; |
| core::Map<core::num*, core::num*>* numMap1 = <core::int*, core::int*>{9: 109, 10: 110, 11: 111}; |
| core::Map<core::num*, core::num*>* numMap2 = <core::num*, core::num*>{12: 112, 13: 113, 14: 114}; |
| core::Map<core::int*, core::int*>* map1 = block { |
| final core::Map<core::int*, core::int*>* #t1 = <core::int*, core::int*>{}; |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t2 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t3 = #t2.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t4 = #t2.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t1.{core::Map::[]=}{Invariant}(#t3, #t4){(core::int*, core::int*) →* void}; |
| } |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t5 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t6 = #t5.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t7 = #t5.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t1.{core::Map::[]=}{Invariant}(#t6, #t7){(core::int*, core::int*) →* void}; |
| } |
| #t1.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int*, core::int*>*) →* void}; |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t8 in numMap1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t9 = #t8.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t10 = #t8.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t1.{core::Map::[]=}{Invariant}(#t9, #t10){(core::int*, core::int*) →* void}; |
| } |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t11 in numMap2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t1.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int*, core::int*) →* void}; |
| } |
| } =>#t1; |
| self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map1); |
| core::Map<core::num*, core::num*>* map2 = block { |
| final core::Map<core::num*, core::num*>* #t14 = <core::num*, core::num*>{}; |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t15 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) { |
| final core::num* #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError} core::num*; |
| final core::num* #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError} core::num*; |
| #t14.{core::Map::[]=}{Invariant}(#t16, #t17){(core::num*, core::num*) →* void}; |
| } |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t18 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) { |
| final core::num* #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError} core::num*; |
| final core::num* #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError} core::num*; |
| #t14.{core::Map::[]=}{Invariant}(#t19, #t20){(core::num*, core::num*) →* void}; |
| } |
| #t14.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::num*, core::num*>*) →* void}; |
| #t14.{core::Map::addAll}{Invariant}(numMap1){(core::Map<core::num*, core::num*>*) →* void}; |
| #t14.{core::Map::addAll}{Invariant}(numMap2){(core::Map<core::num*, core::num*>*) →* void}; |
| } =>#t14; |
| self::expect(col::LinkedHashMap::fromIterables<core::num*, core::num*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map2); |
| core::Map<core::int*, core::int*>* map3 = block { |
| final core::Map<core::int*, core::int*>* #t21 = <core::int*, core::int*>{}; |
| final core::Map<dynamic, dynamic>* #t22 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*; |
| if(!(#t22 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t23 in #t22.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t24 = #t23.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t25 = #t23.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t21.{core::Map::[]=}{Invariant}(#t24, #t25){(core::int*, core::int*) →* void}; |
| } |
| final core::Map<dynamic, dynamic>* #t26 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*; |
| if(!(#t26 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t27 in #t26.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t28 = #t27.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t29 = #t27.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t21.{core::Map::[]=}{Invariant}(#t28, #t29){(core::int*, core::int*) →* void}; |
| } |
| final core::Map<core::int*, core::int*>* #t30 = intMap; |
| if(!(#t30 == null)) |
| #t21.{core::Map::addAll}{Invariant}(#t30){(core::Map<core::int*, core::int*>*) →* void}; |
| final core::Map<dynamic, dynamic>* #t31 = numMap1; |
| if(!(#t31 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t32 in #t31.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t33 = #t32.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t34 = #t32.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t21.{core::Map::[]=}{Invariant}(#t33, #t34){(core::int*, core::int*) →* void}; |
| } |
| final core::Map<dynamic, dynamic>* #t35 = numMap2; |
| if(!(#t35 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t36 in #t35.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t37 = #t36.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t38 = #t36.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t21.{core::Map::[]=}{Invariant}(#t37, #t38){(core::int*, core::int*) →* void}; |
| } |
| } =>#t21; |
| self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map3); |
| core::Map<core::num*, core::num*>* map4 = block { |
| final core::Map<core::num*, core::num*>* #t39 = <core::num*, core::num*>{}; |
| final core::Map<dynamic, dynamic>* #t40 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*; |
| if(!(#t40 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t41 in #t40.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) { |
| final core::num* #t42 = #t41.{core::MapEntry::key}{dynamic} as{TypeError} core::num*; |
| final core::num* #t43 = #t41.{core::MapEntry::value}{dynamic} as{TypeError} core::num*; |
| #t39.{core::Map::[]=}{Invariant}(#t42, #t43){(core::num*, core::num*) →* void}; |
| } |
| final core::Map<dynamic, dynamic>* #t44 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*; |
| if(!(#t44 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t45 in #t44.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) { |
| final core::num* #t46 = #t45.{core::MapEntry::key}{dynamic} as{TypeError} core::num*; |
| final core::num* #t47 = #t45.{core::MapEntry::value}{dynamic} as{TypeError} core::num*; |
| #t39.{core::Map::[]=}{Invariant}(#t46, #t47){(core::num*, core::num*) →* void}; |
| } |
| final core::Map<core::num*, core::num*>* #t48 = intMap; |
| if(!(#t48 == null)) |
| #t39.{core::Map::addAll}{Invariant}(#t48){(core::Map<core::num*, core::num*>*) →* void}; |
| final core::Map<core::num*, core::num*>* #t49 = numMap1; |
| if(!(#t49 == null)) |
| #t39.{core::Map::addAll}{Invariant}(#t49){(core::Map<core::num*, core::num*>*) →* void}; |
| final core::Map<core::num*, core::num*>* #t50 = numMap2; |
| if(!(#t50 == null)) |
| #t39.{core::Map::addAll}{Invariant}(#t50){(core::Map<core::num*, core::num*>*) →* void}; |
| } =>#t39; |
| self::expect(col::LinkedHashMap::fromIterables<core::num*, core::num*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map4); |
| core::Map<core::int*, core::int*>* map5 = block { |
| final core::Map<core::int*, core::int*>* #t51 = <core::int*, core::int*>{}; |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t52 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t53 = #t52.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t54 = #t52.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t51.{core::Map::[]=}{Invariant}(#t53, #t54){(core::int*, core::int*) →* void}; |
| } |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t55 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t56 = #t55.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t57 = #t55.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t51.{core::Map::[]=}{Invariant}(#t56, #t57){(core::int*, core::int*) →* void}; |
| } |
| #t51.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int*, core::int*>*) →* void}; |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t58 in numMap1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t59 = #t58.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t60 = #t58.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t51.{core::Map::[]=}{Invariant}(#t59, #t60){(core::int*, core::int*) →* void}; |
| } |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t61 in numMap2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t62 = #t61.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t63 = #t61.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t51.{core::Map::[]=}{Invariant}(#t62, #t63){(core::int*, core::int*) →* void}; |
| } |
| } =>#t51; |
| self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map5); |
| core::Map<dynamic, dynamic>* map6 = block { |
| final core::Map<dynamic, dynamic>* #t64 = col::LinkedHashMap::of<dynamic, dynamic>(dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*); |
| #t64.{core::Map::addAll}{Invariant}(dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*){(core::Map<dynamic, dynamic>*) →* void}; |
| #t64.{core::Map::addAll}{Invariant}(intMap){(core::Map<dynamic, dynamic>*) →* void}; |
| #t64.{core::Map::addAll}{Invariant}(numMap1){(core::Map<dynamic, dynamic>*) →* void}; |
| #t64.{core::Map::addAll}{Invariant}(numMap2){(core::Map<dynamic, dynamic>*) →* void}; |
| } =>#t64; |
| self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map6); |
| core::Map<core::int*, core::int*>* map7 = block { |
| final core::Map<core::int*, core::int*>* #t65 = <core::int*, core::int*>{}; |
| final core::Map<dynamic, dynamic>* #t66 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*; |
| if(!(#t66 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t67 in #t66.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t68 = #t67.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t69 = #t67.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t65.{core::Map::[]=}{Invariant}(#t68, #t69){(core::int*, core::int*) →* void}; |
| } |
| final core::Map<dynamic, dynamic>* #t70 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*; |
| if(!(#t70 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t71 in #t70.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t72 = #t71.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t73 = #t71.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t65.{core::Map::[]=}{Invariant}(#t72, #t73){(core::int*, core::int*) →* void}; |
| } |
| final core::Map<core::int*, core::int*>* #t74 = intMap; |
| if(!(#t74 == null)) |
| #t65.{core::Map::addAll}{Invariant}(#t74){(core::Map<core::int*, core::int*>*) →* void}; |
| final core::Map<dynamic, dynamic>* #t75 = numMap1; |
| if(!(#t75 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t76 in #t75.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t77 = #t76.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t78 = #t76.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t65.{core::Map::[]=}{Invariant}(#t77, #t78){(core::int*, core::int*) →* void}; |
| } |
| final core::Map<dynamic, dynamic>* #t79 = numMap2; |
| if(!(#t79 == null)) |
| for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t80 in #t79.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) { |
| final core::int* #t81 = #t80.{core::MapEntry::key}{dynamic} as{TypeError} core::int*; |
| final core::int* #t82 = #t80.{core::MapEntry::value}{dynamic} as{TypeError} core::int*; |
| #t65.{core::Map::[]=}{Invariant}(#t81, #t82){(core::int*, core::int*) →* void}; |
| } |
| } =>#t65; |
| self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map7); |
| core::Map<dynamic, dynamic>* map8 = block { |
| final core::Map<dynamic, dynamic>* #t83 = <dynamic, dynamic>{}; |
| final core::Map<dynamic, dynamic>* #t84 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*; |
| if(!(#t84 == null)) |
| #t83.{core::Map::addAll}{Invariant}(#t84){(core::Map<dynamic, dynamic>*) →* void}; |
| final core::Map<dynamic, dynamic>* #t85 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*; |
| if(!(#t85 == null)) |
| #t83.{core::Map::addAll}{Invariant}(#t85){(core::Map<dynamic, dynamic>*) →* void}; |
| final core::Map<dynamic, dynamic>* #t86 = intMap; |
| if(!(#t86 == null)) |
| #t83.{core::Map::addAll}{Invariant}(#t86){(core::Map<dynamic, dynamic>*) →* void}; |
| final core::Map<dynamic, dynamic>* #t87 = numMap1; |
| if(!(#t87 == null)) |
| #t83.{core::Map::addAll}{Invariant}(#t87){(core::Map<dynamic, dynamic>*) →* void}; |
| final core::Map<dynamic, dynamic>* #t88 = numMap2; |
| if(!(#t88 == null)) |
| #t83.{core::Map::addAll}{Invariant}(#t88){(core::Map<dynamic, dynamic>*) →* void}; |
| } =>#t83; |
| self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map8); |
| { |
| core::Map<core::int*, core::int*>* intMap1 = <core::int*, core::int*>{0: 100, 1: 101, 2: 102}; |
| core::Map<core::int*, core::int*>* intMap2 = <core::int*, core::int*>{3: 103, 4: 104, 5: 105}; |
| core::Map<core::int*, core::int*>* map = block { |
| final core::Map<core::int*, core::int*>* #t89 = col::LinkedHashMap::of<core::int*, core::int*>(intMap1); |
| #t89.{core::Map::addAll}{Invariant}(intMap2){(core::Map<core::int*, core::int*>*) →* void}; |
| } =>#t89; |
| self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(6, (core::int* i) → core::int* => i), core::List::generate<core::int*>(6, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map); |
| } |
| } |
| static method main() → dynamic { |
| self::useAddAll(); |
| } |
| static method expect(core::Map<dynamic, dynamic>* map1, core::Map<dynamic, dynamic>* map2) → void { |
| if(!(map1.{core::Map::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} map2.{core::Map::length}{core::int*})) { |
| throw "Unexpected length. Expected ${map1.{core::Map::length}{core::int*}}, actual ${map2.{core::Map::length}{core::int*}}."; |
| } |
| for (core::MapEntry<dynamic, dynamic>* entry in map1.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>*>*}) { |
| if(!map2.{core::Map::containsKey}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* core::bool*}) { |
| throw "Key ${entry.{core::MapEntry::key}{dynamic}} not found. Expected ${map1}, actual ${map2}."; |
| } |
| if(!(map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} entry.{core::MapEntry::value}{dynamic})) { |
| throw "Found value ${map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* dynamic}} expected ${entry.{core::MapEntry::value}{dynamic}} for key ${entry.{core::MapEntry::key}{dynamic}}."; |
| } |
| } |
| if(!(map1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} map2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) { |
| throw "Runtime time difference: ${map1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${map2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}"; |
| } |
| } |