[vm] Rename the default implementation classes of Map and Set.
_InternalLinkedHashMap => _Map _InternalImmutableLinkedHashMap => _ConstMap _InternalLinkedHashSet => _Set _InternalImmutableLinkedHashSet => _ConstSet This makes things nicer to read in places that display implementation names, such as stack traces, debuggers, profilers and inspectors. TEST=ci Change-Id: Iec851c80ea2086cbe79934565dbf35f04809a836 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/266303 Reviewed-by: Daco Harkes <dacoharkes@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com> Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
This commit is contained in:
committed by
Commit Queue
parent
a2adab7dfd
commit
a2de36e708
@@ -2925,8 +2925,8 @@ abstract class LinkedHashMap<K, V> implements Map<K, V> {
|
||||
bool Function(dynamic)? isValidKey}) => null;
|
||||
}
|
||||
|
||||
class _InternalLinkedHashMap<K, V> {
|
||||
_InternalLinkedHashMap();
|
||||
class _Map<K, V> {
|
||||
_Map();
|
||||
}
|
||||
|
||||
abstract class LinkedHashSet<E> implements Set<E> {
|
||||
@@ -2936,8 +2936,8 @@ abstract class LinkedHashSet<E> implements Set<E> {
|
||||
bool Function(dynamic)? isValidKey}) => null;
|
||||
}
|
||||
|
||||
class _InternalLinkedHashSet<E> {
|
||||
_InternalLinkedHashSet();
|
||||
class _Set<E> {
|
||||
_Set();
|
||||
}
|
||||
|
||||
class _UnmodifiableSet {
|
||||
|
||||
@@ -2,6 +2,6 @@ Errors: {
|
||||
}
|
||||
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
|
||||
return block {
|
||||
final dart.core::Set<dart.core::String> #t1 = new dart.collection::_InternalLinkedHashSet::•<dart.core::String>();
|
||||
final dart.core::Set<dart.core::String> #t1 = new dart.collection::_Set::•<dart.core::String>();
|
||||
#t1.{dart.core::Set::add}{Invariant}("a"){(dart.core::String) → dart.core::bool};
|
||||
} =>#t1;
|
||||
|
||||
@@ -146,52 +146,52 @@ static method test() → dynamic {
|
||||
<self::G<self::ConcreteClass>, self::G<self::Class<self::ConcreteClass>>>{};
|
||||
<self::G<core::Object>, self::G<core::int>>{};
|
||||
block {
|
||||
final core::Set<self::Class<dynamic>> #t1 = new col::_InternalLinkedHashSet::•<self::Class<dynamic>>();
|
||||
final core::Set<self::Class<dynamic>> #t1 = new col::_Set::•<self::Class<dynamic>>();
|
||||
} =>#t1;
|
||||
block {
|
||||
final core::Set<dynamic> #t2 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t2 = new col::_Set::•<dynamic>();
|
||||
} =>#t2;
|
||||
block {
|
||||
final core::Set<self::Class<dynamic>> #t3 = new col::_InternalLinkedHashSet::•<self::Class<dynamic>>();
|
||||
final core::Set<self::Class<dynamic>> #t3 = new col::_Set::•<self::Class<dynamic>>();
|
||||
} =>#t3;
|
||||
block {
|
||||
final core::Set<self::Class<dynamic>> #t4 = new col::_InternalLinkedHashSet::•<self::Class<dynamic>>();
|
||||
final core::Set<self::Class<dynamic>> #t4 = new col::_Set::•<self::Class<dynamic>>();
|
||||
} =>#t4;
|
||||
block {
|
||||
final core::Set<core::Object> #t5 = new col::_InternalLinkedHashSet::•<core::Object>();
|
||||
final core::Set<core::Object> #t5 = new col::_Set::•<core::Object>();
|
||||
} =>#t5;
|
||||
block {
|
||||
final core::Set<core::int> #t6 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t6 = new col::_Set::•<core::int>();
|
||||
} =>#t6;
|
||||
block {
|
||||
final core::Set<self::ConcreteClass> #t7 = new col::_InternalLinkedHashSet::•<self::ConcreteClass>();
|
||||
final core::Set<self::ConcreteClass> #t7 = new col::_Set::•<self::ConcreteClass>();
|
||||
} =>#t7;
|
||||
block {
|
||||
final core::Set<self::Class<self::ConcreteClass>> #t8 = new col::_InternalLinkedHashSet::•<self::Class<self::ConcreteClass>>();
|
||||
final core::Set<self::Class<self::ConcreteClass>> #t8 = new col::_Set::•<self::Class<self::ConcreteClass>>();
|
||||
} =>#t8;
|
||||
block {
|
||||
final core::Set<self::G<self::Class<dynamic>>> #t9 = new col::_InternalLinkedHashSet::•<self::G<self::Class<dynamic>>>();
|
||||
final core::Set<self::G<self::Class<dynamic>>> #t9 = new col::_Set::•<self::G<self::Class<dynamic>>>();
|
||||
} =>#t9;
|
||||
block {
|
||||
final core::Set<self::G<self::Class<dynamic>>> #t10 = new col::_InternalLinkedHashSet::•<self::G<self::Class<dynamic>>>();
|
||||
final core::Set<self::G<self::Class<dynamic>>> #t10 = new col::_Set::•<self::G<self::Class<dynamic>>>();
|
||||
} =>#t10;
|
||||
block {
|
||||
final core::Set<self::G<self::Class<dynamic>>> #t11 = new col::_InternalLinkedHashSet::•<self::G<self::Class<dynamic>>>();
|
||||
final core::Set<self::G<self::Class<dynamic>>> #t11 = new col::_Set::•<self::G<self::Class<dynamic>>>();
|
||||
} =>#t11;
|
||||
block {
|
||||
final core::Set<self::G<self::Class<dynamic>>> #t12 = new col::_InternalLinkedHashSet::•<self::G<self::Class<dynamic>>>();
|
||||
final core::Set<self::G<self::Class<dynamic>>> #t12 = new col::_Set::•<self::G<self::Class<dynamic>>>();
|
||||
} =>#t12;
|
||||
block {
|
||||
final core::Set<self::G<self::ConcreteClass>> #t13 = new col::_InternalLinkedHashSet::•<self::G<self::ConcreteClass>>();
|
||||
final core::Set<self::G<self::ConcreteClass>> #t13 = new col::_Set::•<self::G<self::ConcreteClass>>();
|
||||
} =>#t13;
|
||||
block {
|
||||
final core::Set<self::G<self::Class<self::ConcreteClass>>> #t14 = new col::_InternalLinkedHashSet::•<self::G<self::Class<self::ConcreteClass>>>();
|
||||
final core::Set<self::G<self::Class<self::ConcreteClass>>> #t14 = new col::_Set::•<self::G<self::Class<self::ConcreteClass>>>();
|
||||
} =>#t14;
|
||||
block {
|
||||
final core::Set<self::G<core::Object>> #t15 = new col::_InternalLinkedHashSet::•<self::G<core::Object>>();
|
||||
final core::Set<self::G<core::Object>> #t15 = new col::_Set::•<self::G<core::Object>>();
|
||||
} =>#t15;
|
||||
block {
|
||||
final core::Set<self::G<core::int>> #t16 = new col::_InternalLinkedHashSet::•<self::G<core::int>>();
|
||||
final core::Set<self::G<core::int>> #t16 = new col::_Set::•<self::G<core::int>>();
|
||||
} =>#t16;
|
||||
core::_GrowableList::•<self::Class<dynamic>>(0);
|
||||
core::_GrowableList::•<dynamic>(0);
|
||||
|
||||
+1
-1
@@ -354,7 +354,7 @@ static method main() → dynamic {
|
||||
core::print(#C11);
|
||||
core::print(#C14);
|
||||
core::print( block {
|
||||
final core::Set<core::String> #t2 = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
final core::Set<core::String> #t2 = new col::_Set::•<core::String>();
|
||||
#t2.{core::Set::add}{Invariant}("hello"){(core::String) → core::bool};
|
||||
} =>#t2);
|
||||
core::print(#C16);
|
||||
|
||||
+3
-3
@@ -161,7 +161,7 @@ class Class<T extends core::Object* = dynamic> extends core::Object /*hasConstCo
|
||||
final field dynamic field15;
|
||||
const constructor •(dynamic o) → self::Class<self::Class::T*>*
|
||||
: self::Class::field1 = #C1, self::Class::field5 = core::_GrowableList::•<invalid-type>(0), self::Class::field6 = block {
|
||||
final core::Set<invalid-type>* #t1 = new col::_InternalLinkedHashSet::•<invalid-type>();
|
||||
final core::Set<invalid-type>* #t1 = new col::_Set::•<invalid-type>();
|
||||
} =>#t1, self::Class::field7 = <invalid-type, invalid-type>{}, self::Class::field8 = o is invalid-type, self::Class::field9 = o is self::Class<invalid-type>*, self::Class::field10 = o as invalid-type, self::Class::field11 = o as self::Class<invalid-type>*, self::Class::field15 = core::_GrowableList::•<self::Class<invalid-type>*>(0), super core::Object::•()
|
||||
;
|
||||
method method() → void {
|
||||
@@ -344,7 +344,7 @@ class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstCo
|
||||
final field dynamic field15;
|
||||
const constructor •(dynamic o) → self2::Class<self2::Class::T%>
|
||||
: self2::Class::field1 = #C1, self2::Class::field5 = core::_GrowableList::•<invalid-type>(0), self2::Class::field6 = block {
|
||||
final core::Set<invalid-type> #t2 = new col::_InternalLinkedHashSet::•<invalid-type>();
|
||||
final core::Set<invalid-type> #t2 = new col::_Set::•<invalid-type>();
|
||||
} =>#t2, self2::Class::field7 = <invalid-type, invalid-type>{}, self2::Class::field8 = o is{ForNonNullableByDefault} self2::Class::T%, self2::Class::field9 = o is{ForNonNullableByDefault} self2::Class<self2::Class::T%>, self2::Class::field10 = o as{ForNonNullableByDefault} self2::Class::T%, self2::Class::field11 = o{self2::Class::T%} as{ForNonNullableByDefault} self2::Class<self2::Class::T%>, self2::Class::field15 = core::_GrowableList::•<self2::Class<invalid-type>>(0), super core::Object::•()
|
||||
;
|
||||
method method() → void {
|
||||
@@ -586,7 +586,7 @@ class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstCo
|
||||
final field dynamic field16;
|
||||
const constructor •(dynamic o) → self3::Class<self3::Class::T%>
|
||||
: self3::Class::field1 = self3::Class::T%, self3::Class::field2 = self3::Class<self3::Class::T%>, self3::Class::field3 = #C24<self3::Class::T%>, self3::Class::field4 = #C24<self3::Class::T%>, self3::Class::field5 = core::_GrowableList::•<invalid-type>(0), self3::Class::field6 = block {
|
||||
final core::Set<invalid-type> #t3 = new col::_InternalLinkedHashSet::•<invalid-type>();
|
||||
final core::Set<invalid-type> #t3 = new col::_Set::•<invalid-type>();
|
||||
} =>#t3, self3::Class::field7 = <invalid-type, invalid-type>{}, self3::Class::field8 = o is{ForNonNullableByDefault} self3::Class::T%, self3::Class::field9 = o is{ForNonNullableByDefault} self3::Class<self3::Class::T%>, self3::Class::field10 = o as{ForNonNullableByDefault} self3::Class::T%, self3::Class::field11 = o{self3::Class::T%} as{ForNonNullableByDefault} self3::Class<self3::Class::T%>, self3::Class::field12 = #C25<self3::Class::T%>, self3::Class::field13 = #C25<self3::Class::T%>, self3::Class::field14 = #C24<self3::Class<self3::Class::T%>>, self3::Class::field15 = core::_GrowableList::•<self3::Class<invalid-type>>(0), self3::Class::field16 = #C26, super core::Object::•()
|
||||
;
|
||||
method method() → void {
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ static method main() → dynamic {
|
||||
#t1.{core::List::add}{Invariant}(i){(core::int) → void};
|
||||
} =>#t1;
|
||||
final core::Set<core::int> aSet = block {
|
||||
final core::Set<core::int> #t2 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t2 = new col::_Set::•<core::int>();
|
||||
#t2.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
if(self::oracle() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t2.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
|
||||
+87
-87
@@ -457,7 +457,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t1.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t1;
|
||||
core::Set<core::int*>* set10 = block {
|
||||
final core::Set<core::int*>* #t2 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t2 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t2.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
|
||||
#t2.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -474,7 +474,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t4.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
|
||||
} =>#t4;
|
||||
core::Set<dynamic>* set11 = block {
|
||||
final core::Set<dynamic>* #t5 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t5 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t5.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
|
||||
#t5.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
|
||||
@@ -491,7 +491,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t7.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* void};
|
||||
} =>#t7;
|
||||
core::Set<core::List<core::int*>*>* set12 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t8 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t8 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t8.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* core::bool*};
|
||||
#t8.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -508,7 +508,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t10.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t10;
|
||||
core::Set<core::int*>* set20 = block {
|
||||
final core::Set<core::int*>* #t11 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t11 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t11.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
|
||||
#t11.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -525,7 +525,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t13.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
|
||||
} =>#t13;
|
||||
core::Set<dynamic>* set21 = block {
|
||||
final core::Set<dynamic>* #t14 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t14 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t14.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
|
||||
#t14.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
|
||||
@@ -542,7 +542,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t16.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t16;
|
||||
core::Set<core::List<core::int*>*>* set22 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t17 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t17 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t17.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
#t17.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -560,7 +560,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t19.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t19;
|
||||
core::Set<core::int*>* set30 = block {
|
||||
final core::Set<core::int*>* #t20 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t20 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t20.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
|
||||
@@ -580,7 +580,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t22.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
|
||||
} =>#t22;
|
||||
core::Set<dynamic>* set31 = block {
|
||||
final core::Set<dynamic>* #t23 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t23 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t23.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
|
||||
@@ -600,7 +600,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t25.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t25;
|
||||
core::Set<core::List<core::int*>*>* set33 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t26 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t26 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t26.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
@@ -619,7 +619,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t28.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t28;
|
||||
core::Set<core::List<core::int*>*>* set40 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t29 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t29 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t29.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
#t29.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -631,15 +631,15 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
final core::List<core::List<core::int*>*>* #t30 = core::_GrowableList::•<core::List<core::int*>*>(0);
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t30.{core::List::addAll}{Invariant}( block {
|
||||
final core::Set<core::List<core::int*>*>* #t31 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t31 = new col::_Set::•<core::List<core::int*>*>();
|
||||
#t31.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
|
||||
} =>#t31){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t30;
|
||||
core::Set<core::List<core::int*>*>* set41 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t32 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t32 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t32.{core::Set::addAll}{Invariant}( block {
|
||||
final core::Set<core::List<core::int*>*>* #t33 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t33 = new col::_Set::•<core::List<core::int*>*>();
|
||||
#t33.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
|
||||
} =>#t33){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
#t32.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -651,7 +651,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t34.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t34;
|
||||
core::Set<core::List<core::int*>*>* set42 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t35 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t35 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t35.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
@@ -670,7 +670,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t37.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t37;
|
||||
core::Set<core::int*>* set50 = block {
|
||||
final core::Set<core::int*>* #t38 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t38 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t38.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
|
||||
#t38.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -685,14 +685,14 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
final core::List<core::int*>* #t40 = core::_GrowableList::•<core::int*>(0);
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t40.{core::List::addAll}{Invariant}( block {
|
||||
final core::Set<core::int*>* #t41 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t41 = new col::_Set::•<core::int*>();
|
||||
} =>#t41){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t40;
|
||||
core::Set<core::int*>* set51 = block {
|
||||
final core::Set<core::int*>* #t42 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t42 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t42.{core::Set::addAll}{Invariant}( block {
|
||||
final core::Set<core::int*>* #t43 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t43 = new col::_Set::•<core::int*>();
|
||||
} =>#t43){(core::Iterable<core::int*>*) →* void};
|
||||
#t42.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
} =>#t42;
|
||||
@@ -703,7 +703,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t44.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t44;
|
||||
core::Set<core::int*>* set52 = block {
|
||||
final core::Set<core::int*>* #t45 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t45 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t45.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
|
||||
@@ -722,7 +722,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t47.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t47;
|
||||
core::Set<core::List<core::int*>*>* set60 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t48 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t48 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t48.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
#t48.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -740,7 +740,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t50.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t50;
|
||||
core::Set<core::List<core::int*>*>* set61 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t51 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t51 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t51.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
@@ -759,7 +759,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t53.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
|
||||
} =>#t53;
|
||||
core::Set<core::List<core::int*>*>* set70 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t54 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t54 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t54.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
|
||||
#t54.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -771,7 +771,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t55.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
|
||||
} =>#t55;
|
||||
core::Set<core::List<core::int*>*>* set71 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t56 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t56 = new col::_Set::•<core::List<core::int*>*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t56.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -785,7 +785,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t57.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
|
||||
} =>#t57;
|
||||
core::Set<core::num*>* set80 = block {
|
||||
final core::Set<core::num*>* #t58 = new col::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t58 = new col::_Set::•<core::num*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t58.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
|
||||
else
|
||||
@@ -808,7 +808,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t60.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
|
||||
} =>#t60;
|
||||
core::Set<core::num*>* set81 = block {
|
||||
final core::Set<core::num*>* #t61 = new col::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t61 = new col::_Set::•<core::num*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t61.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
|
||||
else
|
||||
@@ -831,7 +831,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t63.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
|
||||
} =>#t63;
|
||||
core::Set<dynamic>* set82 = block {
|
||||
final core::Set<dynamic>* #t64 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t64 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t64.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
|
||||
else
|
||||
@@ -839,7 +839,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t64.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
|
||||
} =>#t64;
|
||||
core::Set<dynamic>* map82 = block {
|
||||
final core::Set<dynamic>* #t65 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t65 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t65.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -857,7 +857,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t66.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
|
||||
} =>#t66;
|
||||
core::Set<core::num*>* set83 = block {
|
||||
final core::Set<core::num*>* #t67 = new col::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t67 = new col::_Set::•<core::num*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t67.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
|
||||
else
|
||||
@@ -878,7 +878,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t69.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
|
||||
} =>#t69;
|
||||
core::Set<core::int*>* set90 = block {
|
||||
final core::Set<core::int*>* #t70 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t70 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t70.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
|
||||
#t70.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -903,7 +903,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
}
|
||||
} =>#t72;
|
||||
core::Set<core::int*>* set91 = block {
|
||||
final core::Set<core::int*>* #t75 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t75 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
|
||||
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -937,7 +937,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, cor
|
||||
#t82.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t82;
|
||||
core::Set<core::int*>* set100 = block {
|
||||
final core::Set<core::int*>* #t83 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t83 = new col::_Set::•<core::int*>();
|
||||
if(dynVar as{TypeError,ForDynamic} core::bool*)
|
||||
#t83.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
|
||||
} =>#t83;
|
||||
@@ -956,7 +956,7 @@ static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dy
|
||||
^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
|
||||
} =>#t85;
|
||||
block {
|
||||
final core::Set<core::int*>* #t86 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t86 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t86.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
|
||||
<int>{if (oracle(\"foo\")) \"bar\", null};
|
||||
@@ -979,7 +979,7 @@ static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dy
|
||||
^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t88;
|
||||
block {
|
||||
final core::Set<core::int*>* #t89 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t89 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t89.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
|
||||
<int>{if (oracle(\"foo\")) ...[\"bar\"], null};
|
||||
@@ -1003,7 +1003,7 @@ static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dy
|
||||
^"){(core::int*) →* void};
|
||||
} =>#t91;
|
||||
block {
|
||||
final core::Set<core::int*>* #t92 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t92 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t92.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -1030,7 +1030,7 @@ static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dy
|
||||
^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
|
||||
} =>#t93;
|
||||
block {
|
||||
final core::Set<core::String*>* #t94 = new col::_InternalLinkedHashSet::•<core::String*>();
|
||||
final core::Set<core::String*>* #t94 = new col::_Set::•<core::String*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
|
||||
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
|
||||
@@ -1064,7 +1064,7 @@ static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dy
|
||||
#t96.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t96;
|
||||
block {
|
||||
final core::Set<core::int*>* #t97 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t97 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t97.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -1092,7 +1092,7 @@ static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dy
|
||||
^"){(core::int*) →* void};
|
||||
} =>#t98;
|
||||
block {
|
||||
final core::Set<core::int*>* #t99 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t99 = new col::_Set::•<core::int*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t99.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -1135,7 +1135,7 @@ static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dy
|
||||
#t100.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t100;
|
||||
core::Set<core::int*>* set20 = block {
|
||||
final core::Set<core::int*>* #t101 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t101 = new col::_Set::•<core::int*>();
|
||||
if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
|
||||
Set<int> set20 = {if (42) 42};
|
||||
^" in 42 as{TypeError} core::bool*)
|
||||
@@ -1160,7 +1160,7 @@ static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dy
|
||||
^" in 42 as{TypeError} core::String*){(core::String*) →* void};
|
||||
} =>#t103;
|
||||
core::Set<core::String*>* set40 = block {
|
||||
final core::Set<core::String*>* #t104 = new col::_InternalLinkedHashSet::•<core::String*>();
|
||||
final core::Set<core::String*>* #t104 = new col::_Set::•<core::String*>();
|
||||
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
|
||||
#t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
|
||||
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
|
||||
@@ -1200,7 +1200,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t107.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t107;
|
||||
core::Set<core::int*>* set10 = block {
|
||||
final core::Set<core::int*>* #t108 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t108 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t108.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
|
||||
#t108.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -1217,7 +1217,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t110.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
|
||||
} =>#t110;
|
||||
core::Set<dynamic>* set11 = block {
|
||||
final core::Set<dynamic>* #t111 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t111 = new col::_Set::•<dynamic>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t111.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
|
||||
#t111.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
|
||||
@@ -1234,7 +1234,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t113.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* void};
|
||||
} =>#t113;
|
||||
core::Set<core::List<core::int*>*>* set12 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t114 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t114 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t114.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* core::bool*};
|
||||
#t114.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -1251,7 +1251,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t116.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t116;
|
||||
core::Set<core::int*>* set20 = block {
|
||||
final core::Set<core::int*>* #t117 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t117 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t117.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
|
||||
#t117.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -1268,7 +1268,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t119.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
|
||||
} =>#t119;
|
||||
core::Set<dynamic>* set21 = block {
|
||||
final core::Set<dynamic>* #t120 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t120 = new col::_Set::•<dynamic>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t120.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
|
||||
#t120.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
|
||||
@@ -1285,7 +1285,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t122.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t122;
|
||||
core::Set<core::List<core::int*>*>* set22 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t123 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t123 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t123.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
#t123.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -1303,7 +1303,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t125.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t125;
|
||||
core::Set<core::int*>* set30 = block {
|
||||
final core::Set<core::int*>* #t126 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t126 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t126.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
|
||||
@@ -1323,7 +1323,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t128.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
|
||||
} =>#t128;
|
||||
core::Set<dynamic>* set31 = block {
|
||||
final core::Set<dynamic>* #t129 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t129 = new col::_Set::•<dynamic>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t129.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
|
||||
@@ -1343,7 +1343,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t131.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t131;
|
||||
core::Set<core::List<core::int*>*>* set33 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t132 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t132 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t132.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
@@ -1362,7 +1362,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t134.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t134;
|
||||
core::Set<core::List<core::int*>*>* set40 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t135 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t135 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t135.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
#t135.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -1377,15 +1377,15 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
final core::List<core::List<core::int*>*>* #t137 = core::_GrowableList::•<core::List<core::int*>*>(0);
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t137.{core::List::addAll}{Invariant}( block {
|
||||
final core::Set<core::List<core::int*>*>* #t138 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t138 = new col::_Set::•<core::List<core::int*>*>();
|
||||
#t138.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
|
||||
} =>#t138){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t137;
|
||||
core::Set<core::List<core::int*>*>* set41 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t139 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t139 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t139.{core::Set::addAll}{Invariant}( block {
|
||||
final core::Set<core::List<core::int*>*>* #t140 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t140 = new col::_Set::•<core::List<core::int*>*>();
|
||||
#t140.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
|
||||
} =>#t140){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
#t139.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -1397,7 +1397,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t141.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t141;
|
||||
core::Set<core::List<core::int*>*>* set42 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t142 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t142 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t142.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
@@ -1416,7 +1416,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t144.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t144;
|
||||
core::Set<core::int*>* set50 = block {
|
||||
final core::Set<core::int*>* #t145 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t145 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t145.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
|
||||
#t145.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -1431,14 +1431,14 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
final core::List<core::int*>* #t147 = core::_GrowableList::•<core::int*>(0);
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t147.{core::List::addAll}{Invariant}( block {
|
||||
final core::Set<core::int*>* #t148 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t148 = new col::_Set::•<core::int*>();
|
||||
} =>#t148){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t147;
|
||||
core::Set<core::int*>* set51 = block {
|
||||
final core::Set<core::int*>* #t149 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t149 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t149.{core::Set::addAll}{Invariant}( block {
|
||||
final core::Set<core::int*>* #t150 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t150 = new col::_Set::•<core::int*>();
|
||||
} =>#t150){(core::Iterable<core::int*>*) →* void};
|
||||
#t149.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
} =>#t149;
|
||||
@@ -1449,7 +1449,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t151.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t151;
|
||||
core::Set<core::int*>* set52 = block {
|
||||
final core::Set<core::int*>* #t152 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t152 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t152.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
|
||||
@@ -1461,7 +1461,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t153.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t153;
|
||||
core::Set<core::List<core::int*>*>* set60 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t154 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t154 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t154.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
#t154.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -1479,7 +1479,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t156.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
} =>#t156;
|
||||
core::Set<core::List<core::int*>*>* set61 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t157 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t157 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t157.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
|
||||
@@ -1498,7 +1498,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t159.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
|
||||
} =>#t159;
|
||||
core::Set<core::List<core::int*>*>* set70 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t160 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t160 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t160.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
|
||||
#t160.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -1516,7 +1516,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t162.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
|
||||
} =>#t162;
|
||||
core::Set<core::List<core::int*>*>* set71 = block {
|
||||
final core::Set<core::List<core::int*>*>* #t163 = new col::_InternalLinkedHashSet::•<core::List<core::int*>*>();
|
||||
final core::Set<core::List<core::int*>*>* #t163 = new col::_Set::•<core::List<core::int*>*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t163.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
|
||||
@@ -1538,7 +1538,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t165.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
|
||||
} =>#t165;
|
||||
core::Set<core::num*>* set80 = block {
|
||||
final core::Set<core::num*>* #t166 = new col::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t166 = new col::_Set::•<core::num*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t166.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
|
||||
@@ -1564,7 +1564,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t168.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
|
||||
} =>#t168;
|
||||
core::Set<core::num*>* set81 = block {
|
||||
final core::Set<core::num*>* #t169 = new col::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t169 = new col::_Set::•<core::num*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t169.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
|
||||
@@ -1590,7 +1590,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t171.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
|
||||
} =>#t171;
|
||||
core::Set<dynamic>* set82 = block {
|
||||
final core::Set<dynamic>* #t172 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t172 = new col::_Set::•<dynamic>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t172.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
|
||||
@@ -1616,7 +1616,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t174.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
|
||||
} =>#t174;
|
||||
core::Set<core::num*>* set83 = block {
|
||||
final core::Set<core::num*>* #t175 = new col::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t175 = new col::_Set::•<core::num*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t175.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
|
||||
@@ -1639,7 +1639,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t177.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
|
||||
} =>#t177;
|
||||
core::Set<core::int*>* set90 = block {
|
||||
final core::Set<core::int*>* #t178 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t178 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t178.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
|
||||
#t178.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -1664,7 +1664,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
}
|
||||
} =>#t180;
|
||||
core::Set<core::int*>* set91 = block {
|
||||
final core::Set<core::int*>* #t183 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t183 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
|
||||
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -1698,7 +1698,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t190.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t190;
|
||||
core::Set<core::int*>* set100 = block {
|
||||
final core::Set<core::int*>* #t192 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t192 = new col::_Set::•<core::int*>();
|
||||
for (final core::int* #t193 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t192.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
|
||||
} =>#t192;
|
||||
@@ -1718,7 +1718,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
}
|
||||
} =>#t196;
|
||||
core::Set<core::int*>* set110 = block {
|
||||
final core::Set<core::int*>* #t197 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t197 = new col::_Set::•<core::int*>();
|
||||
{
|
||||
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -1750,7 +1750,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
}
|
||||
} =>#t199;
|
||||
core::Set<core::int*>* set120 = block {
|
||||
final core::Set<core::int*>* #t200 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t200 = new col::_Set::•<core::int*>();
|
||||
{
|
||||
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -1777,7 +1777,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
|
||||
#t202.{core::List::add}{Invariant}(i){(core::int*) →* void};
|
||||
} =>#t202;
|
||||
core::Set<core::int*>* set130 = block {
|
||||
final core::Set<core::int*>* #t203 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t203 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t203.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
|
||||
} =>#t203;
|
||||
@@ -1796,7 +1796,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
|
||||
} =>#t205;
|
||||
block {
|
||||
final core::Set<core::int*>* #t206 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t206 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t206.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
|
||||
<int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
|
||||
@@ -1823,7 +1823,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t208;
|
||||
block {
|
||||
final core::Set<core::int*>* #t209 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t209 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t209.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
|
||||
<int>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
|
||||
@@ -1851,7 +1851,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
^"){(core::int*) →* void};
|
||||
} =>#t211;
|
||||
block {
|
||||
final core::Set<core::int*>* #t212 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t212 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
#t212.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -1879,7 +1879,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
|
||||
} =>#t213;
|
||||
block {
|
||||
final core::Set<core::String*>* #t214 = new col::_InternalLinkedHashSet::•<core::String*>();
|
||||
final core::Set<core::String*>* #t214 = new col::_Set::•<core::String*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
|
||||
@@ -1916,7 +1916,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
#t216.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t216;
|
||||
block {
|
||||
final core::Set<core::int*>* #t217 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t217 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t217.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
@@ -1946,7 +1946,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
^"){(core::int*) →* void};
|
||||
} =>#t218;
|
||||
block {
|
||||
final core::Set<core::int*>* #t219 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t219 = new col::_Set::•<core::int*>();
|
||||
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
|
||||
#t219.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
|
||||
@@ -1981,7 +1981,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
}
|
||||
} =>#t220;
|
||||
block {
|
||||
final core::Set<core::int*>* #t222 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t222 = new col::_Set::•<core::int*>();
|
||||
{
|
||||
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator}{core::Iterator<core::int*>*};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -2026,7 +2026,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
}
|
||||
} =>#t226;
|
||||
core::Set<dynamic>* set10 = block {
|
||||
final core::Set<dynamic>* #t227 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t227 = new col::_Set::•<dynamic>();
|
||||
{
|
||||
core::Iterator<Never>* :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:237:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
|
||||
- 'Iterable' is from 'dart:core'.
|
||||
@@ -2068,7 +2068,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
}
|
||||
} =>#t229;
|
||||
core::Set<core::int*>* set20 = block {
|
||||
final core::Set<core::int*>* #t230 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t230 = new col::_Set::•<core::int*>();
|
||||
{
|
||||
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal2<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:240:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
|
||||
var set20 = {for (int i in [\"not\", \"int\"]) i, null};
|
||||
@@ -2116,7 +2116,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
}
|
||||
} =>#t232;
|
||||
core::Set<dynamic>* set30 = block {
|
||||
final core::Set<dynamic>* #t234 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t234 = new col::_Set::•<dynamic>();
|
||||
{
|
||||
Never :stream = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:243:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
|
||||
- 'Stream' is from 'dart:async'.
|
||||
@@ -2173,7 +2173,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
}
|
||||
} =>#t238;
|
||||
core::Set<core::int*>* set40 = block {
|
||||
final core::Set<core::int*>* #t240 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t240 = new col::_Set::•<core::int*>();
|
||||
{
|
||||
asy::Stream<core::int*> :stream = asy::Stream::fromIterable<core::int*>(core::_GrowableList::_literal2<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
|
||||
var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
|
||||
@@ -2218,7 +2218,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
#t244.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t244;
|
||||
core::Set<core::int*>* set50 = block {
|
||||
final core::Set<core::int*>* #t245 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t245 = new col::_Set::•<core::int*>();
|
||||
for (; ; )
|
||||
#t245.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
|
||||
#t245.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
@@ -2237,7 +2237,7 @@ static method testForElementErrors(core::Map<core::int*, core::int*>* map, core:
|
||||
#t247.{core::List::add}{Invariant}(42){(core::int*) →* void};
|
||||
} =>#t247;
|
||||
core::Set<core::int*>* set60 = block {
|
||||
final core::Set<core::int*>* #t248 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t248 = new col::_Set::•<core::int*>();
|
||||
for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:252:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
|
||||
var set60 = {for (; \"not bool\";) 42, null};
|
||||
^" in "not bool" as{TypeError} core::bool*; )
|
||||
@@ -2260,7 +2260,7 @@ static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) →
|
||||
#t250.{core::List::add}{Invariant}(i){(core::int*) →* void};
|
||||
} =>#t250;
|
||||
block {
|
||||
final core::Set<core::int*>* #t251 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t251 = new col::_Set::•<core::int*>();
|
||||
await for (core::int* i in stream)
|
||||
#t251.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
|
||||
} =>#t251;
|
||||
@@ -2277,7 +2277,7 @@ static method testPromotion(self::A* a) → dynamic {
|
||||
#t253.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
|
||||
} =>#t253;
|
||||
core::Set<core::int*>* set10 = block {
|
||||
final core::Set<core::int*>* #t254 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t254 = new col::_Set::•<core::int*>();
|
||||
if(a is self::B*)
|
||||
#t254.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
|
||||
} =>#t254;
|
||||
|
||||
+87
-87
@@ -447,7 +447,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t1.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t1;
|
||||
core::Set<core::int?> set10 = block {
|
||||
final core::Set<core::int?> #t2 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t2 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t2.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
|
||||
#t2.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -464,7 +464,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t4.{core::List::add}{Invariant}(dynVar){(dynamic) → void};
|
||||
} =>#t4;
|
||||
core::Set<dynamic> set11 = block {
|
||||
final core::Set<dynamic> #t5 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t5 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t5.{core::Set::add}{Invariant}(dynVar){(dynamic) → core::bool};
|
||||
#t5.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
|
||||
@@ -481,7 +481,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t7.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>) → void};
|
||||
} =>#t7;
|
||||
core::Set<core::List<core::int>?> set12 = block {
|
||||
final core::Set<core::List<core::int>?> #t8 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t8 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t8.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>?) → core::bool};
|
||||
#t8.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -498,7 +498,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t10.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
|
||||
} =>#t10;
|
||||
core::Set<core::int?> set20 = block {
|
||||
final core::Set<core::int?> #t11 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t11 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t11.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
|
||||
#t11.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -515,7 +515,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t13.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
|
||||
} =>#t13;
|
||||
core::Set<dynamic> set21 = block {
|
||||
final core::Set<dynamic> #t14 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t14 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t14.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
|
||||
#t14.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
|
||||
@@ -532,7 +532,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t16.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t16;
|
||||
core::Set<core::List<core::int>?> set22 = block {
|
||||
final core::Set<core::List<core::int>?> #t17 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t17 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t17.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
#t17.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -550,7 +550,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t19.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
|
||||
} =>#t19;
|
||||
core::Set<core::int?> set30 = block {
|
||||
final core::Set<core::int?> #t20 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t20 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t20.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
|
||||
@@ -570,7 +570,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t22.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
|
||||
} =>#t22;
|
||||
core::Set<dynamic> set31 = block {
|
||||
final core::Set<dynamic> #t23 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t23 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t23.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
|
||||
@@ -590,7 +590,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t25.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t25;
|
||||
core::Set<core::List<core::int>?> set33 = block {
|
||||
final core::Set<core::List<core::int>?> #t26 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t26 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t26.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
@@ -609,7 +609,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t28.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t28;
|
||||
core::Set<core::List<core::int>?> set40 = block {
|
||||
final core::Set<core::List<core::int>?> #t29 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t29 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t29.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
#t29.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -621,15 +621,15 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
final core::List<core::List<core::int>> #t30 = core::_GrowableList::•<core::List<core::int>>(0);
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t30.{core::List::addAll}{Invariant}( block {
|
||||
final core::Set<core::List<core::int>> #t31 = new col::_InternalLinkedHashSet::•<core::List<core::int>>();
|
||||
final core::Set<core::List<core::int>> #t31 = new col::_Set::•<core::List<core::int>>();
|
||||
#t31.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → core::bool};
|
||||
} =>#t31){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t30;
|
||||
core::Set<core::List<core::int>?> set41 = block {
|
||||
final core::Set<core::List<core::int>?> #t32 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t32 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t32.{core::Set::addAll}{Invariant}( block {
|
||||
final core::Set<core::List<core::int>?> #t33 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t33 = new col::_Set::•<core::List<core::int>?>();
|
||||
#t33.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
|
||||
} =>#t33){(core::Iterable<core::List<core::int>?>) → void};
|
||||
#t32.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -641,7 +641,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t34.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t34;
|
||||
core::Set<core::List<core::int>?> set42 = block {
|
||||
final core::Set<core::List<core::int>?> #t35 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t35 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t35.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
@@ -660,7 +660,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t37.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
|
||||
} =>#t37;
|
||||
core::Set<core::int?> set50 = block {
|
||||
final core::Set<core::int?> #t38 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t38 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t38.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
|
||||
#t38.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -675,14 +675,14 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
final core::List<core::int> #t40 = core::_GrowableList::•<core::int>(0);
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t40.{core::List::addAll}{Invariant}( block {
|
||||
final core::Set<core::int> #t41 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t41 = new col::_Set::•<core::int>();
|
||||
} =>#t41){(core::Iterable<core::int>) → void};
|
||||
} =>#t40;
|
||||
core::Set<core::int?> set51 = block {
|
||||
final core::Set<core::int?> #t42 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t42 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t42.{core::Set::addAll}{Invariant}( block {
|
||||
final core::Set<core::int?> #t43 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t43 = new col::_Set::•<core::int?>();
|
||||
} =>#t43){(core::Iterable<core::int?>) → void};
|
||||
#t42.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
} =>#t42;
|
||||
@@ -693,7 +693,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t44.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
|
||||
} =>#t44;
|
||||
core::Set<core::int?> set52 = block {
|
||||
final core::Set<core::int?> #t45 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t45 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t45.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
|
||||
@@ -712,7 +712,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t47.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t47;
|
||||
core::Set<core::List<core::int>?> set60 = block {
|
||||
final core::Set<core::List<core::int>?> #t48 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t48 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t48.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
#t48.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -730,7 +730,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t50.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t50;
|
||||
core::Set<core::List<core::int>?> set61 = block {
|
||||
final core::Set<core::List<core::int>?> #t51 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t51 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t51.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
@@ -749,7 +749,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t53.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
|
||||
} =>#t53;
|
||||
core::Set<core::List<core::int>?> set70 = block {
|
||||
final core::Set<core::List<core::int>?> #t54 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t54 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t54.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
|
||||
#t54.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -761,7 +761,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t55.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
|
||||
} =>#t55;
|
||||
core::Set<core::List<core::int>?> set71 = block {
|
||||
final core::Set<core::List<core::int>?> #t56 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t56 = new col::_Set::•<core::List<core::int>?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t56.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
|
||||
@@ -775,7 +775,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t57.{core::List::add}{Invariant}(3.14){(core::num) → void};
|
||||
} =>#t57;
|
||||
core::Set<core::num?> set80 = block {
|
||||
final core::Set<core::num?> #t58 = new col::_InternalLinkedHashSet::•<core::num?>();
|
||||
final core::Set<core::num?> #t58 = new col::_Set::•<core::num?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t58.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
|
||||
else
|
||||
@@ -798,7 +798,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t60.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
|
||||
} =>#t60;
|
||||
core::Set<core::num?> set81 = block {
|
||||
final core::Set<core::num?> #t61 = new col::_InternalLinkedHashSet::•<core::num?>();
|
||||
final core::Set<core::num?> #t61 = new col::_Set::•<core::num?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t61.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
|
||||
else
|
||||
@@ -821,7 +821,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t63.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
|
||||
} =>#t63;
|
||||
core::Set<dynamic> set82 = block {
|
||||
final core::Set<dynamic> #t64 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t64 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t64.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
|
||||
else
|
||||
@@ -829,7 +829,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t64.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
|
||||
} =>#t64;
|
||||
core::Set<dynamic> map82 = block {
|
||||
final core::Set<dynamic> #t65 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t65 = new col::_Set::•<dynamic>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t65.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -847,7 +847,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t66.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
|
||||
} =>#t66;
|
||||
core::Set<core::num?> set83 = block {
|
||||
final core::Set<core::num?> #t67 = new col::_InternalLinkedHashSet::•<core::num?>();
|
||||
final core::Set<core::num?> #t67 = new col::_Set::•<core::num?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t67.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
|
||||
else
|
||||
@@ -868,7 +868,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t69.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
|
||||
} =>#t69;
|
||||
core::Set<core::int?> set90 = block {
|
||||
final core::Set<core::int?> #t70 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t70 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t70.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
|
||||
#t70.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -893,7 +893,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
}
|
||||
} =>#t72;
|
||||
core::Set<core::int?> set91 = block {
|
||||
final core::Set<core::int?> #t75 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t75 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
|
||||
core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -927,7 +927,7 @@ static method testIfElement(dynamic dynVar, core::List<core::int> listInt, core:
|
||||
#t82.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t82;
|
||||
core::Set<core::int> set100 = block {
|
||||
final core::Set<core::int> #t83 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t83 = new col::_Set::•<core::int>();
|
||||
if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t83.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
|
||||
} =>#t83;
|
||||
@@ -946,7 +946,7 @@ static method testIfElementErrors(core::Map<core::int, core::int> map) → dynam
|
||||
^" in "bar" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → void};
|
||||
} =>#t85;
|
||||
block {
|
||||
final core::Set<core::int?> #t86 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t86 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t86.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:88:29: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
<int?>{if (oracle(\"foo\")) \"bar\", null};
|
||||
@@ -969,7 +969,7 @@ static method testIfElementErrors(core::Map<core::int, core::int> map) → dynam
|
||||
^" in "bar" as{TypeError,ForNonNullableByDefault} core::int)){(core::Iterable<core::int>) → void};
|
||||
} =>#t88;
|
||||
block {
|
||||
final core::Set<core::int?> #t89 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t89 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t89.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int?>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:91:33: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
<int?>{if (oracle(\"foo\")) ...[\"bar\"], null};
|
||||
@@ -993,7 +993,7 @@ static method testIfElementErrors(core::Map<core::int, core::int> map) → dynam
|
||||
^"){(core::int) → void};
|
||||
} =>#t91;
|
||||
block {
|
||||
final core::Set<core::int?> #t92 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t92 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t92.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:94:32: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -1020,7 +1020,7 @@ static method testIfElementErrors(core::Map<core::int, core::int> map) → dynam
|
||||
^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
|
||||
} =>#t93;
|
||||
block {
|
||||
final core::Set<core::String?> #t94 = new col::_InternalLinkedHashSet::•<core::String?>();
|
||||
final core::Set<core::String?> #t94 = new col::_Set::•<core::String?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:32: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
|
||||
<String?>{if (oracle(\"foo\")) 42 else 3.14, null};
|
||||
@@ -1054,7 +1054,7 @@ static method testIfElementErrors(core::Map<core::int, core::int> map) → dynam
|
||||
#t96.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t96;
|
||||
block {
|
||||
final core::Set<core::int?> #t97 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t97 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t97.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:100:32: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -1082,7 +1082,7 @@ static method testIfElementErrors(core::Map<core::int, core::int> map) → dynam
|
||||
^"){(core::int) → void};
|
||||
} =>#t98;
|
||||
block {
|
||||
final core::Set<core::int?> #t99 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t99 = new col::_Set::•<core::int?>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t99.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:103:32: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -1125,7 +1125,7 @@ static method testIfElementErrors(core::Map<core::int, core::int> map) → dynam
|
||||
#t100.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t100;
|
||||
core::Set<core::int> set20 = block {
|
||||
final core::Set<core::int> #t101 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t101 = new col::_Set::•<core::int>();
|
||||
if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:113:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
|
||||
Set<int> set20 = {if (42) 42};
|
||||
^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
|
||||
@@ -1150,7 +1150,7 @@ static method testIfElementErrors(core::Map<core::int, core::int> map) → dynam
|
||||
^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
|
||||
} =>#t103;
|
||||
core::Set<core::String> set40 = block {
|
||||
final core::Set<core::String> #t104 = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
final core::Set<core::String> #t104 = new col::_Set::•<core::String>();
|
||||
if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
|
||||
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
|
||||
@@ -1190,7 +1190,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t107.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t107;
|
||||
core::Set<core::int?> set10 = block {
|
||||
final core::Set<core::int?> #t108 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t108 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t108.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
|
||||
#t108.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -1207,7 +1207,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t110.{core::List::add}{Invariant}(dynVar){(dynamic) → void};
|
||||
} =>#t110;
|
||||
core::Set<dynamic> set11 = block {
|
||||
final core::Set<dynamic> #t111 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t111 = new col::_Set::•<dynamic>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t111.{core::Set::add}{Invariant}(dynVar){(dynamic) → core::bool};
|
||||
#t111.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
|
||||
@@ -1224,7 +1224,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t113.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>) → void};
|
||||
} =>#t113;
|
||||
core::Set<core::List<core::int>?> set12 = block {
|
||||
final core::Set<core::List<core::int>?> #t114 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t114 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t114.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>?) → core::bool};
|
||||
#t114.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -1241,7 +1241,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t116.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
|
||||
} =>#t116;
|
||||
core::Set<core::int?> set20 = block {
|
||||
final core::Set<core::int?> #t117 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t117 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t117.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
|
||||
#t117.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -1258,7 +1258,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t119.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
|
||||
} =>#t119;
|
||||
core::Set<dynamic> set21 = block {
|
||||
final core::Set<dynamic> #t120 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t120 = new col::_Set::•<dynamic>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t120.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
|
||||
#t120.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
|
||||
@@ -1275,7 +1275,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t122.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t122;
|
||||
core::Set<core::List<core::int>?> set22 = block {
|
||||
final core::Set<core::List<core::int>?> #t123 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t123 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t123.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
#t123.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -1293,7 +1293,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t125.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
|
||||
} =>#t125;
|
||||
core::Set<core::int?> set30 = block {
|
||||
final core::Set<core::int?> #t126 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t126 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t126.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
|
||||
@@ -1313,7 +1313,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t128.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
|
||||
} =>#t128;
|
||||
core::Set<dynamic> set31 = block {
|
||||
final core::Set<dynamic> #t129 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t129 = new col::_Set::•<dynamic>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t129.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
|
||||
@@ -1333,7 +1333,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t131.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t131;
|
||||
core::Set<core::List<core::int>?> set33 = block {
|
||||
final core::Set<core::List<core::int>?> #t132 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t132 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t132.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
@@ -1352,7 +1352,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t134.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t134;
|
||||
core::Set<core::List<core::int>?> set40 = block {
|
||||
final core::Set<core::List<core::int>?> #t135 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t135 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t135.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
#t135.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -1367,15 +1367,15 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
final core::List<core::List<core::int>> #t137 = core::_GrowableList::•<core::List<core::int>>(0);
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t137.{core::List::addAll}{Invariant}( block {
|
||||
final core::Set<core::List<core::int>> #t138 = new col::_InternalLinkedHashSet::•<core::List<core::int>>();
|
||||
final core::Set<core::List<core::int>> #t138 = new col::_Set::•<core::List<core::int>>();
|
||||
#t138.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → core::bool};
|
||||
} =>#t138){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t137;
|
||||
core::Set<core::List<core::int>?> set41 = block {
|
||||
final core::Set<core::List<core::int>?> #t139 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t139 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t139.{core::Set::addAll}{Invariant}( block {
|
||||
final core::Set<core::List<core::int>?> #t140 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t140 = new col::_Set::•<core::List<core::int>?>();
|
||||
#t140.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
|
||||
} =>#t140){(core::Iterable<core::List<core::int>?>) → void};
|
||||
#t139.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -1387,7 +1387,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t141.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t141;
|
||||
core::Set<core::List<core::int>?> set42 = block {
|
||||
final core::Set<core::List<core::int>?> #t142 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t142 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t142.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
@@ -1406,7 +1406,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t144.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
|
||||
} =>#t144;
|
||||
core::Set<core::int?> set50 = block {
|
||||
final core::Set<core::int?> #t145 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t145 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t145.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
|
||||
#t145.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -1421,14 +1421,14 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
final core::List<core::int> #t147 = core::_GrowableList::•<core::int>(0);
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t147.{core::List::addAll}{Invariant}( block {
|
||||
final core::Set<core::int> #t148 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t148 = new col::_Set::•<core::int>();
|
||||
} =>#t148){(core::Iterable<core::int>) → void};
|
||||
} =>#t147;
|
||||
core::Set<core::int?> set51 = block {
|
||||
final core::Set<core::int?> #t149 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t149 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t149.{core::Set::addAll}{Invariant}( block {
|
||||
final core::Set<core::int?> #t150 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t150 = new col::_Set::•<core::int?>();
|
||||
} =>#t150){(core::Iterable<core::int?>) → void};
|
||||
#t149.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
} =>#t149;
|
||||
@@ -1439,7 +1439,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t151.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
|
||||
} =>#t151;
|
||||
core::Set<core::int?> set52 = block {
|
||||
final core::Set<core::int?> #t152 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t152 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t152.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
|
||||
@@ -1451,7 +1451,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t153.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t153;
|
||||
core::Set<core::List<core::int>?> set60 = block {
|
||||
final core::Set<core::List<core::int>?> #t154 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t154 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t154.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
#t154.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -1469,7 +1469,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t156.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
|
||||
} =>#t156;
|
||||
core::Set<core::List<core::int>?> set61 = block {
|
||||
final core::Set<core::List<core::int>?> #t157 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t157 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t157.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
|
||||
@@ -1488,7 +1488,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t159.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
|
||||
} =>#t159;
|
||||
core::Set<core::List<core::int>?> set70 = block {
|
||||
final core::Set<core::List<core::int>?> #t160 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t160 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t160.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
|
||||
#t160.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
|
||||
@@ -1506,7 +1506,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t162.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
|
||||
} =>#t162;
|
||||
core::Set<core::List<core::int>?> set71 = block {
|
||||
final core::Set<core::List<core::int>?> #t163 = new col::_InternalLinkedHashSet::•<core::List<core::int>?>();
|
||||
final core::Set<core::List<core::int>?> #t163 = new col::_Set::•<core::List<core::int>?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t163.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
|
||||
@@ -1528,7 +1528,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t165.{core::List::add}{Invariant}(3.14){(core::num) → void};
|
||||
} =>#t165;
|
||||
core::Set<core::num?> set80 = block {
|
||||
final core::Set<core::num?> #t166 = new col::_InternalLinkedHashSet::•<core::num?>();
|
||||
final core::Set<core::num?> #t166 = new col::_Set::•<core::num?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t166.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
|
||||
@@ -1554,7 +1554,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t168.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
|
||||
} =>#t168;
|
||||
core::Set<core::num?> set81 = block {
|
||||
final core::Set<core::num?> #t169 = new col::_InternalLinkedHashSet::•<core::num?>();
|
||||
final core::Set<core::num?> #t169 = new col::_Set::•<core::num?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t169.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
|
||||
@@ -1580,7 +1580,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t171.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
|
||||
} =>#t171;
|
||||
core::Set<dynamic> set82 = block {
|
||||
final core::Set<dynamic> #t172 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t172 = new col::_Set::•<dynamic>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t172.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
|
||||
@@ -1606,7 +1606,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t174.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
|
||||
} =>#t174;
|
||||
core::Set<core::num?> set83 = block {
|
||||
final core::Set<core::num?> #t175 = new col::_InternalLinkedHashSet::•<core::num?>();
|
||||
final core::Set<core::num?> #t175 = new col::_Set::•<core::num?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t175.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
|
||||
@@ -1629,7 +1629,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t177.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
|
||||
} =>#t177;
|
||||
core::Set<core::int?> set90 = block {
|
||||
final core::Set<core::int?> #t178 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t178 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t178.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
|
||||
#t178.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -1654,7 +1654,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
}
|
||||
} =>#t180;
|
||||
core::Set<core::int?> set91 = block {
|
||||
final core::Set<core::int?> #t183 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t183 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -1688,7 +1688,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t190.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t190;
|
||||
core::Set<core::int> set100 = block {
|
||||
final core::Set<core::int> #t192 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t192 = new col::_Set::•<core::int>();
|
||||
for (final core::int #t193 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
|
||||
#t192.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
|
||||
} =>#t192;
|
||||
@@ -1708,7 +1708,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
}
|
||||
} =>#t196;
|
||||
core::Set<core::int?> set110 = block {
|
||||
final core::Set<core::int?> #t197 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t197 = new col::_Set::•<core::int?>();
|
||||
{
|
||||
core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal3<core::int>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -1740,7 +1740,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
}
|
||||
} =>#t199;
|
||||
core::Set<core::int?> set120 = block {
|
||||
final core::Set<core::int?> #t200 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t200 = new col::_Set::•<core::int?>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -1767,7 +1767,7 @@ static method testForElement(dynamic dynVar, core::List<core::int> listInt, core
|
||||
#t202.{core::List::add}{Invariant}(i){(core::int) → void};
|
||||
} =>#t202;
|
||||
core::Set<core::int> set130 = block {
|
||||
final core::Set<core::int> #t203 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t203 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t203.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
|
||||
} =>#t203;
|
||||
@@ -1786,7 +1786,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
^" in "bar" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → void};
|
||||
} =>#t205;
|
||||
block {
|
||||
final core::Set<core::int?> #t206 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t206 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t206.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:211:46: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
<int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
|
||||
@@ -1813,7 +1813,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
^" in "bar" as{TypeError,ForNonNullableByDefault} core::int)){(core::Iterable<core::int>) → void};
|
||||
} =>#t208;
|
||||
block {
|
||||
final core::Set<core::int?> #t209 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t209 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t209.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int?>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
<int?>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
|
||||
@@ -1841,7 +1841,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
^"){(core::int) → void};
|
||||
} =>#t211;
|
||||
block {
|
||||
final core::Set<core::int?> #t212 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t212 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
#t212.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:217:49: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -1869,7 +1869,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
|
||||
} =>#t213;
|
||||
block {
|
||||
final core::Set<core::String?> #t214 = new col::_InternalLinkedHashSet::•<core::String?>();
|
||||
final core::Set<core::String?> #t214 = new col::_Set::•<core::String?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:63: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
|
||||
@@ -1906,7 +1906,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
#t216.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t216;
|
||||
block {
|
||||
final core::Set<core::int?> #t217 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t217 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t217.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:223:63: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
|
||||
@@ -1936,7 +1936,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
^"){(core::int) → void};
|
||||
} =>#t218;
|
||||
block {
|
||||
final core::Set<core::int?> #t219 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t219 = new col::_Set::•<core::int?>();
|
||||
for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
|
||||
if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
|
||||
#t219.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
|
||||
@@ -1971,7 +1971,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
}
|
||||
} =>#t220;
|
||||
block {
|
||||
final core::Set<core::int?> #t222 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t222 = new col::_Set::•<core::int?>();
|
||||
{
|
||||
core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal1<core::int>(1).{core::Iterable::iterator}{core::Iterator<core::int>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -2016,7 +2016,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
}
|
||||
} =>#t226;
|
||||
core::Set<dynamic> set10 = block {
|
||||
final core::Set<dynamic> #t227 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t227 = new col::_Set::•<dynamic>();
|
||||
{
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:235:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
|
||||
- 'Iterable' is from 'dart:core'.
|
||||
@@ -2058,7 +2058,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
}
|
||||
} =>#t229;
|
||||
core::Set<core::int?> set20 = block {
|
||||
final core::Set<core::int?> #t230 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t230 = new col::_Set::•<core::int?>();
|
||||
{
|
||||
core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal2<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:238:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
|
||||
var set20 = {for (int i in [\"not\", \"int\"]) i, null};
|
||||
@@ -2106,7 +2106,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
}
|
||||
} =>#t232;
|
||||
core::Set<dynamic> set30 = block {
|
||||
final core::Set<dynamic> #t234 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t234 = new col::_Set::•<dynamic>();
|
||||
{
|
||||
Never :stream = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:241:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
|
||||
- 'Stream' is from 'dart:async'.
|
||||
@@ -2163,7 +2163,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
}
|
||||
} =>#t238;
|
||||
core::Set<core::int?> set40 = block {
|
||||
final core::Set<core::int?> #t240 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t240 = new col::_Set::•<core::int?>();
|
||||
{
|
||||
asy::Stream<core::int> :stream = asy::Stream::fromIterable<core::int>(core::_GrowableList::_literal2<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:244:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
|
||||
var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
|
||||
@@ -2208,7 +2208,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
#t244.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t244;
|
||||
core::Set<core::int?> set50 = block {
|
||||
final core::Set<core::int?> #t245 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t245 = new col::_Set::•<core::int?>();
|
||||
for (; ; )
|
||||
#t245.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
|
||||
#t245.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
@@ -2227,7 +2227,7 @@ static method testForElementErrors(core::Map<core::int, core::int> map, core::Li
|
||||
#t247.{core::List::add}{Invariant}(42){(core::int) → void};
|
||||
} =>#t247;
|
||||
core::Set<core::int?> set60 = block {
|
||||
final core::Set<core::int?> #t248 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t248 = new col::_Set::•<core::int?>();
|
||||
for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:250:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
|
||||
var set60 = {for (; \"not bool\";) 42, null};
|
||||
^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
|
||||
@@ -2250,7 +2250,7 @@ static method testForElementErrorsNotAsync(asy::Stream<core::int> stream) → dy
|
||||
#t250.{core::List::add}{Invariant}(i){(core::int) → void};
|
||||
} =>#t250;
|
||||
block {
|
||||
final core::Set<core::int> #t251 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t251 = new col::_Set::•<core::int>();
|
||||
await for (core::int i in stream)
|
||||
#t251.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
|
||||
} =>#t251;
|
||||
@@ -2267,7 +2267,7 @@ static method testPromotion(self::A a) → dynamic {
|
||||
#t253.{core::List::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → void};
|
||||
} =>#t253;
|
||||
core::Set<core::int> set10 = block {
|
||||
final core::Set<core::int> #t254 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t254 = new col::_Set::•<core::int>();
|
||||
if(a is{ForNonNullableByDefault} self::B)
|
||||
#t254.{core::Set::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → core::bool};
|
||||
} =>#t254;
|
||||
|
||||
@@ -7,7 +7,7 @@ static method main() → dynamic {
|
||||
core::Object? a;
|
||||
core::Object? b;
|
||||
return block {
|
||||
final core::Set<core::Object?> #t1 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t1 = new col::_Set::•<core::Object?>();
|
||||
#t1.{core::Set::add}{Invariant}(let final core::Object? #t2 = a in #t2 == null ?{core::Object?} b : #t2{core::Object}){(core::Object?) → core::bool};
|
||||
} =>#t1;
|
||||
}
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ static method test(<T extends core::Object? = dynamic>() → void f) → dynamic
|
||||
f = self::method<<T extends core::Object? = dynamic>() → void>();
|
||||
core::List<<T extends core::Object? = dynamic>() → void> list = core::_GrowableList::_literal1<<T extends core::Object? = dynamic>() → void>(f);
|
||||
core::Set<<T extends core::Object? = dynamic>() → void> set = block {
|
||||
final core::Set<<T extends core::Object? = dynamic>() → void> #t1 = new col::_InternalLinkedHashSet::•<<T extends core::Object? = dynamic>() → void>();
|
||||
final core::Set<<T extends core::Object? = dynamic>() → void> #t1 = new col::_Set::•<<T extends core::Object? = dynamic>() → void>();
|
||||
#t1.{core::Set::add}{Invariant}(f){(<T extends core::Object? = dynamic>() → void) → core::bool};
|
||||
} =>#t1;
|
||||
core::Map<<T extends core::Object? = dynamic>() → void, core::int> map1 = <<T extends core::Object? = dynamic>() → void, core::int>{f: 1};
|
||||
|
||||
@@ -7,7 +7,7 @@ class C extends core::Object {
|
||||
final field core::Set<core::int> s;
|
||||
constructor •(core::List<core::int> ell) → self::C
|
||||
: self::C::s = block {
|
||||
final core::Set<core::int> #t1 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t1 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<core::int> :sync-for-iterator = ell.{core::Iterable::iterator}{core::Iterator<core::int>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
|
||||
@@ -13,7 +13,7 @@ static method nullAwareListSpread(core::List<core::String*>* list) → dynamic {
|
||||
}
|
||||
static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
|
||||
set = block {
|
||||
final core::Set<core::String*>* #t3 = new col::_InternalLinkedHashSet::•<core::String*>();
|
||||
final core::Set<core::String*>* #t3 = new col::_Set::•<core::String*>();
|
||||
#t3.{core::Set::add}{Invariant}("foo"){(core::String*) →* core::bool*};
|
||||
final core::Iterable<core::String*>* #t4 = set;
|
||||
if(!(#t4 == null))
|
||||
|
||||
@@ -13,7 +13,7 @@ static method nullAwareListSpread(core::List<core::String>? list) → dynamic {
|
||||
}
|
||||
static method nullAwareSetSpread(core::Set<core::String>? set) → dynamic {
|
||||
set = block {
|
||||
final core::Set<core::String> #t3 = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
final core::Set<core::String> #t3 = new col::_Set::•<core::String>();
|
||||
#t3.{core::Set::add}{Invariant}("foo"){(core::String) → core::bool};
|
||||
final core::Iterable<core::String>? #t4 = set;
|
||||
if(!(#t4 == null))
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ class Class<E extends self::Element?> extends core::Object {
|
||||
method setElement(covariant-by-class self::Class::E? element) → void {
|
||||
if(!(this.{self::Class::element}{self::Class::E?} =={core::Object::==}{(core::Object) → core::bool} element)) {
|
||||
this.{self::Class::element} = element;
|
||||
core::Set<self::Element> elements = new col::_InternalLinkedHashSet::•<self::Element>();
|
||||
core::Set<self::Element> elements = new col::_Set::•<self::Element>();
|
||||
if(!(element == null)) {
|
||||
elements.{core::Set::add}(element{self::Class::E% & self::Element /* '%' & '!' = '!' */}){(self::Element) → core::bool};
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ static method main() → dynamic {
|
||||
#t3.{core::Map::addAll}{Invariant}(#t4{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
} =>#t3;
|
||||
final core::Set<core::int> aSet = block {
|
||||
final core::Set<core::int> #t5 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t5 = new col::_Set::•<core::int>();
|
||||
#t5.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t5.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(2)){(core::Iterable<core::int>) → void};
|
||||
final core::Iterable<core::int>? #t6 = self::nullableList;
|
||||
|
||||
+7
-7
@@ -214,7 +214,7 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
|
||||
^");
|
||||
core::Set<dynamic>* set40 = block {
|
||||
final core::Set<dynamic>* #t26 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t26 = new col::_Set::•<dynamic>();
|
||||
#t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
|
||||
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
|
||||
^"){(dynamic) →* core::bool*};
|
||||
@@ -226,7 +226,7 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
|
||||
^");
|
||||
core::Set<dynamic>* set50 = block {
|
||||
final core::Set<dynamic>* #t27 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t27 = new col::_Set::•<dynamic>();
|
||||
#t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
|
||||
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
|
||||
^"){(dynamic) →* core::bool*};
|
||||
@@ -238,7 +238,7 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
List<String> lhs60 = <String>[...spread];
|
||||
^");
|
||||
core::Set<core::String*>* set60 = block {
|
||||
final core::Set<core::String*>* #t28 = new col::_InternalLinkedHashSet::•<core::String*>();
|
||||
final core::Set<core::String*>* #t28 = new col::_Set::•<core::String*>();
|
||||
#t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
|
||||
Set<String> set60 = <String>{...spread};
|
||||
^"){(core::String*) →* core::bool*};
|
||||
@@ -253,13 +253,13 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
List<int> lhs70 = <int>[...null];
|
||||
^");
|
||||
core::Set<core::int*>* set70 = block {
|
||||
final core::Set<core::int*>* #t29 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t29 = new col::_Set::•<core::int*>();
|
||||
#t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
|
||||
Set<int> set70 = <int>{...null};
|
||||
^"){(core::int*) →* core::bool*};
|
||||
} =>#t29;
|
||||
core::Set<dynamic>* set71ambiguous = block {
|
||||
final core::Set<dynamic>* #t30 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t30 = new col::_Set::•<dynamic>();
|
||||
#t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
|
||||
...null,
|
||||
^"){(dynamic) →* core::bool*};
|
||||
@@ -275,13 +275,13 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
#t31.{core::List::addAll}{Invariant}(#t32){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t31;
|
||||
core::Set<core::int*>* set80 = block {
|
||||
final core::Set<core::int*>* #t33 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t33 = new col::_Set::•<core::int*>();
|
||||
final has-declared-initializer core::Iterable<core::int*>* #t34 = null;
|
||||
if(!(#t34 == null))
|
||||
#t33.{core::Set::addAll}{Invariant}(#t34){(core::Iterable<core::int*>*) →* void};
|
||||
} =>#t33;
|
||||
core::Set<dynamic>* set81ambiguous = block {
|
||||
final core::Set<dynamic>* #t35 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t35 = new col::_Set::•<dynamic>();
|
||||
final has-declared-initializer core::Iterable<dynamic>* #t36 = null;
|
||||
if(!(#t36 == null))
|
||||
#t35.{core::Set::addAll}{Invariant}(#t36){(core::Iterable<dynamic>*) →* void};
|
||||
|
||||
+7
-7
@@ -230,7 +230,7 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
|
||||
^");
|
||||
core::Set<dynamic> set40 = block {
|
||||
final core::Set<dynamic> #t26 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t26 = new col::_Set::•<dynamic>();
|
||||
#t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
|
||||
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
|
||||
^"){(dynamic) → core::bool};
|
||||
@@ -242,7 +242,7 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
|
||||
^");
|
||||
core::Set<dynamic> set50 = block {
|
||||
final core::Set<dynamic> #t27 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t27 = new col::_Set::•<dynamic>();
|
||||
#t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
|
||||
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
|
||||
^"){(dynamic) → core::bool};
|
||||
@@ -254,7 +254,7 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
List<String> lhs60 = <String>[...spread];
|
||||
^");
|
||||
core::Set<core::String> set60 = block {
|
||||
final core::Set<core::String> #t28 = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
final core::Set<core::String> #t28 = new col::_Set::•<core::String>();
|
||||
#t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
|
||||
Set<String> set60 = <String>{...spread};
|
||||
^"){(core::String) → core::bool};
|
||||
@@ -269,13 +269,13 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
List<int> lhs70 = <int>[...null];
|
||||
^");
|
||||
core::Set<core::int> set70 = block {
|
||||
final core::Set<core::int> #t29 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t29 = new col::_Set::•<core::int>();
|
||||
#t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
|
||||
Set<int> set70 = <int>{...null};
|
||||
^"){(core::int) → core::bool};
|
||||
} =>#t29;
|
||||
core::Set<dynamic> set71ambiguous = block {
|
||||
final core::Set<dynamic> #t30 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t30 = new col::_Set::•<dynamic>();
|
||||
#t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
|
||||
...null,
|
||||
^"){(dynamic) → core::bool};
|
||||
@@ -291,13 +291,13 @@ Try providing type arguments for the literal explicitly to disambiguate it.
|
||||
#t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t31;
|
||||
core::Set<core::int> set80 = block {
|
||||
final core::Set<core::int> #t33 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t33 = new col::_Set::•<core::int>();
|
||||
final has-declared-initializer core::Iterable<core::int>? #t34 = null;
|
||||
if(!(#t34 == null))
|
||||
#t33.{core::Set::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t33;
|
||||
core::Set<dynamic> set81ambiguous = block {
|
||||
final core::Set<dynamic> #t35 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t35 = new col::_Set::•<dynamic>();
|
||||
final has-declared-initializer core::Iterable<dynamic>? #t36 = null;
|
||||
if(!(#t36 == null))
|
||||
#t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import "dart:core" as core;
|
||||
import "dart:collection" as col;
|
||||
|
||||
static field core::Set<core::int> a = block {
|
||||
final core::Set<core::int> #t1 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t1 = new col::_Set::•<core::int>();
|
||||
#t1.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
|
||||
} =>#t1;
|
||||
static field core::Map<core::int, core::int> b = <core::int, core::int>{0: 1};
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ static method test() → dynamic {
|
||||
self::A<<Z extends core::Object? = dynamic>(dynamic) → Never> x = self::foo<<Z extends core::Object? = dynamic>(dynamic) → Never>(<Z extends core::Object? = dynamic>(dynamic Z) → Never => throw 42);
|
||||
core::List<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> y = core::_GrowableList::_literal1<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>(#C1);
|
||||
core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> z = block {
|
||||
final core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> #t1 = new col::_InternalLinkedHashSet::•<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>();
|
||||
final core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> #t1 = new col::_Set::•<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>();
|
||||
#t1.{core::Set::add}{Invariant}(y.{core::Iterable::first}{<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>}){(<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>) → core::bool};
|
||||
} =>#t1;
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ static method test() → dynamic {
|
||||
self::A<<Z extends core::Object? = dynamic>(dynamic) → Never> x = self::foo<<Z extends core::Object? = dynamic>(dynamic) → Never>(<Z extends core::Object? = dynamic>(dynamic Z) → Never => throw 42);
|
||||
core::List<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> y = core::_GrowableList::_literal1<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>(#C1);
|
||||
core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> z = block {
|
||||
final core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> #t1 = new col::_InternalLinkedHashSet::•<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>();
|
||||
final core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> #t1 = new col::_Set::•<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>();
|
||||
#t1.{core::Set::add}{Invariant}(y.{core::Iterable::first}{<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>}){(<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>) → core::bool};
|
||||
} =>#t1;
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ library from "org-dartlang-test:///main.dart" as main {
|
||||
return result;
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ toSet() → dart.core::Set<dart.core::int> {
|
||||
dart.core::Set<dart.core::int> result = new dart.collection::_InternalLinkedHashSet::•<dart.core::int>();
|
||||
dart.core::Set<dart.core::int> result = new dart.collection::_Set::•<dart.core::int>();
|
||||
for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
|
||||
result.{dart.core::Set::add}(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int}){(dart.core::int) → dart.core::bool};
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ library from "org-dartlang-test:///main.dart" as main {
|
||||
return result;
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ toSet() → dart.core::Set<dart.core::int> {
|
||||
dart.core::Set<dart.core::int> result = new dart.collection::_InternalLinkedHashSet::•<dart.core::int>();
|
||||
dart.core::Set<dart.core::int> result = new dart.collection::_Set::•<dart.core::int>();
|
||||
for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
|
||||
result.{dart.core::Set::add}(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int}){(dart.core::int) → dart.core::bool};
|
||||
}
|
||||
|
||||
+2
-2
@@ -128,7 +128,7 @@ static method test1() → dynamic {
|
||||
- 'List' is from 'dart:core'.
|
||||
c1 = /*error:INVALID_ASSIGNMENT*/ /*@typeArgs=dynamic*/ {};
|
||||
^" in ( block {
|
||||
final core::Set<dynamic> #t2 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t2 = new col::_Set::•<dynamic>();
|
||||
} =>#t2) as{TypeError,ForNonNullableByDefault} core::List<dynamic>;
|
||||
self::c2 = core::_GrowableList::•<dynamic>(0);
|
||||
self::c2 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:43:59: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'List<dynamic>'.
|
||||
@@ -136,7 +136,7 @@ static method test1() → dynamic {
|
||||
- 'List' is from 'dart:core'.
|
||||
c2 = /*error:INVALID_ASSIGNMENT*/ /*@typeArgs=dynamic*/ {};
|
||||
^" in ( block {
|
||||
final core::Set<dynamic> #t3 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t3 = new col::_Set::•<dynamic>();
|
||||
} =>#t3) as{TypeError,ForNonNullableByDefault} core::List<dynamic>;
|
||||
self::d = <dynamic, dynamic>{};
|
||||
self::d = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:45:36: Error: A value of type 'int' can't be assigned to a variable of type 'Map<dynamic, dynamic>'.
|
||||
|
||||
+2
-2
@@ -51,13 +51,13 @@ static method testPropagateToLaterClosure(<T extends core::Object? = dynamic, U
|
||||
}
|
||||
static method testLongDependencyChain(<T extends core::Object? = dynamic, U extends core::Object? = dynamic, V extends core::Object? = dynamic>(() → T%, (T%) → U%, (U%) → V%) → V% f) → dynamic {
|
||||
f<core::List<core::int>, core::int, core::Set<core::int>>(() → core::List<core::int> => core::_GrowableList::_literal1<core::int>(0), (core::List<core::int> x) → core::int => x.{core::Iterable::single}{core::int}, (core::int y) → core::Set<core::int> => block {
|
||||
final core::Set<core::int> #t2 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t2 = new col::_Set::•<core::int>();
|
||||
#t2.{core::Set::add}{Invariant}(y){(core::int) → core::bool};
|
||||
} =>#t2){(() → core::List<core::int>, (core::List<core::int>) → core::int, (core::int) → core::Set<core::int>) → core::Set<core::int>};
|
||||
}
|
||||
static method testDependencyCycle(<T extends core::Object? = dynamic, U extends core::Object? = dynamic>((U%) → T%, (T%) → U%) → core::Map<T%, U%> f) → dynamic {
|
||||
f<core::List<core::Object?>, core::Set<core::Object?>>((core::Object? x) → core::List<core::Object?> => core::_GrowableList::_literal1<core::Object?>(x), (core::Object? y) → core::Set<core::Object?> => block {
|
||||
final core::Set<core::Object?> #t3 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t3 = new col::_Set::•<core::Object?>();
|
||||
#t3.{core::Set::add}{Invariant}(y){(core::Object?) → core::bool};
|
||||
} =>#t3){((core::Set<core::Object?>) → core::List<core::Object?>, (core::List<core::Object?>) → core::Set<core::Object?>) → core::Map<core::List<core::Object?>, core::Set<core::Object?>>};
|
||||
}
|
||||
|
||||
+2
-2
@@ -91,13 +91,13 @@ static method testPropagateToLaterClosure(core::int i) → dynamic {
|
||||
}
|
||||
static method testLongDependencyChain(core::int i) → dynamic {
|
||||
self::_extension#0|_longDependencyChain<core::List<core::int>, core::int, core::Set<core::int>>(i, () → core::List<core::int> => core::_GrowableList::_literal1<core::int>(0), (core::List<core::int> x) → core::int => x.{core::Iterable::single}{core::int}, (core::int y) → core::Set<core::int> => block {
|
||||
final core::Set<core::int> #t1 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t1 = new col::_Set::•<core::int>();
|
||||
#t1.{core::Set::add}{Invariant}(y){(core::int) → core::bool};
|
||||
} =>#t1);
|
||||
}
|
||||
static method testDependencyCycle(core::int i) → dynamic {
|
||||
self::_extension#0|_dependencyCycle<core::List<core::Object?>, core::Set<core::Object?>>(i, (core::Object? x) → core::List<core::Object?> => core::_GrowableList::_literal1<core::Object?>(x), (core::Object? y) → core::Set<core::Object?> => block {
|
||||
final core::Set<core::Object?> #t2 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t2 = new col::_Set::•<core::Object?>();
|
||||
#t2.{core::Set::add}{Invariant}(y){(core::Object?) → core::bool};
|
||||
} =>#t2);
|
||||
}
|
||||
|
||||
@@ -111,35 +111,35 @@ static method test1(Never n1, Never? n2, Null n3) → dynamic {
|
||||
#t8.{core::Set::add}{Invariant}(n1){(Never) → core::bool};
|
||||
} =>#t8;
|
||||
core::Set<Never> s2 = block {
|
||||
final core::Set<Never> #t9 = new col::_InternalLinkedHashSet::•<Never>();
|
||||
final core::Set<Never> #t9 = new col::_Set::•<Never>();
|
||||
final core::Iterable<Never>? #t10 = n1;
|
||||
if(!(#t10 == null))
|
||||
#t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<Never>}){(core::Iterable<Never>) → void};
|
||||
#t9.{core::Set::add}{Invariant}(n1){(Never) → core::bool};
|
||||
} =>#t9;
|
||||
core::Set<dynamic> s3 = block {
|
||||
final core::Set<dynamic> #t11 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t11 = new col::_Set::•<dynamic>();
|
||||
#t11.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
|
||||
var s3 = {...n2, n1};
|
||||
^"){(dynamic) → core::bool};
|
||||
#t11.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
|
||||
} =>#t11;
|
||||
core::Set<Never> s4 = block {
|
||||
final core::Set<Never> #t12 = new col::_InternalLinkedHashSet::•<Never>();
|
||||
final core::Set<Never> #t12 = new col::_Set::•<Never>();
|
||||
final core::Iterable<Never>? #t13 = n2;
|
||||
if(!(#t13 == null))
|
||||
#t12.{core::Set::addAll}{Invariant}(#t13{core::Iterable<Never>}){(core::Iterable<Never>) → void};
|
||||
#t12.{core::Set::add}{Invariant}(n1){(Never) → core::bool};
|
||||
} =>#t12;
|
||||
core::Set<dynamic> s5 = block {
|
||||
final core::Set<dynamic> #t14 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t14 = new col::_Set::•<dynamic>();
|
||||
#t14.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
|
||||
var s5 = {...n3, n1};
|
||||
^"){(dynamic) → core::bool};
|
||||
#t14.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
|
||||
} =>#t14;
|
||||
core::Set<Never> s6 = block {
|
||||
final core::Set<Never> #t15 = new col::_InternalLinkedHashSet::•<Never>();
|
||||
final core::Set<Never> #t15 = new col::_Set::•<Never>();
|
||||
final core::Iterable<Never>? #t16 = n3;
|
||||
if(!(#t16 == null))
|
||||
#t15.{core::Set::addAll}{Invariant}(#t16{core::Iterable<Never>}){(core::Iterable<Never>) → void};
|
||||
@@ -210,35 +210,35 @@ static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::
|
||||
#t31.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
|
||||
} =>#t31;
|
||||
core::Set<self::test2::N1> s2 = block {
|
||||
final core::Set<self::test2::N1> #t32 = new col::_InternalLinkedHashSet::•<self::test2::N1>();
|
||||
final core::Set<self::test2::N1> #t32 = new col::_Set::•<self::test2::N1>();
|
||||
final core::Iterable<self::test2::N1>? #t33 = n1;
|
||||
if(!(#t33 == null))
|
||||
#t32.{core::Set::addAll}{Invariant}(#t33{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
|
||||
#t32.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
|
||||
} =>#t32;
|
||||
core::Set<dynamic> s3 = block {
|
||||
final core::Set<dynamic> #t34 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t34 = new col::_Set::•<dynamic>();
|
||||
#t34.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
|
||||
var s3 = {...n2, n1};
|
||||
^"){(dynamic) → core::bool};
|
||||
#t34.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
|
||||
} =>#t34;
|
||||
core::Set<self::test2::N1> s4 = block {
|
||||
final core::Set<self::test2::N1> #t35 = new col::_InternalLinkedHashSet::•<self::test2::N1>();
|
||||
final core::Set<self::test2::N1> #t35 = new col::_Set::•<self::test2::N1>();
|
||||
final core::Iterable<self::test2::N1>? #t36 = n2;
|
||||
if(!(#t36 == null))
|
||||
#t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
|
||||
#t35.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
|
||||
} =>#t35;
|
||||
core::Set<dynamic> s5 = block {
|
||||
final core::Set<dynamic> #t37 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t37 = new col::_Set::•<dynamic>();
|
||||
#t37.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
|
||||
var s5 = {...n3, n1};
|
||||
^"){(dynamic) → core::bool};
|
||||
#t37.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
|
||||
} =>#t37;
|
||||
core::Set<self::test2::N1> s6 = block {
|
||||
final core::Set<self::test2::N1> #t38 = new col::_InternalLinkedHashSet::•<self::test2::N1>();
|
||||
final core::Set<self::test2::N1> #t38 = new col::_Set::•<self::test2::N1>();
|
||||
final core::Iterable<self::test2::N1>? #t39 = n3;
|
||||
if(!(#t39 == null))
|
||||
#t38.{core::Set::addAll}{Invariant}(#t39{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
|
||||
|
||||
@@ -112,35 +112,35 @@ static method test1(Never n1, Never? n2, Null n3) → dynamic {
|
||||
#t10.{core::Set::add}{Invariant}(let final Never #t12 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
|
||||
} =>#t10;
|
||||
core::Set<Never> s2 = block {
|
||||
final core::Set<Never> #t13 = new col::_InternalLinkedHashSet::•<Never>();
|
||||
final core::Set<Never> #t13 = new col::_Set::•<Never>();
|
||||
final core::Iterable<Never>? #t14 = let final Never #t15 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
|
||||
if(!(#t14 == null))
|
||||
#t13.{core::Set::addAll}{Invariant}(#t14{core::Iterable<Never>}){(core::Iterable<Never>) → void};
|
||||
#t13.{core::Set::add}{Invariant}(let final Never #t16 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
|
||||
} =>#t13;
|
||||
core::Set<dynamic> s3 = block {
|
||||
final core::Set<dynamic> #t17 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t17 = new col::_Set::•<dynamic>();
|
||||
#t17.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
|
||||
var s3 = {...n2, n1};
|
||||
^"){(dynamic) → core::bool};
|
||||
#t17.{core::Set::add}{Invariant}(let final Never #t18 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
|
||||
} =>#t17;
|
||||
core::Set<Never> s4 = block {
|
||||
final core::Set<Never> #t19 = new col::_InternalLinkedHashSet::•<Never>();
|
||||
final core::Set<Never> #t19 = new col::_Set::•<Never>();
|
||||
final core::Iterable<Never>? #t20 = n2;
|
||||
if(!(#t20 == null))
|
||||
#t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<Never>}){(core::Iterable<Never>) → void};
|
||||
#t19.{core::Set::add}{Invariant}(let final Never #t21 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
|
||||
} =>#t19;
|
||||
core::Set<dynamic> s5 = block {
|
||||
final core::Set<dynamic> #t22 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t22 = new col::_Set::•<dynamic>();
|
||||
#t22.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
|
||||
var s5 = {...n3, n1};
|
||||
^"){(dynamic) → core::bool};
|
||||
#t22.{core::Set::add}{Invariant}(let final Never #t23 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
|
||||
} =>#t22;
|
||||
core::Set<Never> s6 = block {
|
||||
final core::Set<Never> #t24 = new col::_InternalLinkedHashSet::•<Never>();
|
||||
final core::Set<Never> #t24 = new col::_Set::•<Never>();
|
||||
final core::Iterable<Never>? #t25 = n3;
|
||||
if(!(#t25 == null))
|
||||
#t24.{core::Set::addAll}{Invariant}(#t25{core::Iterable<Never>}){(core::Iterable<Never>) → void};
|
||||
@@ -211,35 +211,35 @@ static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::
|
||||
#t57.{core::Set::add}{Invariant}(let final self::test2::N1 #t59 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
|
||||
} =>#t57;
|
||||
core::Set<self::test2::N1> s2 = block {
|
||||
final core::Set<self::test2::N1> #t60 = new col::_InternalLinkedHashSet::•<self::test2::N1>();
|
||||
final core::Set<self::test2::N1> #t60 = new col::_Set::•<self::test2::N1>();
|
||||
final core::Iterable<self::test2::N1>? #t61 = let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
|
||||
if(!(#t61 == null))
|
||||
#t60.{core::Set::addAll}{Invariant}(#t61{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
|
||||
#t60.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
|
||||
} =>#t60;
|
||||
core::Set<dynamic> s3 = block {
|
||||
final core::Set<dynamic> #t64 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t64 = new col::_Set::•<dynamic>();
|
||||
#t64.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
|
||||
var s3 = {...n2, n1};
|
||||
^"){(dynamic) → core::bool};
|
||||
#t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t65 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
|
||||
} =>#t64;
|
||||
core::Set<self::test2::N1> s4 = block {
|
||||
final core::Set<self::test2::N1> #t66 = new col::_InternalLinkedHashSet::•<self::test2::N1>();
|
||||
final core::Set<self::test2::N1> #t66 = new col::_Set::•<self::test2::N1>();
|
||||
final core::Iterable<self::test2::N1>? #t67 = n2;
|
||||
if(!(#t67 == null))
|
||||
#t66.{core::Set::addAll}{Invariant}(#t67{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
|
||||
#t66.{core::Set::add}{Invariant}(let final self::test2::N1 #t68 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
|
||||
} =>#t66;
|
||||
core::Set<dynamic> s5 = block {
|
||||
final core::Set<dynamic> #t69 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t69 = new col::_Set::•<dynamic>();
|
||||
#t69.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
|
||||
var s5 = {...n3, n1};
|
||||
^"){(dynamic) → core::bool};
|
||||
#t69.{core::Set::add}{Invariant}(let final self::test2::N1 #t70 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
|
||||
} =>#t69;
|
||||
core::Set<self::test2::N1> s6 = block {
|
||||
final core::Set<self::test2::N1> #t71 = new col::_InternalLinkedHashSet::•<self::test2::N1>();
|
||||
final core::Set<self::test2::N1> #t71 = new col::_Set::•<self::test2::N1>();
|
||||
final core::Iterable<self::test2::N1>? #t72 = n3;
|
||||
if(!(#t72 == null))
|
||||
#t71.{core::Set::addAll}{Invariant}(#t72{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
|
||||
|
||||
@@ -67,7 +67,7 @@ static field core::Map<dynamic, dynamic> map1 = block {
|
||||
#t1.{core::Map::addAll}{Invariant}(self::nullableMap!){(core::Map<dynamic, dynamic>) → void};
|
||||
} =>#t1;
|
||||
static field core::Set<dynamic> set1 = block {
|
||||
final core::Set<dynamic> #t2 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t2 = new col::_Set::•<dynamic>();
|
||||
#t2.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
|
||||
if(self::i.{core::num::>}(0){(core::num) → core::bool})
|
||||
#t2.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
@@ -108,7 +108,7 @@ static method testMap<X extends dynamic, Y extends core::Map<core::int, core::St
|
||||
}
|
||||
static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
|
||||
core::Set<dynamic> set2 = block {
|
||||
final core::Set<dynamic> #t5 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t5 = new col::_Set::•<dynamic>();
|
||||
#t5.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
|
||||
if(self::i.{core::num::>}(0){(core::num) → core::bool})
|
||||
#t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
|
||||
|
||||
@@ -67,7 +67,7 @@ static field core::Map<dynamic, dynamic> map1 = block {
|
||||
#t1.{core::Map::addAll}{Invariant}(self::nullableMap!){(core::Map<dynamic, dynamic>) → void};
|
||||
} =>#t1;
|
||||
static field core::Set<dynamic> set1 = block {
|
||||
final core::Set<dynamic> #t2 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t2 = new col::_Set::•<dynamic>();
|
||||
#t2.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
|
||||
if(self::i.{core::num::>}(0){(core::num) → core::bool})
|
||||
#t2.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
@@ -108,7 +108,7 @@ static method testMap<X extends dynamic, Y extends core::Map<core::int, core::St
|
||||
}
|
||||
static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
|
||||
core::Set<dynamic> set2 = block {
|
||||
final core::Set<dynamic> #t5 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t5 = new col::_Set::•<dynamic>();
|
||||
#t5.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
|
||||
if(self::i.{core::num::>}(0){(core::num) → core::bool})
|
||||
#t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
|
||||
|
||||
@@ -9,22 +9,22 @@ class C<X extends core::Object?, Y extends core::Object> extends core::Object {
|
||||
;
|
||||
method test(covariant-by-class self::C::X% x, covariant-by-class self::C::Y? y) → dynamic {
|
||||
core::Set<core::Object?> v = block {
|
||||
final core::Set<core::Object?> #t1 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t1 = new col::_Set::•<core::Object?>();
|
||||
#t1.{core::Set::add}{Invariant}(x){(core::Object?) → core::bool};
|
||||
#t1.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
} =>#t1;
|
||||
core::Set<core::Object?> w = block {
|
||||
final core::Set<core::Object?> #t2 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t2 = new col::_Set::•<core::Object?>();
|
||||
#t2.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
#t2.{core::Set::add}{Invariant}(x){(core::Object?) → core::bool};
|
||||
} =>#t2;
|
||||
core::Set<core::Object?> p = block {
|
||||
final core::Set<core::Object?> #t3 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t3 = new col::_Set::•<core::Object?>();
|
||||
#t3.{core::Set::add}{Invariant}(y){(core::Object?) → core::bool};
|
||||
#t3.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
} =>#t3;
|
||||
core::Set<core::Object?> q = block {
|
||||
final core::Set<core::Object?> #t4 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t4 = new col::_Set::•<core::Object?>();
|
||||
#t4.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
#t4.{core::Set::add}{Invariant}(y){(core::Object?) → core::bool};
|
||||
} =>#t4;
|
||||
@@ -38,12 +38,12 @@ class C<X extends core::Object?, Y extends core::Object> extends core::Object {
|
||||
self::assertLeftSubtype<core::Set<core::Object?>>(q);
|
||||
if(x is{ForNonNullableByDefault} core::Object?) {
|
||||
core::Set<core::Object?> v = block {
|
||||
final core::Set<core::Object?> #t5 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t5 = new col::_Set::•<core::Object?>();
|
||||
#t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
|
||||
#t5.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
} =>#t5;
|
||||
core::Set<core::Object?> w = block {
|
||||
final core::Set<core::Object?> #t6 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t6 = new col::_Set::•<core::Object?>();
|
||||
#t6.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
#t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
|
||||
} =>#t6;
|
||||
@@ -58,7 +58,7 @@ static method assertRightSubtype(dynamic x) → dynamic {
|
||||
x as{ForNonNullableByDefault} core::Set<core::Object?>;
|
||||
}
|
||||
static method assertLeftSubtype<X extends core::Object? = dynamic>(self::assertLeftSubtype::X% x) → dynamic {
|
||||
new col::_InternalLinkedHashSet::•<core::Object?>() as{ForNonNullableByDefault} self::assertLeftSubtype::X%;
|
||||
new col::_Set::•<core::Object?>() as{ForNonNullableByDefault} self::assertLeftSubtype::X%;
|
||||
}
|
||||
static method main() → dynamic {
|
||||
new self::C::•<core::int?, core::int>().{self::C::test}(42, null){(core::int?, core::int?) → dynamic};
|
||||
|
||||
@@ -9,22 +9,22 @@ class C<X extends core::Object?, Y extends core::Object> extends core::Object {
|
||||
;
|
||||
method test(covariant-by-class self::C::X% x, covariant-by-class self::C::Y? y) → dynamic {
|
||||
core::Set<core::Object?> v = block {
|
||||
final core::Set<core::Object?> #t1 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t1 = new col::_Set::•<core::Object?>();
|
||||
#t1.{core::Set::add}{Invariant}(x){(core::Object?) → core::bool};
|
||||
#t1.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
} =>#t1;
|
||||
core::Set<core::Object?> w = block {
|
||||
final core::Set<core::Object?> #t2 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t2 = new col::_Set::•<core::Object?>();
|
||||
#t2.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
#t2.{core::Set::add}{Invariant}(x){(core::Object?) → core::bool};
|
||||
} =>#t2;
|
||||
core::Set<core::Object?> p = block {
|
||||
final core::Set<core::Object?> #t3 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t3 = new col::_Set::•<core::Object?>();
|
||||
#t3.{core::Set::add}{Invariant}(y){(core::Object?) → core::bool};
|
||||
#t3.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
} =>#t3;
|
||||
core::Set<core::Object?> q = block {
|
||||
final core::Set<core::Object?> #t4 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t4 = new col::_Set::•<core::Object?>();
|
||||
#t4.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
#t4.{core::Set::add}{Invariant}(y){(core::Object?) → core::bool};
|
||||
} =>#t4;
|
||||
@@ -38,12 +38,12 @@ class C<X extends core::Object?, Y extends core::Object> extends core::Object {
|
||||
self::assertLeftSubtype<core::Set<core::Object?>>(q);
|
||||
if(x is{ForNonNullableByDefault} core::Object?) {
|
||||
core::Set<core::Object?> v = block {
|
||||
final core::Set<core::Object?> #t5 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t5 = new col::_Set::•<core::Object?>();
|
||||
#t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
|
||||
#t5.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
} =>#t5;
|
||||
core::Set<core::Object?> w = block {
|
||||
final core::Set<core::Object?> #t6 = new col::_InternalLinkedHashSet::•<core::Object?>();
|
||||
final core::Set<core::Object?> #t6 = new col::_Set::•<core::Object?>();
|
||||
#t6.{core::Set::add}{Invariant}(42){(core::Object?) → core::bool};
|
||||
#t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
|
||||
} =>#t6;
|
||||
@@ -58,7 +58,7 @@ static method assertRightSubtype(dynamic x) → dynamic {
|
||||
x as{ForNonNullableByDefault} core::Set<core::Object?>;
|
||||
}
|
||||
static method assertLeftSubtype<X extends core::Object? = dynamic>(self::assertLeftSubtype::X% x) → dynamic {
|
||||
new col::_InternalLinkedHashSet::•<core::Object?>() as{ForNonNullableByDefault} self::assertLeftSubtype::X%;
|
||||
new col::_Set::•<core::Object?>() as{ForNonNullableByDefault} self::assertLeftSubtype::X%;
|
||||
}
|
||||
static method main() → dynamic {
|
||||
new self::C::•<core::int?, core::int>().{self::C::test}(42, null){(core::int?, core::int?) → dynamic};
|
||||
|
||||
@@ -187,13 +187,13 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
- 'List' is from 'dart:core'.
|
||||
<int, int>{...a}, // Error.
|
||||
^": null}, block {
|
||||
final core::Set<core::int> #t4 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t4 = new col::_Set::•<core::int>();
|
||||
#t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
<int>{...d}, // Error.
|
||||
^"){(core::int) → core::bool};
|
||||
} =>#t4, block {
|
||||
final core::Set<core::int> #t5 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t5 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...a}, // Error.
|
||||
@@ -207,7 +207,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t5, block {
|
||||
final core::Set<core::int> #t8 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t8 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...b}, // Error.
|
||||
@@ -221,7 +221,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t8, block {
|
||||
final core::Set<core::int> #t11 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t11 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...c}, // Error.
|
||||
@@ -241,7 +241,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
{if (condition) ...d}, // Error.
|
||||
^", null){(core::int, core::int) → void};
|
||||
} =>#t14, block {
|
||||
final core::Set<core::int> #t15 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t15 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -261,7 +261,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t15, block {
|
||||
final core::Set<core::int> #t18 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t18 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -281,7 +281,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t18, block {
|
||||
final core::Set<core::int> #t21 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t21 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -312,7 +312,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t24, block {
|
||||
final core::Set<core::int> #t25 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t25 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...a}, // Error.
|
||||
@@ -326,7 +326,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t25, block {
|
||||
final core::Set<core::int> #t28 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t28 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...b}, // Error.
|
||||
@@ -340,7 +340,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t28, block {
|
||||
final core::Set<core::int> #t31 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t31 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...c}, // Error.
|
||||
@@ -360,17 +360,17 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
{for (int i = 0; i < 42; ++i) ...d}, // Error.
|
||||
^", null){(core::int, core::int) → void};
|
||||
} =>#t34, block {
|
||||
final core::Set<core::int> #t35 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t35 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t36 = a;
|
||||
if(!(#t36 == null))
|
||||
#t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t35, block {
|
||||
final core::Set<core::int> #t37 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t37 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t38 = b;
|
||||
if(!(#t38 == null))
|
||||
#t37.{core::Set::addAll}{Invariant}(#t38{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t37, block {
|
||||
final core::Set<core::int> #t39 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t39 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t40 = c;
|
||||
if(!(#t40 == null))
|
||||
#t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
@@ -380,7 +380,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
if(!(#t42 == null))
|
||||
#t41.{core::Map::addAll}{Invariant}(#t42{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
} =>#t41, block {
|
||||
final core::Set<core::int> #t43 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t43 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t44 = a;
|
||||
if(!(#t44 == null)) {
|
||||
@@ -395,7 +395,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t43, block {
|
||||
final core::Set<core::int> #t47 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t47 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t48 = b;
|
||||
if(!(#t48 == null)) {
|
||||
@@ -410,7 +410,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t47, block {
|
||||
final core::Set<core::int> #t51 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t51 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t52 = c;
|
||||
if(!(#t52 == null)) {
|
||||
@@ -432,7 +432,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
#t55.{core::Map::addAll}{Invariant}(#t56{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
}
|
||||
} =>#t55, block {
|
||||
final core::Set<core::int> #t57 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t57 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -453,7 +453,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t57, block {
|
||||
final core::Set<core::int> #t61 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t61 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -474,7 +474,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t61, block {
|
||||
final core::Set<core::int> #t65 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t65 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -508,7 +508,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t69, block {
|
||||
final core::Set<core::int> #t71 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t71 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t72 = a;
|
||||
if(!(#t72 == null)) {
|
||||
@@ -523,7 +523,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t71, block {
|
||||
final core::Set<core::int> #t75 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t75 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t76 = b;
|
||||
if(!(#t76 == null)) {
|
||||
@@ -538,7 +538,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t75, block {
|
||||
final core::Set<core::int> #t79 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t79 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t80 = c;
|
||||
if(!(#t80 == null)) {
|
||||
@@ -579,12 +579,12 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
|
||||
<int, int>{...x}, // Error.
|
||||
^": null}, block {
|
||||
final core::Set<core::int> #t88 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t88 = new col::_Set::•<core::int>();
|
||||
#t88.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
|
||||
<int>{...w}, // Error.
|
||||
^"){(core::int) → core::bool};
|
||||
} =>#t88, block {
|
||||
final core::Set<core::int> #t89 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t89 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...x}, // Error.
|
||||
@@ -598,7 +598,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t89, block {
|
||||
final core::Set<core::int> #t92 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t92 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...y}, // Error.
|
||||
@@ -612,7 +612,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t92, block {
|
||||
final core::Set<core::int> #t95 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t95 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...z}, // Error.
|
||||
@@ -632,7 +632,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
{if (condition) ...w}, // Error.
|
||||
^", null){(core::int, core::int) → void};
|
||||
} =>#t98, block {
|
||||
final core::Set<core::int> #t99 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t99 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -652,7 +652,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t99, block {
|
||||
final core::Set<core::int> #t102 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t102 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -672,7 +672,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t102, block {
|
||||
final core::Set<core::int> #t105 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t105 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -703,7 +703,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t108, block {
|
||||
final core::Set<core::int> #t109 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t109 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...x}, // Error.
|
||||
@@ -717,7 +717,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t109, block {
|
||||
final core::Set<core::int> #t112 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t112 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...y}, // Error.
|
||||
@@ -731,7 +731,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t112, block {
|
||||
final core::Set<core::int> #t115 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t115 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...z}, // Error.
|
||||
@@ -751,17 +751,17 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
{for (int i = 0; i < 42; ++i) ...w}, // Error.
|
||||
^", null){(core::int, core::int) → void};
|
||||
} =>#t118, block {
|
||||
final core::Set<core::int> #t119 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t119 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t120 = x;
|
||||
if(!(#t120 == null))
|
||||
#t119.{core::Set::addAll}{Invariant}(#t120{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t119, block {
|
||||
final core::Set<core::int> #t121 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t121 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t122 = y;
|
||||
if(!(#t122 == null))
|
||||
#t121.{core::Set::addAll}{Invariant}(#t122{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t121, block {
|
||||
final core::Set<core::int> #t123 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t123 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t124 = z;
|
||||
if(!(#t124 == null))
|
||||
#t123.{core::Set::addAll}{Invariant}(#t124{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
@@ -771,7 +771,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
if(!(#t126 == null))
|
||||
#t125.{core::Map::addAll}{Invariant}(#t126{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
} =>#t125, block {
|
||||
final core::Set<core::int> #t127 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t127 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t128 = x;
|
||||
if(!(#t128 == null)) {
|
||||
@@ -786,7 +786,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t127, block {
|
||||
final core::Set<core::int> #t131 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t131 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t132 = y;
|
||||
if(!(#t132 == null)) {
|
||||
@@ -801,7 +801,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t131, block {
|
||||
final core::Set<core::int> #t135 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t135 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t136 = z;
|
||||
if(!(#t136 == null)) {
|
||||
@@ -823,7 +823,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
#t139.{core::Map::addAll}{Invariant}(#t140{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
}
|
||||
} =>#t139, block {
|
||||
final core::Set<core::int> #t141 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t141 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -844,7 +844,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t141, block {
|
||||
final core::Set<core::int> #t145 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t145 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -865,7 +865,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t145, block {
|
||||
final core::Set<core::int> #t149 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t149 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -899,7 +899,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t153, block {
|
||||
final core::Set<core::int> #t155 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t155 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t156 = x;
|
||||
if(!(#t156 == null)) {
|
||||
@@ -914,7 +914,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t155, block {
|
||||
final core::Set<core::int> #t159 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t159 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t160 = y;
|
||||
if(!(#t160 == null)) {
|
||||
@@ -929,7 +929,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t159, block {
|
||||
final core::Set<core::int> #t163 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t163 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t164 = z;
|
||||
if(!(#t164 == null)) {
|
||||
|
||||
@@ -187,13 +187,13 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
- 'List' is from 'dart:core'.
|
||||
<int, int>{...a}, // Error.
|
||||
^": null}, block {
|
||||
final core::Set<core::int> #t4 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t4 = new col::_Set::•<core::int>();
|
||||
#t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
|
||||
- 'Map' is from 'dart:core'.
|
||||
<int>{...d}, // Error.
|
||||
^"){(core::int) → core::bool};
|
||||
} =>#t4, block {
|
||||
final core::Set<core::int> #t5 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t5 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...a}, // Error.
|
||||
@@ -207,7 +207,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t5, block {
|
||||
final core::Set<core::int> #t8 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t8 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...b}, // Error.
|
||||
@@ -221,7 +221,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t8, block {
|
||||
final core::Set<core::int> #t11 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t11 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...c}, // Error.
|
||||
@@ -241,7 +241,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
{if (condition) ...d}, // Error.
|
||||
^", null){(core::int, core::int) → void};
|
||||
} =>#t14, block {
|
||||
final core::Set<core::int> #t15 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t15 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -261,7 +261,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t15, block {
|
||||
final core::Set<core::int> #t18 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t18 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -281,7 +281,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t18, block {
|
||||
final core::Set<core::int> #t21 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t21 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -312,7 +312,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t24, block {
|
||||
final core::Set<core::int> #t25 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t25 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...a}, // Error.
|
||||
@@ -326,7 +326,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t25, block {
|
||||
final core::Set<core::int> #t28 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t28 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...b}, // Error.
|
||||
@@ -340,7 +340,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t28, block {
|
||||
final core::Set<core::int> #t31 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t31 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...c}, // Error.
|
||||
@@ -360,17 +360,17 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
{for (int i = 0; i < 42; ++i) ...d}, // Error.
|
||||
^", null){(core::int, core::int) → void};
|
||||
} =>#t34, block {
|
||||
final core::Set<core::int> #t35 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t35 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t36 = a;
|
||||
if(!(#t36 == null))
|
||||
#t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t35, block {
|
||||
final core::Set<core::int> #t37 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t37 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t38 = b;
|
||||
if(!(#t38 == null))
|
||||
#t37.{core::Set::addAll}{Invariant}(#t38{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t37, block {
|
||||
final core::Set<core::int> #t39 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t39 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t40 = c;
|
||||
if(!(#t40 == null))
|
||||
#t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
@@ -380,7 +380,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
if(!(#t42 == null))
|
||||
#t41.{core::Map::addAll}{Invariant}(#t42{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
} =>#t41, block {
|
||||
final core::Set<core::int> #t43 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t43 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t44 = a;
|
||||
if(!(#t44 == null)) {
|
||||
@@ -395,7 +395,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t43, block {
|
||||
final core::Set<core::int> #t47 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t47 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t48 = b;
|
||||
if(!(#t48 == null)) {
|
||||
@@ -410,7 +410,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t47, block {
|
||||
final core::Set<core::int> #t51 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t51 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t52 = c;
|
||||
if(!(#t52 == null)) {
|
||||
@@ -432,7 +432,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
#t55.{core::Map::addAll}{Invariant}(#t56{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
}
|
||||
} =>#t55, block {
|
||||
final core::Set<core::int> #t57 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t57 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -453,7 +453,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t57, block {
|
||||
final core::Set<core::int> #t61 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t61 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -474,7 +474,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t61, block {
|
||||
final core::Set<core::int> #t65 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t65 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -508,7 +508,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t69, block {
|
||||
final core::Set<core::int> #t71 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t71 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t72 = a;
|
||||
if(!(#t72 == null)) {
|
||||
@@ -523,7 +523,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t71, block {
|
||||
final core::Set<core::int> #t75 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t75 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t76 = b;
|
||||
if(!(#t76 == null)) {
|
||||
@@ -538,7 +538,7 @@ static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::
|
||||
}
|
||||
}
|
||||
} =>#t75, block {
|
||||
final core::Set<core::int> #t79 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t79 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t80 = c;
|
||||
if(!(#t80 == null)) {
|
||||
@@ -579,12 +579,12 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
|
||||
<int, int>{...x}, // Error.
|
||||
^": null}, block {
|
||||
final core::Set<core::int> #t88 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t88 = new col::_Set::•<core::int>();
|
||||
#t88.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
|
||||
<int>{...w}, // Error.
|
||||
^"){(core::int) → core::bool};
|
||||
} =>#t88, block {
|
||||
final core::Set<core::int> #t89 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t89 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...x}, // Error.
|
||||
@@ -598,7 +598,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t89, block {
|
||||
final core::Set<core::int> #t92 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t92 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...y}, // Error.
|
||||
@@ -612,7 +612,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t92, block {
|
||||
final core::Set<core::int> #t95 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t95 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{if (condition) ...z}, // Error.
|
||||
@@ -632,7 +632,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
{if (condition) ...w}, // Error.
|
||||
^", null){(core::int, core::int) → void};
|
||||
} =>#t98, block {
|
||||
final core::Set<core::int> #t99 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t99 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -652,7 +652,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t99, block {
|
||||
final core::Set<core::int> #t102 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t102 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -672,7 +672,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t102, block {
|
||||
final core::Set<core::int> #t105 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t105 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -703,7 +703,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t108, block {
|
||||
final core::Set<core::int> #t109 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t109 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...x}, // Error.
|
||||
@@ -717,7 +717,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t109, block {
|
||||
final core::Set<core::int> #t112 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t112 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...y}, // Error.
|
||||
@@ -731,7 +731,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t112, block {
|
||||
final core::Set<core::int> #t115 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t115 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
|
||||
{for (int i = 0; i < 42; ++i) ...z}, // Error.
|
||||
@@ -751,17 +751,17 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
{for (int i = 0; i < 42; ++i) ...w}, // Error.
|
||||
^", null){(core::int, core::int) → void};
|
||||
} =>#t118, block {
|
||||
final core::Set<core::int> #t119 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t119 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t120 = x;
|
||||
if(!(#t120 == null))
|
||||
#t119.{core::Set::addAll}{Invariant}(#t120{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t119, block {
|
||||
final core::Set<core::int> #t121 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t121 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t122 = y;
|
||||
if(!(#t122 == null))
|
||||
#t121.{core::Set::addAll}{Invariant}(#t122{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t121, block {
|
||||
final core::Set<core::int> #t123 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t123 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t124 = z;
|
||||
if(!(#t124 == null))
|
||||
#t123.{core::Set::addAll}{Invariant}(#t124{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
@@ -771,7 +771,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
if(!(#t126 == null))
|
||||
#t125.{core::Map::addAll}{Invariant}(#t126{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
} =>#t125, block {
|
||||
final core::Set<core::int> #t127 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t127 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t128 = x;
|
||||
if(!(#t128 == null)) {
|
||||
@@ -786,7 +786,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t127, block {
|
||||
final core::Set<core::int> #t131 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t131 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t132 = y;
|
||||
if(!(#t132 == null)) {
|
||||
@@ -801,7 +801,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t131, block {
|
||||
final core::Set<core::int> #t135 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t135 = new col::_Set::•<core::int>();
|
||||
if(condition) {
|
||||
final core::Iterable<dynamic>? #t136 = z;
|
||||
if(!(#t136 == null)) {
|
||||
@@ -823,7 +823,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
#t139.{core::Map::addAll}{Invariant}(#t140{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
|
||||
}
|
||||
} =>#t139, block {
|
||||
final core::Set<core::int> #t141 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t141 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -844,7 +844,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t141, block {
|
||||
final core::Set<core::int> #t145 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t145 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -865,7 +865,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t145, block {
|
||||
final core::Set<core::int> #t149 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t149 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -899,7 +899,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t153, block {
|
||||
final core::Set<core::int> #t155 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t155 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t156 = x;
|
||||
if(!(#t156 == null)) {
|
||||
@@ -914,7 +914,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t155, block {
|
||||
final core::Set<core::int> #t159 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t159 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t160 = y;
|
||||
if(!(#t160 == null)) {
|
||||
@@ -929,7 +929,7 @@ static method bar<X extends core::List<core::int>?, Y extends core::Set<core::in
|
||||
}
|
||||
}
|
||||
} =>#t159, block {
|
||||
final core::Set<core::int> #t163 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t163 = new col::_Set::•<core::int>();
|
||||
for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
|
||||
final core::Iterable<dynamic>? #t164 = z;
|
||||
if(!(#t164 == null)) {
|
||||
|
||||
@@ -47,7 +47,7 @@ static method main() → dynamic {
|
||||
} =>#t11;
|
||||
has-declared-initializer core::Set<core::int>? set = null;
|
||||
core::print( block {
|
||||
final core::Set<core::int> #t13 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t13 = new col::_Set::•<core::int>();
|
||||
#t13.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t13.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
final core::Iterable<core::int>? #t14 = set;
|
||||
@@ -56,7 +56,7 @@ static method main() → dynamic {
|
||||
#t13.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
|
||||
} =>#t13);
|
||||
core::print( block {
|
||||
final core::Set<core::int> #t15 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t15 = new col::_Set::•<core::int>();
|
||||
#t15.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t15.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
final has-declared-initializer core::Iterable<core::int>? #t16 = null;
|
||||
@@ -65,13 +65,13 @@ static method main() → dynamic {
|
||||
#t15.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
|
||||
} =>#t15);
|
||||
core::Set<core::int> set1 = block {
|
||||
final core::Set<core::int> #t17 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t17 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t18 = set;
|
||||
if(!(#t18 == null))
|
||||
#t17.{core::Set::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t17;
|
||||
core::Set<core::int> set3 = block {
|
||||
final core::Set<core::int> #t19 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t19 = new col::_Set::•<core::int>();
|
||||
#t19.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t19.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
final core::Iterable<core::int>? #t20 = set;
|
||||
@@ -80,7 +80,7 @@ static method main() → dynamic {
|
||||
#t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
|
||||
} =>#t19;
|
||||
core::Set<core::int> set4 = block {
|
||||
final core::Set<core::int> #t21 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t21 = new col::_Set::•<core::int>();
|
||||
#t21.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t21.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
final has-declared-initializer core::Iterable<core::int>? #t22 = null;
|
||||
|
||||
@@ -47,7 +47,7 @@ static method main() → dynamic {
|
||||
} =>#t11;
|
||||
has-declared-initializer core::Set<core::int>? set = null;
|
||||
core::print( block {
|
||||
final core::Set<core::int> #t13 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t13 = new col::_Set::•<core::int>();
|
||||
#t13.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t13.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
final core::Iterable<core::int>? #t14 = set;
|
||||
@@ -56,7 +56,7 @@ static method main() → dynamic {
|
||||
#t13.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
|
||||
} =>#t13);
|
||||
core::print( block {
|
||||
final core::Set<core::int> #t15 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t15 = new col::_Set::•<core::int>();
|
||||
#t15.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t15.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
final has-declared-initializer core::Iterable<core::int>? #t16 = null;
|
||||
@@ -65,13 +65,13 @@ static method main() → dynamic {
|
||||
#t15.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
|
||||
} =>#t15);
|
||||
core::Set<core::int> set1 = block {
|
||||
final core::Set<core::int> #t17 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t17 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t18 = set;
|
||||
if(!(#t18 == null))
|
||||
#t17.{core::Set::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
} =>#t17;
|
||||
core::Set<core::int> set3 = block {
|
||||
final core::Set<core::int> #t19 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t19 = new col::_Set::•<core::int>();
|
||||
#t19.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t19.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
final core::Iterable<core::int>? #t20 = set;
|
||||
@@ -80,7 +80,7 @@ static method main() → dynamic {
|
||||
#t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
|
||||
} =>#t19;
|
||||
core::Set<core::int> set4 = block {
|
||||
final core::Set<core::int> #t21 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t21 = new col::_Set::•<core::int>();
|
||||
#t21.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t21.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
final has-declared-initializer core::Iterable<core::int>? #t22 = null;
|
||||
|
||||
+2
-2
@@ -144,13 +144,13 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
|
||||
#t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
|
||||
} =>#t5;
|
||||
core::Set<core::String> a = block {
|
||||
final core::Set<core::String> #t7 = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
final core::Set<core::String> #t7 = new col::_Set::•<core::String>();
|
||||
final core::Iterable<core::String>? #t8 = l;
|
||||
if(!(#t8 == null))
|
||||
#t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
|
||||
} =>#t7;
|
||||
block {
|
||||
final core::Set<core::String> #t9 = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
final core::Set<core::String> #t9 = new col::_Set::•<core::String>();
|
||||
final core::Iterable<core::String>? #t10 = l;
|
||||
if(!(#t10 == null))
|
||||
#t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
|
||||
|
||||
+2
-2
@@ -144,13 +144,13 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
|
||||
#t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
|
||||
} =>#t5;
|
||||
core::Set<core::String> a = block {
|
||||
final core::Set<core::String> #t7 = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
final core::Set<core::String> #t7 = new col::_Set::•<core::String>();
|
||||
final core::Iterable<core::String>? #t8 = l;
|
||||
if(!(#t8 == null))
|
||||
#t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
|
||||
} =>#t7;
|
||||
block {
|
||||
final core::Set<core::String> #t9 = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
final core::Set<core::String> #t9 = new col::_Set::•<core::String>();
|
||||
final core::Iterable<core::String>? #t10 = l;
|
||||
if(!(#t10 == null))
|
||||
#t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
|
||||
|
||||
+32
-32
@@ -36,82 +36,82 @@ static method main() → dynamic {
|
||||
core::List<core::int*>* local1h = core::_GrowableList::_literal1<core::int*>(inf::field8);
|
||||
core::List<Null>* local1i = core::_GrowableList::_literal1<Null>(null);
|
||||
core::Set<inf::C<dynamic>*>* local2a = block {
|
||||
final core::Set<inf::C<dynamic>*>* #t1 = new col::_InternalLinkedHashSet::•<inf::C<dynamic>*>();
|
||||
final core::Set<inf::C<dynamic>*>* #t1 = new col::_Set::•<inf::C<dynamic>*>();
|
||||
#t1.{core::Set::add}{Invariant}(inf::field1){(inf::C<dynamic>*) →* core::bool*};
|
||||
#t1.{core::Set::add}{Invariant}(null){(inf::C<dynamic>*) →* core::bool*};
|
||||
} =>#t1;
|
||||
core::Set<inf::C<dynamic>*>* local2b = block {
|
||||
final core::Set<inf::C<dynamic>*>* #t2 = new col::_InternalLinkedHashSet::•<inf::C<dynamic>*>();
|
||||
final core::Set<inf::C<dynamic>*>* #t2 = new col::_Set::•<inf::C<dynamic>*>();
|
||||
#t2.{core::Set::add}{Invariant}(inf::field2){(inf::C<dynamic>*) →* core::bool*};
|
||||
#t2.{core::Set::add}{Invariant}(null){(inf::C<dynamic>*) →* core::bool*};
|
||||
} =>#t2;
|
||||
core::Set<inf::C<core::int*>*>* local2c = block {
|
||||
final core::Set<inf::C<core::int*>*>* #t3 = new col::_InternalLinkedHashSet::•<inf::C<core::int*>*>();
|
||||
final core::Set<inf::C<core::int*>*>* #t3 = new col::_Set::•<inf::C<core::int*>*>();
|
||||
#t3.{core::Set::add}{Invariant}(inf::field3){(inf::C<core::int*>*) →* core::bool*};
|
||||
#t3.{core::Set::add}{Invariant}(null){(inf::C<core::int*>*) →* core::bool*};
|
||||
} =>#t3;
|
||||
core::Set<inf::C<core::int*>*>* local2d = block {
|
||||
final core::Set<inf::C<core::int*>*>* #t4 = new col::_InternalLinkedHashSet::•<inf::C<core::int*>*>();
|
||||
final core::Set<inf::C<core::int*>*>* #t4 = new col::_Set::•<inf::C<core::int*>*>();
|
||||
#t4.{core::Set::add}{Invariant}(inf::field4){(inf::C<core::int*>*) →* core::bool*};
|
||||
#t4.{core::Set::add}{Invariant}(null){(inf::C<core::int*>*) →* core::bool*};
|
||||
} =>#t4;
|
||||
core::Set<inf::C<core::int*>*>* local2e = block {
|
||||
final core::Set<inf::C<core::int*>*>* #t5 = new col::_InternalLinkedHashSet::•<inf::C<core::int*>*>();
|
||||
final core::Set<inf::C<core::int*>*>* #t5 = new col::_Set::•<inf::C<core::int*>*>();
|
||||
#t5.{core::Set::add}{Invariant}(inf::field5){(inf::C<core::int*>*) →* core::bool*};
|
||||
#t5.{core::Set::add}{Invariant}(null){(inf::C<core::int*>*) →* core::bool*};
|
||||
} =>#t5;
|
||||
core::Set<inf::C<core::int*>*>* local2f = block {
|
||||
final core::Set<inf::C<core::int*>*>* #t6 = new col::_InternalLinkedHashSet::•<inf::C<core::int*>*>();
|
||||
final core::Set<inf::C<core::int*>*>* #t6 = new col::_Set::•<inf::C<core::int*>*>();
|
||||
#t6.{core::Set::add}{Invariant}(inf::field6){(inf::C<core::int*>*) →* core::bool*};
|
||||
#t6.{core::Set::add}{Invariant}(null){(inf::C<core::int*>*) →* core::bool*};
|
||||
} =>#t6;
|
||||
core::Set<core::int*>* local2g = block {
|
||||
final core::Set<core::int*>* #t7 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t7 = new col::_Set::•<core::int*>();
|
||||
#t7.{core::Set::add}{Invariant}(inf::field7){(core::int*) →* core::bool*};
|
||||
#t7.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
} =>#t7;
|
||||
core::Set<core::int*>* local2h = block {
|
||||
final core::Set<core::int*>* #t8 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t8 = new col::_Set::•<core::int*>();
|
||||
#t8.{core::Set::add}{Invariant}(inf::field8){(core::int*) →* core::bool*};
|
||||
#t8.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
} =>#t8;
|
||||
core::Set<inf::C<dynamic>*>* local3a = block {
|
||||
final core::Set<inf::C<dynamic>*>* #t9 = new col::_InternalLinkedHashSet::•<inf::C<dynamic>*>();
|
||||
final core::Set<inf::C<dynamic>*>* #t9 = new col::_Set::•<inf::C<dynamic>*>();
|
||||
#t9.{core::Set::add}{Invariant}(null){(inf::C<dynamic>*) →* core::bool*};
|
||||
#t9.{core::Set::add}{Invariant}(inf::field1){(inf::C<dynamic>*) →* core::bool*};
|
||||
} =>#t9;
|
||||
core::Set<inf::C<dynamic>*>* local3b = block {
|
||||
final core::Set<inf::C<dynamic>*>* #t10 = new col::_InternalLinkedHashSet::•<inf::C<dynamic>*>();
|
||||
final core::Set<inf::C<dynamic>*>* #t10 = new col::_Set::•<inf::C<dynamic>*>();
|
||||
#t10.{core::Set::add}{Invariant}(null){(inf::C<dynamic>*) →* core::bool*};
|
||||
#t10.{core::Set::add}{Invariant}(inf::field2){(inf::C<dynamic>*) →* core::bool*};
|
||||
} =>#t10;
|
||||
core::Set<inf::C<core::int*>*>* local3c = block {
|
||||
final core::Set<inf::C<core::int*>*>* #t11 = new col::_InternalLinkedHashSet::•<inf::C<core::int*>*>();
|
||||
final core::Set<inf::C<core::int*>*>* #t11 = new col::_Set::•<inf::C<core::int*>*>();
|
||||
#t11.{core::Set::add}{Invariant}(null){(inf::C<core::int*>*) →* core::bool*};
|
||||
#t11.{core::Set::add}{Invariant}(inf::field3){(inf::C<core::int*>*) →* core::bool*};
|
||||
} =>#t11;
|
||||
core::Set<inf::C<core::int*>*>* local3d = block {
|
||||
final core::Set<inf::C<core::int*>*>* #t12 = new col::_InternalLinkedHashSet::•<inf::C<core::int*>*>();
|
||||
final core::Set<inf::C<core::int*>*>* #t12 = new col::_Set::•<inf::C<core::int*>*>();
|
||||
#t12.{core::Set::add}{Invariant}(null){(inf::C<core::int*>*) →* core::bool*};
|
||||
#t12.{core::Set::add}{Invariant}(inf::field4){(inf::C<core::int*>*) →* core::bool*};
|
||||
} =>#t12;
|
||||
core::Set<inf::C<core::int*>*>* local3e = block {
|
||||
final core::Set<inf::C<core::int*>*>* #t13 = new col::_InternalLinkedHashSet::•<inf::C<core::int*>*>();
|
||||
final core::Set<inf::C<core::int*>*>* #t13 = new col::_Set::•<inf::C<core::int*>*>();
|
||||
#t13.{core::Set::add}{Invariant}(null){(inf::C<core::int*>*) →* core::bool*};
|
||||
#t13.{core::Set::add}{Invariant}(inf::field5){(inf::C<core::int*>*) →* core::bool*};
|
||||
} =>#t13;
|
||||
core::Set<inf::C<core::int*>*>* local3f = block {
|
||||
final core::Set<inf::C<core::int*>*>* #t14 = new col::_InternalLinkedHashSet::•<inf::C<core::int*>*>();
|
||||
final core::Set<inf::C<core::int*>*>* #t14 = new col::_Set::•<inf::C<core::int*>*>();
|
||||
#t14.{core::Set::add}{Invariant}(null){(inf::C<core::int*>*) →* core::bool*};
|
||||
#t14.{core::Set::add}{Invariant}(inf::field6){(inf::C<core::int*>*) →* core::bool*};
|
||||
} =>#t14;
|
||||
core::Set<core::int*>* local3g = block {
|
||||
final core::Set<core::int*>* #t15 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t15 = new col::_Set::•<core::int*>();
|
||||
#t15.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
#t15.{core::Set::add}{Invariant}(inf::field7){(core::int*) →* core::bool*};
|
||||
} =>#t15;
|
||||
core::Set<core::int*>* local3h = block {
|
||||
final core::Set<core::int*>* #t16 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t16 = new col::_Set::•<core::int*>();
|
||||
#t16.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
|
||||
#t16.{core::Set::add}{Invariant}(inf::field8){(core::int*) →* core::bool*};
|
||||
} =>#t16;
|
||||
@@ -166,82 +166,82 @@ static method method() → dynamic {
|
||||
core::List<core::int?> local1h = core::_GrowableList::_literal1<core::int?>(inf::field8);
|
||||
core::List<Null> local1i = core::_GrowableList::_literal1<Null>(null);
|
||||
core::Set<inf::C<dynamic>?> local2a = block {
|
||||
final core::Set<inf::C<dynamic>?> #t17 = new col::_InternalLinkedHashSet::•<inf::C<dynamic>?>();
|
||||
final core::Set<inf::C<dynamic>?> #t17 = new col::_Set::•<inf::C<dynamic>?>();
|
||||
#t17.{core::Set::add}{Invariant}(inf::field1){(inf::C<dynamic>?) → core::bool};
|
||||
#t17.{core::Set::add}{Invariant}(null){(inf::C<dynamic>?) → core::bool};
|
||||
} =>#t17;
|
||||
core::Set<inf::C<dynamic>?> local2b = block {
|
||||
final core::Set<inf::C<dynamic>?> #t18 = new col::_InternalLinkedHashSet::•<inf::C<dynamic>?>();
|
||||
final core::Set<inf::C<dynamic>?> #t18 = new col::_Set::•<inf::C<dynamic>?>();
|
||||
#t18.{core::Set::add}{Invariant}(inf::field2){(inf::C<dynamic>?) → core::bool};
|
||||
#t18.{core::Set::add}{Invariant}(null){(inf::C<dynamic>?) → core::bool};
|
||||
} =>#t18;
|
||||
core::Set<inf::C<core::int>?> local2c = block {
|
||||
final core::Set<inf::C<core::int>?> #t19 = new col::_InternalLinkedHashSet::•<inf::C<core::int>?>();
|
||||
final core::Set<inf::C<core::int>?> #t19 = new col::_Set::•<inf::C<core::int>?>();
|
||||
#t19.{core::Set::add}{Invariant}(inf::field3){(inf::C<core::int>?) → core::bool};
|
||||
#t19.{core::Set::add}{Invariant}(null){(inf::C<core::int>?) → core::bool};
|
||||
} =>#t19;
|
||||
core::Set<inf::C<core::int>?> local2d = block {
|
||||
final core::Set<inf::C<core::int>?> #t20 = new col::_InternalLinkedHashSet::•<inf::C<core::int>?>();
|
||||
final core::Set<inf::C<core::int>?> #t20 = new col::_Set::•<inf::C<core::int>?>();
|
||||
#t20.{core::Set::add}{Invariant}(inf::field4){(inf::C<core::int>?) → core::bool};
|
||||
#t20.{core::Set::add}{Invariant}(null){(inf::C<core::int>?) → core::bool};
|
||||
} =>#t20;
|
||||
core::Set<inf::C<core::int?>?> local2e = block {
|
||||
final core::Set<inf::C<core::int?>?> #t21 = new col::_InternalLinkedHashSet::•<inf::C<core::int?>?>();
|
||||
final core::Set<inf::C<core::int?>?> #t21 = new col::_Set::•<inf::C<core::int?>?>();
|
||||
#t21.{core::Set::add}{Invariant}(inf::field5){(inf::C<core::int?>?) → core::bool};
|
||||
#t21.{core::Set::add}{Invariant}(null){(inf::C<core::int?>?) → core::bool};
|
||||
} =>#t21;
|
||||
core::Set<inf::C<core::int?>?> local2f = block {
|
||||
final core::Set<inf::C<core::int?>?> #t22 = new col::_InternalLinkedHashSet::•<inf::C<core::int?>?>();
|
||||
final core::Set<inf::C<core::int?>?> #t22 = new col::_Set::•<inf::C<core::int?>?>();
|
||||
#t22.{core::Set::add}{Invariant}(inf::field6){(inf::C<core::int?>?) → core::bool};
|
||||
#t22.{core::Set::add}{Invariant}(null){(inf::C<core::int?>?) → core::bool};
|
||||
} =>#t22;
|
||||
core::Set<core::int?> local2g = block {
|
||||
final core::Set<core::int?> #t23 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t23 = new col::_Set::•<core::int?>();
|
||||
#t23.{core::Set::add}{Invariant}(inf::field7){(core::int?) → core::bool};
|
||||
#t23.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
} =>#t23;
|
||||
core::Set<core::int?> local2h = block {
|
||||
final core::Set<core::int?> #t24 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t24 = new col::_Set::•<core::int?>();
|
||||
#t24.{core::Set::add}{Invariant}(inf::field8){(core::int?) → core::bool};
|
||||
#t24.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
} =>#t24;
|
||||
core::Set<inf::C<dynamic>?> local3a = block {
|
||||
final core::Set<inf::C<dynamic>?> #t25 = new col::_InternalLinkedHashSet::•<inf::C<dynamic>?>();
|
||||
final core::Set<inf::C<dynamic>?> #t25 = new col::_Set::•<inf::C<dynamic>?>();
|
||||
#t25.{core::Set::add}{Invariant}(null){(inf::C<dynamic>?) → core::bool};
|
||||
#t25.{core::Set::add}{Invariant}(inf::field1){(inf::C<dynamic>?) → core::bool};
|
||||
} =>#t25;
|
||||
core::Set<inf::C<dynamic>?> local3b = block {
|
||||
final core::Set<inf::C<dynamic>?> #t26 = new col::_InternalLinkedHashSet::•<inf::C<dynamic>?>();
|
||||
final core::Set<inf::C<dynamic>?> #t26 = new col::_Set::•<inf::C<dynamic>?>();
|
||||
#t26.{core::Set::add}{Invariant}(null){(inf::C<dynamic>?) → core::bool};
|
||||
#t26.{core::Set::add}{Invariant}(inf::field2){(inf::C<dynamic>?) → core::bool};
|
||||
} =>#t26;
|
||||
core::Set<inf::C<core::int>?> local3c = block {
|
||||
final core::Set<inf::C<core::int>?> #t27 = new col::_InternalLinkedHashSet::•<inf::C<core::int>?>();
|
||||
final core::Set<inf::C<core::int>?> #t27 = new col::_Set::•<inf::C<core::int>?>();
|
||||
#t27.{core::Set::add}{Invariant}(null){(inf::C<core::int>?) → core::bool};
|
||||
#t27.{core::Set::add}{Invariant}(inf::field3){(inf::C<core::int>?) → core::bool};
|
||||
} =>#t27;
|
||||
core::Set<inf::C<core::int>?> local3d = block {
|
||||
final core::Set<inf::C<core::int>?> #t28 = new col::_InternalLinkedHashSet::•<inf::C<core::int>?>();
|
||||
final core::Set<inf::C<core::int>?> #t28 = new col::_Set::•<inf::C<core::int>?>();
|
||||
#t28.{core::Set::add}{Invariant}(null){(inf::C<core::int>?) → core::bool};
|
||||
#t28.{core::Set::add}{Invariant}(inf::field4){(inf::C<core::int>?) → core::bool};
|
||||
} =>#t28;
|
||||
core::Set<inf::C<core::int?>?> local3e = block {
|
||||
final core::Set<inf::C<core::int?>?> #t29 = new col::_InternalLinkedHashSet::•<inf::C<core::int?>?>();
|
||||
final core::Set<inf::C<core::int?>?> #t29 = new col::_Set::•<inf::C<core::int?>?>();
|
||||
#t29.{core::Set::add}{Invariant}(null){(inf::C<core::int?>?) → core::bool};
|
||||
#t29.{core::Set::add}{Invariant}(inf::field5){(inf::C<core::int?>?) → core::bool};
|
||||
} =>#t29;
|
||||
core::Set<inf::C<core::int?>?> local3f = block {
|
||||
final core::Set<inf::C<core::int?>?> #t30 = new col::_InternalLinkedHashSet::•<inf::C<core::int?>?>();
|
||||
final core::Set<inf::C<core::int?>?> #t30 = new col::_Set::•<inf::C<core::int?>?>();
|
||||
#t30.{core::Set::add}{Invariant}(null){(inf::C<core::int?>?) → core::bool};
|
||||
#t30.{core::Set::add}{Invariant}(inf::field6){(inf::C<core::int?>?) → core::bool};
|
||||
} =>#t30;
|
||||
core::Set<core::int?> local3g = block {
|
||||
final core::Set<core::int?> #t31 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t31 = new col::_Set::•<core::int?>();
|
||||
#t31.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
#t31.{core::Set::add}{Invariant}(inf::field7){(core::int?) → core::bool};
|
||||
} =>#t31;
|
||||
core::Set<core::int?> local3h = block {
|
||||
final core::Set<core::int?> #t32 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t32 = new col::_Set::•<core::int?>();
|
||||
#t32.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
|
||||
#t32.{core::Set::add}{Invariant}(inf::field8){(core::int?) → core::bool};
|
||||
} =>#t32;
|
||||
|
||||
@@ -29,6 +29,6 @@ class Class extends core::Object {
|
||||
static method main(dynamic args) → dynamic {
|
||||
if(false)
|
||||
new self::Class::•().{self::Class::method}("", block {
|
||||
final core::Set<core::String*>* #t5 = new col::_InternalLinkedHashSet::•<core::String*>();
|
||||
final core::Set<core::String*>* #t5 = new col::_Set::•<core::String*>();
|
||||
} =>#t5){(core::String*, core::Set<core::String*>*) →* core::List<core::String*>*};
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import "package:expect/expect.dart";
|
||||
|
||||
static method test1(dynamic stringList) → dynamic {
|
||||
core::Set<core::int> intSet = block {
|
||||
final core::Set<core::int> #t1 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t1 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<dynamic>? #t2 = stringList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
|
||||
if(!(#t2 == null)) {
|
||||
core::Iterator<dynamic> :sync-for-iterator = #t2{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
|
||||
+9
-9
@@ -55,10 +55,10 @@ import "dart:collection" show LinkedHashMap, LinkedHashSet;
|
||||
static method main() → dynamic async /* futureValueType= dynamic */ {
|
||||
core::Map<core::int*, core::bool*>* m = <core::int*, core::bool*>{};
|
||||
core::Set<core::int*>* s = block {
|
||||
final core::Set<core::int*>* #t1 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t1 = new col::_Set::•<core::int*>();
|
||||
} =>#t1;
|
||||
core::Iterable<core::int*>* i = block {
|
||||
final core::Set<core::int*>* #t2 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t2 = new col::_Set::•<core::int*>();
|
||||
} =>#t2;
|
||||
col::LinkedHashSet<core::int*>* lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:15:28: Error: The set literal type 'Set<dynamic>' isn't of expected type 'LinkedHashSet<int>'.
|
||||
- 'Set' is from 'dart:core'.
|
||||
@@ -66,7 +66,7 @@ static method main() → dynamic async /* futureValueType= dynamic */ {
|
||||
Change the type of the set literal or the context in which it is used.
|
||||
LinkedHashSet<int> lhs = {};
|
||||
^" in block {
|
||||
final core::Set<dynamic>* #t3 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t3 = new col::_Set::•<dynamic>();
|
||||
} =>#t3;
|
||||
col::LinkedHashMap<core::int*, core::bool*>* lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:16:34: Error: The map literal type 'Map<dynamic, dynamic>' isn't of expected type 'LinkedHashMap<int, bool>'.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -89,11 +89,11 @@ static method mapfun() → asy::Future<core::Map<core::int*, core::bool*>*>* asy
|
||||
return <core::int*, core::bool*>{};
|
||||
static method setfun() → asy::Future<core::Set<core::int*>*>* async /* futureValueType= core::Set<core::int*>* */
|
||||
return block {
|
||||
final core::Set<core::int*>* #t4 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t4 = new col::_Set::•<core::int*>();
|
||||
} =>#t4;
|
||||
static method iterablefun() → asy::Future<core::Iterable<core::int*>*>* async /* futureValueType= core::Iterable<core::int*>* */
|
||||
return block {
|
||||
final core::Set<core::int*>* #t5 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t5 = new col::_Set::•<core::int*>();
|
||||
} =>#t5;
|
||||
static method lhsfun() → asy::Future<col::LinkedHashSet<core::int*>*>* async /* futureValueType= col::LinkedHashSet<core::int*>* */
|
||||
return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:34:46: Error: The set literal type 'Future<Set<dynamic>>' isn't of expected type 'Future<LinkedHashSet<int>>'.
|
||||
@@ -103,7 +103,7 @@ static method lhsfun() → asy::Future<col::LinkedHashSet<core::int*>*>* async /
|
||||
Change the type of the set literal or the context in which it is used.
|
||||
Future<LinkedHashSet<int>> lhsfun() async => {};
|
||||
^" in block {
|
||||
final core::Set<dynamic>* #t6 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t6 = new col::_Set::•<dynamic>();
|
||||
} =>#t6;
|
||||
static method lhmfun() → asy::Future<col::LinkedHashMap<core::int*, core::bool*>*>* async /* futureValueType= col::LinkedHashMap<core::int*, core::bool*>* */
|
||||
return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:35:52: Error: The map literal type 'Future<Map<dynamic, dynamic>>' isn't of expected type 'Future<LinkedHashMap<int, bool>>'.
|
||||
@@ -117,11 +117,11 @@ static method mapfun2() → FutureOr<core::Map<core::int*, core::bool*>*>*
|
||||
return <core::int*, core::bool*>{};
|
||||
static method setfun2() → FutureOr<core::Set<core::int*>*>*
|
||||
return block {
|
||||
final core::Set<core::int*>* #t7 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t7 = new col::_Set::•<core::int*>();
|
||||
} =>#t7;
|
||||
static method iterablefun2() → FutureOr<core::Iterable<core::int*>*>*
|
||||
return block {
|
||||
final core::Set<core::int*>* #t8 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t8 = new col::_Set::•<core::int*>();
|
||||
} =>#t8;
|
||||
static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int*>*>*
|
||||
return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:40:43: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashSet<int>>'.
|
||||
@@ -129,7 +129,7 @@ static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int*>*>*
|
||||
- 'LinkedHashSet' is from 'dart:collection'.
|
||||
FutureOr<LinkedHashSet<int>> lhsfun2() => {};
|
||||
^" in ( block {
|
||||
final core::Set<dynamic>* #t9 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t9 = new col::_Set::•<dynamic>();
|
||||
} =>#t9) as{TypeError} FutureOr<col::LinkedHashSet<core::int*>*>*;
|
||||
static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int*, core::bool*>*>*
|
||||
return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule.dart:41:49: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'FutureOr<LinkedHashMap<int, bool>>'.
|
||||
|
||||
+9
-9
@@ -51,17 +51,17 @@ import "dart:collection" show LinkedHashMap, LinkedHashSet;
|
||||
static method main() → dynamic async /* futureValueType= dynamic */ {
|
||||
core::Map<core::int, core::bool> m = <core::int, core::bool>{};
|
||||
core::Set<core::int> s = block {
|
||||
final core::Set<core::int> #t1 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t1 = new col::_Set::•<core::int>();
|
||||
} =>#t1;
|
||||
core::Iterable<core::int> i = block {
|
||||
final core::Set<core::int> #t2 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t2 = new col::_Set::•<core::int>();
|
||||
} =>#t2;
|
||||
col::LinkedHashSet<core::int> lhs = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:13:28: Error: A value of type 'Set<dynamic>' can't be assigned to a variable of type 'LinkedHashSet<int>'.
|
||||
- 'Set' is from 'dart:core'.
|
||||
- 'LinkedHashSet' is from 'dart:collection'.
|
||||
LinkedHashSet<int> lhs = {};
|
||||
^" in ( block {
|
||||
final core::Set<dynamic> #t3 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t3 = new col::_Set::•<dynamic>();
|
||||
} =>#t3) as{TypeError,ForNonNullableByDefault} col::LinkedHashSet<core::int>;
|
||||
col::LinkedHashMap<core::int, core::bool> lhm = invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:14:34: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'LinkedHashMap<int, bool>'.
|
||||
- 'Map' is from 'dart:core'.
|
||||
@@ -83,11 +83,11 @@ static method mapfun() → asy::Future<core::Map<core::int, core::bool>> async /
|
||||
return <core::int, core::bool>{};
|
||||
static method setfun() → asy::Future<core::Set<core::int>> async /* futureValueType= core::Set<core::int> */
|
||||
return block {
|
||||
final core::Set<core::int> #t4 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t4 = new col::_Set::•<core::int>();
|
||||
} =>#t4;
|
||||
static method iterablefun() → asy::Future<core::Iterable<core::int>> async /* futureValueType= core::Iterable<core::int> */
|
||||
return block {
|
||||
final core::Set<core::int> #t5 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t5 = new col::_Set::•<core::int>();
|
||||
} =>#t5;
|
||||
static method lhsfun() → asy::Future<col::LinkedHashSet<core::int>> async /* futureValueType= col::LinkedHashSet<core::int> */
|
||||
return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:32:46: Error: A value of type 'Set<dynamic>' can't be returned from an async function with return type 'Future<LinkedHashSet<int>>'.
|
||||
@@ -96,7 +96,7 @@ static method lhsfun() → asy::Future<col::LinkedHashSet<core::int>> async /* f
|
||||
- 'LinkedHashSet' is from 'dart:collection'.
|
||||
Future<LinkedHashSet<int>> lhsfun() async => {};
|
||||
^" in ( block {
|
||||
final core::Set<dynamic> #t6 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t6 = new col::_Set::•<dynamic>();
|
||||
} =>#t6) as{TypeError,ForNonNullableByDefault} col::LinkedHashSet<core::int>;
|
||||
static method lhmfun() → asy::Future<col::LinkedHashMap<core::int, core::bool>> async /* futureValueType= col::LinkedHashMap<core::int, core::bool> */
|
||||
return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:33:52: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from an async function with return type 'Future<LinkedHashMap<int, bool>>'.
|
||||
@@ -109,11 +109,11 @@ static method mapfun2() → FutureOr<core::Map<core::int, core::bool>>
|
||||
return <core::int, core::bool>{};
|
||||
static method setfun2() → FutureOr<core::Set<core::int>>
|
||||
return block {
|
||||
final core::Set<core::int> #t7 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t7 = new col::_Set::•<core::int>();
|
||||
} =>#t7;
|
||||
static method iterablefun2() → FutureOr<core::Iterable<core::int>>
|
||||
return block {
|
||||
final core::Set<core::int> #t8 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t8 = new col::_Set::•<core::int>();
|
||||
} =>#t8;
|
||||
static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int>>
|
||||
return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:38:43: Error: A value of type 'Set<dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashSet<int>>'.
|
||||
@@ -121,7 +121,7 @@ static method lhsfun2() → FutureOr<col::LinkedHashSet<core::int>>
|
||||
- 'LinkedHashSet' is from 'dart:collection'.
|
||||
FutureOr<LinkedHashSet<int>> lhsfun2() => {};
|
||||
^" in ( block {
|
||||
final core::Set<dynamic> #t9 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t9 = new col::_Set::•<dynamic>();
|
||||
} =>#t9) as{TypeError,ForNonNullableByDefault} FutureOr<col::LinkedHashSet<core::int>>;
|
||||
static method lhmfun2() → FutureOr<col::LinkedHashMap<core::int, core::bool>>
|
||||
return invalid-expression "pkg/front_end/testcases/set_literals/disambiguation_rule2.dart:39:49: Error: A value of type 'Map<dynamic, dynamic>' can't be returned from a function with return type 'FutureOr<LinkedHashMap<int, bool>>'.
|
||||
|
||||
+5
-5
@@ -17,7 +17,7 @@ static method foldInitialElements() → void {
|
||||
} =>#t1;
|
||||
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
|
||||
core::Set<core::int*>* set = block {
|
||||
final core::Set<core::int*>* #t2 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t2 = new col::_Set::•<core::int*>();
|
||||
#t2.{core::Set::add}{Invariant}(element0 as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
|
||||
#t2.{core::Set::add}{Invariant}(element1 as{TypeError} core::int*){(core::int*) →* core::bool*};
|
||||
#t2.{core::Set::add}{Invariant}(element2){(core::int*) →* core::bool*};
|
||||
@@ -51,7 +51,7 @@ static method foldInitialSpread1() → void {
|
||||
} =>#t3;
|
||||
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
|
||||
core::Set<core::int*>* set = block {
|
||||
final core::Set<core::int*>* #t6 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t6 = new col::_Set::•<core::int*>();
|
||||
{
|
||||
core::Iterator<dynamic>* :sync-for-iterator = (initial as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -92,7 +92,7 @@ static method foldInitialSpread2() → void {
|
||||
} =>#t9;
|
||||
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
|
||||
core::Set<core::int*>* set = block {
|
||||
final core::Set<core::int*>* #t12 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t12 = new col::_Set::•<core::int*>();
|
||||
{
|
||||
core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator}{core::Iterator<core::num*>*};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -133,7 +133,7 @@ static method foldInitialSpread3() → void {
|
||||
} =>#t15;
|
||||
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
|
||||
core::Set<core::int*>* set = block {
|
||||
final core::Set<core::int*>* #t18 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t18 = new col::_Set::•<core::int*>();
|
||||
{
|
||||
core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator}{core::Iterator<core::num*>*};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -209,7 +209,7 @@ static method foldInitialSpread6() → void {
|
||||
} =>#t25;
|
||||
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
|
||||
core::Set<core::int*>* set = block {
|
||||
final core::Set<core::int*>* #t27 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t27 = new col::_Set::•<core::int*>();
|
||||
final core::Iterable<core::int*>* #t28 = initial;
|
||||
if(!(#t28 == null))
|
||||
#t27.{core::Set::addAll}{Invariant}(#t28){(core::Iterable<core::int*>*) →* void};
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ static method foldInitialElements() → void {
|
||||
} =>#t1;
|
||||
self::expect(core::_GrowableList::generate<core::int?>(7, (core::int? i) → core::int? => i), list);
|
||||
core::Set<core::int?> set = block {
|
||||
final core::Set<core::int?> #t2 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t2 = new col::_Set::•<core::int?>();
|
||||
#t2.{core::Set::add}{Invariant}(element0 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
|
||||
#t2.{core::Set::add}{Invariant}(element1{core::int}){(core::int?) → core::bool};
|
||||
#t2.{core::Set::add}{Invariant}(element2){(core::int?) → core::bool};
|
||||
@@ -51,7 +51,7 @@ static method foldInitialSpread1() → void {
|
||||
} =>#t3;
|
||||
self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), list);
|
||||
core::Set<core::int> set = block {
|
||||
final core::Set<core::int> #t6 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t6 = new col::_Set::•<core::int>();
|
||||
{
|
||||
core::Iterator<dynamic> :sync-for-iterator = (initial as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
@@ -178,7 +178,7 @@ static method foldInitialSpread6([core::bool c = #C1]) → void {
|
||||
} =>#t17;
|
||||
self::expect(core::_GrowableList::generate<core::int>(7, (core::int i) → core::int => i), list);
|
||||
core::Set<core::int> set = block {
|
||||
final core::Set<core::int> #t19 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t19 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<core::int>? #t20 = initial;
|
||||
if(!(#t20 == null))
|
||||
#t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
|
||||
|
||||
@@ -34,19 +34,19 @@ static method main() → dynamic {
|
||||
#t1.{core::List::add}{Invariant}(2){(core::int*) →* void};
|
||||
} =>#t1;
|
||||
core::Set<core::int*>* set1 = block {
|
||||
final core::Set<core::int*>* #t6 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t6 = new col::_Set::•<core::int*>();
|
||||
#t6.{core::Set::add}{Invariant}(0){(core::int*) →* core::bool*};
|
||||
} =>#t6;
|
||||
core::Set<core::num*>* set2 = block {
|
||||
final core::Set<core::num*>* #t7 = new col::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t7 = new col::_Set::•<core::num*>();
|
||||
#t7.{core::Set::add}{Invariant}(0){(core::num*) →* core::bool*};
|
||||
} =>#t7;
|
||||
dynamic set3 = block {
|
||||
final core::Set<core::int*>* #t8 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t8 = new col::_Set::•<core::int*>();
|
||||
#t8.{core::Set::add}{Invariant}(0){(core::int*) →* core::bool*};
|
||||
} =>#t8;
|
||||
core::Set<core::int*>* set = block {
|
||||
final core::Set<core::int*>* #t9 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t9 = new col::_Set::•<core::int*>();
|
||||
#t9.{core::Set::add}{Invariant}(0){(core::int*) →* core::bool*};
|
||||
#t9.{core::Set::addAll}{Invariant}(set1){(core::Iterable<core::int*>*) →* void};
|
||||
{
|
||||
|
||||
+4
-4
@@ -25,19 +25,19 @@ static method main() → dynamic {
|
||||
#t1.{core::List::add}{Invariant}(2){(core::int?) → void};
|
||||
} =>#t1;
|
||||
core::Set<core::int> set1 = block {
|
||||
final core::Set<core::int> #t4 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t4 = new col::_Set::•<core::int>();
|
||||
#t4.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
|
||||
} =>#t4;
|
||||
core::Set<core::int?> set2 = block {
|
||||
final core::Set<core::int?> #t5 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t5 = new col::_Set::•<core::int?>();
|
||||
#t5.{core::Set::add}{Invariant}(0){(core::int?) → core::bool};
|
||||
} =>#t5;
|
||||
dynamic set3 = block {
|
||||
final core::Set<core::int> #t6 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t6 = new col::_Set::•<core::int>();
|
||||
#t6.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
|
||||
} =>#t6;
|
||||
core::Set<core::int?> set = block {
|
||||
final core::Set<core::int?> #t7 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t7 = new col::_Set::•<core::int?>();
|
||||
#t7.{core::Set::add}{Invariant}(0){(core::int?) → core::bool};
|
||||
#t7.{core::Set::addAll}{Invariant}(set1){(core::Iterable<core::int?>) → void};
|
||||
#t7.{core::Set::addAll}{Invariant}(set2){(core::Iterable<core::int?>) → void};
|
||||
|
||||
+17
-17
@@ -6,55 +6,55 @@ import "dart:_internal" as _in;
|
||||
|
||||
static method useAddAll() → void {
|
||||
dynamic dynamicSet1 = block {
|
||||
final core::Set<core::int*>* #t1 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t1 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t2 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t3 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t4 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t5 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t6 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t7 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t8 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t9 = new col::_Set::•<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}; ) {
|
||||
@@ -120,7 +120,7 @@ static method useAddAll() → void {
|
||||
} =>#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::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t22 = new col::_Set::•<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}; ) {
|
||||
@@ -150,7 +150,7 @@ static method useAddAll() → 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::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t27 = new col::_Set::•<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>*};
|
||||
@@ -226,7 +226,7 @@ static method useAddAll() → void {
|
||||
} =>#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::_InternalLinkedHashSet::•<core::num*>();
|
||||
final core::Set<core::num*>* #t48 = new col::_Set::•<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>*};
|
||||
@@ -270,7 +270,7 @@ static method useAddAll() → void {
|
||||
} =>#t48;
|
||||
self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::num*>*}, set4);
|
||||
core::Set<core::int*>* set5 = block {
|
||||
final core::Set<core::int*>* #t61 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t61 = new col::_Set::•<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}; ) {
|
||||
@@ -347,7 +347,7 @@ static method useAddAll() → void {
|
||||
} =>#t74;
|
||||
self::expect(core::_GrowableList::generate<dynamic>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<dynamic>*}, set6);
|
||||
core::Set<core::int*>* set7 = block {
|
||||
final core::Set<core::int*>* #t75 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t75 = new col::_Set::•<core::int*>();
|
||||
final core::Iterable<dynamic>* #t76 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
|
||||
if(!(#t76 == null)) {
|
||||
core::Iterator<dynamic>* :sync-for-iterator = #t76.{core::Iterable::iterator}{core::Iterator<dynamic>*};
|
||||
@@ -423,7 +423,7 @@ static method useAddAll() → void {
|
||||
} =>#t75;
|
||||
self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set7);
|
||||
core::Set<dynamic>* set8 = block {
|
||||
final core::Set<dynamic>* #t96 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic>* #t96 = new col::_Set::•<dynamic>();
|
||||
final core::Iterable<dynamic>* #t97 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
|
||||
if(!(#t97 == null))
|
||||
#t96.{core::Set::addAll}{Invariant}(#t97){(core::Iterable<dynamic>*) →* void};
|
||||
@@ -452,13 +452,13 @@ static method useAddAll() → void {
|
||||
self::expect(core::_GrowableList::generate<dynamic>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<dynamic>*}, set8);
|
||||
{
|
||||
core::Set<core::int*>* intSet1 = block {
|
||||
final core::Set<core::int*>* #t105 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t105 = new col::_Set::•<core::int*>();
|
||||
#t105.{core::Set::add}{Invariant}(0){(core::int*) →* core::bool*};
|
||||
#t105.{core::Set::add}{Invariant}(1){(core::int*) →* core::bool*};
|
||||
#t105.{core::Set::add}{Invariant}(2){(core::int*) →* core::bool*};
|
||||
} =>#t105;
|
||||
core::Set<core::int*>* intSet2 = block {
|
||||
final core::Set<core::int*>* #t106 = new col::_InternalLinkedHashSet::•<core::int*>();
|
||||
final core::Set<core::int*>* #t106 = new col::_Set::•<core::int*>();
|
||||
#t106.{core::Set::add}{Invariant}(3){(core::int*) →* core::bool*};
|
||||
#t106.{core::Set::add}{Invariant}(4){(core::int*) →* core::bool*};
|
||||
#t106.{core::Set::add}{Invariant}(5){(core::int*) →* core::bool*};
|
||||
|
||||
+19
-19
@@ -6,37 +6,37 @@ import "dart:_internal" as _in;
|
||||
|
||||
static method useAddAll() → void {
|
||||
dynamic dynamicSet1 = block {
|
||||
final core::Set<core::int> #t1 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t1 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::num>();
|
||||
final core::Set<core::num> #t2 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t3 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t4 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t5 = new col::_Set::•<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::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t6 = new col::_Set::•<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}; ) {
|
||||
@@ -72,7 +72,7 @@ static method useAddAll() → 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::_InternalLinkedHashSet::•<core::num>();
|
||||
final core::Set<core::num> #t13 = new col::_Set::•<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}; ) {
|
||||
@@ -108,7 +108,7 @@ static method useAddAll() → void {
|
||||
} =>#t13;
|
||||
self::expect(core::_GrowableList::generate<core::num>(15, (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> #t20 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t20 = new col::_Set::•<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}; ) {
|
||||
@@ -153,13 +153,13 @@ static method useAddAll() → void {
|
||||
self::expect(core::_GrowableList::generate<dynamic>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<dynamic>}, set4);
|
||||
{
|
||||
core::Set<core::int> intSet1 = block {
|
||||
final core::Set<core::int> #t28 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t28 = new col::_Set::•<core::int>();
|
||||
#t28.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
|
||||
#t28.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t28.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
} =>#t28;
|
||||
core::Set<core::int> intSet2 = block {
|
||||
final core::Set<core::int> #t29 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t29 = new col::_Set::•<core::int>();
|
||||
#t29.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
|
||||
#t29.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
|
||||
#t29.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
|
||||
@@ -173,37 +173,37 @@ static method useAddAll() → void {
|
||||
}
|
||||
static method useAddAllNullable() → void {
|
||||
dynamic dynamicSet1 = block {
|
||||
final core::Set<core::int> #t31 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t31 = new col::_Set::•<core::int>();
|
||||
#t31.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
|
||||
#t31.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
|
||||
#t31.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
|
||||
} =>#t31;
|
||||
dynamic dynamicSet2 = block {
|
||||
final core::Set<core::num> #t32 = new col::_InternalLinkedHashSet::•<core::num>();
|
||||
final core::Set<core::num> #t32 = new col::_Set::•<core::num>();
|
||||
#t32.{core::Set::add}{Invariant}(3){(core::num) → core::bool};
|
||||
#t32.{core::Set::add}{Invariant}(4){(core::num) → core::bool};
|
||||
#t32.{core::Set::add}{Invariant}(5){(core::num) → core::bool};
|
||||
} =>#t32;
|
||||
dynamic dynamicSet3 = block {
|
||||
final core::Set<core::int?> #t33 = new col::_InternalLinkedHashSet::•<core::int?>();
|
||||
final core::Set<core::int?> #t33 = new col::_Set::•<core::int?>();
|
||||
#t33.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
|
||||
#t33.{core::Set::add}{Invariant}(7){(core::int?) → core::bool};
|
||||
#t33.{core::Set::add}{Invariant}(8){(core::int?) → core::bool};
|
||||
} =>#t33;
|
||||
core::Iterable<core::int>? iterableIntSet = true ?{core::Set<core::int>?} block {
|
||||
final core::Set<core::int> #t34 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t34 = new col::_Set::•<core::int>();
|
||||
#t34.{core::Set::add}{Invariant}(9){(core::int) → core::bool};
|
||||
#t34.{core::Set::add}{Invariant}(10){(core::int) → core::bool};
|
||||
#t34.{core::Set::add}{Invariant}(11){(core::int) → core::bool};
|
||||
} =>#t34 : null;
|
||||
core::Set<core::int>? intSet = true ?{core::Set<core::int>?} block {
|
||||
final core::Set<core::int> #t35 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t35 = new col::_Set::•<core::int>();
|
||||
#t35.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
|
||||
#t35.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
|
||||
#t35.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
|
||||
} =>#t35 : null;
|
||||
core::Set<core::int> set1 = block {
|
||||
final core::Set<core::int> #t36 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t36 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<dynamic>? #t37 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
|
||||
if(!(#t37 == null)) {
|
||||
core::Iterator<dynamic> :sync-for-iterator = #t37{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
@@ -246,7 +246,7 @@ static method useAddAllNullable() → void {
|
||||
} =>#t36;
|
||||
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> #t48 = new col::_InternalLinkedHashSet::•<core::num>();
|
||||
final core::Set<core::num> #t48 = new col::_Set::•<core::num>();
|
||||
final core::Iterable<dynamic>? #t49 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
|
||||
if(!(#t49 == null)) {
|
||||
core::Iterator<dynamic> :sync-for-iterator = #t49{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
@@ -289,7 +289,7 @@ static method useAddAllNullable() → void {
|
||||
} =>#t48;
|
||||
self::expect(core::_GrowableList::generate<core::num>(15, (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> #t60 = new col::_InternalLinkedHashSet::•<core::int>();
|
||||
final core::Set<core::int> #t60 = new col::_Set::•<core::int>();
|
||||
final core::Iterable<dynamic>? #t61 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
|
||||
if(!(#t61 == null)) {
|
||||
core::Iterator<dynamic> :sync-for-iterator = #t61{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
|
||||
@@ -332,7 +332,7 @@ static method useAddAllNullable() → void {
|
||||
} =>#t60;
|
||||
self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set3);
|
||||
core::Set<dynamic> set4 = block {
|
||||
final core::Set<dynamic> #t72 = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
final core::Set<dynamic> #t72 = new col::_Set::•<dynamic>();
|
||||
final core::Iterable<dynamic>? #t73 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
|
||||
if(!(#t73 == null))
|
||||
#t72.{core::Set::addAll}{Invariant}(#t73{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
|
||||
|
||||
+10
-12
@@ -30,10 +30,10 @@ class VmTarget extends Target {
|
||||
|
||||
Class? _growableList;
|
||||
Class? _immutableList;
|
||||
Class? _internalImmutableLinkedHashMap;
|
||||
Class? _internalImmutableLinkedHashSet;
|
||||
Class? _internalLinkedHashMap;
|
||||
Class? _internalLinkedHashSet;
|
||||
Class? _constMap;
|
||||
Class? _constSet;
|
||||
Class? _map;
|
||||
Class? _set;
|
||||
Class? _record;
|
||||
Class? _oneByteString;
|
||||
Class? _twoByteString;
|
||||
@@ -431,26 +431,24 @@ class VmTarget extends Target {
|
||||
|
||||
@override
|
||||
Class concreteMapLiteralClass(CoreTypes coreTypes) {
|
||||
return _internalLinkedHashMap ??=
|
||||
coreTypes.index.getClass('dart:collection', '_InternalLinkedHashMap');
|
||||
return _map ??= coreTypes.index.getClass('dart:collection', '_Map');
|
||||
}
|
||||
|
||||
@override
|
||||
Class concreteConstMapLiteralClass(CoreTypes coreTypes) {
|
||||
return _internalImmutableLinkedHashMap ??= coreTypes.index
|
||||
.getClass('dart:collection', '_InternalImmutableLinkedHashMap');
|
||||
return _constMap ??=
|
||||
coreTypes.index.getClass('dart:collection', '_ConstMap');
|
||||
}
|
||||
|
||||
@override
|
||||
Class concreteSetLiteralClass(CoreTypes coreTypes) {
|
||||
return _internalLinkedHashSet ??=
|
||||
coreTypes.index.getClass('dart:collection', '_InternalLinkedHashSet');
|
||||
return _set ??= coreTypes.index.getClass('dart:collection', '_Set');
|
||||
}
|
||||
|
||||
@override
|
||||
Class concreteConstSetLiteralClass(CoreTypes coreTypes) {
|
||||
return _internalImmutableLinkedHashSet ??= coreTypes.index
|
||||
.getClass('dart:collection', '_InternalImmutableLinkedHashSet');
|
||||
return _constSet ??=
|
||||
coreTypes.index.getClass('dart:collection', '_ConstSet');
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -9,7 +9,7 @@ import 'package:vm/transformations/specializer/factory_specializer.dart';
|
||||
|
||||
/// Replaces invocation of Map factory constructors with
|
||||
/// factories of VM-specific classes.
|
||||
/// new LinkedHashMap<K, V>() => new _InternalLinkedHashMap<K, V>()
|
||||
/// new LinkedHashMap<K, V>() => new _Map<K, V>()
|
||||
class MapFactorySpecializer extends BaseSpecializer {
|
||||
final Procedure _linkedHashMapDefaultFactory;
|
||||
final Constructor _internalLinkedHashMapConstructor;
|
||||
@@ -25,7 +25,7 @@ class MapFactorySpecializer extends BaseSpecializer {
|
||||
_internalLinkedHashMapConstructor = assertNotNull(
|
||||
coreTypes.index.getConstructor(
|
||||
'dart:collection',
|
||||
'_InternalLinkedHashMap',
|
||||
'_Map',
|
||||
'',
|
||||
),
|
||||
) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import 'package:vm/transformations/specializer/factory_specializer.dart';
|
||||
|
||||
/// Replaces invocation of Set factory constructors with
|
||||
/// factories of VM-specific classes.
|
||||
/// new LinkedHashSet<E>() => new _InternalLinkedHashSet<E>()
|
||||
/// new LinkedHashSet<E>() => new _Set<E>()
|
||||
class SetFactorySpecializer extends BaseSpecializer {
|
||||
final Procedure _linkedHashSetDefaultFactory;
|
||||
final Constructor _internalLinkedHashSetConstructor;
|
||||
@@ -26,7 +26,7 @@ class SetFactorySpecializer extends BaseSpecializer {
|
||||
_internalLinkedHashSetConstructor = assertNotNull(
|
||||
coreTypes.index.getConstructor(
|
||||
'dart:collection',
|
||||
'_InternalLinkedHashSet',
|
||||
'_Set',
|
||||
'',
|
||||
),
|
||||
) {
|
||||
|
||||
+2
-2
@@ -10,12 +10,12 @@ class Element extends core::Object {
|
||||
;
|
||||
}
|
||||
class InheritedElement extends self::Element {
|
||||
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap<#lib::Element, dart.core::Object?>] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:1] final field core::Map<self::Element, core::Object?> _dependents;
|
||||
[@vm.inferred-type.metadata=dart.collection::_Map<#lib::Element, dart.core::Object?>] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:1] final field core::Map<self::Element, core::Object?> _dependents;
|
||||
synthetic constructor •() → self::InheritedElement
|
||||
: self::InheritedElement::_dependents = <self::Element, core::Object?>{}, super self::Element::•()
|
||||
;
|
||||
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] method setDependencies([@vm.inferred-type.metadata=!] self::Element dependent, [@vm.inferred-type.metadata=dart.core::_Smi?] core::Object? value) → void {
|
||||
[@vm.call-site-attributes.metadata=receiverType:dart.core::Map<#lib::Element, dart.core::Object?>] [@vm.direct-call.metadata=dart.collection::__InternalLinkedHashMap&_HashVMBase&MapMixin&_HashBase&_OperatorEqualsAndHashCode&_LinkedHashMapMixin.[]=] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::InheritedElement._dependents] [@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap<#lib::Element, dart.core::Object?>] this.{self::InheritedElement::_dependents}{core::Map<self::Element, core::Object?>}.{core::Map::[]=}(dependent, value){(self::Element, core::Object?) → void};
|
||||
[@vm.call-site-attributes.metadata=receiverType:dart.core::Map<#lib::Element, dart.core::Object?>] [@vm.direct-call.metadata=dart.collection::__Map&_HashVMBase&MapMixin&_HashBase&_OperatorEqualsAndHashCode&_LinkedHashMapMixin.[]=] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::InheritedElement._dependents] [@vm.inferred-type.metadata=dart.collection::_Map<#lib::Element, dart.core::Object?>] this.{self::InheritedElement::_dependents}{core::Map<self::Element, core::Object?>}.{core::Map::[]=}(dependent, value){(self::Element, core::Object?) → void};
|
||||
}
|
||||
}
|
||||
static method main() → dynamic {
|
||||
|
||||
@@ -11,7 +11,7 @@ class _Attribute extends core::Object {
|
||||
: super core::Object::•()
|
||||
;
|
||||
static method fromReader() → self::_Attribute {
|
||||
final self::_AttributeName name = [@vm.direct-call.metadata=dart.collection::__InternalImmutableLinkedHashMap&_HashVMImmutableBase&MapMixin&_HashBase&_OperatorEqualsAndCanonicalHashCode&_LinkedHashMapMixin&_UnmodifiableMapMixin&_ImmutableLinkedHashMapMixin.[]] [@vm.inferred-type.metadata=#lib::_AttributeName? (skip check)] #C8.{core::Map::[]}(#C1){(core::Object?) → self::_AttributeName?}!;
|
||||
final self::_AttributeName name = [@vm.direct-call.metadata=dart.collection::__ConstMap&_HashVMImmutableBase&MapMixin&_HashBase&_OperatorEqualsAndCanonicalHashCode&_LinkedHashMapMixin&_UnmodifiableMapMixin&_ImmutableLinkedHashMapMixin.[]] [@vm.inferred-type.metadata=#lib::_AttributeName? (skip check)] #C8.{core::Map::[]}(#C1){(core::Object?) → self::_AttributeName?}!;
|
||||
return new self::_Attribute::_();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ class _Attribute extends core::Object {
|
||||
: super core::Object::•()
|
||||
;
|
||||
static method fromReader() → self::_Attribute {
|
||||
final core::bool name = [@vm.direct-call.metadata=dart.collection::__InternalImmutableLinkedHashSet&_HashVMImmutableBase&SetMixin&_HashBase&_OperatorEqualsAndCanonicalHashCode&_LinkedHashSetMixin&_UnmodifiableSetMixin&_ImmutableLinkedHashSetMixin.contains] [@vm.inferred-type.metadata=!? (skip check)] #C3.{core::Set::contains}(#C2){(core::Object?) → core::bool};
|
||||
final core::bool name = [@vm.direct-call.metadata=dart.collection::__ConstSet&_HashVMImmutableBase&SetMixin&_HashBase&_OperatorEqualsAndCanonicalHashCode&_LinkedHashSetMixin&_UnmodifiableSetMixin&_ImmutableLinkedHashSetMixin.contains] [@vm.inferred-type.metadata=!? (skip check)] #C3.{core::Set::contains}(#C2){(core::Object?) → core::bool};
|
||||
return let final self::_AttributeName #t1 = #C8.{core::List::[]}(#C2){(core::int) → self::_AttributeName} in new self::_Attribute::_();
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -6,29 +6,29 @@ import "dart:collection" as col;
|
||||
import "dart:collection";
|
||||
import "dart:core";
|
||||
|
||||
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashSet?<dynamic>]static field core::Set<dynamic> globalSet = new col::_InternalLinkedHashSet::•<dynamic>();
|
||||
[@vm.inferred-type.metadata=dart.collection::_Set?<dynamic>]static field core::Set<dynamic> globalSet = new col::_Set::•<dynamic>();
|
||||
[@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashSet?<dynamic>]static field core::Set<dynamic> identitySet = [@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashSet<dynamic>] col::LinkedHashSet::identity<dynamic>();
|
||||
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashSet?<dart.core::String>]static field core::Set<core::String> linkedSet = new col::_InternalLinkedHashSet::•<core::String>();
|
||||
[@vm.inferred-type.metadata=dart.collection::_Set?<dart.core::String>]static field core::Set<core::String> linkedSet = new col::_Set::•<core::String>();
|
||||
static field core::Set<core::String> linkedIdentitySet = [@vm.inferred-type.metadata=!] col::LinkedHashSet::•<core::String>(#C1, #C2);
|
||||
static field core::Set<core::String> linkedCustomSet = let final (core::String, core::String) → core::bool #t1 = (core::String a, core::String b) → core::bool => [@vm.inferred-type.metadata=!? (receiver not int)] a =={core::String::==}{(core::Object) → core::bool} b in let final (core::String) → core::int #t2 = (core::String o) → core::int => o.{core::String::hashCode}{core::int} in let final (dynamic) → core::bool #t3 = (dynamic o) → core::bool => true in [@vm.inferred-type.metadata=!] col::LinkedHashSet::•<core::String>(#t1, #t2, isValidKey: #t3);
|
||||
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dynamic, dynamic>]static field core::Map<dynamic, dynamic> globalMap = [@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap<dynamic, dynamic>] core::Map::•<dynamic, dynamic>();
|
||||
[@vm.inferred-type.metadata=dart.collection::_Map?<dynamic, dynamic>]static field core::Map<dynamic, dynamic> globalMap = [@vm.inferred-type.metadata=dart.collection::_Map<dynamic, dynamic>] core::Map::•<dynamic, dynamic>();
|
||||
[@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashMap?<dynamic, dynamic>]static field core::Map<dynamic, dynamic> identityMap = [@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashMap<dynamic, dynamic>] col::LinkedHashMap::identity<dynamic, dynamic>();
|
||||
[@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView?<dynamic, dynamic>]static field core::Map<dynamic, dynamic> unmodifiableMap = [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dynamic, dynamic>] core::Map::unmodifiable<dynamic, dynamic>([@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashMap?<dynamic, dynamic>] self::identityMap);
|
||||
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dynamic, dynamic>]static field core::Map<dynamic, dynamic> globalMapLiteral = <dynamic, dynamic>{};
|
||||
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dart.core::String, dart.core::String>]static field core::Map<core::String, core::String> linkedMap = new col::_InternalLinkedHashMap::•<core::String, core::String>();
|
||||
[@vm.inferred-type.metadata=dart.collection::_Map?<dynamic, dynamic>]static field core::Map<dynamic, dynamic> globalMapLiteral = <dynamic, dynamic>{};
|
||||
[@vm.inferred-type.metadata=dart.collection::_Map?<dart.core::String, dart.core::String>]static field core::Map<core::String, core::String> linkedMap = new col::_Map::•<core::String, core::String>();
|
||||
static field core::Map<core::String, core::String> linkedIdentityMap = [@vm.inferred-type.metadata=!] col::LinkedHashMap::•<core::String, core::String>(#C1, #C2);
|
||||
static field core::Map<core::String, core::String> linkedCustomMap = let final (core::String, core::String) → core::bool #t4 = (core::String a, core::String b) → core::bool => [@vm.inferred-type.metadata=!? (receiver not int)] a =={core::String::==}{(core::Object) → core::bool} b in let final (core::String) → core::int #t5 = (core::String o) → core::int => o.{core::String::hashCode}{core::int} in let final (dynamic) → core::bool #t6 = (dynamic o) → core::bool => true in [@vm.inferred-type.metadata=!] col::LinkedHashMap::•<core::String, core::String>(#t4, #t5, isValidKey: #t6);
|
||||
static method main() → dynamic {
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashSet?<dynamic>] self::globalSet);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_Set?<dynamic>] self::globalSet);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashSet?<dynamic>] self::identitySet);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashSet?<dart.core::String>] self::linkedSet);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_Set?<dart.core::String>] self::linkedSet);
|
||||
core::print(self::linkedIdentitySet);
|
||||
core::print(self::linkedCustomSet);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dynamic, dynamic>] self::globalMap);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dynamic, dynamic>] self::globalMapLiteral);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_Map?<dynamic, dynamic>] self::globalMap);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_Map?<dynamic, dynamic>] self::globalMapLiteral);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashMap?<dynamic, dynamic>] self::identityMap);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView?<dynamic, dynamic>] self::unmodifiableMap);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dart.core::String, dart.core::String>] self::linkedMap);
|
||||
core::print([@vm.inferred-type.metadata=dart.collection::_Map?<dart.core::String, dart.core::String>] self::linkedMap);
|
||||
core::print(self::linkedIdentityMap);
|
||||
core::print(self::linkedCustomMap);
|
||||
}
|
||||
|
||||
@@ -324,10 +324,10 @@ var tests = <IsolateTest>[
|
||||
final objectId = evalResult.id!;
|
||||
final result = await service.getObject(isolateId, objectId) as Instance;
|
||||
expect(result.kind, InstanceKind.kMap);
|
||||
expect(result.json!['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result.json!['_vmType'], equals('Map'));
|
||||
expect(result.id, startsWith('objects/'));
|
||||
expect(result.valueAsString, isNull);
|
||||
expect(result.classRef!.name, equals('_InternalLinkedHashMap'));
|
||||
expect(result.classRef!.name, equals('_Map'));
|
||||
expect(result.size, isPositive);
|
||||
expect(result.fields, isEmpty);
|
||||
expect(result.length, equals(3));
|
||||
@@ -366,10 +366,10 @@ var tests = <IsolateTest>[
|
||||
final result =
|
||||
await service.getObject(isolateId, objectId, count: 2) as Instance;
|
||||
expect(result.kind, InstanceKind.kMap);
|
||||
expect(result.json!['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result.json!['_vmType'], equals('Map'));
|
||||
expect(result.id, startsWith('objects/'));
|
||||
expect(result.valueAsString, isNull);
|
||||
expect(result.classRef!.name, equals('_InternalLinkedHashMap'));
|
||||
expect(result.classRef!.name, equals('_Map'));
|
||||
expect(result.size, isPositive);
|
||||
expect(result.fields, isEmpty);
|
||||
expect(result.length, equals(3));
|
||||
@@ -402,10 +402,10 @@ var tests = <IsolateTest>[
|
||||
final result = await service.getObject(isolateId, objectId,
|
||||
offset: 2, count: 2) as Instance;
|
||||
expect(result.kind, InstanceKind.kMap);
|
||||
expect(result.json!['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result.json!['_vmType'], equals('Map'));
|
||||
expect(result.id, startsWith('objects/'));
|
||||
expect(result.valueAsString, isNull);
|
||||
expect(result.classRef!.name, equals('_InternalLinkedHashMap'));
|
||||
expect(result.classRef!.name, equals('_Map'));
|
||||
expect(result.size, isPositive);
|
||||
expect(result.fields, isEmpty);
|
||||
expect(result.length, equals(3));
|
||||
@@ -432,10 +432,10 @@ var tests = <IsolateTest>[
|
||||
final result = await service.getObject(isolateId, objectId,
|
||||
offset: 100, count: 2) as Instance;
|
||||
expect(result.kind, InstanceKind.kMap);
|
||||
expect(result.json!['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result.json!['_vmType'], equals('Map'));
|
||||
expect(result.id, startsWith('objects/'));
|
||||
expect(result.valueAsString, isNull);
|
||||
expect(result.classRef!.name, equals('_InternalLinkedHashMap'));
|
||||
expect(result.classRef!.name, equals('_Map'));
|
||||
expect(result.size, isPositive);
|
||||
expect(result.fields, isEmpty);
|
||||
expect(result.length, equals(3));
|
||||
@@ -454,10 +454,10 @@ var tests = <IsolateTest>[
|
||||
final objectId = evalResult.id!;
|
||||
final result = await service.getObject(isolateId, objectId) as Instance;
|
||||
expect(result.kind, InstanceKind.kSet);
|
||||
expect(result.json!['_vmType'], equals('LinkedHashSet'));
|
||||
expect(result.json!['_vmType'], equals('Set'));
|
||||
expect(result.id, startsWith('objects/'));
|
||||
expect(result.valueAsString, isNull);
|
||||
expect(result.classRef!.name, equals('_InternalLinkedHashSet'));
|
||||
expect(result.classRef!.name, equals('_Set'));
|
||||
expect(result.size, isPositive);
|
||||
expect(result.fields, isEmpty);
|
||||
expect(result.length, equals(3));
|
||||
|
||||
@@ -342,11 +342,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Map'));
|
||||
expect(result['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result['_vmType'], equals('Map'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashMap'));
|
||||
expect(result['class']['name'], equals('_Map'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
@@ -384,11 +384,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Map'));
|
||||
expect(result['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result['_vmType'], equals('Map'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashMap'));
|
||||
expect(result['class']['name'], equals('_Map'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
@@ -421,11 +421,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Map'));
|
||||
expect(result['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result['_vmType'], equals('Map'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashMap'));
|
||||
expect(result['class']['name'], equals('_Map'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
@@ -452,11 +452,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Map'));
|
||||
expect(result['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result['_vmType'], equals('Map'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashMap'));
|
||||
expect(result['class']['name'], equals('_Map'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
@@ -475,11 +475,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Set'));
|
||||
expect(result['_vmType'], equals('LinkedHashSet'));
|
||||
expect(result['_vmType'], equals('Set'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashSet'));
|
||||
expect(result['class']['name'], equals('_Set'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
|
||||
@@ -340,11 +340,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Map'));
|
||||
expect(result['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result['_vmType'], equals('Map'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashMap'));
|
||||
expect(result['class']['name'], equals('_Map'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
@@ -382,11 +382,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Map'));
|
||||
expect(result['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result['_vmType'], equals('Map'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashMap'));
|
||||
expect(result['class']['name'], equals('_Map'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
@@ -419,11 +419,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Map'));
|
||||
expect(result['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result['_vmType'], equals('Map'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashMap'));
|
||||
expect(result['class']['name'], equals('_Map'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
@@ -450,11 +450,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Map'));
|
||||
expect(result['_vmType'], equals('LinkedHashMap'));
|
||||
expect(result['_vmType'], equals('Map'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashMap'));
|
||||
expect(result['class']['name'], equals('_Map'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
@@ -473,11 +473,11 @@ var tests = <IsolateTest>[
|
||||
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
|
||||
expect(result['type'], equals('Instance'));
|
||||
expect(result['kind'], equals('Set'));
|
||||
expect(result['_vmType'], equals('LinkedHashSet'));
|
||||
expect(result['_vmType'], equals('Set'));
|
||||
expect(result['id'], startsWith('objects/'));
|
||||
expect(result['valueAsString'], isNull);
|
||||
expect(result['class']['type'], equals('@Class'));
|
||||
expect(result['class']['name'], equals('_InternalLinkedHashSet'));
|
||||
expect(result['class']['name'], equals('_Set'));
|
||||
expect(result['size'], isPositive);
|
||||
expect(result['fields'], isEmpty);
|
||||
expect(result['length'], equals(3));
|
||||
|
||||
@@ -31,13 +31,9 @@ class FilterExpression extends SetExpression {
|
||||
} else if (pattern == 'List') {
|
||||
return ['_List', '_GrowableList', '_ImmutableList'];
|
||||
} else if (pattern == 'Map') {
|
||||
return [
|
||||
'_HashMap',
|
||||
'_CompactLinkedHashSet',
|
||||
'_CompactImmutableLinkedHashSet',
|
||||
'_InternalLinkedHashMap',
|
||||
'_InternalImmutableLinkedHashMap'
|
||||
];
|
||||
return ['_HashMap', '_Map', '_ConstMap'];
|
||||
} else if (pattern == 'Set') {
|
||||
return ['_HashSet', '_Set', '_ConstSet'];
|
||||
}
|
||||
return [pattern];
|
||||
})
|
||||
|
||||
+46
-50
@@ -5443,20 +5443,20 @@ class WeakPropertyDeserializationCluster : public DeserializationCluster {
|
||||
};
|
||||
|
||||
#if !defined(DART_PRECOMPILED_RUNTIME)
|
||||
class LinkedHashMapSerializationCluster : public SerializationCluster {
|
||||
class MapSerializationCluster : public SerializationCluster {
|
||||
public:
|
||||
LinkedHashMapSerializationCluster(bool is_canonical, intptr_t cid)
|
||||
: SerializationCluster("LinkedHashMap",
|
||||
MapSerializationCluster(bool is_canonical, intptr_t cid)
|
||||
: SerializationCluster("Map",
|
||||
cid,
|
||||
compiler::target::LinkedHashMap::InstanceSize(),
|
||||
compiler::target::Map::InstanceSize(),
|
||||
is_canonical) {}
|
||||
~LinkedHashMapSerializationCluster() {}
|
||||
~MapSerializationCluster() {}
|
||||
|
||||
void Trace(Serializer* s, ObjectPtr object) {
|
||||
LinkedHashMapPtr map = LinkedHashMap::RawCast(object);
|
||||
MapPtr map = Map::RawCast(object);
|
||||
// We never have mutable hashmaps in snapshots.
|
||||
ASSERT(map->untag()->IsCanonical());
|
||||
ASSERT_EQUAL(map.GetClassId(), kImmutableLinkedHashMapCid);
|
||||
ASSERT_EQUAL(map.GetClassId(), kConstMapCid);
|
||||
objects_.Add(map);
|
||||
PushFromTo(map);
|
||||
}
|
||||
@@ -5465,7 +5465,7 @@ class LinkedHashMapSerializationCluster : public SerializationCluster {
|
||||
const intptr_t count = objects_.length();
|
||||
s->WriteUnsigned(count);
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
LinkedHashMapPtr map = objects_[i];
|
||||
MapPtr map = objects_[i];
|
||||
s->AssignRef(map);
|
||||
}
|
||||
}
|
||||
@@ -5473,27 +5473,27 @@ class LinkedHashMapSerializationCluster : public SerializationCluster {
|
||||
void WriteFill(Serializer* s) {
|
||||
const intptr_t count = objects_.length();
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
LinkedHashMapPtr map = objects_[i];
|
||||
MapPtr map = objects_[i];
|
||||
AutoTraceObject(map);
|
||||
WriteFromTo(map);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
GrowableArray<LinkedHashMapPtr> objects_;
|
||||
GrowableArray<MapPtr> objects_;
|
||||
};
|
||||
#endif // !DART_PRECOMPILED_RUNTIME
|
||||
|
||||
class LinkedHashMapDeserializationCluster
|
||||
class MapDeserializationCluster
|
||||
: public AbstractInstanceDeserializationCluster {
|
||||
public:
|
||||
explicit LinkedHashMapDeserializationCluster(bool is_canonical, intptr_t cid)
|
||||
: AbstractInstanceDeserializationCluster("LinkedHashMap", is_canonical),
|
||||
explicit MapDeserializationCluster(bool is_canonical, intptr_t cid)
|
||||
: AbstractInstanceDeserializationCluster("Map", is_canonical),
|
||||
cid_(cid) {}
|
||||
~LinkedHashMapDeserializationCluster() {}
|
||||
~MapDeserializationCluster() {}
|
||||
|
||||
void ReadAlloc(Deserializer* d) {
|
||||
ReadAllocFixedSize(d, LinkedHashMap::InstanceSize());
|
||||
ReadAllocFixedSize(d, Map::InstanceSize());
|
||||
}
|
||||
|
||||
void ReadFill(Deserializer* d_, bool primary) {
|
||||
@@ -5502,8 +5502,8 @@ class LinkedHashMapDeserializationCluster
|
||||
const intptr_t cid = cid_;
|
||||
const bool mark_canonical = primary && is_canonical();
|
||||
for (intptr_t id = start_index_, n = stop_index_; id < n; id++) {
|
||||
LinkedHashMapPtr map = static_cast<LinkedHashMapPtr>(d.Ref(id));
|
||||
Deserializer::InitializeHeader(map, cid, LinkedHashMap::InstanceSize(),
|
||||
MapPtr map = static_cast<MapPtr>(d.Ref(id));
|
||||
Deserializer::InitializeHeader(map, cid, Map::InstanceSize(),
|
||||
mark_canonical);
|
||||
d.ReadFromTo(map);
|
||||
}
|
||||
@@ -5514,20 +5514,20 @@ class LinkedHashMapDeserializationCluster
|
||||
};
|
||||
|
||||
#if !defined(DART_PRECOMPILED_RUNTIME)
|
||||
class LinkedHashSetSerializationCluster : public SerializationCluster {
|
||||
class SetSerializationCluster : public SerializationCluster {
|
||||
public:
|
||||
LinkedHashSetSerializationCluster(bool is_canonical, intptr_t cid)
|
||||
: SerializationCluster("LinkedHashSet",
|
||||
SetSerializationCluster(bool is_canonical, intptr_t cid)
|
||||
: SerializationCluster("Set",
|
||||
cid,
|
||||
compiler::target::LinkedHashSet::InstanceSize(),
|
||||
compiler::target::Set::InstanceSize(),
|
||||
is_canonical) {}
|
||||
~LinkedHashSetSerializationCluster() {}
|
||||
~SetSerializationCluster() {}
|
||||
|
||||
void Trace(Serializer* s, ObjectPtr object) {
|
||||
LinkedHashSetPtr set = LinkedHashSet::RawCast(object);
|
||||
SetPtr set = Set::RawCast(object);
|
||||
// We never have mutable hashsets in snapshots.
|
||||
ASSERT(set->untag()->IsCanonical());
|
||||
ASSERT_EQUAL(set.GetClassId(), kImmutableLinkedHashSetCid);
|
||||
ASSERT_EQUAL(set.GetClassId(), kConstSetCid);
|
||||
objects_.Add(set);
|
||||
PushFromTo(set);
|
||||
}
|
||||
@@ -5536,7 +5536,7 @@ class LinkedHashSetSerializationCluster : public SerializationCluster {
|
||||
const intptr_t count = objects_.length();
|
||||
s->WriteUnsigned(count);
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
LinkedHashSetPtr set = objects_[i];
|
||||
SetPtr set = objects_[i];
|
||||
s->AssignRef(set);
|
||||
}
|
||||
}
|
||||
@@ -5544,27 +5544,27 @@ class LinkedHashSetSerializationCluster : public SerializationCluster {
|
||||
void WriteFill(Serializer* s) {
|
||||
const intptr_t count = objects_.length();
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
LinkedHashSetPtr set = objects_[i];
|
||||
SetPtr set = objects_[i];
|
||||
AutoTraceObject(set);
|
||||
WriteFromTo(set);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
GrowableArray<LinkedHashSetPtr> objects_;
|
||||
GrowableArray<SetPtr> objects_;
|
||||
};
|
||||
#endif // !DART_PRECOMPILED_RUNTIME
|
||||
|
||||
class LinkedHashSetDeserializationCluster
|
||||
class SetDeserializationCluster
|
||||
: public AbstractInstanceDeserializationCluster {
|
||||
public:
|
||||
explicit LinkedHashSetDeserializationCluster(bool is_canonical, intptr_t cid)
|
||||
: AbstractInstanceDeserializationCluster("LinkedHashSet", is_canonical),
|
||||
explicit SetDeserializationCluster(bool is_canonical, intptr_t cid)
|
||||
: AbstractInstanceDeserializationCluster("Set", is_canonical),
|
||||
cid_(cid) {}
|
||||
~LinkedHashSetDeserializationCluster() {}
|
||||
~SetDeserializationCluster() {}
|
||||
|
||||
void ReadAlloc(Deserializer* d) {
|
||||
ReadAllocFixedSize(d, LinkedHashSet::InstanceSize());
|
||||
ReadAllocFixedSize(d, Set::InstanceSize());
|
||||
}
|
||||
|
||||
void ReadFill(Deserializer* d_, bool primary) {
|
||||
@@ -5573,8 +5573,8 @@ class LinkedHashSetDeserializationCluster
|
||||
const intptr_t cid = cid_;
|
||||
const bool mark_canonical = primary && is_canonical();
|
||||
for (intptr_t id = start_index_, n = stop_index_; id < n; id++) {
|
||||
LinkedHashSetPtr set = static_cast<LinkedHashSetPtr>(d.Ref(id));
|
||||
Deserializer::InitializeHeader(set, cid, LinkedHashSet::InstanceSize(),
|
||||
SetPtr set = static_cast<SetPtr>(d.Ref(id));
|
||||
Deserializer::InitializeHeader(set, cid, Set::InstanceSize(),
|
||||
mark_canonical);
|
||||
d.ReadFromTo(set);
|
||||
}
|
||||
@@ -7031,18 +7031,16 @@ SerializationCluster* Serializer::NewClusterForClass(intptr_t cid,
|
||||
return new (Z) RegExpSerializationCluster();
|
||||
case kWeakPropertyCid:
|
||||
return new (Z) WeakPropertySerializationCluster();
|
||||
case kLinkedHashMapCid:
|
||||
case kMapCid:
|
||||
// We do not have mutable hash maps in snapshots.
|
||||
UNREACHABLE();
|
||||
case kImmutableLinkedHashMapCid:
|
||||
return new (Z) LinkedHashMapSerializationCluster(
|
||||
is_canonical, kImmutableLinkedHashMapCid);
|
||||
case kLinkedHashSetCid:
|
||||
case kConstMapCid:
|
||||
return new (Z) MapSerializationCluster(is_canonical, kConstMapCid);
|
||||
case kSetCid:
|
||||
// We do not have mutable hash sets in snapshots.
|
||||
UNREACHABLE();
|
||||
case kImmutableLinkedHashSetCid:
|
||||
return new (Z) LinkedHashSetSerializationCluster(
|
||||
is_canonical, kImmutableLinkedHashSetCid);
|
||||
case kConstSetCid:
|
||||
return new (Z) SetSerializationCluster(is_canonical, kConstSetCid);
|
||||
case kArrayCid:
|
||||
return new (Z) ArraySerializationCluster(is_canonical, kArrayCid);
|
||||
case kImmutableArrayCid:
|
||||
@@ -8198,18 +8196,16 @@ DeserializationCluster* Deserializer::ReadCluster() {
|
||||
case kWeakPropertyCid:
|
||||
ASSERT(!is_canonical);
|
||||
return new (Z) WeakPropertyDeserializationCluster();
|
||||
case kLinkedHashMapCid:
|
||||
case kMapCid:
|
||||
// We do not have mutable hash maps in snapshots.
|
||||
UNREACHABLE();
|
||||
case kImmutableLinkedHashMapCid:
|
||||
return new (Z) LinkedHashMapDeserializationCluster(
|
||||
is_canonical, kImmutableLinkedHashMapCid);
|
||||
case kLinkedHashSetCid:
|
||||
case kConstMapCid:
|
||||
return new (Z) MapDeserializationCluster(is_canonical, kConstMapCid);
|
||||
case kSetCid:
|
||||
// We do not have mutable hash sets in snapshots.
|
||||
UNREACHABLE();
|
||||
case kImmutableLinkedHashSetCid:
|
||||
return new (Z) LinkedHashSetDeserializationCluster(
|
||||
is_canonical, kImmutableLinkedHashSetCid);
|
||||
case kConstSetCid:
|
||||
return new (Z) SetDeserializationCluster(is_canonical, kConstSetCid);
|
||||
case kArrayCid:
|
||||
return new (Z) ArrayDeserializationCluster(is_canonical, kArrayCid);
|
||||
case kImmutableArrayCid:
|
||||
|
||||
@@ -96,13 +96,13 @@ static void Finish(Thread* thread) {
|
||||
cls.EnsureIsFinalized(thread);
|
||||
cls = object_store->immutable_array_class();
|
||||
cls.EnsureIsFinalized(thread);
|
||||
cls = object_store->linked_hash_map_class();
|
||||
cls = object_store->map_impl_class();
|
||||
cls.EnsureIsFinalized(thread);
|
||||
cls = object_store->immutable_linked_hash_map_class();
|
||||
cls = object_store->const_map_impl_class();
|
||||
cls.EnsureIsFinalized(thread);
|
||||
cls = object_store->linked_hash_set_class();
|
||||
cls = object_store->set_impl_class();
|
||||
cls.EnsureIsFinalized(thread);
|
||||
cls = object_store->immutable_linked_hash_set_class();
|
||||
cls = object_store->const_set_impl_class();
|
||||
cls.EnsureIsFinalized(thread);
|
||||
}
|
||||
|
||||
|
||||
@@ -271,14 +271,14 @@ void ClassFinalizer::VerifyBootstrapClasses() {
|
||||
ASSERT_EQUAL(Finalizer::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->finalizer_entry_class();
|
||||
ASSERT_EQUAL(FinalizerEntry::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->linked_hash_map_class();
|
||||
ASSERT_EQUAL(LinkedHashMap::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->immutable_linked_hash_map_class();
|
||||
ASSERT_EQUAL(LinkedHashMap::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->linked_hash_set_class();
|
||||
ASSERT_EQUAL(LinkedHashSet::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->immutable_linked_hash_set_class();
|
||||
ASSERT_EQUAL(LinkedHashSet::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->map_impl_class();
|
||||
ASSERT_EQUAL(Map::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->const_map_impl_class();
|
||||
ASSERT_EQUAL(Map::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->set_impl_class();
|
||||
ASSERT_EQUAL(Set::InstanceSize(), cls.host_instance_size());
|
||||
cls = object_store->const_set_impl_class();
|
||||
ASSERT_EQUAL(Set::InstanceSize(), cls.host_instance_size());
|
||||
#endif // defined(DEBUG)
|
||||
|
||||
// Remember the currently pending classes.
|
||||
|
||||
@@ -110,12 +110,12 @@ typedef uint16_t ClassIdTagType;
|
||||
CLASS_LIST_INTERNAL_ONLY(V) CLASS_LIST_INSTANCE_SINGLETONS(V)
|
||||
|
||||
#define CLASS_LIST_MAPS(V) \
|
||||
V(LinkedHashMap) \
|
||||
V(ImmutableLinkedHashMap)
|
||||
V(Map) \
|
||||
V(ConstMap)
|
||||
|
||||
#define CLASS_LIST_SETS(V) \
|
||||
V(LinkedHashSet) \
|
||||
V(ImmutableLinkedHashSet)
|
||||
V(Set) \
|
||||
V(ConstSet)
|
||||
|
||||
#define CLASS_LIST_FIXED_LENGTH_ARRAYS(V) \
|
||||
V(Array) \
|
||||
@@ -190,8 +190,8 @@ typedef uint16_t ClassIdTagType;
|
||||
|
||||
#define CLASS_LIST_FOR_HANDLES(V) \
|
||||
CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP(V) \
|
||||
V(LinkedHashMap) \
|
||||
V(LinkedHashSet) \
|
||||
V(Map) \
|
||||
V(Set) \
|
||||
V(Array) \
|
||||
V(GrowableObjectArray) \
|
||||
V(String)
|
||||
|
||||
@@ -2510,10 +2510,9 @@ class ConstantInstanceVisitor {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case kImmutableLinkedHashMapCid: {
|
||||
const LinkedHashMap& map =
|
||||
LinkedHashMap::Handle(LinkedHashMap::RawCast(object_ptr));
|
||||
LinkedHashMap::Iterator iterator(map);
|
||||
case kConstMapCid: {
|
||||
const Map& map = Map::Handle(Map::RawCast(object_ptr));
|
||||
Map::Iterator iterator(map);
|
||||
while (iterator.MoveNext()) {
|
||||
ObjectPtr element = iterator.CurrentKey();
|
||||
Visit(element);
|
||||
@@ -2532,10 +2531,9 @@ class ConstantInstanceVisitor {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case kImmutableLinkedHashSetCid: {
|
||||
const LinkedHashSet& set =
|
||||
LinkedHashSet::Handle(LinkedHashSet::RawCast(object_ptr));
|
||||
LinkedHashSet::Iterator iterator(set);
|
||||
case kConstSetCid: {
|
||||
const Set& set = Set::Handle(Set::RawCast(object_ptr));
|
||||
Set::Iterator iterator(set);
|
||||
while (iterator.MoveNext()) {
|
||||
ObjectPtr element = iterator.CurrentKey();
|
||||
Visit(element);
|
||||
|
||||
@@ -1553,8 +1553,8 @@ void FlowGraphSerializer::WriteObjectImpl(const Object& x,
|
||||
}
|
||||
break;
|
||||
}
|
||||
case kImmutableLinkedHashMapCid:
|
||||
case kImmutableLinkedHashSetCid: {
|
||||
case kConstMapCid:
|
||||
case kConstSetCid: {
|
||||
const auto& map = LinkedHashBase::Cast(x);
|
||||
ASSERT(map.IsCanonical());
|
||||
const intptr_t length = map.Length();
|
||||
@@ -1564,7 +1564,7 @@ void FlowGraphSerializer::WriteObjectImpl(const Object& x,
|
||||
const auto& data = Array::Handle(Z, map.data());
|
||||
auto& elem = Object::Handle(Z);
|
||||
intptr_t used_data;
|
||||
if (cid == kImmutableLinkedHashMapCid) {
|
||||
if (cid == kConstMapCid) {
|
||||
used_data = length << 1;
|
||||
} else {
|
||||
used_data = length;
|
||||
@@ -1830,17 +1830,17 @@ const Object& FlowGraphDeserializer::ReadObjectImpl(intptr_t cid,
|
||||
}
|
||||
break;
|
||||
}
|
||||
case kImmutableLinkedHashMapCid:
|
||||
case kImmutableLinkedHashSetCid: {
|
||||
case kConstMapCid:
|
||||
case kConstSetCid: {
|
||||
const intptr_t length = Read<intptr_t>();
|
||||
const auto& type_args = Read<const TypeArguments&>();
|
||||
Instance& result = Instance::ZoneHandle(Z);
|
||||
intptr_t used_data;
|
||||
if (cid == kImmutableLinkedHashMapCid) {
|
||||
result = ImmutableLinkedHashMap::NewUninitialized(Heap::kOld);
|
||||
if (cid == kConstMapCid) {
|
||||
result = ConstMap::NewUninitialized(Heap::kOld);
|
||||
used_data = (length << 1);
|
||||
} else {
|
||||
result = ImmutableLinkedHashSet::NewUninitialized(Heap::kOld);
|
||||
result = ConstSet::NewUninitialized(Heap::kOld);
|
||||
used_data = length;
|
||||
}
|
||||
// LinkedHashBase is not a proper handle type, so
|
||||
|
||||
@@ -54,7 +54,7 @@ class ParsedFunction;
|
||||
#define NULLABLE_BOXED_NATIVE_SLOTS_LIST(V) \
|
||||
V(Array, UntaggedArray, type_arguments, TypeArguments, FINAL) \
|
||||
V(Finalizer, UntaggedFinalizer, type_arguments, TypeArguments, FINAL) \
|
||||
V(FinalizerBase, UntaggedFinalizerBase, all_entries, LinkedHashSet, VAR) \
|
||||
V(FinalizerBase, UntaggedFinalizerBase, all_entries, Set, VAR) \
|
||||
V(FinalizerBase, UntaggedFinalizerBase, detachments, Dynamic, VAR) \
|
||||
V(FinalizerBase, UntaggedFinalizer, entries_collected, FinalizerEntry, VAR) \
|
||||
V(FinalizerEntry, UntaggedFinalizerEntry, value, Dynamic, VAR) \
|
||||
|
||||
@@ -264,8 +264,7 @@ InstancePtr ConstantReader::ReadConstantInternal(intptr_t constant_index) {
|
||||
}
|
||||
case kMapConstant: {
|
||||
const auto& map_class = Class::Handle(
|
||||
Z,
|
||||
H.isolate_group()->object_store()->immutable_linked_hash_map_class());
|
||||
Z, H.isolate_group()->object_store()->const_map_impl_class());
|
||||
ASSERT(!map_class.IsNull());
|
||||
ASSERT(map_class.is_finalized());
|
||||
|
||||
@@ -287,9 +286,8 @@ InstancePtr ConstantReader::ReadConstantInternal(intptr_t constant_index) {
|
||||
type_arguments = type.arguments();
|
||||
|
||||
// Fill map with constant elements.
|
||||
const auto& map = LinkedHashMap::Handle(
|
||||
Z, ImmutableLinkedHashMap::NewUninitialized(Heap::kOld));
|
||||
ASSERT_EQUAL(map.GetClassId(), kImmutableLinkedHashMapCid);
|
||||
const auto& map = Map::Handle(Z, ConstMap::NewUninitialized(Heap::kOld));
|
||||
ASSERT_EQUAL(map.GetClassId(), kConstMapCid);
|
||||
map.SetTypeArguments(type_arguments);
|
||||
const intptr_t length = reader.ReadUInt();
|
||||
const intptr_t used_data = (length << 1);
|
||||
@@ -359,8 +357,7 @@ InstancePtr ConstantReader::ReadConstantInternal(intptr_t constant_index) {
|
||||
}
|
||||
case kSetConstant: {
|
||||
const auto& set_class = Class::Handle(
|
||||
Z,
|
||||
H.isolate_group()->object_store()->immutable_linked_hash_set_class());
|
||||
Z, H.isolate_group()->object_store()->const_set_impl_class());
|
||||
ASSERT(!set_class.IsNull());
|
||||
ASSERT(set_class.is_finalized());
|
||||
|
||||
@@ -380,9 +377,8 @@ InstancePtr ConstantReader::ReadConstantInternal(intptr_t constant_index) {
|
||||
type_arguments = type.arguments();
|
||||
|
||||
// Fill set with constant elements.
|
||||
const auto& set = LinkedHashSet::Handle(
|
||||
Z, ImmutableLinkedHashSet::NewUninitialized(Heap::kOld));
|
||||
ASSERT_EQUAL(set.GetClassId(), kImmutableLinkedHashSetCid);
|
||||
const auto& set = Set::Handle(Z, ConstSet::NewUninitialized(Heap::kOld));
|
||||
ASSERT_EQUAL(set.GetClassId(), kConstSetCid);
|
||||
set.SetTypeArguments(type_arguments);
|
||||
const intptr_t length = reader.ReadUInt();
|
||||
const intptr_t used_data = length;
|
||||
|
||||
@@ -451,10 +451,10 @@ static uword GetInstanceSizeImpl(const dart::Class& handle) {
|
||||
return Closure::InstanceSize();
|
||||
case kTypedDataBaseCid:
|
||||
return TypedDataBase::InstanceSize();
|
||||
case kLinkedHashMapCid:
|
||||
return LinkedHashMap::InstanceSize();
|
||||
case kLinkedHashSetCid:
|
||||
return LinkedHashSet::InstanceSize();
|
||||
case kMapCid:
|
||||
return Map::InstanceSize();
|
||||
case kSetCid:
|
||||
return Set::InstanceSize();
|
||||
case kUnhandledExceptionCid:
|
||||
return UnhandledException::InstanceSize();
|
||||
case kWeakPropertyCid:
|
||||
|
||||
@@ -659,12 +659,12 @@ class ImmutableLinkedHashBase : public LinkedHashBase {
|
||||
static word data_offset();
|
||||
};
|
||||
|
||||
class LinkedHashMap : public LinkedHashBase {
|
||||
class Map : public LinkedHashBase {
|
||||
public:
|
||||
FINAL_CLASS();
|
||||
};
|
||||
|
||||
class LinkedHashSet : public LinkedHashBase {
|
||||
class Set : public LinkedHashBase {
|
||||
public:
|
||||
FINAL_CLASS();
|
||||
};
|
||||
|
||||
@@ -2489,7 +2489,7 @@ void Isolate::RunAndCleanupFinalizersOnShutdown() {
|
||||
auto& weak_reference = WeakReference::Handle(stack_zone.GetZone());
|
||||
auto& finalizer = FinalizerBase::Handle(stack_zone.GetZone());
|
||||
auto& current_entry = FinalizerEntry::Handle(stack_zone.GetZone());
|
||||
auto& all_entries = LinkedHashSet::Handle(stack_zone.GetZone());
|
||||
auto& all_entries = Set::Handle(stack_zone.GetZone());
|
||||
for (int i = 0; i < num_finalizers; i++) {
|
||||
weak_reference ^= finalizers.At(i);
|
||||
finalizer ^= weak_reference.target();
|
||||
@@ -2510,7 +2510,7 @@ void Isolate::RunAndCleanupFinalizersOnShutdown() {
|
||||
// Immediately call native callback.
|
||||
const auto& native_finalizer = NativeFinalizer::Cast(finalizer);
|
||||
all_entries = finalizer.all_entries();
|
||||
LinkedHashSet::Iterator iterator(all_entries);
|
||||
Set::Iterator iterator(all_entries);
|
||||
while (iterator.MoveNext()) {
|
||||
current_entry ^= iterator.CurrentKey();
|
||||
native_finalizer.RunCallback(current_entry, "Isolate shutdown");
|
||||
|
||||
@@ -4076,10 +4076,8 @@ TEST_CASE(IsolateReload_RunNewFieldInitializersWithGenerics) {
|
||||
EXPECT_VALID(lib);
|
||||
// Verify that we ran field initializers on existing instances and
|
||||
// correct type arguments were used.
|
||||
EXPECT_STREQ(
|
||||
"List<String> _InternalLinkedHashMap<String, String> List<int> "
|
||||
"_InternalLinkedHashMap<int, int>",
|
||||
SimpleInvokeStr(lib, "main"));
|
||||
EXPECT_STREQ("List<String> _Map<String, String> List<int> _Map<int, int>",
|
||||
SimpleInvokeStr(lib, "main"));
|
||||
}
|
||||
|
||||
TEST_CASE(IsolateReload_AddNewStaticField) {
|
||||
|
||||
@@ -2180,23 +2180,20 @@ class CapabilityMessageDeserializationCluster
|
||||
}
|
||||
};
|
||||
|
||||
class LinkedHashMapMessageSerializationCluster
|
||||
: public MessageSerializationCluster {
|
||||
class MapMessageSerializationCluster : public MessageSerializationCluster {
|
||||
public:
|
||||
LinkedHashMapMessageSerializationCluster(Zone* zone,
|
||||
bool is_canonical,
|
||||
intptr_t cid)
|
||||
: MessageSerializationCluster("LinkedHashMap",
|
||||
MapMessageSerializationCluster(Zone* zone, bool is_canonical, intptr_t cid)
|
||||
: MessageSerializationCluster("Map",
|
||||
is_canonical
|
||||
? MessagePhase::kCanonicalInstances
|
||||
: MessagePhase::kNonCanonicalInstances,
|
||||
cid,
|
||||
is_canonical),
|
||||
objects_(zone, 0) {}
|
||||
~LinkedHashMapMessageSerializationCluster() {}
|
||||
~MapMessageSerializationCluster() {}
|
||||
|
||||
void Trace(MessageSerializer* s, Object* object) {
|
||||
LinkedHashMap* map = static_cast<LinkedHashMap*>(object);
|
||||
Map* map = static_cast<Map*>(object);
|
||||
objects_.Add(map);
|
||||
|
||||
// Compensation for bogus type prefix optimization.
|
||||
@@ -2216,7 +2213,7 @@ class LinkedHashMapMessageSerializationCluster
|
||||
const intptr_t count = objects_.length();
|
||||
s->WriteUnsigned(count);
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
LinkedHashMap* map = objects_[i];
|
||||
Map* map = objects_[i];
|
||||
s->AssignRef(map);
|
||||
}
|
||||
}
|
||||
@@ -2224,7 +2221,7 @@ class LinkedHashMapMessageSerializationCluster
|
||||
void WriteEdges(MessageSerializer* s) {
|
||||
const intptr_t count = objects_.length();
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
LinkedHashMap* map = objects_[i];
|
||||
Map* map = objects_[i];
|
||||
s->WriteRef(map->untag()->type_arguments());
|
||||
s->WriteRef(map->untag()->data());
|
||||
s->WriteRef(map->untag()->used_data());
|
||||
@@ -2232,27 +2229,25 @@ class LinkedHashMapMessageSerializationCluster
|
||||
}
|
||||
|
||||
private:
|
||||
GrowableArray<LinkedHashMap*> objects_;
|
||||
GrowableArray<Map*> objects_;
|
||||
};
|
||||
|
||||
class LinkedHashMapMessageDeserializationCluster
|
||||
: public MessageDeserializationCluster {
|
||||
class MapMessageDeserializationCluster : public MessageDeserializationCluster {
|
||||
public:
|
||||
LinkedHashMapMessageDeserializationCluster(bool is_canonical, intptr_t cid)
|
||||
: MessageDeserializationCluster("LinkedHashMap", is_canonical),
|
||||
cid_(cid) {}
|
||||
~LinkedHashMapMessageDeserializationCluster() {}
|
||||
MapMessageDeserializationCluster(bool is_canonical, intptr_t cid)
|
||||
: MessageDeserializationCluster("Map", is_canonical), cid_(cid) {}
|
||||
~MapMessageDeserializationCluster() {}
|
||||
|
||||
void ReadNodes(MessageDeserializer* d) {
|
||||
const intptr_t count = d->ReadUnsigned();
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
d->AssignRef(LinkedHashMap::NewUninitialized(cid_));
|
||||
d->AssignRef(Map::NewUninitialized(cid_));
|
||||
}
|
||||
}
|
||||
|
||||
void ReadEdges(MessageDeserializer* d) {
|
||||
for (intptr_t id = start_index_; id < stop_index_; id++) {
|
||||
LinkedHashMapPtr map = static_cast<LinkedHashMapPtr>(d->Ref(id));
|
||||
MapPtr map = static_cast<MapPtr>(d->Ref(id));
|
||||
map->untag()->set_hash_mask(Smi::New(0));
|
||||
map->untag()->set_type_arguments(
|
||||
static_cast<TypeArgumentsPtr>(d->ReadRef()));
|
||||
@@ -2264,14 +2259,14 @@ class LinkedHashMapMessageDeserializationCluster
|
||||
|
||||
ObjectPtr PostLoad(MessageDeserializer* d) {
|
||||
if (!is_canonical()) {
|
||||
ASSERT(cid_ == kLinkedHashMapCid);
|
||||
ASSERT(cid_ == kMapCid);
|
||||
return PostLoadLinkedHash(d);
|
||||
}
|
||||
|
||||
ASSERT(cid_ == kImmutableLinkedHashMapCid);
|
||||
ASSERT(cid_ == kConstMapCid);
|
||||
SafepointMutexLocker ml(
|
||||
d->isolate_group()->constant_canonicalization_mutex());
|
||||
LinkedHashMap& instance = LinkedHashMap::Handle(d->zone());
|
||||
Map& instance = Map::Handle(d->zone());
|
||||
for (intptr_t i = start_index_; i < stop_index_; i++) {
|
||||
instance ^= d->Ref(i);
|
||||
instance ^= instance.CanonicalizeLocked(d->thread());
|
||||
@@ -2284,23 +2279,20 @@ class LinkedHashMapMessageDeserializationCluster
|
||||
const intptr_t cid_;
|
||||
};
|
||||
|
||||
class LinkedHashSetMessageSerializationCluster
|
||||
: public MessageSerializationCluster {
|
||||
class SetMessageSerializationCluster : public MessageSerializationCluster {
|
||||
public:
|
||||
LinkedHashSetMessageSerializationCluster(Zone* zone,
|
||||
bool is_canonical,
|
||||
intptr_t cid)
|
||||
: MessageSerializationCluster("LinkedHashSet",
|
||||
SetMessageSerializationCluster(Zone* zone, bool is_canonical, intptr_t cid)
|
||||
: MessageSerializationCluster("Set",
|
||||
is_canonical
|
||||
? MessagePhase::kCanonicalInstances
|
||||
: MessagePhase::kNonCanonicalInstances,
|
||||
cid,
|
||||
is_canonical),
|
||||
objects_(zone, 0) {}
|
||||
~LinkedHashSetMessageSerializationCluster() {}
|
||||
~SetMessageSerializationCluster() {}
|
||||
|
||||
void Trace(MessageSerializer* s, Object* object) {
|
||||
LinkedHashSet* set = static_cast<LinkedHashSet*>(object);
|
||||
Set* set = static_cast<Set*>(object);
|
||||
objects_.Add(set);
|
||||
|
||||
// Compensation for bogus type prefix optimization.
|
||||
@@ -2320,7 +2312,7 @@ class LinkedHashSetMessageSerializationCluster
|
||||
const intptr_t count = objects_.length();
|
||||
s->WriteUnsigned(count);
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
LinkedHashSet* set = objects_[i];
|
||||
Set* set = objects_[i];
|
||||
s->AssignRef(set);
|
||||
}
|
||||
}
|
||||
@@ -2328,7 +2320,7 @@ class LinkedHashSetMessageSerializationCluster
|
||||
void WriteEdges(MessageSerializer* s) {
|
||||
const intptr_t count = objects_.length();
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
LinkedHashSet* set = objects_[i];
|
||||
Set* set = objects_[i];
|
||||
s->WriteRef(set->untag()->type_arguments());
|
||||
s->WriteRef(set->untag()->data());
|
||||
s->WriteRef(set->untag()->used_data());
|
||||
@@ -2336,27 +2328,25 @@ class LinkedHashSetMessageSerializationCluster
|
||||
}
|
||||
|
||||
private:
|
||||
GrowableArray<LinkedHashSet*> objects_;
|
||||
GrowableArray<Set*> objects_;
|
||||
};
|
||||
|
||||
class LinkedHashSetMessageDeserializationCluster
|
||||
: public MessageDeserializationCluster {
|
||||
class SetMessageDeserializationCluster : public MessageDeserializationCluster {
|
||||
public:
|
||||
LinkedHashSetMessageDeserializationCluster(bool is_canonical, intptr_t cid)
|
||||
: MessageDeserializationCluster("LinkedHashSet", is_canonical),
|
||||
cid_(cid) {}
|
||||
~LinkedHashSetMessageDeserializationCluster() {}
|
||||
SetMessageDeserializationCluster(bool is_canonical, intptr_t cid)
|
||||
: MessageDeserializationCluster("Set", is_canonical), cid_(cid) {}
|
||||
~SetMessageDeserializationCluster() {}
|
||||
|
||||
void ReadNodes(MessageDeserializer* d) {
|
||||
const intptr_t count = d->ReadUnsigned();
|
||||
for (intptr_t i = 0; i < count; i++) {
|
||||
d->AssignRef(LinkedHashSet::NewUninitialized(cid_));
|
||||
d->AssignRef(Set::NewUninitialized(cid_));
|
||||
}
|
||||
}
|
||||
|
||||
void ReadEdges(MessageDeserializer* d) {
|
||||
for (intptr_t id = start_index_; id < stop_index_; id++) {
|
||||
LinkedHashSetPtr map = static_cast<LinkedHashSetPtr>(d->Ref(id));
|
||||
SetPtr map = static_cast<SetPtr>(d->Ref(id));
|
||||
map->untag()->set_hash_mask(Smi::New(0));
|
||||
map->untag()->set_type_arguments(
|
||||
static_cast<TypeArgumentsPtr>(d->ReadRef()));
|
||||
@@ -2368,14 +2358,14 @@ class LinkedHashSetMessageDeserializationCluster
|
||||
|
||||
ObjectPtr PostLoad(MessageDeserializer* d) {
|
||||
if (!is_canonical()) {
|
||||
ASSERT(cid_ == kLinkedHashSetCid);
|
||||
ASSERT(cid_ == kSetCid);
|
||||
return PostLoadLinkedHash(d);
|
||||
}
|
||||
|
||||
ASSERT(cid_ == kImmutableLinkedHashSetCid);
|
||||
ASSERT(cid_ == kConstSetCid);
|
||||
SafepointMutexLocker ml(
|
||||
d->isolate_group()->constant_canonicalization_mutex());
|
||||
LinkedHashSet& instance = LinkedHashSet::Handle(d->zone());
|
||||
Set& instance = Set::Handle(d->zone());
|
||||
for (intptr_t i = start_index_; i < stop_index_; i++) {
|
||||
instance ^= d->Ref(i);
|
||||
instance ^= instance.CanonicalizeLocked(d->thread());
|
||||
@@ -3175,14 +3165,12 @@ MessageSerializationCluster* BaseSerializer::NewClusterForClass(
|
||||
return new (Z) CapabilityMessageSerializationCluster(Z);
|
||||
case kTransferableTypedDataCid:
|
||||
return new (Z) TransferableTypedDataMessageSerializationCluster();
|
||||
case kLinkedHashMapCid:
|
||||
case kImmutableLinkedHashMapCid:
|
||||
return new (Z)
|
||||
LinkedHashMapMessageSerializationCluster(Z, is_canonical, cid);
|
||||
case kLinkedHashSetCid:
|
||||
case kImmutableLinkedHashSetCid:
|
||||
return new (Z)
|
||||
LinkedHashSetMessageSerializationCluster(Z, is_canonical, cid);
|
||||
case kMapCid:
|
||||
case kConstMapCid:
|
||||
return new (Z) MapMessageSerializationCluster(Z, is_canonical, cid);
|
||||
case kSetCid:
|
||||
case kConstSetCid:
|
||||
return new (Z) SetMessageSerializationCluster(Z, is_canonical, cid);
|
||||
case kArrayCid:
|
||||
case kImmutableArrayCid:
|
||||
return new (Z) ArrayMessageSerializationCluster(Z, is_canonical, cid);
|
||||
@@ -3261,14 +3249,12 @@ MessageDeserializationCluster* BaseDeserializer::ReadCluster() {
|
||||
case kTransferableTypedDataCid:
|
||||
ASSERT(!is_canonical);
|
||||
return new (Z) TransferableTypedDataMessageDeserializationCluster();
|
||||
case kLinkedHashMapCid:
|
||||
case kImmutableLinkedHashMapCid:
|
||||
return new (Z)
|
||||
LinkedHashMapMessageDeserializationCluster(is_canonical, cid);
|
||||
case kLinkedHashSetCid:
|
||||
case kImmutableLinkedHashSetCid:
|
||||
return new (Z)
|
||||
LinkedHashSetMessageDeserializationCluster(is_canonical, cid);
|
||||
case kMapCid:
|
||||
case kConstMapCid:
|
||||
return new (Z) MapMessageDeserializationCluster(is_canonical, cid);
|
||||
case kSetCid:
|
||||
case kConstSetCid:
|
||||
return new (Z) SetMessageDeserializationCluster(is_canonical, cid);
|
||||
case kArrayCid:
|
||||
case kImmutableArrayCid:
|
||||
return new (Z) ArrayMessageDeserializationCluster(is_canonical, cid);
|
||||
|
||||
+94
-126
@@ -621,7 +621,7 @@ void Object::InitVtables() {
|
||||
|
||||
#define INIT_VTABLE(clazz) \
|
||||
{ \
|
||||
LinkedHashMap fake_handle; \
|
||||
Map fake_handle; \
|
||||
builtin_vtables_[k##clazz##Cid] = fake_handle.vtable(); \
|
||||
}
|
||||
CLASS_LIST_MAPS(INIT_VTABLE)
|
||||
@@ -629,7 +629,7 @@ void Object::InitVtables() {
|
||||
|
||||
#define INIT_VTABLE(clazz) \
|
||||
{ \
|
||||
LinkedHashSet fake_handle; \
|
||||
Set fake_handle; \
|
||||
builtin_vtables_[k##clazz##Cid] = fake_handle.vtable(); \
|
||||
}
|
||||
CLASS_LIST_SETS(INIT_VTABLE)
|
||||
@@ -1718,8 +1718,8 @@ ErrorPtr Object::Init(IsolateGroup* isolate_group,
|
||||
object_store->set_array_class(cls);
|
||||
|
||||
// VM classes that are parameterized (Array, ImmutableArray,
|
||||
// GrowableObjectArray, LinkedHashMap, ImmutableLinkedHashMap,
|
||||
// LinkedHashSet, ImmutableLinkedHashSet) are also pre-finalized, so
|
||||
// GrowableObjectArray, Map, ConstMap,
|
||||
// Set, ConstSet) are also pre-finalized, so
|
||||
// CalculateFieldOffsets() is not called, so we need to set the offset
|
||||
// of their type_arguments_ field, which is explicitly
|
||||
// declared in their respective Raw* classes.
|
||||
@@ -2025,7 +2025,7 @@ ErrorPtr Object::Init(IsolateGroup* isolate_group,
|
||||
RegisterPrivateClass(cls, Symbols::_MirrorReference(), lib);
|
||||
|
||||
// Pre-register the collection library so we can place the vm class
|
||||
// LinkedHashMap there rather than the core library.
|
||||
// Map there rather than the core library.
|
||||
lib = Library::LookupLibrary(thread, Symbols::DartCollection());
|
||||
if (lib.IsNull()) {
|
||||
lib = Library::NewLibraryHelper(Symbols::DartCollection(), true);
|
||||
@@ -2036,44 +2036,38 @@ ErrorPtr Object::Init(IsolateGroup* isolate_group,
|
||||
object_store->set_bootstrap_library(ObjectStore::kCollection, lib);
|
||||
ASSERT(!lib.IsNull());
|
||||
ASSERT(lib.ptr() == Library::CollectionLibrary());
|
||||
cls = Class::New<LinkedHashMap, RTN::LinkedHashMap>(isolate_group);
|
||||
object_store->set_linked_hash_map_class(cls);
|
||||
cls.set_type_arguments_field_offset(
|
||||
LinkedHashMap::type_arguments_offset(),
|
||||
RTN::LinkedHashMap::type_arguments_offset());
|
||||
cls = Class::New<Map, RTN::Map>(isolate_group);
|
||||
object_store->set_map_impl_class(cls);
|
||||
cls.set_type_arguments_field_offset(Map::type_arguments_offset(),
|
||||
RTN::Map::type_arguments_offset());
|
||||
cls.set_num_type_arguments_unsafe(2);
|
||||
RegisterPrivateClass(cls, Symbols::_LinkedHashMap(), lib);
|
||||
RegisterPrivateClass(cls, Symbols::_Map(), lib);
|
||||
pending_classes.Add(cls);
|
||||
|
||||
cls = Class::New<LinkedHashMap, RTN::LinkedHashMap>(
|
||||
kImmutableLinkedHashMapCid, isolate_group);
|
||||
object_store->set_immutable_linked_hash_map_class(cls);
|
||||
cls.set_type_arguments_field_offset(
|
||||
LinkedHashMap::type_arguments_offset(),
|
||||
RTN::LinkedHashMap::type_arguments_offset());
|
||||
cls = Class::New<Map, RTN::Map>(kConstMapCid, isolate_group);
|
||||
object_store->set_const_map_impl_class(cls);
|
||||
cls.set_type_arguments_field_offset(Map::type_arguments_offset(),
|
||||
RTN::Map::type_arguments_offset());
|
||||
cls.set_num_type_arguments_unsafe(2);
|
||||
cls.set_is_prefinalized();
|
||||
RegisterPrivateClass(cls, Symbols::_ImmutableLinkedHashMap(), lib);
|
||||
RegisterPrivateClass(cls, Symbols::_ConstMap(), lib);
|
||||
pending_classes.Add(cls);
|
||||
|
||||
cls = Class::New<LinkedHashSet, RTN::LinkedHashSet>(isolate_group);
|
||||
object_store->set_linked_hash_set_class(cls);
|
||||
cls.set_type_arguments_field_offset(
|
||||
LinkedHashSet::type_arguments_offset(),
|
||||
RTN::LinkedHashSet::type_arguments_offset());
|
||||
cls = Class::New<Set, RTN::Set>(isolate_group);
|
||||
object_store->set_set_impl_class(cls);
|
||||
cls.set_type_arguments_field_offset(Set::type_arguments_offset(),
|
||||
RTN::Set::type_arguments_offset());
|
||||
cls.set_num_type_arguments_unsafe(1);
|
||||
RegisterPrivateClass(cls, Symbols::_LinkedHashSet(), lib);
|
||||
RegisterPrivateClass(cls, Symbols::_Set(), lib);
|
||||
pending_classes.Add(cls);
|
||||
|
||||
cls = Class::New<LinkedHashSet, RTN::LinkedHashSet>(
|
||||
kImmutableLinkedHashSetCid, isolate_group);
|
||||
object_store->set_immutable_linked_hash_set_class(cls);
|
||||
cls.set_type_arguments_field_offset(
|
||||
LinkedHashSet::type_arguments_offset(),
|
||||
RTN::LinkedHashSet::type_arguments_offset());
|
||||
cls = Class::New<Set, RTN::Set>(kConstSetCid, isolate_group);
|
||||
object_store->set_const_set_impl_class(cls);
|
||||
cls.set_type_arguments_field_offset(Set::type_arguments_offset(),
|
||||
RTN::Set::type_arguments_offset());
|
||||
cls.set_num_type_arguments_unsafe(1);
|
||||
cls.set_is_prefinalized();
|
||||
RegisterPrivateClass(cls, Symbols::_ImmutableLinkedHashSet(), lib);
|
||||
RegisterPrivateClass(cls, Symbols::_ConstSet(), lib);
|
||||
pending_classes.Add(cls);
|
||||
|
||||
// Pre-register the async library so we can place the vm class
|
||||
@@ -2518,19 +2512,17 @@ ErrorPtr Object::Init(IsolateGroup* isolate_group,
|
||||
isolate_group);
|
||||
object_store->set_growable_object_array_class(cls);
|
||||
|
||||
cls = Class::New<LinkedHashMap, RTN::LinkedHashMap>(isolate_group);
|
||||
object_store->set_linked_hash_map_class(cls);
|
||||
cls = Class::New<Map, RTN::Map>(isolate_group);
|
||||
object_store->set_map_impl_class(cls);
|
||||
|
||||
cls = Class::New<LinkedHashMap, RTN::LinkedHashMap>(
|
||||
kImmutableLinkedHashMapCid, isolate_group);
|
||||
object_store->set_immutable_linked_hash_map_class(cls);
|
||||
cls = Class::New<Map, RTN::Map>(kConstMapCid, isolate_group);
|
||||
object_store->set_const_map_impl_class(cls);
|
||||
|
||||
cls = Class::New<LinkedHashSet, RTN::LinkedHashSet>(isolate_group);
|
||||
object_store->set_linked_hash_set_class(cls);
|
||||
cls = Class::New<Set, RTN::Set>(isolate_group);
|
||||
object_store->set_set_impl_class(cls);
|
||||
|
||||
cls = Class::New<LinkedHashSet, RTN::LinkedHashSet>(
|
||||
kImmutableLinkedHashSetCid, isolate_group);
|
||||
object_store->set_immutable_linked_hash_set_class(cls);
|
||||
cls = Class::New<Set, RTN::Set>(kConstSetCid, isolate_group);
|
||||
object_store->set_const_set_impl_class(cls);
|
||||
|
||||
cls = Class::New<Float32x4, RTN::Float32x4>(isolate_group);
|
||||
object_store->set_float32x4_class(cls);
|
||||
@@ -25029,8 +25021,7 @@ class DefaultHashTraits {
|
||||
}
|
||||
};
|
||||
|
||||
LinkedHashMapPtr LinkedHashMap::NewDefault(intptr_t class_id,
|
||||
Heap::Space space) {
|
||||
MapPtr Map::NewDefault(intptr_t class_id, Heap::Space space) {
|
||||
const Array& data = Array::Handle(Array::New(kInitialIndexSize, space));
|
||||
const TypedData& index = TypedData::Handle(
|
||||
TypedData::New(kTypedDataUint32ArrayCid, kInitialIndexSize, space));
|
||||
@@ -25038,23 +25029,20 @@ LinkedHashMapPtr LinkedHashMap::NewDefault(intptr_t class_id,
|
||||
static const intptr_t kAvailableBits = (kSmiBits >= 32) ? 32 : kSmiBits;
|
||||
static const intptr_t kInitialHashMask =
|
||||
(1 << (kAvailableBits - kInitialIndexBits)) - 1;
|
||||
return LinkedHashMap::New(class_id, data, index, kInitialHashMask, 0, 0,
|
||||
space);
|
||||
return Map::New(class_id, data, index, kInitialHashMask, 0, 0, space);
|
||||
}
|
||||
|
||||
LinkedHashMapPtr LinkedHashMap::New(intptr_t class_id,
|
||||
const Array& data,
|
||||
const TypedData& index,
|
||||
intptr_t hash_mask,
|
||||
intptr_t used_data,
|
||||
intptr_t deleted_keys,
|
||||
Heap::Space space) {
|
||||
ASSERT(class_id == kLinkedHashMapCid ||
|
||||
class_id == kImmutableLinkedHashMapCid);
|
||||
ASSERT(IsolateGroup::Current()->object_store()->linked_hash_map_class() !=
|
||||
MapPtr Map::New(intptr_t class_id,
|
||||
const Array& data,
|
||||
const TypedData& index,
|
||||
intptr_t hash_mask,
|
||||
intptr_t used_data,
|
||||
intptr_t deleted_keys,
|
||||
Heap::Space space) {
|
||||
ASSERT(class_id == kMapCid || class_id == kConstMapCid);
|
||||
ASSERT(IsolateGroup::Current()->object_store()->map_impl_class() !=
|
||||
Class::null());
|
||||
LinkedHashMap& result =
|
||||
LinkedHashMap::Handle(LinkedHashMap::NewUninitialized(class_id, space));
|
||||
Map& result = Map::Handle(Map::NewUninitialized(class_id, space));
|
||||
result.set_data(data);
|
||||
result.set_index(index);
|
||||
result.set_hash_mask(hash_mask);
|
||||
@@ -25063,26 +25051,24 @@ LinkedHashMapPtr LinkedHashMap::New(intptr_t class_id,
|
||||
return result.ptr();
|
||||
}
|
||||
|
||||
LinkedHashMapPtr LinkedHashMap::NewUninitialized(intptr_t class_id,
|
||||
Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()->object_store()->linked_hash_map_class() !=
|
||||
MapPtr Map::NewUninitialized(intptr_t class_id, Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()->object_store()->map_impl_class() !=
|
||||
Class::null());
|
||||
LinkedHashMap& result = LinkedHashMap::Handle();
|
||||
Map& result = Map::Handle();
|
||||
{
|
||||
ObjectPtr raw =
|
||||
Object::Allocate(class_id, LinkedHashMap::InstanceSize(), space,
|
||||
LinkedHashMap::ContainsCompressedPointers());
|
||||
ObjectPtr raw = Object::Allocate(class_id, Map::InstanceSize(), space,
|
||||
Map::ContainsCompressedPointers());
|
||||
NoSafepointScope no_safepoint;
|
||||
result ^= raw;
|
||||
}
|
||||
return result.ptr();
|
||||
}
|
||||
|
||||
const char* LinkedHashMap::ToCString() const {
|
||||
const char* Map::ToCString() const {
|
||||
Zone* zone = Thread::Current()->zone();
|
||||
return zone->PrintToString(
|
||||
"_%sLinkedHashMap len:%" Pd,
|
||||
GetClassId() == kImmutableLinkedHashMapCid ? "Immutable" : "", Length());
|
||||
"%s len:%" Pd, GetClassId() == kConstMapCid ? "_ConstMap" : "_Map",
|
||||
Length());
|
||||
}
|
||||
|
||||
void LinkedHashBase::ComputeAndSetHashMask() const {
|
||||
@@ -25093,7 +25079,7 @@ void LinkedHashBase::ComputeAndSetHashMask() const {
|
||||
|
||||
const auto& data_array = Array::Handle(zone, data());
|
||||
const intptr_t data_length = Utils::RoundUpToPowerOfTwo(data_array.Length());
|
||||
const intptr_t index_size_mult = IsLinkedHashMap() ? 1 : 2;
|
||||
const intptr_t index_size_mult = IsMap() ? 1 : 2;
|
||||
const intptr_t index_size = Utils::Maximum(LinkedHashBase::kInitialIndexSize,
|
||||
data_length * index_size_mult);
|
||||
ASSERT(Utils::IsPowerOfTwo(index_size));
|
||||
@@ -25188,37 +25174,29 @@ void LinkedHashBase::CanonicalizeFieldsLocked(Thread* thread) const {
|
||||
ASSERT(index_td.IsNull());
|
||||
}
|
||||
|
||||
ImmutableLinkedHashMapPtr ImmutableLinkedHashMap::NewDefault(
|
||||
Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()
|
||||
->object_store()
|
||||
->immutable_linked_hash_map_class() != Class::null());
|
||||
return static_cast<ImmutableLinkedHashMapPtr>(
|
||||
LinkedHashMap::NewDefault(kClassId, space));
|
||||
}
|
||||
|
||||
ImmutableLinkedHashMapPtr ImmutableLinkedHashMap::NewUninitialized(
|
||||
Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()
|
||||
->object_store()
|
||||
->immutable_linked_hash_map_class() != Class::null());
|
||||
return static_cast<ImmutableLinkedHashMapPtr>(
|
||||
LinkedHashMap::NewUninitialized(kClassId, space));
|
||||
}
|
||||
|
||||
LinkedHashSetPtr LinkedHashSet::New(intptr_t class_id,
|
||||
const Array& data,
|
||||
const TypedData& index,
|
||||
intptr_t hash_mask,
|
||||
intptr_t used_data,
|
||||
intptr_t deleted_keys,
|
||||
Heap::Space space) {
|
||||
ASSERT(class_id == kLinkedHashSetCid ||
|
||||
class_id == kImmutableLinkedHashSetCid);
|
||||
ASSERT(IsolateGroup::Current()->object_store()->linked_hash_set_class() !=
|
||||
ConstMapPtr ConstMap::NewDefault(Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()->object_store()->const_map_impl_class() !=
|
||||
Class::null());
|
||||
LinkedHashSet& result =
|
||||
LinkedHashSet::Handle(LinkedHashSet::NewUninitialized(class_id, space));
|
||||
return static_cast<ConstMapPtr>(Map::NewDefault(kClassId, space));
|
||||
}
|
||||
|
||||
ConstMapPtr ConstMap::NewUninitialized(Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()->object_store()->const_map_impl_class() !=
|
||||
Class::null());
|
||||
return static_cast<ConstMapPtr>(Map::NewUninitialized(kClassId, space));
|
||||
}
|
||||
|
||||
SetPtr Set::New(intptr_t class_id,
|
||||
const Array& data,
|
||||
const TypedData& index,
|
||||
intptr_t hash_mask,
|
||||
intptr_t used_data,
|
||||
intptr_t deleted_keys,
|
||||
Heap::Space space) {
|
||||
ASSERT(class_id == kSetCid || class_id == kConstSetCid);
|
||||
ASSERT(IsolateGroup::Current()->object_store()->set_impl_class() !=
|
||||
Class::null());
|
||||
Set& result = Set::Handle(Set::NewUninitialized(class_id, space));
|
||||
result.set_data(data);
|
||||
result.set_index(index);
|
||||
result.set_hash_mask(hash_mask);
|
||||
@@ -25227,8 +25205,7 @@ LinkedHashSetPtr LinkedHashSet::New(intptr_t class_id,
|
||||
return result.ptr();
|
||||
}
|
||||
|
||||
LinkedHashSetPtr LinkedHashSet::NewDefault(intptr_t class_id,
|
||||
Heap::Space space) {
|
||||
SetPtr Set::NewDefault(intptr_t class_id, Heap::Space space) {
|
||||
const Array& data = Array::Handle(Array::New(kInitialIndexSize, space));
|
||||
const TypedData& index = TypedData::Handle(
|
||||
TypedData::New(kTypedDataUint32ArrayCid, kInitialIndexSize, space));
|
||||
@@ -25236,48 +25213,39 @@ LinkedHashSetPtr LinkedHashSet::NewDefault(intptr_t class_id,
|
||||
static const intptr_t kAvailableBits = (kSmiBits >= 32) ? 32 : kSmiBits;
|
||||
static const intptr_t kInitialHashMask =
|
||||
(1 << (kAvailableBits - kInitialIndexBits)) - 1;
|
||||
return LinkedHashSet::New(class_id, data, index, kInitialHashMask, 0, 0,
|
||||
space);
|
||||
return Set::New(class_id, data, index, kInitialHashMask, 0, 0, space);
|
||||
}
|
||||
|
||||
LinkedHashSetPtr LinkedHashSet::NewUninitialized(intptr_t class_id,
|
||||
Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()->object_store()->linked_hash_set_class() !=
|
||||
SetPtr Set::NewUninitialized(intptr_t class_id, Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()->object_store()->set_impl_class() !=
|
||||
Class::null());
|
||||
LinkedHashSet& result = LinkedHashSet::Handle();
|
||||
Set& result = Set::Handle();
|
||||
{
|
||||
ObjectPtr raw =
|
||||
Object::Allocate(class_id, LinkedHashSet::InstanceSize(), space,
|
||||
LinkedHashSet::ContainsCompressedPointers());
|
||||
ObjectPtr raw = Object::Allocate(class_id, Set::InstanceSize(), space,
|
||||
Set::ContainsCompressedPointers());
|
||||
NoSafepointScope no_safepoint;
|
||||
result ^= raw;
|
||||
}
|
||||
return result.ptr();
|
||||
}
|
||||
|
||||
ImmutableLinkedHashSetPtr ImmutableLinkedHashSet::NewDefault(
|
||||
Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()
|
||||
->object_store()
|
||||
->immutable_linked_hash_set_class() != Class::null());
|
||||
return static_cast<ImmutableLinkedHashSetPtr>(
|
||||
LinkedHashSet::NewDefault(kClassId, space));
|
||||
ConstSetPtr ConstSet::NewDefault(Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()->object_store()->const_set_impl_class() !=
|
||||
Class::null());
|
||||
return static_cast<ConstSetPtr>(Set::NewDefault(kClassId, space));
|
||||
}
|
||||
|
||||
ImmutableLinkedHashSetPtr ImmutableLinkedHashSet::NewUninitialized(
|
||||
Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()
|
||||
->object_store()
|
||||
->immutable_linked_hash_set_class() != Class::null());
|
||||
return static_cast<ImmutableLinkedHashSetPtr>(
|
||||
LinkedHashSet::NewUninitialized(kClassId, space));
|
||||
ConstSetPtr ConstSet::NewUninitialized(Heap::Space space) {
|
||||
ASSERT(IsolateGroup::Current()->object_store()->const_set_impl_class() !=
|
||||
Class::null());
|
||||
return static_cast<ConstSetPtr>(Set::NewUninitialized(kClassId, space));
|
||||
}
|
||||
|
||||
const char* LinkedHashSet::ToCString() const {
|
||||
const char* Set::ToCString() const {
|
||||
Zone* zone = Thread::Current()->zone();
|
||||
return zone->PrintToString(
|
||||
"_%sLinkedHashSet len:%" Pd,
|
||||
GetClassId() == kImmutableLinkedHashSetCid ? "Immutable" : "", Length());
|
||||
"%s len:%" Pd, GetClassId() == kConstSetCid ? "_ConstSet" : "_Set",
|
||||
Length());
|
||||
}
|
||||
|
||||
const char* FutureOr::ToCString() const {
|
||||
|
||||
+84
-69
@@ -108,8 +108,12 @@ class BaseTextBuffer;
|
||||
static constexpr bool ContainsCompressedPointers() { \
|
||||
return UntaggedObjectType::kContainsCompressedPointers; \
|
||||
} \
|
||||
object##Ptr ptr() const { return static_cast<object##Ptr>(ptr_); } \
|
||||
bool Is##object() const { return true; } \
|
||||
object##Ptr ptr() const { \
|
||||
return static_cast<object##Ptr>(ptr_); \
|
||||
} \
|
||||
bool Is##object() const { \
|
||||
return true; \
|
||||
} \
|
||||
DART_NOINLINE static object& Handle() { \
|
||||
return static_cast<object&>( \
|
||||
HandleImpl(Thread::Current()->zone(), object::null(), kClassId)); \
|
||||
@@ -184,11 +188,13 @@ class BaseTextBuffer;
|
||||
private: /* NOLINT */ \
|
||||
/* Initialize the handle based on the ptr in the presence of null. */ \
|
||||
static void initializeHandle(object* obj, ObjectPtr ptr) { \
|
||||
obj->SetPtr(ptr, kClassId); \
|
||||
obj->setPtr(ptr, kClassId); \
|
||||
} \
|
||||
/* Disallow allocation, copy constructors and override super assignment. */ \
|
||||
public: /* NOLINT */ \
|
||||
void operator delete(void* pointer) { UNREACHABLE(); } \
|
||||
void operator delete(void* pointer) { \
|
||||
UNREACHABLE(); \
|
||||
} \
|
||||
\
|
||||
private: /* NOLINT */ \
|
||||
void* operator new(size_t size); \
|
||||
@@ -639,13 +645,13 @@ class Object {
|
||||
|
||||
uword raw_value() const { return static_cast<uword>(ptr()); }
|
||||
|
||||
inline void SetPtr(ObjectPtr value, intptr_t default_cid);
|
||||
inline void setPtr(ObjectPtr value, intptr_t default_cid);
|
||||
void CheckHandle() const;
|
||||
DART_NOINLINE static Object& HandleImpl(Zone* zone,
|
||||
ObjectPtr ptr,
|
||||
intptr_t default_cid) {
|
||||
Object* obj = reinterpret_cast<Object*>(VMHandles::AllocateHandle(zone));
|
||||
obj->SetPtr(ptr, default_cid);
|
||||
obj->setPtr(ptr, default_cid);
|
||||
return *obj;
|
||||
}
|
||||
DART_NOINLINE static Object& ZoneHandleImpl(Zone* zone,
|
||||
@@ -653,12 +659,12 @@ class Object {
|
||||
intptr_t default_cid) {
|
||||
Object* obj =
|
||||
reinterpret_cast<Object*>(VMHandles::AllocateZoneHandle(zone));
|
||||
obj->SetPtr(ptr, default_cid);
|
||||
obj->setPtr(ptr, default_cid);
|
||||
return *obj;
|
||||
}
|
||||
DART_NOINLINE static Object* ReadOnlyHandleImpl(intptr_t cid) {
|
||||
Object* obj = reinterpret_cast<Object*>(Dart::AllocateReadOnlyHandle());
|
||||
obj->SetPtr(Object::null(), cid);
|
||||
obj->setPtr(Object::null(), cid);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@@ -822,7 +828,7 @@ class Object {
|
||||
|
||||
/* Initialize the handle based on the ptr in the presence of null. */
|
||||
static void initializeHandle(Object* obj, ObjectPtr ptr) {
|
||||
obj->SetPtr(ptr, kObjectCid);
|
||||
obj->setPtr(ptr, kObjectCid);
|
||||
}
|
||||
|
||||
static cpp_vtable builtin_vtables_[kNumPredefinedCids];
|
||||
@@ -11360,20 +11366,19 @@ class LinkedHashBase : public Instance {
|
||||
}
|
||||
|
||||
static const LinkedHashBase& Cast(const Object& obj) {
|
||||
ASSERT(obj.IsLinkedHashMap() || obj.IsLinkedHashSet());
|
||||
ASSERT(obj.IsMap() || obj.IsSet());
|
||||
return static_cast<const LinkedHashBase&>(obj);
|
||||
}
|
||||
|
||||
bool IsImmutable() const {
|
||||
return GetClassId() == kImmutableLinkedHashMapCid ||
|
||||
GetClassId() == kImmutableLinkedHashSetCid;
|
||||
return GetClassId() == kConstMapCid || GetClassId() == kConstSetCid;
|
||||
}
|
||||
|
||||
virtual TypeArgumentsPtr GetTypeArguments() const {
|
||||
return untag()->type_arguments();
|
||||
}
|
||||
virtual void SetTypeArguments(const TypeArguments& value) const {
|
||||
const intptr_t num_type_args = IsLinkedHashMap() ? 2 : 1;
|
||||
const intptr_t num_type_args = IsMap() ? 2 : 1;
|
||||
ASSERT(value.IsNull() ||
|
||||
((value.Length() >= num_type_args) &&
|
||||
value.IsInstantiated() /*&& value.IsCanonical()*/));
|
||||
@@ -11412,7 +11417,7 @@ class LinkedHashBase : public Instance {
|
||||
if (untag()->deleted_keys() == Object::null()) return 0;
|
||||
|
||||
intptr_t used = Smi::Value(untag()->used_data());
|
||||
if (IsLinkedHashMap()) {
|
||||
if (IsMap()) {
|
||||
used >>= 1;
|
||||
}
|
||||
const intptr_t deleted = Smi::Value(untag()->deleted_keys());
|
||||
@@ -11455,25 +11460,26 @@ class ImmutableLinkedHashBase : public AllStatic {
|
||||
};
|
||||
|
||||
// Corresponds to
|
||||
// - _Map in dart:collection
|
||||
// - "new Map()",
|
||||
// - non-const map literals, and
|
||||
// - the default constructor of LinkedHashMap in dart:collection.
|
||||
class LinkedHashMap : public LinkedHashBase {
|
||||
class Map : public LinkedHashBase {
|
||||
public:
|
||||
static intptr_t InstanceSize() {
|
||||
return RoundedAllocationSize(sizeof(UntaggedLinkedHashMap));
|
||||
return RoundedAllocationSize(sizeof(UntaggedMap));
|
||||
}
|
||||
|
||||
// Allocates a map with some default capacity, just like "new Map()".
|
||||
static LinkedHashMapPtr NewDefault(intptr_t class_id = kLinkedHashMapCid,
|
||||
Heap::Space space = Heap::kNew);
|
||||
static LinkedHashMapPtr New(intptr_t class_id,
|
||||
const Array& data,
|
||||
const TypedData& index,
|
||||
intptr_t hash_mask,
|
||||
intptr_t used_data,
|
||||
intptr_t deleted_keys,
|
||||
Heap::Space space = Heap::kNew);
|
||||
static MapPtr NewDefault(intptr_t class_id = kMapCid,
|
||||
Heap::Space space = Heap::kNew);
|
||||
static MapPtr New(intptr_t class_id,
|
||||
const Array& data,
|
||||
const TypedData& index,
|
||||
intptr_t hash_mask,
|
||||
intptr_t used_data,
|
||||
intptr_t deleted_keys,
|
||||
Heap::Space space = Heap::kNew);
|
||||
|
||||
// This iterator differs somewhat from its Dart counterpart (_CompactIterator
|
||||
// in runtime/lib/compact_hash.dart):
|
||||
@@ -11482,7 +11488,7 @@ class LinkedHashMap : public LinkedHashBase {
|
||||
// MoveNext returns false will result in crashes.
|
||||
class Iterator : public ValueObject {
|
||||
public:
|
||||
explicit Iterator(const LinkedHashMap& map)
|
||||
explicit Iterator(const Map& map)
|
||||
: data_(Array::Handle(map.data())),
|
||||
scratch_(Object::Handle()),
|
||||
offset_(-2),
|
||||
@@ -11514,32 +11520,34 @@ class LinkedHashMap : public LinkedHashBase {
|
||||
};
|
||||
|
||||
private:
|
||||
FINAL_HEAP_OBJECT_IMPLEMENTATION(LinkedHashMap, LinkedHashBase);
|
||||
FINAL_HEAP_OBJECT_IMPLEMENTATION(Map, LinkedHashBase);
|
||||
|
||||
// Allocate a map, but leave all fields set to null.
|
||||
// Used during deserialization (since map might contain itself as key/value).
|
||||
static LinkedHashMapPtr NewUninitialized(intptr_t class_id,
|
||||
Heap::Space space = Heap::kNew);
|
||||
static MapPtr NewUninitialized(intptr_t class_id,
|
||||
Heap::Space space = Heap::kNew);
|
||||
|
||||
friend class Class;
|
||||
friend class ImmutableLinkedHashMap;
|
||||
friend class LinkedHashMapDeserializationCluster;
|
||||
friend class ConstMap;
|
||||
friend class MapDeserializationCluster;
|
||||
};
|
||||
|
||||
class ImmutableLinkedHashMap : public AllStatic {
|
||||
// Corresponds to
|
||||
// - _ConstMap in dart:collection
|
||||
// - const map literals
|
||||
class ConstMap : public AllStatic {
|
||||
public:
|
||||
static constexpr bool ContainsCompressedPointers() {
|
||||
return LinkedHashMap::ContainsCompressedPointers();
|
||||
return Map::ContainsCompressedPointers();
|
||||
}
|
||||
|
||||
static ImmutableLinkedHashMapPtr NewDefault(Heap::Space space = Heap::kNew);
|
||||
static ConstMapPtr NewDefault(Heap::Space space = Heap::kNew);
|
||||
|
||||
static ImmutableLinkedHashMapPtr NewUninitialized(
|
||||
Heap::Space space = Heap::kNew);
|
||||
static ConstMapPtr NewUninitialized(Heap::Space space = Heap::kNew);
|
||||
|
||||
static const ClassId kClassId = kImmutableLinkedHashMapCid;
|
||||
static const ClassId kClassId = kConstMapCid;
|
||||
|
||||
static intptr_t InstanceSize() { return LinkedHashMap::InstanceSize(); }
|
||||
static intptr_t InstanceSize() { return Map::InstanceSize(); }
|
||||
|
||||
private:
|
||||
static intptr_t NextFieldOffset() {
|
||||
@@ -11547,29 +11555,34 @@ class ImmutableLinkedHashMap : public AllStatic {
|
||||
return -kWordSize;
|
||||
}
|
||||
|
||||
static ImmutableLinkedHashMapPtr raw(const LinkedHashMap& map) {
|
||||
return static_cast<ImmutableLinkedHashMapPtr>(map.ptr());
|
||||
static ConstMapPtr raw(const Map& map) {
|
||||
return static_cast<ConstMapPtr>(map.ptr());
|
||||
}
|
||||
|
||||
friend class Class;
|
||||
};
|
||||
|
||||
class LinkedHashSet : public LinkedHashBase {
|
||||
// Corresponds to
|
||||
// - _Set in dart:collection,
|
||||
// - "new Set()",
|
||||
// - non-const set literals, and
|
||||
// - the default constructor of LinkedHashSet in dart:collection.
|
||||
class Set : public LinkedHashBase {
|
||||
public:
|
||||
static intptr_t InstanceSize() {
|
||||
return RoundedAllocationSize(sizeof(UntaggedLinkedHashSet));
|
||||
return RoundedAllocationSize(sizeof(UntaggedSet));
|
||||
}
|
||||
|
||||
// Allocates a set with some default capacity, just like "new Set()".
|
||||
static LinkedHashSetPtr NewDefault(intptr_t class_id = kLinkedHashSetCid,
|
||||
Heap::Space space = Heap::kNew);
|
||||
static LinkedHashSetPtr New(intptr_t class_id,
|
||||
const Array& data,
|
||||
const TypedData& index,
|
||||
intptr_t hash_mask,
|
||||
intptr_t used_data,
|
||||
intptr_t deleted_keys,
|
||||
Heap::Space space = Heap::kNew);
|
||||
static SetPtr NewDefault(intptr_t class_id = kSetCid,
|
||||
Heap::Space space = Heap::kNew);
|
||||
static SetPtr New(intptr_t class_id,
|
||||
const Array& data,
|
||||
const TypedData& index,
|
||||
intptr_t hash_mask,
|
||||
intptr_t used_data,
|
||||
intptr_t deleted_keys,
|
||||
Heap::Space space = Heap::kNew);
|
||||
|
||||
// This iterator differs somewhat from its Dart counterpart (_CompactIterator
|
||||
// in runtime/lib/compact_hash.dart):
|
||||
@@ -11578,7 +11591,7 @@ class LinkedHashSet : public LinkedHashBase {
|
||||
// MoveNext returns false will result in crashes.
|
||||
class Iterator : public ValueObject {
|
||||
public:
|
||||
explicit Iterator(const LinkedHashSet& set)
|
||||
explicit Iterator(const Set& set)
|
||||
: data_(Array::Handle(set.data())),
|
||||
scratch_(Object::Handle()),
|
||||
offset_(-1),
|
||||
@@ -11608,32 +11621,34 @@ class LinkedHashSet : public LinkedHashBase {
|
||||
};
|
||||
|
||||
private:
|
||||
FINAL_HEAP_OBJECT_IMPLEMENTATION(LinkedHashSet, LinkedHashBase);
|
||||
FINAL_HEAP_OBJECT_IMPLEMENTATION(Set, LinkedHashBase);
|
||||
|
||||
// Allocate a set, but leave all fields set to null.
|
||||
// Used during deserialization (since set might contain itself as key/value).
|
||||
static LinkedHashSetPtr NewUninitialized(intptr_t class_id,
|
||||
Heap::Space space = Heap::kNew);
|
||||
static SetPtr NewUninitialized(intptr_t class_id,
|
||||
Heap::Space space = Heap::kNew);
|
||||
|
||||
friend class Class;
|
||||
friend class ImmutableLinkedHashSet;
|
||||
friend class LinkedHashSetDeserializationCluster;
|
||||
friend class ConstSet;
|
||||
friend class SetDeserializationCluster;
|
||||
};
|
||||
|
||||
class ImmutableLinkedHashSet : public AllStatic {
|
||||
// Corresponds to
|
||||
// - _ConstSet in dart:collection
|
||||
// - const set literals
|
||||
class ConstSet : public AllStatic {
|
||||
public:
|
||||
static constexpr bool ContainsCompressedPointers() {
|
||||
return LinkedHashSet::ContainsCompressedPointers();
|
||||
return Set::ContainsCompressedPointers();
|
||||
}
|
||||
|
||||
static ImmutableLinkedHashSetPtr NewDefault(Heap::Space space = Heap::kNew);
|
||||
static ConstSetPtr NewDefault(Heap::Space space = Heap::kNew);
|
||||
|
||||
static ImmutableLinkedHashSetPtr NewUninitialized(
|
||||
Heap::Space space = Heap::kNew);
|
||||
static ConstSetPtr NewUninitialized(Heap::Space space = Heap::kNew);
|
||||
|
||||
static const ClassId kClassId = kImmutableLinkedHashSetCid;
|
||||
static const ClassId kClassId = kConstSetCid;
|
||||
|
||||
static intptr_t InstanceSize() { return LinkedHashSet::InstanceSize(); }
|
||||
static intptr_t InstanceSize() { return Set::InstanceSize(); }
|
||||
|
||||
private:
|
||||
static intptr_t NextFieldOffset() {
|
||||
@@ -11641,8 +11656,8 @@ class ImmutableLinkedHashSet : public AllStatic {
|
||||
return -kWordSize;
|
||||
}
|
||||
|
||||
static ImmutableLinkedHashSetPtr raw(const LinkedHashSet& map) {
|
||||
return static_cast<ImmutableLinkedHashSetPtr>(map.ptr());
|
||||
static ConstSetPtr raw(const Set& map) {
|
||||
return static_cast<ConstSetPtr>(map.ptr());
|
||||
}
|
||||
|
||||
friend class Class;
|
||||
@@ -12374,8 +12389,8 @@ class FinalizerBase : public Instance {
|
||||
return OFFSET_OF(UntaggedFinalizerBase, detachments_);
|
||||
}
|
||||
|
||||
LinkedHashSetPtr all_entries() const { return untag()->all_entries(); }
|
||||
void set_all_entries(const LinkedHashSet& value) const {
|
||||
SetPtr all_entries() const { return untag()->all_entries(); }
|
||||
void set_all_entries(const Set& value) const {
|
||||
untag()->set_all_entries(value.ptr());
|
||||
}
|
||||
static intptr_t all_entries_offset() {
|
||||
@@ -12555,7 +12570,7 @@ ClassPtr Object::clazz() const {
|
||||
}
|
||||
|
||||
DART_FORCE_INLINE
|
||||
void Object::SetPtr(ObjectPtr value, intptr_t default_cid) {
|
||||
void Object::setPtr(ObjectPtr value, intptr_t default_cid) {
|
||||
ptr_ = value;
|
||||
intptr_t cid = value->GetClassIdMayBeSmi();
|
||||
// Free-list elements cannot be wrapped in a handle.
|
||||
|
||||
@@ -539,7 +539,7 @@ class RetainingPathVisitor : public ObjectGraph::Visitor {
|
||||
}
|
||||
// A LinkedHasMap overwrites its internal storage.
|
||||
// Keeping both of them in the list is redundant.
|
||||
if (was_last_array_ && obj->IsLinkedHashMap()) {
|
||||
if (was_last_array_ && obj->IsMap()) {
|
||||
was_last_array_ = false;
|
||||
return 1;
|
||||
}
|
||||
@@ -1146,14 +1146,14 @@ class Pass2Visitor : public ObjectVisitor,
|
||||
writer_->WriteUnsigned(kLengthData);
|
||||
writer_->WriteUnsigned(Smi::Value(
|
||||
static_cast<GrowableObjectArrayPtr>(obj)->untag()->length()));
|
||||
} else if (cid == kLinkedHashMapCid || cid == kImmutableLinkedHashMapCid) {
|
||||
} else if (cid == kMapCid || cid == kConstMapCid) {
|
||||
writer_->WriteUnsigned(kLengthData);
|
||||
writer_->WriteUnsigned(
|
||||
Smi::Value(static_cast<LinkedHashMapPtr>(obj)->untag()->used_data()));
|
||||
} else if (cid == kLinkedHashSetCid || cid == kImmutableLinkedHashSetCid) {
|
||||
Smi::Value(static_cast<MapPtr>(obj)->untag()->used_data()));
|
||||
} else if (cid == kSetCid || cid == kConstSetCid) {
|
||||
writer_->WriteUnsigned(kLengthData);
|
||||
writer_->WriteUnsigned(
|
||||
Smi::Value(static_cast<LinkedHashSetPtr>(obj)->untag()->used_data()));
|
||||
Smi::Value(static_cast<SetPtr>(obj)->untag()->used_data()));
|
||||
} else if (cid == kObjectPoolCid) {
|
||||
writer_->WriteUnsigned(kLengthData);
|
||||
writer_->WriteUnsigned(static_cast<ObjectPoolPtr>(obj)->untag()->length_);
|
||||
@@ -1721,13 +1721,13 @@ uint32_t HeapSnapshotWriter::GetHeapSnapshotIdentityHash(Thread* thread,
|
||||
case kExternalTwoByteStringCid:
|
||||
case kGrowableObjectArrayCid:
|
||||
case kImmutableArrayCid:
|
||||
case kImmutableLinkedHashMapCid:
|
||||
case kImmutableLinkedHashSetCid:
|
||||
case kConstMapCid:
|
||||
case kConstSetCid:
|
||||
case kInstructionsCid:
|
||||
case kInstructionsSectionCid:
|
||||
case kInstructionsTableCid:
|
||||
case kLinkedHashMapCid:
|
||||
case kLinkedHashSetCid:
|
||||
case kMapCid:
|
||||
case kSetCid:
|
||||
case kMintCid:
|
||||
case kNeverCid:
|
||||
case kSentinelCid:
|
||||
|
||||
@@ -1325,8 +1325,8 @@ class ObjectCopy : public Base {
|
||||
CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP(COPY_TO)
|
||||
COPY_TO(Array)
|
||||
COPY_TO(GrowableObjectArray)
|
||||
COPY_TO(LinkedHashMap)
|
||||
COPY_TO(LinkedHashSet)
|
||||
COPY_TO(Map)
|
||||
COPY_TO(Set)
|
||||
#undef COPY_TO
|
||||
|
||||
#define COPY_TO(clazz) case kTypedData##clazz##Cid:
|
||||
@@ -1504,8 +1504,8 @@ class ObjectCopy : public Base {
|
||||
from, to, OFFSET_OF(UntaggedLinkedHashBase, hash_mask_),
|
||||
OFFSET_OF(UntaggedLinkedHashBase, hash_mask_));
|
||||
Base::StoreCompressedPointersNoBarrier(
|
||||
from, to, OFFSET_OF(UntaggedLinkedHashMap, deleted_keys_),
|
||||
OFFSET_OF(UntaggedLinkedHashMap, deleted_keys_));
|
||||
from, to, OFFSET_OF(UntaggedMap, deleted_keys_),
|
||||
OFFSET_OF(UntaggedMap, deleted_keys_));
|
||||
}
|
||||
Base::ForwardCompressedPointer(from, to,
|
||||
OFFSET_OF(UntaggedLinkedHashBase, data_));
|
||||
@@ -1514,16 +1514,14 @@ class ObjectCopy : public Base {
|
||||
OFFSET_OF(UntaggedLinkedHashBase, used_data_));
|
||||
}
|
||||
|
||||
void CopyLinkedHashMap(typename Types::LinkedHashMap from,
|
||||
typename Types::LinkedHashMap to) {
|
||||
CopyLinkedHashBase<2, typename Types::LinkedHashMap>(
|
||||
from, to, UntagLinkedHashMap(from), UntagLinkedHashMap(to));
|
||||
void CopyMap(typename Types::Map from, typename Types::Map to) {
|
||||
CopyLinkedHashBase<2, typename Types::Map>(from, to, UntagMap(from),
|
||||
UntagMap(to));
|
||||
}
|
||||
|
||||
void CopyLinkedHashSet(typename Types::LinkedHashSet from,
|
||||
typename Types::LinkedHashSet to) {
|
||||
CopyLinkedHashBase<1, typename Types::LinkedHashSet>(
|
||||
from, to, UntagLinkedHashSet(from), UntagLinkedHashSet(to));
|
||||
void CopySet(typename Types::Set from, typename Types::Set to) {
|
||||
CopyLinkedHashBase<1, typename Types::Set>(from, to, UntagSet(from),
|
||||
UntagSet(to));
|
||||
}
|
||||
|
||||
void CopyDouble(typename Types::Double from, typename Types::Double to) {
|
||||
|
||||
@@ -1415,7 +1415,7 @@ void GrowableObjectArray::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
||||
}
|
||||
}
|
||||
|
||||
void LinkedHashMap::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
||||
void Map::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
||||
JSONObject jsobj(stream);
|
||||
PrintSharedInstanceJSON(&jsobj, ref);
|
||||
jsobj.AddProperty("kind", "Map");
|
||||
@@ -1437,7 +1437,7 @@ void LinkedHashMap::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
||||
{
|
||||
JSONArray jsarr(&jsobj, "associations");
|
||||
Object& object = Object::Handle();
|
||||
LinkedHashMap::Iterator iterator(*this);
|
||||
Map::Iterator iterator(*this);
|
||||
int i = 0;
|
||||
while (iterator.MoveNext() && i < limit) {
|
||||
if (i >= offset) {
|
||||
@@ -1452,7 +1452,7 @@ void LinkedHashMap::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
||||
}
|
||||
}
|
||||
|
||||
void LinkedHashSet::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
||||
void Set::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
||||
JSONObject jsobj(stream);
|
||||
PrintSharedInstanceJSON(&jsobj, ref);
|
||||
jsobj.AddProperty("kind", "Set");
|
||||
@@ -1474,7 +1474,7 @@ void LinkedHashSet::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
||||
{
|
||||
JSONArray jsarr(&jsobj, "elements");
|
||||
Object& object = Object::Handle();
|
||||
LinkedHashSet::Iterator iterator(*this);
|
||||
Set::Iterator iterator(*this);
|
||||
int i = 0;
|
||||
while (iterator.MoveNext() && i < limit) {
|
||||
if (i >= offset) {
|
||||
|
||||
@@ -228,9 +228,9 @@ void ObjectStore::InitKnownObjects() {
|
||||
Zone* zone = thread->zone();
|
||||
Class& cls = Class::Handle(zone);
|
||||
const Library& collection_lib = Library::Handle(zone, collection_library());
|
||||
cls = collection_lib.LookupClassAllowPrivate(Symbols::_LinkedHashSet());
|
||||
cls = collection_lib.LookupClassAllowPrivate(Symbols::_Set());
|
||||
ASSERT(!cls.IsNull());
|
||||
set_linked_hash_set_class(cls);
|
||||
set_set_impl_class(cls);
|
||||
|
||||
#ifdef DART_PRECOMPILED_RUNTIME
|
||||
// The rest of these objects are only needed for code generation.
|
||||
|
||||
@@ -123,10 +123,10 @@ class ObjectPointerVisitor;
|
||||
RW(Type, array_type) \
|
||||
RW(Class, immutable_array_class) \
|
||||
RW(Class, growable_object_array_class) \
|
||||
RW(Class, linked_hash_map_class) \
|
||||
RW(Class, immutable_linked_hash_map_class) \
|
||||
RW(Class, linked_hash_set_class) \
|
||||
RW(Class, immutable_linked_hash_set_class) \
|
||||
RW(Class, map_impl_class) \
|
||||
RW(Class, const_map_impl_class) \
|
||||
RW(Class, set_impl_class) \
|
||||
RW(Class, const_set_impl_class) \
|
||||
RW(Class, float32x4_class) \
|
||||
RW(Class, int32x4_class) \
|
||||
RW(Class, float64x2_class) \
|
||||
|
||||
+47
-52
@@ -5173,7 +5173,7 @@ static void NativeFinalizer_TwoEntriesCrossGen(
|
||||
isolate_finalizers.Add(weak1);
|
||||
thread->isolate()->set_finalizers(isolate_finalizers);
|
||||
|
||||
const auto& all_entries = LinkedHashSet::Handle(LinkedHashSet::NewDefault());
|
||||
const auto& all_entries = Set::Handle(Set::NewDefault());
|
||||
finalizer.set_all_entries(all_entries);
|
||||
const auto& all_entries_data = Array::Handle(all_entries.data());
|
||||
THR_Print("entry1 space: %s\n", spaces[1] == Heap::kNew ? "new" : "old");
|
||||
@@ -6209,24 +6209,23 @@ ISOLATE_UNIT_TEST_CASE(PrintJSONPrimitives) {
|
||||
"\"identityHashCode\":0,\"id\":\"\",\"kind\":\"List\",\"length\":0}",
|
||||
buffer);
|
||||
}
|
||||
// LinkedHashMap reference
|
||||
// Map reference
|
||||
{
|
||||
JSONStream js;
|
||||
const LinkedHashMap& array =
|
||||
LinkedHashMap::Handle(LinkedHashMap::NewDefault());
|
||||
const Map& array = Map::Handle(Map::NewDefault());
|
||||
array.PrintJSON(&js, true);
|
||||
const char* json_str = js.ToCString();
|
||||
ASSERT(strlen(json_str) < kBufferSize);
|
||||
ElideJSONSubstring("classes", json_str, buffer);
|
||||
ElideJSONSubstring("objects", buffer, buffer);
|
||||
ElideJSONSubstring("libraries", buffer, buffer);
|
||||
ElideJSONSubstring("_InternalLinkedHashMap@", buffer, buffer);
|
||||
ElideJSONSubstring("_Map@", buffer, buffer);
|
||||
StripTokenPositions(buffer);
|
||||
ElideJSONSubstring("_TypeParameter@", buffer, buffer);
|
||||
EXPECT_SUBSTRING(
|
||||
"{\"type\":\"@Instance\",\"_vmType\":\"LinkedHashMap\",\"class\":{"
|
||||
"{\"type\":\"@Instance\",\"_vmType\":\"Map\",\"class\":{"
|
||||
"\"type\":\"@Class\",\"fixedId\":true,\"id\":\"\",\"name\":\"_"
|
||||
"InternalLinkedHashMap\",\"_vmName\":\"\",\"location\":{\"type\":"
|
||||
"Map\",\"_vmName\":\"\",\"location\":{\"type\":"
|
||||
"\"SourceLocation\",\"script\":{\"type\":\"@Script\",\"fixedId\":true,"
|
||||
"\"id\":\"\",\"uri\":\"dart:collection-patch\\/"
|
||||
"compact_hash.dart\",\"_kind\":\"kernel\"}"
|
||||
@@ -6613,7 +6612,7 @@ TEST_CASE(HashCode_Type_Int) {
|
||||
/*check_identity=*/false));
|
||||
}
|
||||
|
||||
TEST_CASE(LinkedHashMap_iteration) {
|
||||
TEST_CASE(Map_iteration) {
|
||||
const char* kScript =
|
||||
"makeMap() {\n"
|
||||
" var map = {'x': 3, 'y': 4, 'z': 5, 'w': 6};\n"
|
||||
@@ -6629,12 +6628,12 @@ TEST_CASE(LinkedHashMap_iteration) {
|
||||
TransitionNativeToVM transition(thread);
|
||||
Instance& dart_map = Instance::Handle();
|
||||
dart_map ^= Api::UnwrapHandle(h_result);
|
||||
ASSERT(dart_map.IsLinkedHashMap());
|
||||
const LinkedHashMap& cc_map = LinkedHashMap::Cast(dart_map);
|
||||
ASSERT(dart_map.IsMap());
|
||||
const Map& cc_map = Map::Cast(dart_map);
|
||||
|
||||
EXPECT_EQ(2, cc_map.Length());
|
||||
|
||||
LinkedHashMap::Iterator iterator(cc_map);
|
||||
Map::Iterator iterator(cc_map);
|
||||
Object& object = Object::Handle();
|
||||
|
||||
EXPECT(iterator.MoveNext());
|
||||
@@ -6746,11 +6745,10 @@ static bool LinkedHashBaseEqual(const LinkedHashBase& map1,
|
||||
}
|
||||
|
||||
// Copies elements from data.
|
||||
static LinkedHashMapPtr ConstructImmutableMap(
|
||||
const Array& input_data,
|
||||
intptr_t used_data,
|
||||
const TypeArguments& type_arguments) {
|
||||
auto& map = LinkedHashMap::Handle(ImmutableLinkedHashMap::NewUninitialized());
|
||||
static MapPtr ConstructImmutableMap(const Array& input_data,
|
||||
intptr_t used_data,
|
||||
const TypeArguments& type_arguments) {
|
||||
auto& map = Map::Handle(ConstMap::NewUninitialized());
|
||||
|
||||
const auto& data = Array::Handle(Array::New(used_data));
|
||||
for (intptr_t i = 0; i < used_data; i++) {
|
||||
@@ -6767,7 +6765,7 @@ static LinkedHashMapPtr ConstructImmutableMap(
|
||||
}
|
||||
|
||||
// Constructs an immutable hashmap from a mutable one in this test.
|
||||
TEST_CASE(ImmutableLinkedHashMap_vm) {
|
||||
TEST_CASE(ConstMap_vm) {
|
||||
const char* kScript = R"(
|
||||
enum ExperimentalFlag {
|
||||
alternativeInvalidationStrategy,
|
||||
@@ -6847,16 +6845,16 @@ bool? lookupNull(Map map) => map[null];
|
||||
|
||||
{
|
||||
TransitionNativeToVM transition(thread);
|
||||
const auto& non_const_map = LinkedHashMap::Cast(
|
||||
Object::Handle(Api::UnwrapHandle(non_const_result)));
|
||||
const auto& non_const_map =
|
||||
Map::Cast(Object::Handle(Api::UnwrapHandle(non_const_result)));
|
||||
const auto& non_const_type_args =
|
||||
TypeArguments::Handle(non_const_map.GetTypeArguments());
|
||||
const auto& non_const_data = Array::Handle(non_const_map.data());
|
||||
const auto& const_map = LinkedHashMap::Handle(ConstructImmutableMap(
|
||||
const auto& const_map = Map::Handle(ConstructImmutableMap(
|
||||
non_const_data, Smi::Value(non_const_map.used_data()),
|
||||
non_const_type_args));
|
||||
ASSERT(non_const_map.GetClassId() == kLinkedHashMapCid);
|
||||
ASSERT(const_map.GetClassId() == kImmutableLinkedHashMapCid);
|
||||
ASSERT(non_const_map.GetClassId() == kMapCid);
|
||||
ASSERT(const_map.GetClassId() == kConstMapCid);
|
||||
ASSERT(!non_const_map.IsCanonical());
|
||||
ASSERT(const_map.IsCanonical());
|
||||
|
||||
@@ -6877,10 +6875,10 @@ bool? lookupNull(Map map) => map[null];
|
||||
TransitionNativeToVM transition(thread);
|
||||
const auto& non_const_object =
|
||||
Object::Handle(Api::UnwrapHandle(non_const_result));
|
||||
const auto& non_const_map = LinkedHashMap::Cast(non_const_object);
|
||||
const auto& non_const_map = Map::Cast(non_const_object);
|
||||
const auto& const_object =
|
||||
Object::Handle(Api::UnwrapHandle(const_argument));
|
||||
const auto& const_map = LinkedHashMap::Cast(const_object);
|
||||
const auto& const_map = Map::Cast(const_object);
|
||||
|
||||
EXPECT(non_const_map.GetClassId() != const_map.GetClassId());
|
||||
|
||||
@@ -6891,7 +6889,7 @@ bool? lookupNull(Map map) => map[null];
|
||||
}
|
||||
|
||||
static bool IsLinkedHashBase(const Object& object) {
|
||||
return object.IsLinkedHashMap() || object.IsLinkedHashSet();
|
||||
return object.IsMap() || object.IsSet();
|
||||
}
|
||||
|
||||
// Checks that the non-constant and constant HashMap and HashSets are equal.
|
||||
@@ -6915,7 +6913,7 @@ static void HashBaseNonConstEqualsConst(const char* script,
|
||||
const auto& non_const_object =
|
||||
Object::Handle(Api::UnwrapHandle(non_const_result));
|
||||
const auto& const_object = Object::Handle(Api::UnwrapHandle(const_result));
|
||||
non_const_object.IsLinkedHashMap();
|
||||
non_const_object.IsMap();
|
||||
EXPECT(IsLinkedHashBase(non_const_object));
|
||||
if (!IsLinkedHashBase(non_const_object)) return;
|
||||
const auto& non_const_value = LinkedHashBase::Cast(non_const_object);
|
||||
@@ -6932,17 +6930,15 @@ static void HashBaseNonConstEqualsConst(const char* script,
|
||||
|
||||
static void HashMapNonConstEqualsConst(const char* script,
|
||||
bool check_data = true) {
|
||||
HashBaseNonConstEqualsConst<LinkedHashMap, kLinkedHashMapCid,
|
||||
kImmutableLinkedHashMapCid>(script, check_data);
|
||||
HashBaseNonConstEqualsConst<Map, kMapCid, kConstMapCid>(script, check_data);
|
||||
}
|
||||
|
||||
static void HashSetNonConstEqualsConst(const char* script,
|
||||
bool check_data = true) {
|
||||
HashBaseNonConstEqualsConst<LinkedHashSet, kLinkedHashSetCid,
|
||||
kImmutableLinkedHashSetCid>(script, check_data);
|
||||
HashBaseNonConstEqualsConst<Set, kSetCid, kConstSetCid>(script, check_data);
|
||||
}
|
||||
|
||||
TEST_CASE(ImmutableLinkedHashMap_small) {
|
||||
TEST_CASE(ConstMap_small) {
|
||||
const char* kScript = R"(
|
||||
constValue() => const {1: 42, 'foo': 499, 2: 'bar'};
|
||||
|
||||
@@ -6955,7 +6951,7 @@ void init() {
|
||||
HashMapNonConstEqualsConst(kScript);
|
||||
}
|
||||
|
||||
TEST_CASE(ImmutableLinkedHashMap_null) {
|
||||
TEST_CASE(ConstMap_null) {
|
||||
const char* kScript = R"(
|
||||
constValue() => const {1: 42, 'foo': 499, null: 'bar'};
|
||||
|
||||
@@ -6968,7 +6964,7 @@ void init() {
|
||||
HashMapNonConstEqualsConst(kScript);
|
||||
}
|
||||
|
||||
TEST_CASE(ImmutableLinkedHashMap_larger) {
|
||||
TEST_CASE(ConstMap_larger) {
|
||||
const char* kScript = R"(
|
||||
enum ExperimentalFlag {
|
||||
alternativeInvalidationStrategy,
|
||||
@@ -7038,7 +7034,7 @@ void init() {
|
||||
HashMapNonConstEqualsConst(kScript);
|
||||
}
|
||||
|
||||
TEST_CASE(ImmutableLinkedHashMap_nested) {
|
||||
TEST_CASE(ConstMap_nested) {
|
||||
const char* kScript = R"(
|
||||
enum Abi {
|
||||
wordSize64,
|
||||
@@ -7100,7 +7096,7 @@ void init() {
|
||||
HashMapNonConstEqualsConst(kScript, false);
|
||||
}
|
||||
|
||||
TEST_CASE(LinkedHashSet_iteration) {
|
||||
TEST_CASE(Set_iteration) {
|
||||
const char* kScript = R"(
|
||||
makeSet() {
|
||||
var set = {'x', 'y', 'z', 'w'};
|
||||
@@ -7117,12 +7113,12 @@ makeSet() {
|
||||
TransitionNativeToVM transition(thread);
|
||||
Instance& dart_set = Instance::Handle();
|
||||
dart_set ^= Api::UnwrapHandle(h_result);
|
||||
ASSERT(dart_set.IsLinkedHashSet());
|
||||
const LinkedHashSet& cc_set = LinkedHashSet::Cast(dart_set);
|
||||
ASSERT(dart_set.IsSet());
|
||||
const Set& cc_set = Set::Cast(dart_set);
|
||||
|
||||
EXPECT_EQ(2, cc_set.Length());
|
||||
|
||||
LinkedHashSet::Iterator iterator(cc_set);
|
||||
Set::Iterator iterator(cc_set);
|
||||
Object& object = Object::Handle();
|
||||
|
||||
EXPECT(iterator.MoveNext());
|
||||
@@ -7137,11 +7133,10 @@ makeSet() {
|
||||
}
|
||||
|
||||
// Copies elements from data.
|
||||
static LinkedHashSetPtr ConstructImmutableSet(
|
||||
const Array& input_data,
|
||||
intptr_t used_data,
|
||||
const TypeArguments& type_arguments) {
|
||||
auto& set = LinkedHashSet::Handle(ImmutableLinkedHashSet::NewUninitialized());
|
||||
static SetPtr ConstructImmutableSet(const Array& input_data,
|
||||
intptr_t used_data,
|
||||
const TypeArguments& type_arguments) {
|
||||
auto& set = Set::Handle(ConstSet::NewUninitialized());
|
||||
|
||||
const auto& data = Array::Handle(Array::New(used_data));
|
||||
for (intptr_t i = 0; i < used_data; i++) {
|
||||
@@ -7157,7 +7152,7 @@ static LinkedHashSetPtr ConstructImmutableSet(
|
||||
return set.ptr();
|
||||
}
|
||||
|
||||
TEST_CASE(ImmutableLinkedHashSet_vm) {
|
||||
TEST_CASE(ConstSet_vm) {
|
||||
const char* kScript = R"(
|
||||
makeNonConstSet() {
|
||||
return {1, 2, 3, 5, 8, 13};
|
||||
@@ -7177,17 +7172,17 @@ bool containsFive(Set set) => set.contains(5);
|
||||
TransitionNativeToVM transition(thread);
|
||||
const auto& non_const_object =
|
||||
Object::Handle(Api::UnwrapHandle(non_const_result));
|
||||
const auto& non_const_set = LinkedHashSet::Cast(non_const_object);
|
||||
ASSERT(non_const_set.GetClassId() == kLinkedHashSetCid);
|
||||
const auto& non_const_set = Set::Cast(non_const_object);
|
||||
ASSERT(non_const_set.GetClassId() == kSetCid);
|
||||
ASSERT(!non_const_set.IsCanonical());
|
||||
|
||||
const auto& non_const_data = Array::Handle(non_const_set.data());
|
||||
const auto& non_const_type_args =
|
||||
TypeArguments::Handle(non_const_set.GetTypeArguments());
|
||||
const auto& const_set = LinkedHashSet::Handle(ConstructImmutableSet(
|
||||
const auto& const_set = Set::Handle(ConstructImmutableSet(
|
||||
non_const_data, Smi::Value(non_const_set.used_data()),
|
||||
non_const_type_args));
|
||||
ASSERT(const_set.GetClassId() == kImmutableLinkedHashSetCid);
|
||||
ASSERT(const_set.GetClassId() == kConstSetCid);
|
||||
ASSERT(const_set.IsCanonical());
|
||||
|
||||
const_argument = Api::NewHandle(thread, const_set.ptr());
|
||||
@@ -7202,10 +7197,10 @@ bool containsFive(Set set) => set.contains(5);
|
||||
TransitionNativeToVM transition(thread);
|
||||
const auto& non_const_object =
|
||||
Object::Handle(Api::UnwrapHandle(non_const_result));
|
||||
const auto& non_const_set = LinkedHashSet::Cast(non_const_object);
|
||||
const auto& non_const_set = Set::Cast(non_const_object);
|
||||
const auto& const_object =
|
||||
Object::Handle(Api::UnwrapHandle(const_argument));
|
||||
const auto& const_set = LinkedHashSet::Cast(const_object);
|
||||
const auto& const_set = Set::Cast(const_object);
|
||||
|
||||
EXPECT(non_const_set.GetClassId() != const_set.GetClassId());
|
||||
|
||||
@@ -7215,7 +7210,7 @@ bool containsFive(Set set) => set.contains(5);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE(ImmutableLinkedHashSet_small) {
|
||||
TEST_CASE(ConstSet_small) {
|
||||
const char* kScript = R"(
|
||||
constValue() => const {1, 2, 3, 5, 8, 13};
|
||||
|
||||
@@ -7228,7 +7223,7 @@ void init() {
|
||||
HashSetNonConstEqualsConst(kScript);
|
||||
}
|
||||
|
||||
TEST_CASE(ImmutableLinkedHashSet_larger) {
|
||||
TEST_CASE(ConstSet_larger) {
|
||||
const char* kScript = R"(
|
||||
const Set<String> tokensThatMayFollowTypeArg = {
|
||||
'(',
|
||||
|
||||
@@ -549,8 +549,8 @@ COMPRESSED_VISITOR(UnwindError)
|
||||
COMPRESSED_VISITOR(ExternalOneByteString)
|
||||
COMPRESSED_VISITOR(ExternalTwoByteString)
|
||||
COMPRESSED_VISITOR(GrowableObjectArray)
|
||||
COMPRESSED_VISITOR(LinkedHashMap)
|
||||
COMPRESSED_VISITOR(LinkedHashSet)
|
||||
COMPRESSED_VISITOR(Map)
|
||||
COMPRESSED_VISITOR(Set)
|
||||
COMPRESSED_VISITOR(ExternalTypedData)
|
||||
TYPED_DATA_VIEW_VISITOR(TypedDataView)
|
||||
COMPRESSED_VISITOR(ReceivePort)
|
||||
@@ -747,16 +747,16 @@ intptr_t UntaggedImmutableArray::VisitImmutableArrayPointers(
|
||||
return UntaggedArray::VisitArrayPointers(raw_obj, visitor);
|
||||
}
|
||||
|
||||
intptr_t UntaggedImmutableLinkedHashMap::VisitImmutableLinkedHashMapPointers(
|
||||
ImmutableLinkedHashMapPtr raw_obj,
|
||||
intptr_t UntaggedConstMap::VisitConstMapPointers(
|
||||
ConstMapPtr raw_obj,
|
||||
ObjectPointerVisitor* visitor) {
|
||||
return UntaggedLinkedHashMap::VisitLinkedHashMapPointers(raw_obj, visitor);
|
||||
return UntaggedMap::VisitMapPointers(raw_obj, visitor);
|
||||
}
|
||||
|
||||
intptr_t UntaggedImmutableLinkedHashSet::VisitImmutableLinkedHashSetPointers(
|
||||
ImmutableLinkedHashSetPtr raw_obj,
|
||||
intptr_t UntaggedConstSet::VisitConstSetPointers(
|
||||
ConstSetPtr raw_obj,
|
||||
ObjectPointerVisitor* visitor) {
|
||||
return UntaggedLinkedHashSet::VisitLinkedHashSetPointers(raw_obj, visitor);
|
||||
return UntaggedSet::VisitSetPointers(raw_obj, visitor);
|
||||
}
|
||||
|
||||
void UntaggedObject::RememberCard(ObjectPtr const* slot) {
|
||||
|
||||
+18
-18
@@ -3090,19 +3090,19 @@ class UntaggedArray : public UntaggedInstance {
|
||||
// Variable length data follows here.
|
||||
COMPRESSED_VARIABLE_POINTER_FIELDS(ObjectPtr, element, data)
|
||||
|
||||
friend class LinkedHashMapSerializationCluster;
|
||||
friend class LinkedHashMapDeserializationCluster;
|
||||
friend class LinkedHashSetSerializationCluster;
|
||||
friend class LinkedHashSetDeserializationCluster;
|
||||
friend class MapSerializationCluster;
|
||||
friend class MapDeserializationCluster;
|
||||
friend class SetSerializationCluster;
|
||||
friend class SetDeserializationCluster;
|
||||
friend class CodeSerializationCluster;
|
||||
friend class CodeDeserializationCluster;
|
||||
friend class Deserializer;
|
||||
friend class UntaggedCode;
|
||||
friend class UntaggedImmutableArray;
|
||||
friend class GrowableObjectArray;
|
||||
friend class LinkedHashMap;
|
||||
friend class UntaggedLinkedHashMap;
|
||||
friend class UntaggedImmutableLinkedHashMap;
|
||||
friend class Map;
|
||||
friend class UntaggedMap;
|
||||
friend class UntaggedConstMap;
|
||||
friend class Object;
|
||||
friend class ICData; // For high performance access.
|
||||
friend class SubtypeTestCache; // For high performance access.
|
||||
@@ -3149,24 +3149,24 @@ class UntaggedLinkedHashBase : public UntaggedInstance {
|
||||
}
|
||||
};
|
||||
|
||||
class UntaggedLinkedHashMap : public UntaggedLinkedHashBase {
|
||||
RAW_HEAP_OBJECT_IMPLEMENTATION(LinkedHashMap);
|
||||
class UntaggedMap : public UntaggedLinkedHashBase {
|
||||
RAW_HEAP_OBJECT_IMPLEMENTATION(Map);
|
||||
|
||||
friend class UntaggedImmutableLinkedHashMap;
|
||||
friend class UntaggedConstMap;
|
||||
};
|
||||
|
||||
class UntaggedImmutableLinkedHashMap : public UntaggedLinkedHashMap {
|
||||
RAW_HEAP_OBJECT_IMPLEMENTATION(ImmutableLinkedHashMap);
|
||||
class UntaggedConstMap : public UntaggedMap {
|
||||
RAW_HEAP_OBJECT_IMPLEMENTATION(ConstMap);
|
||||
};
|
||||
|
||||
class UntaggedLinkedHashSet : public UntaggedLinkedHashBase {
|
||||
RAW_HEAP_OBJECT_IMPLEMENTATION(LinkedHashSet);
|
||||
class UntaggedSet : public UntaggedLinkedHashBase {
|
||||
RAW_HEAP_OBJECT_IMPLEMENTATION(Set);
|
||||
|
||||
friend class UntaggedImmutableLinkedHashSet;
|
||||
friend class UntaggedConstSet;
|
||||
};
|
||||
|
||||
class UntaggedImmutableLinkedHashSet : public UntaggedLinkedHashSet {
|
||||
RAW_HEAP_OBJECT_IMPLEMENTATION(ImmutableLinkedHashSet);
|
||||
class UntaggedConstSet : public UntaggedSet {
|
||||
RAW_HEAP_OBJECT_IMPLEMENTATION(ConstSet);
|
||||
};
|
||||
|
||||
class UntaggedFloat32x4 : public UntaggedInstance {
|
||||
@@ -3475,7 +3475,7 @@ class UntaggedFinalizerBase : public UntaggedInstance {
|
||||
|
||||
COMPRESSED_POINTER_FIELD(ObjectPtr, detachments)
|
||||
VISIT_FROM(detachments)
|
||||
COMPRESSED_POINTER_FIELD(LinkedHashSetPtr, all_entries)
|
||||
COMPRESSED_POINTER_FIELD(SetPtr, all_entries)
|
||||
COMPRESSED_POINTER_FIELD(FinalizerEntryPtr, entries_collected)
|
||||
|
||||
template <typename GCVisitorType>
|
||||
|
||||
@@ -166,30 +166,30 @@ namespace dart {
|
||||
F(GrowableObjectArray, type_arguments_) \
|
||||
F(GrowableObjectArray, length_) \
|
||||
F(GrowableObjectArray, data_) \
|
||||
F(LinkedHashMap, type_arguments_) \
|
||||
F(LinkedHashMap, index_) \
|
||||
F(LinkedHashMap, hash_mask_) \
|
||||
F(LinkedHashMap, data_) \
|
||||
F(LinkedHashMap, used_data_) \
|
||||
F(LinkedHashMap, deleted_keys_) \
|
||||
F(ImmutableLinkedHashMap, type_arguments_) \
|
||||
F(ImmutableLinkedHashMap, index_) \
|
||||
F(ImmutableLinkedHashMap, hash_mask_) \
|
||||
F(ImmutableLinkedHashMap, data_) \
|
||||
F(ImmutableLinkedHashMap, used_data_) \
|
||||
F(ImmutableLinkedHashMap, deleted_keys_) \
|
||||
F(LinkedHashSet, type_arguments_) \
|
||||
F(LinkedHashSet, index_) \
|
||||
F(LinkedHashSet, hash_mask_) \
|
||||
F(LinkedHashSet, data_) \
|
||||
F(LinkedHashSet, used_data_) \
|
||||
F(LinkedHashSet, deleted_keys_) \
|
||||
F(ImmutableLinkedHashSet, type_arguments_) \
|
||||
F(ImmutableLinkedHashSet, index_) \
|
||||
F(ImmutableLinkedHashSet, hash_mask_) \
|
||||
F(ImmutableLinkedHashSet, data_) \
|
||||
F(ImmutableLinkedHashSet, used_data_) \
|
||||
F(ImmutableLinkedHashSet, deleted_keys_) \
|
||||
F(Map, type_arguments_) \
|
||||
F(Map, index_) \
|
||||
F(Map, hash_mask_) \
|
||||
F(Map, data_) \
|
||||
F(Map, used_data_) \
|
||||
F(Map, deleted_keys_) \
|
||||
F(ConstMap, type_arguments_) \
|
||||
F(ConstMap, index_) \
|
||||
F(ConstMap, hash_mask_) \
|
||||
F(ConstMap, data_) \
|
||||
F(ConstMap, used_data_) \
|
||||
F(ConstMap, deleted_keys_) \
|
||||
F(Set, type_arguments_) \
|
||||
F(Set, index_) \
|
||||
F(Set, hash_mask_) \
|
||||
F(Set, data_) \
|
||||
F(Set, used_data_) \
|
||||
F(Set, deleted_keys_) \
|
||||
F(ConstSet, type_arguments_) \
|
||||
F(ConstSet, index_) \
|
||||
F(ConstSet, hash_mask_) \
|
||||
F(ConstSet, data_) \
|
||||
F(ConstSet, used_data_) \
|
||||
F(ConstSet, deleted_keys_) \
|
||||
F(TypedData, length_) \
|
||||
F(ExternalTypedData, length_) \
|
||||
F(ReceivePort, send_port_) \
|
||||
|
||||
@@ -2422,7 +2422,7 @@ static void PrintRetainingPath(Thread* thread,
|
||||
String& name = String::Handle();
|
||||
Class& element_class = Class::Handle();
|
||||
Array& element_field_map = Array::Handle();
|
||||
LinkedHashMap& map = LinkedHashMap::Handle();
|
||||
Map& map = Map::Handle();
|
||||
Array& map_data = Array::Handle();
|
||||
Field& field = Field::Handle();
|
||||
WeakProperty& wp = WeakProperty::Handle();
|
||||
@@ -2445,13 +2445,13 @@ static void PrintRetainingPath(Thread* thread,
|
||||
AddParentFieldToResponseBasedOnRecord(&field_names, &name, jselement,
|
||||
Record::Cast(element),
|
||||
slot_offset.Value());
|
||||
} else if (element.IsLinkedHashMap()) {
|
||||
map = static_cast<LinkedHashMapPtr>(path.At(i * 2));
|
||||
} else if (element.IsMap()) {
|
||||
map = static_cast<MapPtr>(path.At(i * 2));
|
||||
map_data = map.data();
|
||||
intptr_t element_index =
|
||||
(slot_offset.Value() - Array::element_offset(0)) /
|
||||
Array::kBytesPerElement;
|
||||
LinkedHashMap::Iterator iterator(map);
|
||||
Map::Iterator iterator(map);
|
||||
while (iterator.MoveNext()) {
|
||||
if (iterator.CurrentKey() == map_data.At(element_index) ||
|
||||
iterator.CurrentValue() == map_data.At(element_index)) {
|
||||
|
||||
@@ -283,6 +283,8 @@ class ObjectPointerVisitor;
|
||||
V(_ClosureCall, "_Closure.call") \
|
||||
V(_CombinatorMirror, "_CombinatorMirror") \
|
||||
V(_CompileTimeError, "_CompileTimeError") \
|
||||
V(_ConstMap, "_ConstMap") \
|
||||
V(_ConstSet, "_ConstSet") \
|
||||
V(_ControllerSubscription, "_ControllerSubscription") \
|
||||
V(_DeletedEnumPrefix, "Deleted enum value from ") \
|
||||
V(_DeletedEnumSentinel, "_deleted_enum_sentinel") \
|
||||
@@ -326,8 +328,6 @@ class ObjectPointerVisitor;
|
||||
V(_GrowableListGenerateFactory, "_GrowableList.generate") \
|
||||
V(_GrowableListLiteralFactory, "_GrowableList._literal") \
|
||||
V(_GrowableListWithData, "_GrowableList._withData") \
|
||||
V(_ImmutableLinkedHashMap, "_InternalImmutableLinkedHashMap") \
|
||||
V(_ImmutableLinkedHashSet, "_InternalImmutableLinkedHashSet") \
|
||||
V(_ImmutableList, "_ImmutableList") \
|
||||
V(_Int16ArrayFactory, "Int16List.") \
|
||||
V(_Int16ArrayView, "_Int16ArrayView") \
|
||||
@@ -350,12 +350,11 @@ class ObjectPointerVisitor;
|
||||
V(_LibraryDependencyMirror, "_LibraryDependencyMirror") \
|
||||
V(_LibraryMirror, "_LibraryMirror") \
|
||||
V(_LibraryPrefix, "_LibraryPrefix") \
|
||||
V(_LinkedHashMap, "_InternalLinkedHashMap") \
|
||||
V(_LinkedHashSet, "_InternalLinkedHashSet") \
|
||||
V(_List, "_List") \
|
||||
V(_ListFactory, "_List.") \
|
||||
V(_ListFilledFactory, "_List.filled") \
|
||||
V(_ListGenerateFactory, "_List.generate") \
|
||||
V(_Map, "_Map") \
|
||||
V(_MethodMirror, "_MethodMirror") \
|
||||
V(_Mint, "_Mint") \
|
||||
V(_MirrorReference, "_MirrorReference") \
|
||||
@@ -367,6 +366,7 @@ class ObjectPointerVisitor;
|
||||
V(_RecordType, "_RecordType") \
|
||||
V(_RegExp, "_RegExp") \
|
||||
V(_SendPortImpl, "_SendPortImpl") \
|
||||
V(_Set, "_Set") \
|
||||
V(_Smi, "_Smi") \
|
||||
V(_SourceLocation, "_SourceLocation") \
|
||||
V(_SpecialTypeMirror, "_SpecialTypeMirror") \
|
||||
|
||||
@@ -412,10 +412,10 @@ DEFINE_TAGGED_POINTER(Array, Instance)
|
||||
DEFINE_TAGGED_POINTER(ImmutableArray, Array)
|
||||
DEFINE_TAGGED_POINTER(GrowableObjectArray, Instance)
|
||||
DEFINE_TAGGED_POINTER(LinkedHashBase, Instance)
|
||||
DEFINE_TAGGED_POINTER(LinkedHashMap, LinkedHashBase)
|
||||
DEFINE_TAGGED_POINTER(LinkedHashSet, LinkedHashBase)
|
||||
DEFINE_TAGGED_POINTER(ImmutableLinkedHashMap, LinkedHashMap)
|
||||
DEFINE_TAGGED_POINTER(ImmutableLinkedHashSet, LinkedHashSet)
|
||||
DEFINE_TAGGED_POINTER(Map, LinkedHashBase)
|
||||
DEFINE_TAGGED_POINTER(Set, LinkedHashBase)
|
||||
DEFINE_TAGGED_POINTER(ConstMap, Map)
|
||||
DEFINE_TAGGED_POINTER(ConstSet, Set)
|
||||
DEFINE_TAGGED_POINTER(Float32x4, Instance)
|
||||
DEFINE_TAGGED_POINTER(Int32x4, Instance)
|
||||
DEFINE_TAGGED_POINTER(Float64x2, Instance)
|
||||
|
||||
@@ -19,7 +19,7 @@ class LinkedHashMap<K, V> {
|
||||
if (isValidKey == null) {
|
||||
if (hashCode == null) {
|
||||
if (equals == null) {
|
||||
return new _InternalLinkedHashMap<K, V>();
|
||||
return new _Map<K, V>();
|
||||
}
|
||||
hashCode = _defaultHashCode;
|
||||
} else {
|
||||
@@ -50,7 +50,7 @@ class LinkedHashSet<E> {
|
||||
if (isValidKey == null) {
|
||||
if (hashCode == null) {
|
||||
if (equals == null) {
|
||||
return new _InternalLinkedHashSet<E>();
|
||||
return new _Set<E>();
|
||||
}
|
||||
hashCode = _defaultHashCode;
|
||||
} else {
|
||||
|
||||
@@ -282,16 +282,17 @@ final _uninitializedIndex = new Uint32List(_HashBase._UNINITIALIZED_INDEX_SIZE);
|
||||
// in maps and sets to be monomorphic.
|
||||
final _uninitializedData = new List.filled(0, null);
|
||||
|
||||
// VM-internalized implementation of a default-constructed LinkedHashMap.
|
||||
// VM-internalized implementation of a default-constructed LinkedHashMap. Map
|
||||
// literals also create instances of this class.
|
||||
@pragma("vm:entry-point")
|
||||
class _InternalLinkedHashMap<K, V> extends _HashVMBase
|
||||
class _Map<K, V> extends _HashVMBase
|
||||
with
|
||||
MapMixin<K, V>,
|
||||
_HashBase,
|
||||
_OperatorEqualsAndHashCode,
|
||||
_LinkedHashMapMixin<K, V>
|
||||
implements LinkedHashMap<K, V> {
|
||||
_InternalLinkedHashMap() {
|
||||
_Map() {
|
||||
_index = _uninitializedIndex;
|
||||
_hashMask = _HashBase._UNINITIALIZED_HASH_MASK;
|
||||
_data = _uninitializedData;
|
||||
@@ -300,8 +301,8 @@ class _InternalLinkedHashMap<K, V> extends _HashVMBase
|
||||
}
|
||||
|
||||
void addAll(Map<K, V> other) {
|
||||
if (other is _InternalLinkedHashMap) {
|
||||
final otherBase = other as _InternalLinkedHashMap; // manual promotion.
|
||||
if (other is _Map) {
|
||||
final otherBase = other as _Map; // manual promotion.
|
||||
// If this map is empty we might be able to block-copy from [other].
|
||||
if (isEmpty && _quickCopy(otherBase)) return;
|
||||
// TODO(48143): Pre-grow capacity if it will reduce rehashing.
|
||||
@@ -310,11 +311,11 @@ class _InternalLinkedHashMap<K, V> extends _HashVMBase
|
||||
}
|
||||
}
|
||||
|
||||
// This is essentially the same class as _InternalLinkedHashMap, but it does
|
||||
// This is essentially the same class as _Map, but it does
|
||||
// not permit any modification of map entries from Dart code. We use
|
||||
// this class for maps constructed from Dart constant maps.
|
||||
@pragma("vm:entry-point")
|
||||
class _InternalImmutableLinkedHashMap<K, V> extends _HashVMImmutableBase
|
||||
class _ConstMap<K, V> extends _HashVMImmutableBase
|
||||
with
|
||||
MapMixin<K, V>,
|
||||
_HashBase,
|
||||
@@ -323,8 +324,8 @@ class _InternalImmutableLinkedHashMap<K, V> extends _HashVMImmutableBase
|
||||
_UnmodifiableMapMixin<K, V>,
|
||||
_ImmutableLinkedHashMapMixin<K, V>
|
||||
implements LinkedHashMap<K, V> {
|
||||
factory _InternalImmutableLinkedHashMap._uninstantiable() {
|
||||
throw new UnsupportedError("ImmutableMap can only be allocated by the VM");
|
||||
factory _ConstMap._uninstantiable() {
|
||||
throw new UnsupportedError("_ConstMap can only be allocated by the VM");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -946,16 +947,17 @@ mixin _LinkedHashSetMixin<E> on _HashBase, _EqualsAndHashCode {
|
||||
}
|
||||
}
|
||||
|
||||
// Set implementation, analogous to _InternalLinkedHashMap.
|
||||
// Set implementation, analogous to _Map. Set literals create instances of this
|
||||
// class.
|
||||
@pragma('vm:entry-point')
|
||||
class _InternalLinkedHashSet<E> extends _HashVMBase
|
||||
class _Set<E> extends _HashVMBase
|
||||
with
|
||||
SetMixin<E>,
|
||||
_HashBase,
|
||||
_OperatorEqualsAndHashCode,
|
||||
_LinkedHashSetMixin<E>
|
||||
implements LinkedHashSet<E> {
|
||||
_InternalLinkedHashSet() {
|
||||
_Set() {
|
||||
_index = _uninitializedIndex;
|
||||
_hashMask = _HashBase._UNINITIALIZED_HASH_MASK;
|
||||
_data = _uninitializedData;
|
||||
@@ -965,16 +967,16 @@ class _InternalLinkedHashSet<E> extends _HashVMBase
|
||||
|
||||
Set<R> cast<R>() => Set.castFrom<E, R>(this, newSet: _newEmpty);
|
||||
|
||||
static Set<R> _newEmpty<R>() => _InternalLinkedHashSet<R>();
|
||||
static Set<R> _newEmpty<R>() => _Set<R>();
|
||||
|
||||
// Returns a set of the same type, although this
|
||||
// is not required by the spec. (For instance, always using an identity set
|
||||
// would be technically correct, albeit surprising.)
|
||||
Set<E> toSet() => _InternalLinkedHashSet<E>()..addAll(this);
|
||||
Set<E> toSet() => _Set<E>()..addAll(this);
|
||||
|
||||
void addAll(Iterable<E> other) {
|
||||
if (other is _InternalLinkedHashSet) {
|
||||
final otherBase = other as _InternalLinkedHashSet;
|
||||
if (other is _Set) {
|
||||
final otherBase = other as _Set;
|
||||
// If this set is empty we might be able to block-copy from [other].
|
||||
if (isEmpty && _quickCopy(otherBase)) return;
|
||||
// TODO(48143): Pre-grow capacity if it will reduce rehashing.
|
||||
@@ -984,7 +986,7 @@ class _InternalLinkedHashSet<E> extends _HashVMBase
|
||||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
class _InternalImmutableLinkedHashSet<E> extends _HashVMImmutableBase
|
||||
class _ConstSet<E> extends _HashVMImmutableBase
|
||||
with
|
||||
SetMixin<E>,
|
||||
_HashBase,
|
||||
@@ -993,16 +995,16 @@ class _InternalImmutableLinkedHashSet<E> extends _HashVMImmutableBase
|
||||
_UnmodifiableSetMixin<E>,
|
||||
_ImmutableLinkedHashSetMixin<E>
|
||||
implements LinkedHashSet<E> {
|
||||
factory _InternalImmutableLinkedHashSet._uninstantiable() {
|
||||
throw new UnsupportedError("ImmutableSet can only be allocated by the VM");
|
||||
factory _ConstSet._uninstantiable() {
|
||||
throw new UnsupportedError("_ConstSet can only be allocated by the VM");
|
||||
}
|
||||
|
||||
Set<R> cast<R>() => Set.castFrom<E, R>(this, newSet: _newEmpty);
|
||||
|
||||
static Set<R> _newEmpty<R>() => _InternalLinkedHashSet<R>();
|
||||
static Set<R> _newEmpty<R>() => _Set<R>();
|
||||
|
||||
// Returns a mutable set.
|
||||
Set<E> toSet() => _InternalLinkedHashSet<E>()..addAll(this);
|
||||
Set<E> toSet() => _Set<E>()..addAll(this);
|
||||
}
|
||||
|
||||
mixin _ImmutableLinkedHashSetMixin<E>
|
||||
|
||||
Reference in New Issue
Block a user