blob: 65a9653c8cae4005d3d4e62683b9cf36c498e023 [file] [log] [blame]
library /*isNonNullableByDefault*/;
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;
dynamic dynamicSet3 = 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::int> iterableIntSet = 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::Set<core::int> intSet = block {
final core::Set<core::int> #t5 = new col::_CompactLinkedHashSet::•<core::int>();
#t5.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
#t5.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
#t5.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
} =>#t5;
core::Set<core::int> set1 = block {
final core::Set<core::int> #t6 = new col::_CompactLinkedHashSet::•<core::int>();
{
core::Iterator<dynamic> :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
#t6.{core::Set::add}{Invariant}(#t8){(core::int) → core::bool};
}
}
}
{
core::Iterator<dynamic> :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
#t6.{core::Set::add}{Invariant}(#t10){(core::int) → core::bool};
}
}
}
{
core::Iterator<dynamic> :sync-for-iterator = (dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t11 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::int;
#t6.{core::Set::add}{Invariant}(#t12){(core::int) → core::bool};
}
}
}
#t6.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<core::int>) → void};
#t6.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::int>) → void};
} =>#t6;
self::expect(core::_GrowableList::generate<core::int>(15, (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> #t13 = new col::_CompactLinkedHashSet::•<core::num>();
{
core::Iterator<dynamic> :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t14 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t15 = #t14 as{TypeError,ForNonNullableByDefault} core::num;
#t13.{core::Set::add}{Invariant}(#t15){(core::num) → core::bool};
}
}
}
{
core::Iterator<dynamic> :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::num;
#t13.{core::Set::add}{Invariant}(#t17){(core::num) → core::bool};
}
}
}
{
core::Iterator<dynamic> :sync-for-iterator = (dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::num;
#t13.{core::Set::add}{Invariant}(#t19){(core::num) → core::bool};
}
}
}
#t13.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<core::num>) → void};
#t13.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::num>) → void};
} =>#t13;
self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) core::int => i).{core::Iterable::toSet}(){() core::Set<core::num>}, set2);
}
static method useAddAllNullable() void {
dynamic dynamicSet1 = block {
final core::Set<core::int> #t20 = new col::_CompactLinkedHashSet::•<core::int>();
#t20.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
#t20.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
#t20.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
} =>#t20;
dynamic dynamicSet2 = block {
final core::Set<core::num> #t21 = new col::_CompactLinkedHashSet::•<core::num>();
#t21.{core::Set::add}{Invariant}(3){(core::num) → core::bool};
#t21.{core::Set::add}{Invariant}(4){(core::num) → core::bool};
#t21.{core::Set::add}{Invariant}(5){(core::num) → core::bool};
} =>#t21;
dynamic dynamicSet3 = block {
final core::Set<core::int?> #t22 = new col::_CompactLinkedHashSet::•<core::int?>();
#t22.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
#t22.{core::Set::add}{Invariant}(7){(core::int?) → core::bool};
#t22.{core::Set::add}{Invariant}(8){(core::int?) → core::bool};
} =>#t22;
core::Iterable<core::int>? iterableIntSet = true ?{core::Set<core::int>?} block {
final core::Set<core::int> #t23 = new col::_CompactLinkedHashSet::•<core::int>();
#t23.{core::Set::add}{Invariant}(9){(core::int) → core::bool};
#t23.{core::Set::add}{Invariant}(10){(core::int) → core::bool};
#t23.{core::Set::add}{Invariant}(11){(core::int) → core::bool};
} =>#t23 : null;
core::Set<core::int>? intSet = true ?{core::Set<core::int>?} block {
final core::Set<core::int> #t24 = new col::_CompactLinkedHashSet::•<core::int>();
#t24.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
#t24.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
#t24.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
} =>#t24 : null;
core::Set<core::int> set1 = block {
final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t26 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
if(!(#t26 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t26{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t27 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
#t25.{core::Set::add}{Invariant}(#t28){(core::int) → core::bool};
}
}
}
final core::Iterable<dynamic>? #t29 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
if(!(#t29 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t29{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t30 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::int;
#t25.{core::Set::add}{Invariant}(#t31){(core::int) → core::bool};
}
}
}
final core::Iterable<dynamic>? #t32 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
if(!(#t32 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t32{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t33 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
#t25.{core::Set::add}{Invariant}(#t34){(core::int) → core::bool};
}
}
}
final core::Iterable<core::int>? #t35 = iterableIntSet;
if(!(#t35 == null))
#t25.{core::Set::addAll}{Invariant}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
final core::Iterable<core::int>? #t36 = intSet;
if(!(#t36 == null))
#t25.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t25;
self::expect(core::_GrowableList::generate<core::int>(15, (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> #t37 = new col::_CompactLinkedHashSet::•<core::num>();
final core::Iterable<dynamic>? #t38 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
if(!(#t38 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t38{core::Iterable<dynamic>}.{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::num #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::num;
#t37.{core::Set::add}{Invariant}(#t40){(core::num) → core::bool};
}
}
}
final core::Iterable<dynamic>? #t41 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
if(!(#t41 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t41{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t42 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t43 = #t42 as{TypeError,ForNonNullableByDefault} core::num;
#t37.{core::Set::add}{Invariant}(#t43){(core::num) → core::bool};
}
}
}
final core::Iterable<dynamic>? #t44 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
if(!(#t44 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t44{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t45 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::num;
#t37.{core::Set::add}{Invariant}(#t46){(core::num) → core::bool};
}
}
}
final core::Iterable<core::num>? #t47 = iterableIntSet;
if(!(#t47 == null))
#t37.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
final core::Iterable<core::num>? #t48 = intSet;
if(!(#t48 == null))
#t37.{core::Set::addAll}{Invariant}(#t48{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
} =>#t37;
self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) core::int => i).{core::Iterable::toSet}(){() core::Set<core::num>}, set2);
}
static method main() dynamic {
self::useAddAll();
self::useAddAllNullable();
}
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}.";
}
}
}
}
}