blob: d6d75a52a16f5d87d18da6596a908a752b49521d [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
// Try providing type arguments for the literal explicitly to disambiguate it.
// final aSetOrMap = {...foo()};
// ^
//
import self as self;
import "dart:core" as core;
import "dart:collection" as col;
static method main() dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
#t1.{core::List::add}{Invariant}(1);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[2].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t2 = :sync-for-iterator.{core::Iterator::current};
#t1.{core::List::add}{Invariant}(#t2);
}
}
final core::Iterable<core::int*>* #t3 = <core::int*>[3];
if(!#t3.{core::Object::==}(null)) {
core::Iterator<core::int*>* :sync-for-iterator = #t3.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t4 = :sync-for-iterator.{core::Iterator::current};
#t1.{core::List::add}{Invariant}(#t4);
}
}
} =>#t1;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{};
#t5.{core::Map::[]=}{Invariant}(1, 1);
{
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{2: 2}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t6 = :sync-for-iterator.{core::Iterator::current};
#t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
}
}
final core::Map<core::int*, core::int*>* #t7 = <core::int*, core::int*>{3: 3};
if(!#t7.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t7.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t8 = :sync-for-iterator.{core::Iterator::current};
#t5.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
}
}
} =>#t5;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
#t9.{core::Set::add}{Invariant}(1);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[2].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t10 = :sync-for-iterator.{core::Iterator::current};
#t9.{core::Set::add}{Invariant}(#t10);
}
}
final core::Iterable<core::int*>* #t11 = <core::int*>[3];
if(!#t11.{core::Object::==}(null)) {
core::Iterator<core::int*>* :sync-for-iterator = #t11.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t12 = :sync-for-iterator.{core::Iterator::current};
#t9.{core::Set::add}{Invariant}(#t12);
}
}
} =>#t9;
final dynamic aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
final aSetOrMap = {...foo()};
^";
core::print(aList);
core::print(aSet);
core::print(aMap);
}
static method foo() dynamic
return null;