[cfe] Add flags to MethodInvocation and fileEndOffset to Block
The CL add a 'flags' to MethodInvocation with the properties isInvariant
and isBoundsSafe. The former is used for to marks safe calls in unified
collection encoding. Both can be used further by backends.
The CL also adds a 'fileEndOffset' to Block. This is current set for
block declared in used code.
In response to https://github.com/dart-lang/sdk/issues/43994
and https://github.com/dart-lang/sdk/issues/43965
Change-Id: I579fc2928331465dfc2c152ccfd21297b12cfdd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170695
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index a4eebe8..d65d47e 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -507,7 +507,9 @@
}
Statement popBlock(int count, Token openBrace, Token closeBrace) {
- return forest.createBlock(offsetForToken(openBrace),
+ return forest.createBlock(
+ offsetForToken(openBrace),
+ offsetForToken(closeBrace),
const GrowableList<Statement>().pop(stack, count) ?? <Statement>[]);
}
@@ -1015,9 +1017,9 @@
statements.add(parameter.variable);
}
statements.add(body);
- body = forest.createBlock(charOffset, statements);
+ body = forest.createBlock(charOffset, noLocation, statements);
}
- body = forest.createBlock(charOffset, <Statement>[
+ body = forest.createBlock(charOffset, noLocation, <Statement>[
forest.createExpressionStatement(
noLocation,
// This error is added after type inference is done, so we
@@ -3777,7 +3779,7 @@
if (compileTimeErrors == null) {
push(NullValue.Block);
} else {
- push(forest.createBlock(noLocation, compileTimeErrors));
+ push(forest.createBlock(noLocation, noLocation, compileTimeErrors));
}
}
@@ -3824,7 +3826,7 @@
if (compileTimeErrors != null) {
compileTimeErrors.add(result);
- push(forest.createBlock(noLocation, compileTimeErrors));
+ push(forest.createBlock(noLocation, noLocation, compileTimeErrors));
} else {
push(result);
}
@@ -4919,7 +4921,8 @@
// This must have been a compile-time error.
assert(isErroneousNode(variable.initializer));
- push(forest.createBlock(declaration.fileOffset, <Statement>[
+ push(forest
+ .createBlock(declaration.fileOffset, noLocation, <Statement>[
forest.createExpressionStatement(
offsetForToken(token), variable.initializer),
declaration
@@ -5157,6 +5160,7 @@
if (forest.isVariablesDeclaration(lvalue)) {
effects = forest.createBlock(
noLocation,
+ noLocation,
// New list because the declarations are not a growable list.
new List<Statement>.from(
forest.variablesDeclarationExtractDeclarations(lvalue)));
@@ -6083,7 +6087,7 @@
if (member.isNative) {
push(NullValue.FunctionBody);
} else {
- push(forest.createBlock(offsetForToken(token), <Statement>[
+ push(forest.createBlock(offsetForToken(token), noLocation, <Statement>[
buildProblemStatement(
fasta.templateExpectedFunctionBody.withArguments(token),
token.charOffset,
diff --git a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
index 58a0b19..bca4392 100644
--- a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
@@ -1770,7 +1770,9 @@
return unevaluated(
node,
new MethodInvocation(extract(receiver), node.name,
- unevaluatedArguments(arguments, {}, node.arguments.types)));
+ unevaluatedArguments(arguments, {}, node.arguments.types))
+ ..fileOffset = node.fileOffset
+ ..flags = node.flags);
}
final String op = node.name.text;
diff --git a/pkg/front_end/lib/src/fasta/kernel/forest.dart b/pkg/front_end/lib/src/fasta/kernel/forest.dart
index b683259..273a4e7 100644
--- a/pkg/front_end/lib/src/fasta/kernel/forest.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/forest.dart
@@ -311,7 +311,8 @@
/// Return a representation of a block of [statements] at the given
/// [fileOffset].
- Statement createBlock(int fileOffset, List<Statement> statements) {
+ Statement createBlock(
+ int fileOffset, int fileEndOffset, List<Statement> statements) {
assert(fileOffset != null);
List<Statement> copy;
for (int i = 0; i < statements.length; i++) {
@@ -323,7 +324,9 @@
copy.add(statement);
}
}
- return new Block(copy ?? statements)..fileOffset = fileOffset;
+ return new Block(copy ?? statements)
+ ..fileOffset = fileOffset
+ ..fileEndOffset = fileEndOffset;
}
/// Return a representation of a break statement.
diff --git a/pkg/front_end/lib/src/fasta/kernel/transform_collections.dart b/pkg/front_end/lib/src/fasta/kernel/transform_collections.dart
index 2f0811c..0d758a1 100644
--- a/pkg/front_end/lib/src/fasta/kernel/transform_collections.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/transform_collections.dart
@@ -754,7 +754,8 @@
"No fileOffset on ${argument}.");
return new MethodInvocation(receiver, new Name('add'),
new Arguments([argument]), isSet ? setAdd : listAdd)
- ..fileOffset = argument.fileOffset;
+ ..fileOffset = argument.fileOffset
+ ..isInvariant = true;
}
Expression _createEqualsNull(Expression expression, {bool notEquals: false}) {
@@ -778,7 +779,8 @@
assert(fileOffset != TreeNode.noOffset);
return new MethodInvocation(
receiver, new Name('[]='), new Arguments([key, value]), mapPut)
- ..fileOffset = fileOffset;
+ ..fileOffset = fileOffset
+ ..isInvariant = true;
}
AsExpression _createImplicitAs(
diff --git a/pkg/front_end/lib/src/fasta/kernel/transform_set_literals.dart b/pkg/front_end/lib/src/fasta/kernel/transform_set_literals.dart
index ea13c05..67f0898 100644
--- a/pkg/front_end/lib/src/fasta/kernel/transform_set_literals.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/transform_set_literals.dart
@@ -79,7 +79,8 @@
new Name("add"),
new Arguments([entry]),
addMethod)
- ..fileOffset = entry.fileOffset;
+ ..fileOffset = entry.fileOffset
+ ..isInvariant = true;
statements.add(new ExpressionStatement(methodInvocation)
..fileOffset = methodInvocation.fileOffset);
}
diff --git a/pkg/front_end/test/spell_checking_list_code.txt b/pkg/front_end/test/spell_checking_list_code.txt
index d910513..5fd534d 100644
--- a/pkg/front_end/test/spell_checking_list_code.txt
+++ b/pkg/front_end/test/spell_checking_list_code.txt
@@ -801,6 +801,7 @@
particularly
patchup
path
+patterns
paulberry
pay
payload
diff --git a/pkg/front_end/testcases/expression/set_literal.expression.yaml.expect b/pkg/front_end/testcases/expression/set_literal.expression.yaml.expect
index d4d5c54..e622baa 100644
--- a/pkg/front_end/testcases/expression/set_literal.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/set_literal.expression.yaml.expect
@@ -3,5 +3,5 @@
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
return block {
final dart.core::Set<dart.core::String*>* #t1 = dart.collection::LinkedHashSet::•<dart.core::String*>();
- #t1.{dart.core::Set::add}("a");
+ #t1.{dart.core::Set::add}{Invariant}("a");
} =>#t1;
diff --git a/pkg/front_end/testcases/expression/spread_element.expression.yaml.expect b/pkg/front_end/testcases/expression/spread_element.expression.yaml.expect
index 1a1c5a8..e34676b 100644
--- a/pkg/front_end/testcases/expression/spread_element.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/spread_element.expression.yaml.expect
@@ -7,7 +7,7 @@
dart.core::Iterator<dart.core::String*>* :sync-for-iterator = main::listOfStrings.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
final dart.core::String* #t2 = :sync-for-iterator.{dart.core::Iterator::current};
- #t1.{dart.core::List::add}(#t2);
+ #t1.{dart.core::List::add}{Invariant}(#t2);
}
}
} =>#t1;
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.strong.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.strong.expect
index 46a4481..b9b41ea 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.strong.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.strong.expect
@@ -407,8 +407,8 @@
static field core::List<core::String*>* barAsVar = block {
final core::List<core::String*>* #t1 = <core::String*>[];
for (final core::String* #t2 in #C8)
- #t1.{core::List::add}(#t2);
- #t1.{core::List::add}("!");
+ #t1.{core::List::add}{Invariant}(#t2);
+ #t1.{core::List::add}{Invariant}("!");
} =>#t1;
static const field core::List<core::String*>* barWithNullSpread = invalid-expression "Null value during constant evaluation.";
static const field core::List<core::String*>* barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
@@ -482,7 +482,7 @@
core::print(#C22);
core::print( block {
final core::Set<core::String*>* #t3 = col::LinkedHashSet::•<core::String*>();
- #t3.{core::Set::add}("hello");
+ #t3.{core::Set::add}{Invariant}("hello");
} =>#t3);
core::print(#C26);
}
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.strong.transformed.expect
index 40a8b11..168f850 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.strong.transformed.expect
@@ -410,10 +410,10 @@
core::Iterator<core::String*>* :sync-for-iterator = (#C8).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String* #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
}
}
- #t1.{core::List::add}("!");
+ #t1.{core::List::add}{Invariant}("!");
} =>#t1;
static const field core::List<core::String*>* barWithNullSpread = invalid-expression "Null value during constant evaluation.";
static const field core::List<core::String*>* barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
@@ -487,7 +487,7 @@
core::print(#C22);
core::print( block {
final core::Set<core::String*>* #t3 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t3.{core::Set::add}("hello");
+ #t3.{core::Set::add}{Invariant}("hello");
} =>#t3);
core::print(#C26);
}
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.strong.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.strong.expect
index 3044135..dffdbc4 100644
--- a/pkg/front_end/testcases/general/control_flow_collection.dart.strong.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection.dart.strong.expect
@@ -6,63 +6,63 @@
static method main() → dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
- #t1.{core::List::add}(1);
+ #t1.{core::List::add}{Invariant}(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(2);
+ #t1.{core::List::add}{Invariant}(2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(3);
+ #t1.{core::List::add}{Invariant}(3);
else
- #t1.{core::List::add}(1.{core::int::unary-}());
+ #t1.{core::List::add}{Invariant}(1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(4);
+ #t1.{core::List::add}{Invariant}(4);
for (core::int* i in <core::int*>[5, 6, 7])
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
} =>#t1;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
- #t2.{core::Set::add}(1);
+ #t2.{core::Set::add}{Invariant}(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(2);
+ #t2.{core::Set::add}{Invariant}(2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(3);
+ #t2.{core::Set::add}{Invariant}(3);
else
- #t2.{core::Set::add}(1.{core::int::unary-}());
+ #t2.{core::Set::add}{Invariant}(1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(4);
+ #t2.{core::Set::add}{Invariant}(4);
for (core::int* i in <core::int*>[5, 6, 7])
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
} =>#t2;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
- #t3.{core::Map::[]=}(1, 1);
+ #t3.{core::Map::[]=}{Invariant}(1, 1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(2, 2);
+ #t3.{core::Map::[]=}{Invariant}(2, 2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(3, 3);
+ #t3.{core::Map::[]=}{Invariant}(3, 3);
else
- #t3.{core::Map::[]=}(1.{core::int::unary-}(), 1.{core::int::unary-}());
+ #t3.{core::Map::[]=}{Invariant}(1.{core::int::unary-}(), 1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(4, 4);
+ #t3.{core::Map::[]=}{Invariant}(4, 4);
for (core::int* i in <core::int*>[5, 6, 7])
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
} =>#t3;
core::print(aList);
core::print(aSet);
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.strong.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.strong.transformed.expect
index 6077536..6041ee9 100644
--- a/pkg/front_end/testcases/general/control_flow_collection.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection.dart.strong.transformed.expect
@@ -6,21 +6,21 @@
static method main() → dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
- #t1.{core::List::add}(1);
+ #t1.{core::List::add}{Invariant}(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(2);
+ #t1.{core::List::add}{Invariant}(2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(3);
+ #t1.{core::List::add}{Invariant}(3);
else
- #t1.{core::List::add}(1.{core::int::unary-}());
+ #t1.{core::List::add}{Invariant}(1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(4);
+ #t1.{core::List::add}{Invariant}(4);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
}
}
{
@@ -28,29 +28,29 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
}
}
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
} =>#t1;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t2 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t2.{core::Set::add}(1);
+ #t2.{core::Set::add}{Invariant}(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(2);
+ #t2.{core::Set::add}{Invariant}(2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(3);
+ #t2.{core::Set::add}{Invariant}(3);
else
- #t2.{core::Set::add}(1.{core::int::unary-}());
+ #t2.{core::Set::add}{Invariant}(1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(4);
+ #t2.{core::Set::add}{Invariant}(4);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
}
}
{
@@ -58,29 +58,29 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
}
}
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
} =>#t2;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
- #t3.{core::Map::[]=}(1, 1);
+ #t3.{core::Map::[]=}{Invariant}(1, 1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(2, 2);
+ #t3.{core::Map::[]=}{Invariant}(2, 2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(3, 3);
+ #t3.{core::Map::[]=}{Invariant}(3, 3);
else
- #t3.{core::Map::[]=}(1.{core::int::unary-}(), 1.{core::int::unary-}());
+ #t3.{core::Map::[]=}{Invariant}(1.{core::int::unary-}(), 1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(4, 4);
+ #t3.{core::Map::[]=}{Invariant}(4, 4);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
}
}
{
@@ -88,11 +88,11 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
}
}
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
} =>#t3;
core::print(aList);
core::print(aSet);
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.expect
index b84574b..4065ab1 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.expect
@@ -454,195 +454,195 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t1 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(42);
+ #t1.{core::List::add}{Invariant}(42);
} =>#t1;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(42);
- #t2.{core::Set::add}(null);
+ #t2.{core::Set::add}{Invariant}(42);
+ #t2.{core::Set::add}{Invariant}(null);
} =>#t2;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t3 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}("bar", 42);
- #t3.{core::Map::[]=}("baz", null);
+ #t3.{core::Map::[]=}{Invariant}("bar", 42);
+ #t3.{core::Map::[]=}{Invariant}("baz", null);
} =>#t3;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t4 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t4.{core::List::add}(dynVar);
+ #t4.{core::List::add}{Invariant}(dynVar);
} =>#t4;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t5 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t5.{core::Set::add}(dynVar);
- #t5.{core::Set::add}(null);
+ #t5.{core::Set::add}{Invariant}(dynVar);
+ #t5.{core::Set::add}{Invariant}(null);
} =>#t5;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t6 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t6.{core::Map::[]=}("bar", dynVar);
- #t6.{core::Map::[]=}("baz", null);
+ #t6.{core::Map::[]=}{Invariant}("bar", dynVar);
+ #t6.{core::Map::[]=}{Invariant}("baz", null);
} =>#t6;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t7 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t7.{core::List::add}(<core::int*>[42]);
+ #t7.{core::List::add}{Invariant}(<core::int*>[42]);
} =>#t7;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t8 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t8.{core::Set::add}(<core::int*>[42]);
- #t8.{core::Set::add}(null);
+ #t8.{core::Set::add}{Invariant}(<core::int*>[42]);
+ #t8.{core::Set::add}{Invariant}(null);
} =>#t8;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t9 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t9.{core::Map::[]=}("bar", <core::int*>[42]);
- #t9.{core::Map::[]=}("baz", null);
+ #t9.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
+ #t9.{core::Map::[]=}{Invariant}("baz", null);
} =>#t9;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t10 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t11 in <core::int*>[42])
- #t10.{core::List::add}(#t11);
+ #t10.{core::List::add}{Invariant}(#t11);
} =>#t10;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t12 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t13 in <core::int*>[42])
- #t12.{core::Set::add}(#t13);
- #t12.{core::Set::add}(null);
+ #t12.{core::Set::add}{Invariant}(#t13);
+ #t12.{core::Set::add}{Invariant}(null);
} =>#t12;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t15 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
- #t14.{core::Map::[]=}("baz", null);
+ #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t14.{core::Map::[]=}{Invariant}("baz", null);
} =>#t14;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t16 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t17 in <dynamic>[dynVar])
- #t16.{core::List::add}(#t17);
+ #t16.{core::List::add}{Invariant}(#t17);
} =>#t16;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t18 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t19 in <dynamic>[dynVar])
- #t18.{core::Set::add}(#t19);
- #t18.{core::Set::add}(null);
+ #t18.{core::Set::add}{Invariant}(#t19);
+ #t18.{core::Set::add}{Invariant}(null);
} =>#t18;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t20 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t21 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
- #t20.{core::Map::[]=}("baz", null);
+ #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}{Invariant}("baz", null);
} =>#t20;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t22 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t23 in <core::List<core::int*>*>[<core::int*>[42]])
- #t22.{core::List::add}(#t23);
+ #t22.{core::List::add}{Invariant}(#t23);
} =>#t22;
core::Set<core::List<core::int*>*>* set22 = block {
final core::Set<core::List<core::int*>*>* #t24 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t25 in <core::List<core::int*>*>[<core::int*>[42]])
- #t24.{core::Set::add}(#t25);
- #t24.{core::Set::add}(null);
+ #t24.{core::Set::add}{Invariant}(#t25);
+ #t24.{core::Set::add}{Invariant}(null);
} =>#t24;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t26 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t27 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t26.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
- #t26.{core::Map::[]=}("baz", null);
+ #t26.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
+ #t26.{core::Map::[]=}{Invariant}("baz", null);
} =>#t26;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t28 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t29 in <core::int*>[42])
- #t28.{core::List::add}(#t29);
+ #t28.{core::List::add}{Invariant}(#t29);
} =>#t28;
core::Set<core::int*>* set30 = block {
final core::Set<core::int*>* #t30 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t31 in <core::int*>[42])
- #t30.{core::Set::add}(#t31);
- #t30.{core::Set::add}(null);
+ #t30.{core::Set::add}{Invariant}(#t31);
+ #t30.{core::Set::add}{Invariant}(null);
} =>#t30;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t32 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t33 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
- #t32.{core::Map::[]=}("baz", null);
+ #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t32.{core::Map::[]=}{Invariant}("baz", null);
} =>#t32;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t34 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t35 in <dynamic>[dynVar])
- #t34.{core::List::add}(#t35);
+ #t34.{core::List::add}{Invariant}(#t35);
} =>#t34;
core::Set<dynamic>* set31 = block {
final core::Set<dynamic>* #t36 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t37 in <dynamic>[dynVar])
- #t36.{core::Set::add}(#t37);
- #t36.{core::Set::add}(null);
+ #t36.{core::Set::add}{Invariant}(#t37);
+ #t36.{core::Set::add}{Invariant}(null);
} =>#t36;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t38 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t39 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t38.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
- #t38.{core::Map::[]=}("baz", null);
+ #t38.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
+ #t38.{core::Map::[]=}{Invariant}("baz", null);
} =>#t38;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t41 in <core::List<core::int*>*>[<core::int*>[42]])
- #t40.{core::List::add}(#t41);
+ #t40.{core::List::add}{Invariant}(#t41);
} =>#t40;
core::Set<core::List<core::int*>*>* set33 = block {
final core::Set<core::List<core::int*>*>* #t42 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t43 in <core::List<core::int*>*>[<core::int*>[42]])
- #t42.{core::Set::add}(#t43);
- #t42.{core::Set::add}(null);
+ #t42.{core::Set::add}{Invariant}(#t43);
+ #t42.{core::Set::add}{Invariant}(null);
} =>#t42;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t44 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t45 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
- #t44.{core::Map::[]=}("baz", null);
+ #t44.{core::Map::[]=}{Invariant}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
+ #t44.{core::Map::[]=}{Invariant}("baz", null);
} =>#t44;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t46 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t47 in <core::List<core::int*>*>[<core::int*>[]])
- #t46.{core::List::add}(#t47);
+ #t46.{core::List::add}{Invariant}(#t47);
} =>#t46;
core::Set<core::List<core::int*>*>* set40 = block {
final core::Set<core::List<core::int*>*>* #t48 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t49 in <core::List<core::int*>*>[<core::int*>[]])
- #t48.{core::Set::add}(#t49);
- #t48.{core::Set::add}(null);
+ #t48.{core::Set::add}{Invariant}(#t49);
+ #t48.{core::Set::add}{Invariant}(null);
} =>#t48;
core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:39:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
@@ -652,62 +652,62 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t51 in block {
final core::Set<core::List<core::int*>*>* #t52 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t52.{core::Set::add}(<core::int*>[]);
+ #t52.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t52)
- #t50.{core::List::add}(#t51);
+ #t50.{core::List::add}{Invariant}(#t51);
} =>#t50;
core::Set<core::List<core::int*>*>* set41 = block {
final core::Set<core::List<core::int*>*>* #t53 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t54 in block {
final core::Set<core::List<core::int*>*>* #t55 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t55.{core::Set::add}(<core::int*>[]);
+ #t55.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t55)
- #t53.{core::Set::add}(#t54);
- #t53.{core::Set::add}(null);
+ #t53.{core::Set::add}{Invariant}(#t54);
+ #t53.{core::Set::add}{Invariant}(null);
} =>#t53;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t56 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t57 in <core::List<core::int*>*>[<core::int*>[]])
- #t56.{core::List::add}(#t57);
+ #t56.{core::List::add}{Invariant}(#t57);
} =>#t56;
core::Set<core::List<core::int*>*>* set42 = block {
final core::Set<core::List<core::int*>*>* #t58 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t59 in <core::List<core::int*>*>[<core::int*>[]])
- #t58.{core::Set::add}(#t59);
- #t58.{core::Set::add}(null);
+ #t58.{core::Set::add}{Invariant}(#t59);
+ #t58.{core::Set::add}{Invariant}(null);
} =>#t58;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t60 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t61 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t60.{core::Map::[]=}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
- #t60.{core::Map::[]=}("baz", null);
+ #t60.{core::Map::[]=}{Invariant}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
+ #t60.{core::Map::[]=}{Invariant}("baz", null);
} =>#t60;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t62 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t63 in <core::int*>[])
- #t62.{core::List::add}(#t63);
+ #t62.{core::List::add}{Invariant}(#t63);
} =>#t62;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t64 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t65 in <core::int*>[])
- #t64.{core::Set::add}(#t65);
- #t64.{core::Set::add}(null);
+ #t64.{core::Set::add}{Invariant}(#t65);
+ #t64.{core::Set::add}{Invariant}(null);
} =>#t64;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t66 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t67 in <core::String*, core::int*>{}.{core::Map::entries})
- #t66.{core::Map::[]=}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
- #t66.{core::Map::[]=}("baz", null);
+ #t66.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
+ #t66.{core::Map::[]=}{Invariant}("baz", null);
} =>#t66;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t68 = <core::int*>[];
@@ -715,7 +715,7 @@
for (final core::int* #t69 in block {
final core::Set<core::int*>* #t70 = col::LinkedHashSet::•<core::int*>();
} =>#t70)
- #t68.{core::List::add}(#t69);
+ #t68.{core::List::add}{Invariant}(#t69);
} =>#t68;
core::Set<core::int*>* set51 = block {
final core::Set<core::int*>* #t71 = col::LinkedHashSet::•<core::int*>();
@@ -723,231 +723,231 @@
for (final core::int* #t72 in block {
final core::Set<core::int*>* #t73 = col::LinkedHashSet::•<core::int*>();
} =>#t73)
- #t71.{core::Set::add}(#t72);
- #t71.{core::Set::add}(null);
+ #t71.{core::Set::add}{Invariant}(#t72);
+ #t71.{core::Set::add}{Invariant}(null);
} =>#t71;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t74 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t75 in <core::int*>[])
- #t74.{core::List::add}(#t75);
+ #t74.{core::List::add}{Invariant}(#t75);
} =>#t74;
core::Set<core::int*>* set52 = block {
final core::Set<core::int*>* #t76 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t77 in <core::int*>[])
- #t76.{core::Set::add}(#t77);
- #t76.{core::Set::add}(null);
+ #t76.{core::Set::add}{Invariant}(#t77);
+ #t76.{core::Set::add}{Invariant}(null);
} =>#t76;
core::Map<core::String*, core::int*>* map52 = block {
final core::Map<core::String*, core::int*>* #t78 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t79 in <core::String*, core::int*>{}.{core::Map::entries})
- #t78.{core::Map::[]=}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
- #t78.{core::Map::[]=}("baz", null);
+ #t78.{core::Map::[]=}{Invariant}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
+ #t78.{core::Map::[]=}{Invariant}("baz", null);
} =>#t78;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t80 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t81 in <core::List<core::int*>*>[<core::int*>[]])
- #t80.{core::List::add}(#t81);
+ #t80.{core::List::add}{Invariant}(#t81);
} =>#t80;
core::Set<core::List<core::int*>*>* set60 = block {
final core::Set<core::List<core::int*>*>* #t82 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t83 in <core::List<core::int*>*>[<core::int*>[]])
- #t82.{core::Set::add}(#t83);
- #t82.{core::Set::add}(null);
+ #t82.{core::Set::add}{Invariant}(#t83);
+ #t82.{core::Set::add}{Invariant}(null);
} =>#t82;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t84 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t85 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t84.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
- #t84.{core::Map::[]=}("baz", null);
+ #t84.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t84.{core::Map::[]=}{Invariant}("baz", null);
} =>#t84;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t86 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t87 in <core::List<core::int*>*>[<core::int*>[]])
- #t86.{core::List::add}(#t87);
+ #t86.{core::List::add}{Invariant}(#t87);
} =>#t86;
core::Set<core::List<core::int*>*>* set61 = block {
final core::Set<core::List<core::int*>*>* #t88 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t89 in <core::List<core::int*>*>[<core::int*>[]])
- #t88.{core::Set::add}(#t89);
- #t88.{core::Set::add}(null);
+ #t88.{core::Set::add}{Invariant}(#t89);
+ #t88.{core::Set::add}{Invariant}(null);
} =>#t88;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t90 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t91 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t90.{core::Map::[]=}(#t91.{core::MapEntry::key}, #t91.{core::MapEntry::value});
- #t90.{core::Map::[]=}("baz", null);
+ #t90.{core::Map::[]=}{Invariant}(#t91.{core::MapEntry::key}, #t91.{core::MapEntry::value});
+ #t90.{core::Map::[]=}{Invariant}("baz", null);
} =>#t90;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t92 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t92.{core::List::add}(<core::int*>[]);
+ #t92.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t92;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t93 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t93.{core::Set::add}(<core::int*>[]);
- #t93.{core::Set::add}(null);
+ #t93.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t93.{core::Set::add}{Invariant}(null);
} =>#t93;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t94 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t94.{core::List::add}(<core::int*>[]);
+ #t94.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t94;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t95 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t95.{core::Set::add}(<core::int*>[]);
- #t95.{core::Set::add}(null);
+ #t95.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t95.{core::Set::add}{Invariant}(null);
} =>#t95;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t96 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t96.{core::List::add}(42);
+ #t96.{core::List::add}{Invariant}(42);
else
- #t96.{core::List::add}(3.14);
+ #t96.{core::List::add}{Invariant}(3.14);
} =>#t96;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t97 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t97.{core::Set::add}(42);
+ #t97.{core::Set::add}{Invariant}(42);
else
- #t97.{core::Set::add}(3.14);
- #t97.{core::Set::add}(null);
+ #t97.{core::Set::add}{Invariant}(3.14);
+ #t97.{core::Set::add}{Invariant}(null);
} =>#t97;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t98 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t98.{core::Map::[]=}("bar", 42);
+ #t98.{core::Map::[]=}{Invariant}("bar", 42);
else
- #t98.{core::Map::[]=}("bar", 3.14);
- #t98.{core::Map::[]=}("baz", null);
+ #t98.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t98.{core::Map::[]=}{Invariant}("baz", null);
} =>#t98;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t99 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t100 in listInt)
- #t99.{core::List::add}(#t100);
+ #t99.{core::List::add}{Invariant}(#t100);
else
for (final core::num* #t101 in listDouble)
- #t99.{core::List::add}(#t101);
+ #t99.{core::List::add}{Invariant}(#t101);
} =>#t99;
core::Set<core::num*>* set81 = block {
final core::Set<core::num*>* #t102 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t103 in listInt)
- #t102.{core::Set::add}(#t103);
+ #t102.{core::Set::add}{Invariant}(#t103);
else
for (final core::num* #t104 in listDouble)
- #t102.{core::Set::add}(#t104);
- #t102.{core::Set::add}(null);
+ #t102.{core::Set::add}{Invariant}(#t104);
+ #t102.{core::Set::add}{Invariant}(null);
} =>#t102;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t105 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t106 in mapToInt.{core::Map::entries})
- #t105.{core::Map::[]=}(#t106.{core::MapEntry::key}, #t106.{core::MapEntry::value});
+ #t105.{core::Map::[]=}{Invariant}(#t106.{core::MapEntry::key}, #t106.{core::MapEntry::value});
else
for (final core::MapEntry<core::String*, core::num*>* #t107 in mapToDouble.{core::Map::entries})
- #t105.{core::Map::[]=}(#t107.{core::MapEntry::key}, #t107.{core::MapEntry::value});
- #t105.{core::Map::[]=}("baz", null);
+ #t105.{core::Map::[]=}{Invariant}(#t107.{core::MapEntry::key}, #t107.{core::MapEntry::value});
+ #t105.{core::Map::[]=}{Invariant}("baz", null);
} =>#t105;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t108 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t109 in listInt)
- #t108.{core::List::add}(#t109);
+ #t108.{core::List::add}{Invariant}(#t109);
else
for (final dynamic #t110 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t108.{core::List::add}(#t110);
+ #t108.{core::List::add}{Invariant}(#t110);
} =>#t108;
core::Set<dynamic>* set82 = block {
final core::Set<dynamic>* #t111 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t112 in listInt)
- #t111.{core::Set::add}(#t112);
+ #t111.{core::Set::add}{Invariant}(#t112);
else
for (final dynamic #t113 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t111.{core::Set::add}(#t113);
- #t111.{core::Set::add}(null);
+ #t111.{core::Set::add}{Invariant}(#t113);
+ #t111.{core::Set::add}{Invariant}(null);
} =>#t111;
core::Set<dynamic>* map82 = block {
final core::Set<dynamic>* #t114 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t114.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
^");
else
for (final dynamic #t115 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t114.{core::Set::add}(#t115);
- #t114.{core::Set::add}(null);
+ #t114.{core::Set::add}{Invariant}(#t115);
+ #t114.{core::Set::add}{Invariant}(null);
} =>#t114;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t116 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t116.{core::List::add}(42);
+ #t116.{core::List::add}{Invariant}(42);
else
for (final core::num* #t117 in listDouble)
- #t116.{core::List::add}(#t117);
+ #t116.{core::List::add}{Invariant}(#t117);
} =>#t116;
core::Set<core::num*>* set83 = block {
final core::Set<core::num*>* #t118 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t119 in listInt)
- #t118.{core::Set::add}(#t119);
+ #t118.{core::Set::add}{Invariant}(#t119);
else
- #t118.{core::Set::add}(3.14);
- #t118.{core::Set::add}(null);
+ #t118.{core::Set::add}{Invariant}(3.14);
+ #t118.{core::Set::add}{Invariant}(null);
} =>#t118;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t120 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t121 in mapToInt.{core::Map::entries})
- #t120.{core::Map::[]=}(#t121.{core::MapEntry::key}, #t121.{core::MapEntry::value});
+ #t120.{core::Map::[]=}{Invariant}(#t121.{core::MapEntry::key}, #t121.{core::MapEntry::value});
else
- #t120.{core::Map::[]=}("bar", 3.14);
- #t120.{core::Map::[]=}("baz", null);
+ #t120.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t120.{core::Map::[]=}{Invariant}("baz", null);
} =>#t120;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t122 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t122.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t122.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
} =>#t122;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t123 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t123.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
- #t123.{core::Set::add}(null);
+ #t123.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t123.{core::Set::add}{Invariant}(null);
} =>#t123;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t124 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t124.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t124.{core::Map::[]=}("baz", null);
+ #t124.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
+ #t124.{core::Map::[]=}{Invariant}("baz", null);
} =>#t124;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t125 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t126 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t127 = #t126 as{TypeError} core::int*;
- #t125.{core::List::add}(#t127);
+ #t125.{core::List::add}{Invariant}(#t127);
}
} =>#t125;
core::Set<core::int*>* set91 = block {
@@ -955,9 +955,9 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t129 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t130 = #t129 as{TypeError} core::int*;
- #t128.{core::Set::add}(#t130);
+ #t128.{core::Set::add}{Invariant}(#t130);
}
- #t128.{core::Set::add}(null);
+ #t128.{core::Set::add}{Invariant}(null);
} =>#t128;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t131 = <core::String*, core::int*>{};
@@ -965,49 +965,49 @@
for (final core::MapEntry<dynamic, dynamic>* #t132 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::String* #t133 = #t132.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t134 = #t132.{core::MapEntry::value} as{TypeError} core::int*;
- #t131.{core::Map::[]=}(#t133, #t134);
+ #t131.{core::Map::[]=}{Invariant}(#t133, #t134);
}
- #t131.{core::Map::[]=}("baz", null);
+ #t131.{core::Map::[]=}{Invariant}("baz", null);
} =>#t131;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t135 = <core::int*>[];
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t135.{core::List::add}(42);
+ #t135.{core::List::add}{Invariant}(42);
} =>#t135;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t136 = col::LinkedHashSet::•<core::int*>();
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t136.{core::Set::add}(42);
+ #t136.{core::Set::add}{Invariant}(42);
} =>#t136;
core::Map<core::int*, core::int*>* map100 = block {
final core::Map<core::int*, core::int*>* #t137 = <core::int*, core::int*>{};
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t137.{core::Map::[]=}(42, 42);
+ #t137.{core::Map::[]=}{Invariant}(42, 42);
} =>#t137;
}
static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
block {
final core::List<core::int*>* #t138 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t138.{core::List::add}(let final<BottomType> #t139 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t138.{core::List::add}{Invariant}(let final<BottomType> #t139 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) \"bar\"];
^" in "bar" as{TypeError} core::int*);
} =>#t138;
block {
final core::Set<core::int*>* #t140 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t140.{core::Set::add}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t140.{core::Set::add}{Invariant}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{if (oracle(\"foo\")) \"bar\", null};
^" in "bar" as{TypeError} core::int*);
- #t140.{core::Set::add}(null);
+ #t140.{core::Set::add}{Invariant}(null);
} =>#t140;
block {
final core::Map<core::String*, core::int*>* #t142 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t142.{core::Map::[]=}("bar", let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t142.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*);
- #t142.{core::Map::[]=}("baz", null);
+ #t142.{core::Map::[]=}{Invariant}("baz", null);
} =>#t142;
block {
final core::List<core::int*>* #t144 = <core::int*>[];
@@ -1015,7 +1015,7 @@
for (final core::int* #t145 in <core::int*>[let final<BottomType> #t146 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) ...[\"bar\"]];
^" in "bar" as{TypeError} core::int*])
- #t144.{core::List::add}(#t145);
+ #t144.{core::List::add}{Invariant}(#t145);
} =>#t144;
block {
final core::Set<core::int*>* #t147 = col::LinkedHashSet::•<core::int*>();
@@ -1023,8 +1023,8 @@
for (final core::int* #t148 in <core::int*>[let final<BottomType> #t149 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{if (oracle(\"foo\")) ...[\"bar\"], null};
^" in "bar" as{TypeError} core::int*])
- #t147.{core::Set::add}(#t148);
- #t147.{core::Set::add}(null);
+ #t147.{core::Set::add}{Invariant}(#t148);
+ #t147.{core::Set::add}{Invariant}(null);
} =>#t147;
block {
final core::Map<core::String*, core::int*>* #t150 = <core::String*, core::int*>{};
@@ -1032,13 +1032,13 @@
for (final core::MapEntry<core::String*, core::int*>* #t151 in <core::String*, core::int*>{"bar": let final<BottomType> #t152 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "bar" as{TypeError} core::int*}.{core::Map::entries})
- #t150.{core::Map::[]=}(#t151.{core::MapEntry::key}, #t151.{core::MapEntry::value});
- #t150.{core::Map::[]=}("baz", null);
+ #t150.{core::Map::[]=}{Invariant}(#t151.{core::MapEntry::key}, #t151.{core::MapEntry::value});
+ #t150.{core::Map::[]=}{Invariant}("baz", null);
} =>#t150;
block {
final core::List<core::int*>* #t153 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t153.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t153.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map];
^");
@@ -1046,11 +1046,11 @@
block {
final core::Set<core::int*>* #t154 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t154.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t154.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map, null};
^");
- #t154.{core::Set::add}(null);
+ #t154.{core::Set::add}{Invariant}(null);
} =>#t154;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:39: Error: Unexpected type 'List<String>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1062,58 +1062,58 @@
block {
final core::List<core::String*>* #t155 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t155.{core::List::add}(let final<BottomType> #t156 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t155.{core::List::add}{Invariant}(let final<BottomType> #t156 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96: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];
^" in 42 as{TypeError} core::String*);
else
- #t155.{core::List::add}(let final<BottomType> #t157 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t155.{core::List::add}{Invariant}(let final<BottomType> #t157 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[if (oracle(\"foo\")) 42 else 3.14];
^" in 3.14 as{TypeError} core::String*);
} =>#t155;
block {
final core::Set<core::String*>* #t158 = col::LinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t158.{core::Set::add}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t158.{core::Set::add}{Invariant}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97: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};
^" in 42 as{TypeError} core::String*);
else
- #t158.{core::Set::add}(let final<BottomType> #t160 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t158.{core::Set::add}{Invariant}(let final<BottomType> #t160 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
^" in 3.14 as{TypeError} core::String*);
- #t158.{core::Set::add}(null);
+ #t158.{core::Set::add}{Invariant}(null);
} =>#t158;
block {
final core::Map<core::String*, core::String*>* #t161 = <core::String*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t161.{core::Map::[]=}("bar", let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t161.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
^" in 42 as{TypeError} core::String*);
else
- #t161.{core::Map::[]=}("baz", let final<BottomType> #t163 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t161.{core::Map::[]=}{Invariant}("baz", let final<BottomType> #t163 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
^" in 3.14 as{TypeError} core::String*);
- #t161.{core::Map::[]=}("baz", null);
+ #t161.{core::Map::[]=}{Invariant}("baz", null);
} =>#t161;
block {
final core::List<core::int*>* #t164 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t164.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t164.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map else 42];
^");
else
- #t164.{core::List::add}(42);
+ #t164.{core::List::add}{Invariant}(42);
} =>#t164;
block {
final core::Set<core::int*>* #t165 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t165.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t165.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
^");
else
- #t165.{core::Set::add}(42);
- #t165.{core::Set::add}(null);
+ #t165.{core::Set::add}{Invariant}(42);
+ #t165.{core::Set::add}{Invariant}(null);
} =>#t165;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:39: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1125,9 +1125,9 @@
block {
final core::List<core::int*>* #t166 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t166.{core::List::add}(42);
+ #t166.{core::List::add}{Invariant}(42);
else
- #t166.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t166.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) 42 else ...map];
^");
@@ -1135,13 +1135,13 @@
block {
final core::Set<core::int*>* #t167 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t167.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t167.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
^");
else
- #t167.{core::Set::add}(42);
- #t167.{core::Set::add}(null);
+ #t167.{core::Set::add}{Invariant}(42);
+ #t167.{core::Set::add}{Invariant}(null);
} =>#t167;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:54: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1173,63 +1173,63 @@
if(let final<BottomType> #t169 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
List<int> list20 = [if (42) 42];
^" in 42 as{TypeError} core::bool*)
- #t168.{core::List::add}(42);
+ #t168.{core::List::add}{Invariant}(42);
} =>#t168;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t170 = col::LinkedHashSet::•<core::int*>();
if(let final<BottomType> #t171 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.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} core::bool*)
- #t170.{core::Set::add}(42);
+ #t170.{core::Set::add}{Invariant}(42);
} =>#t170;
core::Map<core::int*, core::int*>* map30 = block {
final core::Map<core::int*, core::int*>* #t172 = <core::int*, core::int*>{};
if(let final<BottomType> #t173 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
Map<int, int> map30 = {if (42) 42: 42};
^" in 42 as{TypeError} core::bool*)
- #t172.{core::Map::[]=}(42, 42);
+ #t172.{core::Map::[]=}{Invariant}(42, 42);
} =>#t172;
core::List<core::String*>* list40 = block {
final core::List<core::String*>* #t174 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t174.{core::List::add}(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t174.{core::List::add}{Invariant}(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
^" in true as{TypeError} core::String*);
else
- #t174.{core::List::add}(let final<BottomType> #t176 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t174.{core::List::add}{Invariant}(let final<BottomType> #t176 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
^" in 42 as{TypeError} core::String*);
} =>#t174;
core::Set<core::String*>* set40 = block {
final core::Set<core::String*>* #t177 = col::LinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t177.{core::Set::add}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t177.{core::Set::add}{Invariant}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.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};
^" in true as{TypeError} core::String*);
else
- #t177.{core::Set::add}(let final<BottomType> #t179 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t177.{core::Set::add}{Invariant}(let final<BottomType> #t179 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
^" in 42 as{TypeError} core::String*);
} =>#t177;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t180 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t180.{core::Map::[]=}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t180.{core::Map::[]=}{Invariant}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
^" in true as{TypeError} core::String*, 42);
else
- #t180.{core::Map::[]=}(let final<BottomType> #t182 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t180.{core::Map::[]=}{Invariant}(let final<BottomType> #t182 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
^" in 42 as{TypeError} core::String*, 42);
} =>#t180;
core::Map<core::int*, core::String*>* map41 = block {
final core::Map<core::int*, core::String*>* #t183 = <core::int*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t183.{core::Map::[]=}(42, let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t183.{core::Map::[]=}{Invariant}(42, let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
^" in true as{TypeError} core::String*);
else
- #t183.{core::Map::[]=}(42, let final<BottomType> #t185 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t183.{core::Map::[]=}{Invariant}(42, let final<BottomType> #t185 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
^" in 42 as{TypeError} core::String*);
} =>#t183;
@@ -1238,264 +1238,264 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t186 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t186.{core::List::add}(42);
+ #t186.{core::List::add}{Invariant}(42);
} =>#t186;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t187 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t187.{core::Set::add}(42);
- #t187.{core::Set::add}(null);
+ #t187.{core::Set::add}{Invariant}(42);
+ #t187.{core::Set::add}{Invariant}(null);
} =>#t187;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t188 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t188.{core::Map::[]=}("bar", 42);
- #t188.{core::Map::[]=}("baz", null);
+ #t188.{core::Map::[]=}{Invariant}("bar", 42);
+ #t188.{core::Map::[]=}{Invariant}("baz", null);
} =>#t188;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t189 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t189.{core::List::add}(dynVar);
+ #t189.{core::List::add}{Invariant}(dynVar);
} =>#t189;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t190 = col::LinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t190.{core::Set::add}(dynVar);
- #t190.{core::Set::add}(null);
+ #t190.{core::Set::add}{Invariant}(dynVar);
+ #t190.{core::Set::add}{Invariant}(null);
} =>#t190;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t191 = <core::String*, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t191.{core::Map::[]=}("bar", dynVar);
- #t191.{core::Map::[]=}("baz", null);
+ #t191.{core::Map::[]=}{Invariant}("bar", dynVar);
+ #t191.{core::Map::[]=}{Invariant}("baz", null);
} =>#t191;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t192 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t192.{core::List::add}(<core::int*>[42]);
+ #t192.{core::List::add}{Invariant}(<core::int*>[42]);
} =>#t192;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t193 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t193.{core::Set::add}(<core::int*>[42]);
- #t193.{core::Set::add}(null);
+ #t193.{core::Set::add}{Invariant}(<core::int*>[42]);
+ #t193.{core::Set::add}{Invariant}(null);
} =>#t193;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t194 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t194.{core::Map::[]=}("bar", <core::int*>[42]);
- #t194.{core::Map::[]=}("baz", null);
+ #t194.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
+ #t194.{core::Map::[]=}{Invariant}("baz", null);
} =>#t194;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t195 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::int* #t196 in <core::int*>[42])
- #t195.{core::List::add}(#t196);
+ #t195.{core::List::add}{Invariant}(#t196);
} =>#t195;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t197 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::int* #t198 in <core::int*>[42])
- #t197.{core::Set::add}(#t198);
- #t197.{core::Set::add}(null);
+ #t197.{core::Set::add}{Invariant}(#t198);
+ #t197.{core::Set::add}{Invariant}(null);
} =>#t197;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t199 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::int*>* #t200 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t199.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
- #t199.{core::Map::[]=}("baz", null);
+ #t199.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t199.{core::Map::[]=}{Invariant}("baz", null);
} =>#t199;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t201 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final dynamic #t202 in <dynamic>[dynVar])
- #t201.{core::List::add}(#t202);
+ #t201.{core::List::add}{Invariant}(#t202);
} =>#t201;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t203 = col::LinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final dynamic #t204 in <dynamic>[dynVar])
- #t203.{core::Set::add}(#t204);
- #t203.{core::Set::add}(null);
+ #t203.{core::Set::add}{Invariant}(#t204);
+ #t203.{core::Set::add}{Invariant}(null);
} =>#t203;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t205 = <core::String*, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, dynamic>* #t206 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t205.{core::Map::[]=}(#t206.{core::MapEntry::key}, #t206.{core::MapEntry::value});
- #t205.{core::Map::[]=}("baz", null);
+ #t205.{core::Map::[]=}{Invariant}(#t206.{core::MapEntry::key}, #t206.{core::MapEntry::value});
+ #t205.{core::Map::[]=}{Invariant}("baz", null);
} =>#t205;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t207 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t208 in <core::List<core::int*>*>[<core::int*>[42]])
- #t207.{core::List::add}(#t208);
+ #t207.{core::List::add}{Invariant}(#t208);
} =>#t207;
core::Set<core::List<core::int*>*>* set22 = block {
final core::Set<core::List<core::int*>*>* #t209 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t210 in <core::List<core::int*>*>[<core::int*>[42]])
- #t209.{core::Set::add}(#t210);
- #t209.{core::Set::add}(null);
+ #t209.{core::Set::add}{Invariant}(#t210);
+ #t209.{core::Set::add}{Invariant}(null);
} =>#t209;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t211 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t212 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t211.{core::Map::[]=}(#t212.{core::MapEntry::key}, #t212.{core::MapEntry::value});
- #t211.{core::Map::[]=}("baz", null);
+ #t211.{core::Map::[]=}{Invariant}(#t212.{core::MapEntry::key}, #t212.{core::MapEntry::value});
+ #t211.{core::Map::[]=}{Invariant}("baz", null);
} =>#t211;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t213 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t214 in <core::int*>[42])
- #t213.{core::List::add}(#t214);
+ #t213.{core::List::add}{Invariant}(#t214);
} =>#t213;
core::Set<core::int*>* set30 = block {
final core::Set<core::int*>* #t215 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t216 in <core::int*>[42])
- #t215.{core::Set::add}(#t216);
- #t215.{core::Set::add}(null);
+ #t215.{core::Set::add}{Invariant}(#t216);
+ #t215.{core::Set::add}{Invariant}(null);
} =>#t215;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t217 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t218 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t217.{core::Map::[]=}(#t218.{core::MapEntry::key}, #t218.{core::MapEntry::value});
- #t217.{core::Map::[]=}("baz", null);
+ #t217.{core::Map::[]=}{Invariant}(#t218.{core::MapEntry::key}, #t218.{core::MapEntry::value});
+ #t217.{core::Map::[]=}{Invariant}("baz", null);
} =>#t217;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t219 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t220 in <dynamic>[dynVar])
- #t219.{core::List::add}(#t220);
+ #t219.{core::List::add}{Invariant}(#t220);
} =>#t219;
core::Set<dynamic>* set31 = block {
final core::Set<dynamic>* #t221 = col::LinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t222 in <dynamic>[dynVar])
- #t221.{core::Set::add}(#t222);
- #t221.{core::Set::add}(null);
+ #t221.{core::Set::add}{Invariant}(#t222);
+ #t221.{core::Set::add}{Invariant}(null);
} =>#t221;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t223 = <core::String*, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t224 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t223.{core::Map::[]=}(#t224.{core::MapEntry::key}, #t224.{core::MapEntry::value});
- #t223.{core::Map::[]=}("baz", null);
+ #t223.{core::Map::[]=}{Invariant}(#t224.{core::MapEntry::key}, #t224.{core::MapEntry::value});
+ #t223.{core::Map::[]=}{Invariant}("baz", null);
} =>#t223;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t225 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t226 in <core::List<core::int*>*>[<core::int*>[42]])
- #t225.{core::List::add}(#t226);
+ #t225.{core::List::add}{Invariant}(#t226);
} =>#t225;
core::Set<core::List<core::int*>*>* set33 = block {
final core::Set<core::List<core::int*>*>* #t227 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t228 in <core::List<core::int*>*>[<core::int*>[42]])
- #t227.{core::Set::add}(#t228);
- #t227.{core::Set::add}(null);
+ #t227.{core::Set::add}{Invariant}(#t228);
+ #t227.{core::Set::add}{Invariant}(null);
} =>#t227;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t229 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t230 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t229.{core::Map::[]=}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
- #t229.{core::Map::[]=}("baz", null);
+ #t229.{core::Map::[]=}{Invariant}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
+ #t229.{core::Map::[]=}{Invariant}("baz", null);
} =>#t229;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t231 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t232 in <core::List<core::int*>*>[<core::int*>[]])
- #t231.{core::List::add}(#t232);
+ #t231.{core::List::add}{Invariant}(#t232);
} =>#t231;
core::Set<core::List<core::int*>*>* set40 = block {
final core::Set<core::List<core::int*>*>* #t233 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t234 in <core::List<core::int*>*>[<core::int*>[]])
- #t233.{core::Set::add}(#t234);
- #t233.{core::Set::add}(null);
+ #t233.{core::Set::add}{Invariant}(#t234);
+ #t233.{core::Set::add}{Invariant}(null);
} =>#t233;
core::Map<core::String*, core::List<core::int*>*>* map40 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t235 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t236 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t235.{core::Map::[]=}(#t236.{core::MapEntry::key}, #t236.{core::MapEntry::value});
- #t235.{core::Map::[]=}("baz", null);
+ #t235.{core::Map::[]=}{Invariant}(#t236.{core::MapEntry::key}, #t236.{core::MapEntry::value});
+ #t235.{core::Map::[]=}{Invariant}("baz", null);
} =>#t235;
core::List<core::List<core::int*>*>* list41 = block {
final core::List<core::List<core::int*>*>* #t237 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t238 in block {
final core::Set<core::List<core::int*>*>* #t239 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t239.{core::Set::add}(<core::int*>[]);
+ #t239.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t239)
- #t237.{core::List::add}(#t238);
+ #t237.{core::List::add}{Invariant}(#t238);
} =>#t237;
core::Set<core::List<core::int*>*>* set41 = block {
final core::Set<core::List<core::int*>*>* #t240 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t241 in block {
final core::Set<core::List<core::int*>*>* #t242 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t242.{core::Set::add}(<core::int*>[]);
+ #t242.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t242)
- #t240.{core::Set::add}(#t241);
- #t240.{core::Set::add}(null);
+ #t240.{core::Set::add}{Invariant}(#t241);
+ #t240.{core::Set::add}{Invariant}(null);
} =>#t240;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t243 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t244 in <core::List<core::int*>*>[<core::int*>[]])
- #t243.{core::List::add}(#t244);
+ #t243.{core::List::add}{Invariant}(#t244);
} =>#t243;
core::Set<core::List<core::int*>*>* set42 = block {
final core::Set<core::List<core::int*>*>* #t245 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t246 in <core::List<core::int*>*>[<core::int*>[]])
- #t245.{core::Set::add}(#t246);
- #t245.{core::Set::add}(null);
+ #t245.{core::Set::add}{Invariant}(#t246);
+ #t245.{core::Set::add}{Invariant}(null);
} =>#t245;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t247 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t248 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t247.{core::Map::[]=}(#t248.{core::MapEntry::key}, #t248.{core::MapEntry::value});
- #t247.{core::Map::[]=}("baz", null);
+ #t247.{core::Map::[]=}{Invariant}(#t248.{core::MapEntry::key}, #t248.{core::MapEntry::value});
+ #t247.{core::Map::[]=}{Invariant}("baz", null);
} =>#t247;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t249 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::int* #t250 in <core::int*>[])
- #t249.{core::List::add}(#t250);
+ #t249.{core::List::add}{Invariant}(#t250);
} =>#t249;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t251 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::int* #t252 in <core::int*>[])
- #t251.{core::Set::add}(#t252);
- #t251.{core::Set::add}(null);
+ #t251.{core::Set::add}{Invariant}(#t252);
+ #t251.{core::Set::add}{Invariant}(null);
} =>#t251;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t253 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::int*>* #t254 in <core::String*, core::int*>{}.{core::Map::entries})
- #t253.{core::Map::[]=}(#t254.{core::MapEntry::key}, #t254.{core::MapEntry::value});
- #t253.{core::Map::[]=}("baz", null);
+ #t253.{core::Map::[]=}{Invariant}(#t254.{core::MapEntry::key}, #t254.{core::MapEntry::value});
+ #t253.{core::Map::[]=}{Invariant}("baz", null);
} =>#t253;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t255 = <core::int*>[];
@@ -1503,7 +1503,7 @@
for (final core::int* #t256 in block {
final core::Set<core::int*>* #t257 = col::LinkedHashSet::•<core::int*>();
} =>#t257)
- #t255.{core::List::add}(#t256);
+ #t255.{core::List::add}{Invariant}(#t256);
} =>#t255;
core::Set<core::int*>* set51 = block {
final core::Set<core::int*>* #t258 = col::LinkedHashSet::•<core::int*>();
@@ -1511,246 +1511,246 @@
for (final core::int* #t259 in block {
final core::Set<core::int*>* #t260 = col::LinkedHashSet::•<core::int*>();
} =>#t260)
- #t258.{core::Set::add}(#t259);
- #t258.{core::Set::add}(null);
+ #t258.{core::Set::add}{Invariant}(#t259);
+ #t258.{core::Set::add}{Invariant}(null);
} =>#t258;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t261 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t262 in <core::int*>[])
- #t261.{core::List::add}(#t262);
+ #t261.{core::List::add}{Invariant}(#t262);
} =>#t261;
core::Set<core::int*>* set52 = block {
final core::Set<core::int*>* #t263 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t264 in <core::int*>[])
- #t263.{core::Set::add}(#t264);
- #t263.{core::Set::add}(null);
+ #t263.{core::Set::add}{Invariant}(#t264);
+ #t263.{core::Set::add}{Invariant}(null);
} =>#t263;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t265 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t266 in <core::List<core::int*>*>[<core::int*>[]])
- #t265.{core::List::add}(#t266);
+ #t265.{core::List::add}{Invariant}(#t266);
} =>#t265;
core::Set<core::List<core::int*>*>* set60 = block {
final core::Set<core::List<core::int*>*>* #t267 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t268 in <core::List<core::int*>*>[<core::int*>[]])
- #t267.{core::Set::add}(#t268);
- #t267.{core::Set::add}(null);
+ #t267.{core::Set::add}{Invariant}(#t268);
+ #t267.{core::Set::add}{Invariant}(null);
} =>#t267;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t269 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t270 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t269.{core::Map::[]=}(#t270.{core::MapEntry::key}, #t270.{core::MapEntry::value});
- #t269.{core::Map::[]=}("baz", null);
+ #t269.{core::Map::[]=}{Invariant}(#t270.{core::MapEntry::key}, #t270.{core::MapEntry::value});
+ #t269.{core::Map::[]=}{Invariant}("baz", null);
} =>#t269;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t271 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t272 in <core::List<core::int*>*>[<core::int*>[]])
- #t271.{core::List::add}(#t272);
+ #t271.{core::List::add}{Invariant}(#t272);
} =>#t271;
core::Set<core::List<core::int*>*>* set61 = block {
final core::Set<core::List<core::int*>*>* #t273 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t274 in <core::List<core::int*>*>[<core::int*>[]])
- #t273.{core::Set::add}(#t274);
- #t273.{core::Set::add}(null);
+ #t273.{core::Set::add}{Invariant}(#t274);
+ #t273.{core::Set::add}{Invariant}(null);
} =>#t273;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t275 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t276 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t275.{core::Map::[]=}(#t276.{core::MapEntry::key}, #t276.{core::MapEntry::value});
- #t275.{core::Map::[]=}("baz", null);
+ #t275.{core::Map::[]=}{Invariant}(#t276.{core::MapEntry::key}, #t276.{core::MapEntry::value});
+ #t275.{core::Map::[]=}{Invariant}("baz", null);
} =>#t275;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t277 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t277.{core::List::add}(<core::int*>[]);
+ #t277.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t277;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t278 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t278.{core::Set::add}(<core::int*>[]);
- #t278.{core::Set::add}(null);
+ #t278.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t278.{core::Set::add}{Invariant}(null);
} =>#t278;
core::Map<core::String*, core::List<core::int*>*>* map70 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t279 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t279.{core::Map::[]=}("bar", <core::int*>[]);
- #t279.{core::Map::[]=}("baz", null);
+ #t279.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
+ #t279.{core::Map::[]=}{Invariant}("baz", null);
} =>#t279;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t280 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t280.{core::List::add}(<core::int*>[]);
+ #t280.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t280;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t281 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t281.{core::Set::add}(<core::int*>[]);
- #t281.{core::Set::add}(null);
+ #t281.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t281.{core::Set::add}{Invariant}(null);
} =>#t281;
core::Map<core::String*, core::List<core::int*>*>* map71 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t282 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t282.{core::Map::[]=}("bar", <core::int*>[]);
- #t282.{core::Map::[]=}("baz", null);
+ #t282.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
+ #t282.{core::Map::[]=}{Invariant}("baz", null);
} =>#t282;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t283 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t283.{core::List::add}(42);
+ #t283.{core::List::add}{Invariant}(42);
else
- #t283.{core::List::add}(3.14);
+ #t283.{core::List::add}{Invariant}(3.14);
} =>#t283;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t284 = col::LinkedHashSet::•<core::num*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t284.{core::Set::add}(42);
+ #t284.{core::Set::add}{Invariant}(42);
else
- #t284.{core::Set::add}(3.14);
- #t284.{core::Set::add}(null);
+ #t284.{core::Set::add}{Invariant}(3.14);
+ #t284.{core::Set::add}{Invariant}(null);
} =>#t284;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t285 = <core::String*, core::num*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t285.{core::Map::[]=}("bar", 42);
+ #t285.{core::Map::[]=}{Invariant}("bar", 42);
else
- #t285.{core::Map::[]=}("bar", 3.14);
- #t285.{core::Map::[]=}("baz", null);
+ #t285.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t285.{core::Map::[]=}{Invariant}("baz", null);
} =>#t285;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t286 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t287 in listInt)
- #t286.{core::List::add}(#t287);
+ #t286.{core::List::add}{Invariant}(#t287);
else
for (final core::num* #t288 in listDouble)
- #t286.{core::List::add}(#t288);
+ #t286.{core::List::add}{Invariant}(#t288);
} =>#t286;
core::Set<core::num*>* set81 = block {
final core::Set<core::num*>* #t289 = col::LinkedHashSet::•<core::num*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t290 in listInt)
- #t289.{core::Set::add}(#t290);
+ #t289.{core::Set::add}{Invariant}(#t290);
else
for (final core::num* #t291 in listDouble)
- #t289.{core::Set::add}(#t291);
- #t289.{core::Set::add}(null);
+ #t289.{core::Set::add}{Invariant}(#t291);
+ #t289.{core::Set::add}{Invariant}(null);
} =>#t289;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t292 = <core::String*, core::num*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t293 in mapStringInt.{core::Map::entries})
- #t292.{core::Map::[]=}(#t293.{core::MapEntry::key}, #t293.{core::MapEntry::value});
+ #t292.{core::Map::[]=}{Invariant}(#t293.{core::MapEntry::key}, #t293.{core::MapEntry::value});
else
for (final core::MapEntry<core::String*, core::num*>* #t294 in mapStringDouble.{core::Map::entries})
- #t292.{core::Map::[]=}(#t294.{core::MapEntry::key}, #t294.{core::MapEntry::value});
- #t292.{core::Map::[]=}("baz", null);
+ #t292.{core::Map::[]=}{Invariant}(#t294.{core::MapEntry::key}, #t294.{core::MapEntry::value});
+ #t292.{core::Map::[]=}{Invariant}("baz", null);
} =>#t292;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t295 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t296 in listInt)
- #t295.{core::List::add}(#t296);
+ #t295.{core::List::add}{Invariant}(#t296);
else
for (final dynamic #t297 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t295.{core::List::add}(#t297);
+ #t295.{core::List::add}{Invariant}(#t297);
} =>#t295;
core::Set<dynamic>* set82 = block {
final core::Set<dynamic>* #t298 = col::LinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t299 in listInt)
- #t298.{core::Set::add}(#t299);
+ #t298.{core::Set::add}{Invariant}(#t299);
else
for (final dynamic #t300 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t298.{core::Set::add}(#t300);
- #t298.{core::Set::add}(null);
+ #t298.{core::Set::add}{Invariant}(#t300);
+ #t298.{core::Set::add}{Invariant}(null);
} =>#t298;
core::Map<dynamic, dynamic>* map82 = block {
final core::Map<dynamic, dynamic>* #t301 = <dynamic, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<dynamic, dynamic>* #t302 in mapStringInt.{core::Map::entries})
- #t301.{core::Map::[]=}(#t302.{core::MapEntry::key}, #t302.{core::MapEntry::value});
+ #t301.{core::Map::[]=}{Invariant}(#t302.{core::MapEntry::key}, #t302.{core::MapEntry::value});
else
for (final core::MapEntry<dynamic, dynamic>* #t303 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries})
- #t301.{core::Map::[]=}(#t303.{core::MapEntry::key}, #t303.{core::MapEntry::value});
- #t301.{core::Map::[]=}("baz", null);
+ #t301.{core::Map::[]=}{Invariant}(#t303.{core::MapEntry::key}, #t303.{core::MapEntry::value});
+ #t301.{core::Map::[]=}{Invariant}("baz", null);
} =>#t301;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t304 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t304.{core::List::add}(42);
+ #t304.{core::List::add}{Invariant}(42);
else
for (final core::num* #t305 in listDouble)
- #t304.{core::List::add}(#t305);
+ #t304.{core::List::add}{Invariant}(#t305);
} =>#t304;
core::Set<core::num*>* set83 = block {
final core::Set<core::num*>* #t306 = col::LinkedHashSet::•<core::num*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t307 in listInt)
- #t306.{core::Set::add}(#t307);
+ #t306.{core::Set::add}{Invariant}(#t307);
else
- #t306.{core::Set::add}(3.14);
- #t306.{core::Set::add}(null);
+ #t306.{core::Set::add}{Invariant}(3.14);
+ #t306.{core::Set::add}{Invariant}(null);
} =>#t306;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t308 = <core::String*, core::num*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t309 in mapStringInt.{core::Map::entries})
- #t308.{core::Map::[]=}(#t309.{core::MapEntry::key}, #t309.{core::MapEntry::value});
+ #t308.{core::Map::[]=}{Invariant}(#t309.{core::MapEntry::key}, #t309.{core::MapEntry::value});
else
- #t308.{core::Map::[]=}("bar", 3.14);
- #t308.{core::Map::[]=}("baz", null);
+ #t308.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t308.{core::Map::[]=}{Invariant}("baz", null);
} =>#t308;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t310 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t310.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t310.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
} =>#t310;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t311 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t311.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
- #t311.{core::Set::add}(null);
+ #t311.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t311.{core::Set::add}{Invariant}(null);
} =>#t311;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t312 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t312.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t312.{core::Map::[]=}("baz", null);
+ #t312.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
+ #t312.{core::Map::[]=}{Invariant}("baz", null);
} =>#t312;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t313 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final dynamic #t314 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t315 = #t314 as{TypeError} core::int*;
- #t313.{core::List::add}(#t315);
+ #t313.{core::List::add}{Invariant}(#t315);
}
} =>#t313;
core::Set<core::int*>* set91 = block {
@@ -1758,9 +1758,9 @@
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final dynamic #t317 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t318 = #t317 as{TypeError} core::int*;
- #t316.{core::Set::add}(#t318);
+ #t316.{core::Set::add}{Invariant}(#t318);
}
- #t316.{core::Set::add}(null);
+ #t316.{core::Set::add}{Invariant}(null);
} =>#t316;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t319 = <core::String*, core::int*>{};
@@ -1768,100 +1768,100 @@
for (final core::MapEntry<dynamic, dynamic>* #t320 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::String* #t321 = #t320.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t322 = #t320.{core::MapEntry::value} as{TypeError} core::int*;
- #t319.{core::Map::[]=}(#t321, #t322);
+ #t319.{core::Map::[]=}{Invariant}(#t321, #t322);
}
- #t319.{core::Map::[]=}("baz", null);
+ #t319.{core::Map::[]=}{Invariant}("baz", null);
} =>#t319;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t323 = <core::int*>[];
for (final core::int* #t324 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t323.{core::List::add}(42);
+ #t323.{core::List::add}{Invariant}(42);
} =>#t323;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t325 = col::LinkedHashSet::•<core::int*>();
for (final core::int* #t326 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t325.{core::Set::add}(42);
+ #t325.{core::Set::add}{Invariant}(42);
} =>#t325;
core::Map<core::String*, core::int*>* map100 = block {
final core::Map<core::String*, core::int*>* #t327 = <core::String*, core::int*>{};
for (final core::int* #t328 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t327.{core::Map::[]=}("bar", 42);
+ #t327.{core::Map::[]=}{Invariant}("bar", 42);
} =>#t327;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t329 = <core::int*>[];
for (core::int* i in <core::int*>[1, 2, 3])
- #t329.{core::List::add}(i);
+ #t329.{core::List::add}{Invariant}(i);
} =>#t329;
core::Set<core::int*>* set110 = block {
final core::Set<core::int*>* #t330 = col::LinkedHashSet::•<core::int*>();
for (core::int* i in <core::int*>[1, 2, 3])
- #t330.{core::Set::add}(i);
- #t330.{core::Set::add}(null);
+ #t330.{core::Set::add}{Invariant}(i);
+ #t330.{core::Set::add}{Invariant}(null);
} =>#t330;
core::Map<core::String*, core::int*>* map110 = block {
final core::Map<core::String*, core::int*>* #t331 = <core::String*, core::int*>{};
for (core::int* i in <core::int*>[1, 2, 3])
- #t331.{core::Map::[]=}("bar", i);
- #t331.{core::Map::[]=}("baz", null);
+ #t331.{core::Map::[]=}{Invariant}("bar", i);
+ #t331.{core::Map::[]=}{Invariant}("baz", null);
} =>#t331;
core::List<core::int*>* list120 = block {
final core::List<core::int*>* #t332 = <core::int*>[];
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t332.{core::List::add}(i as{TypeError,ForDynamic} core::int*);
+ #t332.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
} =>#t332;
core::Set<core::int*>* set120 = block {
final core::Set<core::int*>* #t333 = col::LinkedHashSet::•<core::int*>();
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t333.{core::Set::add}(i as{TypeError,ForDynamic} core::int*);
- #t333.{core::Set::add}(null);
+ #t333.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
+ #t333.{core::Set::add}{Invariant}(null);
} =>#t333;
core::Map<core::String*, core::int*>* map120 = block {
final core::Map<core::String*, core::int*>* #t334 = <core::String*, core::int*>{};
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t334.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*);
- #t334.{core::Map::[]=}("baz", null);
+ #t334.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*);
+ #t334.{core::Map::[]=}{Invariant}("baz", null);
} =>#t334;
core::List<core::int*>* list130 = block {
final core::List<core::int*>* #t335 = <core::int*>[];
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t335.{core::List::add}(i);
+ #t335.{core::List::add}{Invariant}(i);
} =>#t335;
core::Set<core::int*>* set130 = block {
final core::Set<core::int*>* #t336 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t336.{core::Set::add}(i);
+ #t336.{core::Set::add}{Invariant}(i);
} =>#t336;
core::Map<core::int*, core::int*>* map130 = block {
final core::Map<core::int*, core::int*>* #t337 = <core::int*, core::int*>{};
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t337.{core::Map::[]=}(i, i);
+ #t337.{core::Map::[]=}{Invariant}(i, i);
} =>#t337;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async {
block {
final core::List<core::int*>* #t338 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t338.{core::List::add}(let final<BottomType> #t339 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t338.{core::List::add}{Invariant}(let final<BottomType> #t339 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:210: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\"];
^" in "bar" as{TypeError} core::int*);
} =>#t338;
block {
final core::Set<core::int*>* #t340 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t340.{core::Set::add}(let final<BottomType> #t341 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:211:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t340.{core::Set::add}{Invariant}(let final<BottomType> #t341 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:211: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};
^" in "bar" as{TypeError} core::int*);
- #t340.{core::Set::add}(null);
+ #t340.{core::Set::add}{Invariant}(null);
} =>#t340;
block {
final core::Map<core::int*, core::int*>* #t342 = <core::int*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t342.{core::Map::[]=}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t342.{core::Map::[]=}{Invariant}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*, let final<BottomType> #t344 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*);
- #t342.{core::Map::[]=}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t342.{core::Map::[]=}{Invariant}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "baz" as{TypeError} core::int*, null);
} =>#t342;
@@ -1871,7 +1871,7 @@
for (final core::int* #t347 in <core::int*>[let final<BottomType> #t348 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213: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\"]];
^" in "bar" as{TypeError} core::int*])
- #t346.{core::List::add}(#t347);
+ #t346.{core::List::add}{Invariant}(#t347);
} =>#t346;
block {
final core::Set<core::int*>* #t349 = col::LinkedHashSet::•<core::int*>();
@@ -1879,8 +1879,8 @@
for (final core::int* #t350 in <core::int*>[let final<BottomType> #t351 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214: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};
^" in "bar" as{TypeError} core::int*])
- #t349.{core::Set::add}(#t350);
- #t349.{core::Set::add}(null);
+ #t349.{core::Set::add}{Invariant}(#t350);
+ #t349.{core::Set::add}{Invariant}(null);
} =>#t349;
block {
final core::Map<core::int*, core::int*>* #t352 = <core::int*, core::int*>{};
@@ -1890,15 +1890,15 @@
^" in "bar" as{TypeError} core::int*: let final<BottomType> #t355 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "bar" as{TypeError} core::int*}.{core::Map::entries})
- #t352.{core::Map::[]=}(#t353.{core::MapEntry::key}, #t353.{core::MapEntry::value});
- #t352.{core::Map::[]=}(let final<BottomType> #t356 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t352.{core::Map::[]=}{Invariant}(#t353.{core::MapEntry::key}, #t353.{core::MapEntry::value});
+ #t352.{core::Map::[]=}{Invariant}(let final<BottomType> #t356 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "baz" as{TypeError} core::int*, null);
} =>#t352;
block {
final core::List<core::int*>* #t357 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t357.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t357.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
^");
@@ -1906,11 +1906,11 @@
block {
final core::Set<core::int*>* #t358 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t358.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t358.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
^");
- #t358.{core::Set::add}(null);
+ #t358.{core::Set::add}{Invariant}(null);
} =>#t358;
<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:53: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1923,11 +1923,11 @@
final core::List<core::String*>* #t359 = <core::String*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t359.{core::List::add}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t359.{core::List::add}{Invariant}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
^" in 42 as{TypeError} core::String*);
else
- #t359.{core::List::add}(let final<BottomType> #t361 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t359.{core::List::add}{Invariant}(let final<BottomType> #t361 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
^" in 3.14 as{TypeError} core::String*);
} =>#t359;
@@ -1935,50 +1935,50 @@
final core::Set<core::String*>* #t362 = col::LinkedHashSet::•<core::String*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t362.{core::Set::add}(let final<BottomType> #t363 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t362.{core::Set::add}{Invariant}(let final<BottomType> #t363 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
^" in 42 as{TypeError} core::String*);
else
- #t362.{core::Set::add}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t362.{core::Set::add}{Invariant}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
^" in 3.14 as{TypeError} core::String*);
- #t362.{core::Set::add}(null);
+ #t362.{core::Set::add}{Invariant}(null);
} =>#t362;
block {
final core::Map<core::String*, core::String*>* #t365 = <core::String*, core::String*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t365.{core::Map::[]=}("bar", let final<BottomType> #t366 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t365.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t366 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
^" in 42 as{TypeError} core::String*);
else
- #t365.{core::Map::[]=}("bar", let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t365.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
^" in 3.14 as{TypeError} core::String*);
- #t365.{core::Map::[]=}("baz", null);
+ #t365.{core::Map::[]=}{Invariant}("baz", null);
} =>#t365;
block {
final core::List<core::int*>* #t368 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t368.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t368.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
^");
else
- #t368.{core::List::add}(42);
+ #t368.{core::List::add}{Invariant}(42);
} =>#t368;
block {
final core::Set<core::int*>* #t369 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t369.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t369.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
^");
else
- #t369.{core::Set::add}(42);
- #t369.{core::Set::add}(null);
+ #t369.{core::Set::add}{Invariant}(42);
+ #t369.{core::Set::add}{Invariant}(null);
} =>#t369;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:70: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1991,9 +1991,9 @@
final core::List<core::int*>* #t370 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t370.{core::List::add}(42);
+ #t370.{core::List::add}{Invariant}(42);
else
- #t370.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t370.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
^");
@@ -2002,13 +2002,13 @@
final core::Set<core::int*>* #t371 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t371.{core::Set::add}(42);
+ #t371.{core::Set::add}{Invariant}(42);
else
- #t371.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t371.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
^");
- #t371.{core::Set::add}(null);
+ #t371.{core::Set::add}{Invariant}(null);
} =>#t371;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:85: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2024,7 +2024,7 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:230:14: Error: Can't assign to the final variable 'i'.
<int>[for (i in <int>[1]) i];
^";
- #t372.{core::List::add}(i);
+ #t372.{core::List::add}{Invariant}(i);
}
} =>#t372;
block {
@@ -2033,9 +2033,9 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:231:14: Error: Can't assign to the final variable 'i'.
<int>{for (i in <int>[1]) i, null};
^";
- #t374.{core::Set::add}(i);
+ #t374.{core::Set::add}{Invariant}(i);
}
- #t374.{core::Set::add}(null);
+ #t374.{core::Set::add}{Invariant}(null);
} =>#t374;
block {
final core::Map<core::String*, core::int*>* #t376 = <core::String*, core::int*>{};
@@ -2043,9 +2043,9 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:21: Error: Can't assign to the final variable 'i'.
\t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
\t ^";
- #t376.{core::Map::[]=}("bar", i);
+ #t376.{core::Map::[]=}{Invariant}("bar", i);
}
- #t376.{core::Map::[]=}("baz", null);
+ #t376.{core::Map::[]=}{Invariant}("baz", null);
} =>#t376;
core::List<dynamic>* list10 = block {
final core::List<dynamic>* #t378 = <dynamic>[];
@@ -2053,7 +2053,7 @@
- 'Iterable' is from 'dart:core'.
var list10 = [for (var i in \"not iterable\") i];
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t378.{core::List::add}(i);
+ #t378.{core::List::add}{Invariant}(i);
} =>#t378;
core::Set<dynamic>* set10 = block {
final core::Set<dynamic>* #t380 = col::LinkedHashSet::•<dynamic>();
@@ -2061,8 +2061,8 @@
- 'Iterable' is from 'dart:core'.
var set10 = {for (var i in \"not iterable\") i, null};
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t380.{core::Set::add}(i);
- #t380.{core::Set::add}(null);
+ #t380.{core::Set::add}{Invariant}(i);
+ #t380.{core::Set::add}{Invariant}(null);
} =>#t380;
core::Map<core::String*, dynamic>* map10 = block {
final core::Map<core::String*, dynamic>* #t382 = <core::String*, dynamic>{};
@@ -2070,8 +2070,8 @@
- 'Iterable' is from 'dart:core'.
var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t382.{core::Map::[]=}("bar", i);
- #t382.{core::Map::[]=}("baz", null);
+ #t382.{core::Map::[]=}{Invariant}("bar", i);
+ #t382.{core::Map::[]=}{Invariant}("baz", null);
} =>#t382;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t384 = <core::int*>[];
@@ -2080,7 +2080,7 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t386 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:237:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var list20 = [for (int i in [\"not\", \"int\"]) i];
^" in "int" as{TypeError} core::int*])
- #t384.{core::List::add}(i);
+ #t384.{core::List::add}{Invariant}(i);
} =>#t384;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t387 = col::LinkedHashSet::•<core::int*>();
@@ -2089,8 +2089,8 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t389 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:238:38: 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};
^" in "int" as{TypeError} core::int*])
- #t387.{core::Set::add}(i);
- #t387.{core::Set::add}(null);
+ #t387.{core::Set::add}{Invariant}(i);
+ #t387.{core::Set::add}{Invariant}(null);
} =>#t387;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t390 = <core::String*, core::int*>{};
@@ -2099,8 +2099,8 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t392 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
^" in "int" as{TypeError} core::int*])
- #t390.{core::Map::[]=}("bar", i);
- #t390.{core::Map::[]=}("baz", null);
+ #t390.{core::Map::[]=}{Invariant}("bar", i);
+ #t390.{core::Map::[]=}{Invariant}("baz", null);
} =>#t390;
core::List<dynamic>* list30 = block {
final core::List<dynamic>* #t393 = <dynamic>[];
@@ -2108,7 +2108,7 @@
- 'Stream' is from 'dart:async'.
var list30 = [await for (var i in \"not stream\") i];
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t393.{core::List::add}(i);
+ #t393.{core::List::add}{Invariant}(i);
} =>#t393;
core::Set<dynamic>* set30 = block {
final core::Set<dynamic>* #t395 = col::LinkedHashSet::•<dynamic>();
@@ -2116,8 +2116,8 @@
- 'Stream' is from 'dart:async'.
var set30 = {await for (var i in \"not stream\") i, null};
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t395.{core::Set::add}(i);
- #t395.{core::Set::add}(null);
+ #t395.{core::Set::add}{Invariant}(i);
+ #t395.{core::Set::add}{Invariant}(null);
} =>#t395;
core::Map<core::String*, dynamic>* map30 = block {
final core::Map<core::String*, dynamic>* #t397 = <core::String*, dynamic>{};
@@ -2125,8 +2125,8 @@
- 'Stream' is from 'dart:async'.
var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t397.{core::Map::[]=}("bar", i);
- #t397.{core::Map::[]=}("baz", null);
+ #t397.{core::Map::[]=}{Invariant}("bar", i);
+ #t397.{core::Map::[]=}{Invariant}("baz", null);
} =>#t397;
core::List<core::int*>* list40 = block {
final core::List<core::int*>* #t399 = <core::int*>[];
@@ -2135,7 +2135,7 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t401 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:243:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
^" in "int" as{TypeError} core::int*]))
- #t399.{core::List::add}(i);
+ #t399.{core::List::add}{Invariant}(i);
} =>#t399;
core::Set<core::int*>* set40 = block {
final core::Set<core::int*>* #t402 = col::LinkedHashSet::•<core::int*>();
@@ -2144,8 +2144,8 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t404 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:244:64: 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};
^" in "int" as{TypeError} core::int*]))
- #t402.{core::Set::add}(i);
- #t402.{core::Set::add}(null);
+ #t402.{core::Set::add}{Invariant}(i);
+ #t402.{core::Set::add}{Invariant}(null);
} =>#t402;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t405 = <core::String*, core::int*>{};
@@ -2154,82 +2154,82 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t407 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
^" in "int" as{TypeError} core::int*]))
- #t405.{core::Map::[]=}("bar", i);
- #t405.{core::Map::[]=}("baz", null);
+ #t405.{core::Map::[]=}{Invariant}("bar", i);
+ #t405.{core::Map::[]=}{Invariant}("baz", null);
} =>#t405;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t408 = <core::int*>[];
for (; ; )
- #t408.{core::List::add}(42);
+ #t408.{core::List::add}{Invariant}(42);
} =>#t408;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t409 = col::LinkedHashSet::•<core::int*>();
for (; ; )
- #t409.{core::Set::add}(42);
- #t409.{core::Set::add}(null);
+ #t409.{core::Set::add}{Invariant}(42);
+ #t409.{core::Set::add}{Invariant}(null);
} =>#t409;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t410 = <core::String*, core::int*>{};
for (; ; )
- #t410.{core::Map::[]=}("bar", 42);
- #t410.{core::Map::[]=}("baz", null);
+ #t410.{core::Map::[]=}{Invariant}("bar", 42);
+ #t410.{core::Map::[]=}{Invariant}("baz", null);
} =>#t410;
core::List<core::int*>* list60 = block {
final core::List<core::int*>* #t411 = <core::int*>[];
for (; let final<BottomType> #t412 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:249:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var list60 = [for (; \"not bool\";) 42];
^" in "not bool" as{TypeError} core::bool*; )
- #t411.{core::List::add}(42);
+ #t411.{core::List::add}{Invariant}(42);
} =>#t411;
core::Set<core::int*>* set60 = block {
final core::Set<core::int*>* #t413 = col::LinkedHashSet::•<core::int*>();
for (; let final<BottomType> #t414 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.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} core::bool*; )
- #t413.{core::Set::add}(42);
- #t413.{core::Set::add}(null);
+ #t413.{core::Set::add}{Invariant}(42);
+ #t413.{core::Set::add}{Invariant}(null);
} =>#t413;
core::Map<core::String*, core::int*>* map60 = block {
final core::Map<core::String*, core::int*>* #t415 = <core::String*, core::int*>{};
for (; let final<BottomType> #t416 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
^" in "not bool" as{TypeError} core::bool*; )
- #t415.{core::Map::[]=}("bar", 42);
- #t415.{core::Map::[]=}("baz", null);
+ #t415.{core::Map::[]=}{Invariant}("bar", 42);
+ #t415.{core::Map::[]=}{Invariant}("baz", null);
} =>#t415;
}
static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
block {
final core::List<core::int*>* #t417 = <core::int*>[];
await for (core::int* i in stream)
- #t417.{core::List::add}(i);
+ #t417.{core::List::add}{Invariant}(i);
} =>#t417;
block {
final core::Set<core::int*>* #t418 = col::LinkedHashSet::•<core::int*>();
await for (core::int* i in stream)
- #t418.{core::Set::add}(i);
+ #t418.{core::Set::add}{Invariant}(i);
} =>#t418;
block {
final core::Map<core::String*, core::int*>* #t419 = <core::String*, core::int*>{};
await for (core::int* i in stream)
- #t419.{core::Map::[]=}("bar", i);
+ #t419.{core::Map::[]=}{Invariant}("bar", i);
} =>#t419;
}
static method testPromotion(self::A* a) → dynamic {
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t420 = <core::int*>[];
if(a is self::B*)
- #t420.{core::List::add}(a{self::B*}.{self::B::foo});
+ #t420.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo});
} =>#t420;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t421 = col::LinkedHashSet::•<core::int*>();
if(a is self::B*)
- #t421.{core::Set::add}(a{self::B*}.{self::B::foo});
+ #t421.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo});
} =>#t421;
core::Map<core::int*, core::int*>* map10 = block {
final core::Map<core::int*, core::int*>* #t422 = <core::int*, core::int*>{};
if(a is self::B*)
- #t422.{core::Map::[]=}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
+ #t422.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
} =>#t422;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.transformed.expect
index ea88d5a..898ae52 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.transformed.expect
@@ -455,53 +455,53 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t1 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(42);
+ #t1.{core::List::add}{Invariant}(42);
} =>#t1;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t2 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(42);
- #t2.{core::Set::add}(null);
+ #t2.{core::Set::add}{Invariant}(42);
+ #t2.{core::Set::add}{Invariant}(null);
} =>#t2;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t3 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}("bar", 42);
- #t3.{core::Map::[]=}("baz", null);
+ #t3.{core::Map::[]=}{Invariant}("bar", 42);
+ #t3.{core::Map::[]=}{Invariant}("baz", null);
} =>#t3;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t4 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t4.{core::List::add}(dynVar);
+ #t4.{core::List::add}{Invariant}(dynVar);
} =>#t4;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t5 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t5.{core::Set::add}(dynVar);
- #t5.{core::Set::add}(null);
+ #t5.{core::Set::add}{Invariant}(dynVar);
+ #t5.{core::Set::add}{Invariant}(null);
} =>#t5;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t6 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t6.{core::Map::[]=}("bar", dynVar);
- #t6.{core::Map::[]=}("baz", null);
+ #t6.{core::Map::[]=}{Invariant}("bar", dynVar);
+ #t6.{core::Map::[]=}{Invariant}("baz", null);
} =>#t6;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t7 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t7.{core::List::add}(<core::int*>[42]);
+ #t7.{core::List::add}{Invariant}(<core::int*>[42]);
} =>#t7;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t8 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t8.{core::Set::add}(<core::int*>[42]);
- #t8.{core::Set::add}(null);
+ #t8.{core::Set::add}{Invariant}(<core::int*>[42]);
+ #t8.{core::Set::add}{Invariant}(null);
} =>#t8;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t9 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t9.{core::Map::[]=}("bar", <core::int*>[42]);
- #t9.{core::Map::[]=}("baz", null);
+ #t9.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
+ #t9.{core::Map::[]=}{Invariant}("baz", null);
} =>#t9;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t10 = <core::int*>[];
@@ -509,7 +509,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t11 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::List::add}(#t11);
+ #t10.{core::List::add}{Invariant}(#t11);
}
}
} =>#t10;
@@ -519,10 +519,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t13 = :sync-for-iterator.{core::Iterator::current};
- #t12.{core::Set::add}(#t13);
+ #t12.{core::Set::add}{Invariant}(#t13);
}
}
- #t12.{core::Set::add}(null);
+ #t12.{core::Set::add}{Invariant}(null);
} =>#t12;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
@@ -530,10 +530,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t15 = :sync-for-iterator.{core::Iterator::current};
- #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
}
}
- #t14.{core::Map::[]=}("baz", null);
+ #t14.{core::Map::[]=}{Invariant}("baz", null);
} =>#t14;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t16 = <dynamic>[];
@@ -541,7 +541,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t17 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::List::add}(#t17);
+ #t16.{core::List::add}{Invariant}(#t17);
}
}
} =>#t16;
@@ -551,10 +551,10 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t19 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Set::add}(#t19);
+ #t18.{core::Set::add}{Invariant}(#t19);
}
}
- #t18.{core::Set::add}(null);
+ #t18.{core::Set::add}{Invariant}(null);
} =>#t18;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t20 = <core::String*, dynamic>{};
@@ -562,10 +562,10 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t21 = :sync-for-iterator.{core::Iterator::current};
- #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
}
}
- #t20.{core::Map::[]=}("baz", null);
+ #t20.{core::Map::[]=}{Invariant}("baz", null);
} =>#t20;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t22 = <core::List<core::int*>*>[];
@@ -573,7 +573,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t23 = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::List::add}(#t23);
+ #t22.{core::List::add}{Invariant}(#t23);
}
}
} =>#t22;
@@ -583,10 +583,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t25 = :sync-for-iterator.{core::Iterator::current};
- #t24.{core::Set::add}(#t25);
+ #t24.{core::Set::add}{Invariant}(#t25);
}
}
- #t24.{core::Set::add}(null);
+ #t24.{core::Set::add}{Invariant}(null);
} =>#t24;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t26 = <core::String*, core::List<core::int*>*>{};
@@ -594,10 +594,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t27 = :sync-for-iterator.{core::Iterator::current};
- #t26.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
+ #t26.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
}
}
- #t26.{core::Map::[]=}("baz", null);
+ #t26.{core::Map::[]=}{Invariant}("baz", null);
} =>#t26;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t28 = <core::int*>[];
@@ -606,7 +606,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t29 = :sync-for-iterator.{core::Iterator::current};
- #t28.{core::List::add}(#t29);
+ #t28.{core::List::add}{Invariant}(#t29);
}
}
} =>#t28;
@@ -617,10 +617,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t31 = :sync-for-iterator.{core::Iterator::current};
- #t30.{core::Set::add}(#t31);
+ #t30.{core::Set::add}{Invariant}(#t31);
}
}
- #t30.{core::Set::add}(null);
+ #t30.{core::Set::add}{Invariant}(null);
} =>#t30;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t32 = <core::String*, core::int*>{};
@@ -629,10 +629,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t33 = :sync-for-iterator.{core::Iterator::current};
- #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
}
}
- #t32.{core::Map::[]=}("baz", null);
+ #t32.{core::Map::[]=}{Invariant}("baz", null);
} =>#t32;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t34 = <dynamic>[];
@@ -641,7 +641,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
- #t34.{core::List::add}(#t35);
+ #t34.{core::List::add}{Invariant}(#t35);
}
}
} =>#t34;
@@ -652,10 +652,10 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t37 = :sync-for-iterator.{core::Iterator::current};
- #t36.{core::Set::add}(#t37);
+ #t36.{core::Set::add}{Invariant}(#t37);
}
}
- #t36.{core::Set::add}(null);
+ #t36.{core::Set::add}{Invariant}(null);
} =>#t36;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t38 = <core::String*, dynamic>{};
@@ -664,10 +664,10 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t39 = :sync-for-iterator.{core::Iterator::current};
- #t38.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
+ #t38.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
}
}
- #t38.{core::Map::[]=}("baz", null);
+ #t38.{core::Map::[]=}{Invariant}("baz", null);
} =>#t38;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
@@ -676,7 +676,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t41 = :sync-for-iterator.{core::Iterator::current};
- #t40.{core::List::add}(#t41);
+ #t40.{core::List::add}{Invariant}(#t41);
}
}
} =>#t40;
@@ -687,10 +687,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t43 = :sync-for-iterator.{core::Iterator::current};
- #t42.{core::Set::add}(#t43);
+ #t42.{core::Set::add}{Invariant}(#t43);
}
}
- #t42.{core::Set::add}(null);
+ #t42.{core::Set::add}{Invariant}(null);
} =>#t42;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t44 = <core::String*, core::List<core::int*>*>{};
@@ -699,10 +699,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t45 = :sync-for-iterator.{core::Iterator::current};
- #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
+ #t44.{core::Map::[]=}{Invariant}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
}
}
- #t44.{core::Map::[]=}("baz", null);
+ #t44.{core::Map::[]=}{Invariant}("baz", null);
} =>#t44;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t46 = <core::List<core::int*>*>[];
@@ -710,7 +710,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current};
- #t46.{core::List::add}(#t47);
+ #t46.{core::List::add}{Invariant}(#t47);
}
}
} =>#t46;
@@ -720,10 +720,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t49 = :sync-for-iterator.{core::Iterator::current};
- #t48.{core::Set::add}(#t49);
+ #t48.{core::Set::add}{Invariant}(#t49);
}
}
- #t48.{core::Set::add}(null);
+ #t48.{core::Set::add}{Invariant}(null);
} =>#t48;
core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:39:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
@@ -733,11 +733,11 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = ( block {
final core::Set<core::List<core::int*>*>* #t51 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t51.{core::Set::add}(<core::int*>[]);
+ #t51.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t51).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t52 = :sync-for-iterator.{core::Iterator::current};
- #t50.{core::List::add}(#t52);
+ #t50.{core::List::add}{Invariant}(#t52);
}
}
} =>#t50;
@@ -746,14 +746,14 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = ( block {
final core::Set<core::List<core::int*>*>* #t54 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t54.{core::Set::add}(<core::int*>[]);
+ #t54.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t54).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t55 = :sync-for-iterator.{core::Iterator::current};
- #t53.{core::Set::add}(#t55);
+ #t53.{core::Set::add}{Invariant}(#t55);
}
}
- #t53.{core::Set::add}(null);
+ #t53.{core::Set::add}{Invariant}(null);
} =>#t53;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t56 = <core::List<core::int*>*>[];
@@ -762,7 +762,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t57 = :sync-for-iterator.{core::Iterator::current};
- #t56.{core::List::add}(#t57);
+ #t56.{core::List::add}{Invariant}(#t57);
}
}
} =>#t56;
@@ -773,10 +773,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t59 = :sync-for-iterator.{core::Iterator::current};
- #t58.{core::Set::add}(#t59);
+ #t58.{core::Set::add}{Invariant}(#t59);
}
}
- #t58.{core::Set::add}(null);
+ #t58.{core::Set::add}{Invariant}(null);
} =>#t58;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t60 = <core::String*, core::List<core::int*>*>{};
@@ -785,10 +785,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t61 = :sync-for-iterator.{core::Iterator::current};
- #t60.{core::Map::[]=}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
+ #t60.{core::Map::[]=}{Invariant}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
}
}
- #t60.{core::Map::[]=}("baz", null);
+ #t60.{core::Map::[]=}{Invariant}("baz", null);
} =>#t60;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t62 = <core::int*>[];
@@ -796,7 +796,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t63 = :sync-for-iterator.{core::Iterator::current};
- #t62.{core::List::add}(#t63);
+ #t62.{core::List::add}{Invariant}(#t63);
}
}
} =>#t62;
@@ -806,10 +806,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t65 = :sync-for-iterator.{core::Iterator::current};
- #t64.{core::Set::add}(#t65);
+ #t64.{core::Set::add}{Invariant}(#t65);
}
}
- #t64.{core::Set::add}(null);
+ #t64.{core::Set::add}{Invariant}(null);
} =>#t64;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t66 = <core::String*, core::int*>{};
@@ -817,10 +817,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t67 = :sync-for-iterator.{core::Iterator::current};
- #t66.{core::Map::[]=}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
+ #t66.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
}
}
- #t66.{core::Map::[]=}("baz", null);
+ #t66.{core::Map::[]=}{Invariant}("baz", null);
} =>#t66;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t68 = <core::int*>[];
@@ -830,7 +830,7 @@
} =>#t69).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t70 = :sync-for-iterator.{core::Iterator::current};
- #t68.{core::List::add}(#t70);
+ #t68.{core::List::add}{Invariant}(#t70);
}
}
} =>#t68;
@@ -842,10 +842,10 @@
} =>#t72).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t73 = :sync-for-iterator.{core::Iterator::current};
- #t71.{core::Set::add}(#t73);
+ #t71.{core::Set::add}{Invariant}(#t73);
}
}
- #t71.{core::Set::add}(null);
+ #t71.{core::Set::add}{Invariant}(null);
} =>#t71;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t74 = <core::int*>[];
@@ -854,7 +854,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t75 = :sync-for-iterator.{core::Iterator::current};
- #t74.{core::List::add}(#t75);
+ #t74.{core::List::add}{Invariant}(#t75);
}
}
} =>#t74;
@@ -865,10 +865,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t77 = :sync-for-iterator.{core::Iterator::current};
- #t76.{core::Set::add}(#t77);
+ #t76.{core::Set::add}{Invariant}(#t77);
}
}
- #t76.{core::Set::add}(null);
+ #t76.{core::Set::add}{Invariant}(null);
} =>#t76;
core::Map<core::String*, core::int*>* map52 = block {
final core::Map<core::String*, core::int*>* #t78 = <core::String*, core::int*>{};
@@ -877,10 +877,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t79 = :sync-for-iterator.{core::Iterator::current};
- #t78.{core::Map::[]=}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
+ #t78.{core::Map::[]=}{Invariant}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
}
}
- #t78.{core::Map::[]=}("baz", null);
+ #t78.{core::Map::[]=}{Invariant}("baz", null);
} =>#t78;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t80 = <core::List<core::int*>*>[];
@@ -888,7 +888,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t81 = :sync-for-iterator.{core::Iterator::current};
- #t80.{core::List::add}(#t81);
+ #t80.{core::List::add}{Invariant}(#t81);
}
}
} =>#t80;
@@ -898,10 +898,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t83 = :sync-for-iterator.{core::Iterator::current};
- #t82.{core::Set::add}(#t83);
+ #t82.{core::Set::add}{Invariant}(#t83);
}
}
- #t82.{core::Set::add}(null);
+ #t82.{core::Set::add}{Invariant}(null);
} =>#t82;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t84 = <core::String*, core::List<core::int*>*>{};
@@ -909,10 +909,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t85 = :sync-for-iterator.{core::Iterator::current};
- #t84.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t84.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
}
}
- #t84.{core::Map::[]=}("baz", null);
+ #t84.{core::Map::[]=}{Invariant}("baz", null);
} =>#t84;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t86 = <core::List<core::int*>*>[];
@@ -921,7 +921,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t87 = :sync-for-iterator.{core::Iterator::current};
- #t86.{core::List::add}(#t87);
+ #t86.{core::List::add}{Invariant}(#t87);
}
}
} =>#t86;
@@ -932,10 +932,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t89 = :sync-for-iterator.{core::Iterator::current};
- #t88.{core::Set::add}(#t89);
+ #t88.{core::Set::add}{Invariant}(#t89);
}
}
- #t88.{core::Set::add}(null);
+ #t88.{core::Set::add}{Invariant}(null);
} =>#t88;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t90 = <core::String*, core::List<core::int*>*>{};
@@ -944,57 +944,57 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t91 = :sync-for-iterator.{core::Iterator::current};
- #t90.{core::Map::[]=}(#t91.{core::MapEntry::key}, #t91.{core::MapEntry::value});
+ #t90.{core::Map::[]=}{Invariant}(#t91.{core::MapEntry::key}, #t91.{core::MapEntry::value});
}
}
- #t90.{core::Map::[]=}("baz", null);
+ #t90.{core::Map::[]=}{Invariant}("baz", null);
} =>#t90;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t92 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t92.{core::List::add}(<core::int*>[]);
+ #t92.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t92;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t93 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t93.{core::Set::add}(<core::int*>[]);
- #t93.{core::Set::add}(null);
+ #t93.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t93.{core::Set::add}{Invariant}(null);
} =>#t93;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t94 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t94.{core::List::add}(<core::int*>[]);
+ #t94.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t94;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t95 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t95.{core::Set::add}(<core::int*>[]);
- #t95.{core::Set::add}(null);
+ #t95.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t95.{core::Set::add}{Invariant}(null);
} =>#t95;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t96 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t96.{core::List::add}(42);
+ #t96.{core::List::add}{Invariant}(42);
else
- #t96.{core::List::add}(3.14);
+ #t96.{core::List::add}{Invariant}(3.14);
} =>#t96;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t97 = new col::_CompactLinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t97.{core::Set::add}(42);
+ #t97.{core::Set::add}{Invariant}(42);
else
- #t97.{core::Set::add}(3.14);
- #t97.{core::Set::add}(null);
+ #t97.{core::Set::add}{Invariant}(3.14);
+ #t97.{core::Set::add}{Invariant}(null);
} =>#t97;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t98 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t98.{core::Map::[]=}("bar", 42);
+ #t98.{core::Map::[]=}{Invariant}("bar", 42);
else
- #t98.{core::Map::[]=}("bar", 3.14);
- #t98.{core::Map::[]=}("baz", null);
+ #t98.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t98.{core::Map::[]=}{Invariant}("baz", null);
} =>#t98;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t99 = <core::num*>[];
@@ -1002,14 +1002,14 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t100 = :sync-for-iterator.{core::Iterator::current};
- #t99.{core::List::add}(#t100);
+ #t99.{core::List::add}{Invariant}(#t100);
}
}
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t101 = :sync-for-iterator.{core::Iterator::current};
- #t99.{core::List::add}(#t101);
+ #t99.{core::List::add}{Invariant}(#t101);
}
}
} =>#t99;
@@ -1019,17 +1019,17 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t103 = :sync-for-iterator.{core::Iterator::current};
- #t102.{core::Set::add}(#t103);
+ #t102.{core::Set::add}{Invariant}(#t103);
}
}
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t104 = :sync-for-iterator.{core::Iterator::current};
- #t102.{core::Set::add}(#t104);
+ #t102.{core::Set::add}{Invariant}(#t104);
}
}
- #t102.{core::Set::add}(null);
+ #t102.{core::Set::add}{Invariant}(null);
} =>#t102;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t105 = <core::String*, core::num*>{};
@@ -1037,17 +1037,17 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapToInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t106 = :sync-for-iterator.{core::Iterator::current};
- #t105.{core::Map::[]=}(#t106.{core::MapEntry::key}, #t106.{core::MapEntry::value});
+ #t105.{core::Map::[]=}{Invariant}(#t106.{core::MapEntry::key}, #t106.{core::MapEntry::value});
}
}
else {
core::Iterator<core::MapEntry<core::String*, core::double*>>* :sync-for-iterator = mapToDouble.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t107 = :sync-for-iterator.{core::Iterator::current};
- #t105.{core::Map::[]=}(#t107.{core::MapEntry::key}, #t107.{core::MapEntry::value});
+ #t105.{core::Map::[]=}{Invariant}(#t107.{core::MapEntry::key}, #t107.{core::MapEntry::value});
}
}
- #t105.{core::Map::[]=}("baz", null);
+ #t105.{core::Map::[]=}{Invariant}("baz", null);
} =>#t105;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t108 = <dynamic>[];
@@ -1055,14 +1055,14 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t109 = :sync-for-iterator.{core::Iterator::current};
- #t108.{core::List::add}(#t109);
+ #t108.{core::List::add}{Invariant}(#t109);
}
}
else {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t110 = :sync-for-iterator.{core::Iterator::current};
- #t108.{core::List::add}(#t110);
+ #t108.{core::List::add}{Invariant}(#t110);
}
}
} =>#t108;
@@ -1072,22 +1072,22 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t112 = :sync-for-iterator.{core::Iterator::current};
- #t111.{core::Set::add}(#t112);
+ #t111.{core::Set::add}{Invariant}(#t112);
}
}
else {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t113 = :sync-for-iterator.{core::Iterator::current};
- #t111.{core::Set::add}(#t113);
+ #t111.{core::Set::add}{Invariant}(#t113);
}
}
- #t111.{core::Set::add}(null);
+ #t111.{core::Set::add}{Invariant}(null);
} =>#t111;
core::Set<dynamic>* map82 = block {
final core::Set<dynamic>* #t114 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t114.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
^");
@@ -1095,20 +1095,20 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t115 = :sync-for-iterator.{core::Iterator::current};
- #t114.{core::Set::add}(#t115);
+ #t114.{core::Set::add}{Invariant}(#t115);
}
}
- #t114.{core::Set::add}(null);
+ #t114.{core::Set::add}{Invariant}(null);
} =>#t114;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t116 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t116.{core::List::add}(42);
+ #t116.{core::List::add}{Invariant}(42);
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t117 = :sync-for-iterator.{core::Iterator::current};
- #t116.{core::List::add}(#t117);
+ #t116.{core::List::add}{Invariant}(#t117);
}
}
} =>#t116;
@@ -1118,12 +1118,12 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t119 = :sync-for-iterator.{core::Iterator::current};
- #t118.{core::Set::add}(#t119);
+ #t118.{core::Set::add}{Invariant}(#t119);
}
}
else
- #t118.{core::Set::add}(3.14);
- #t118.{core::Set::add}(null);
+ #t118.{core::Set::add}{Invariant}(3.14);
+ #t118.{core::Set::add}{Invariant}(null);
} =>#t118;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t120 = <core::String*, core::num*>{};
@@ -1131,29 +1131,29 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapToInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t121 = :sync-for-iterator.{core::Iterator::current};
- #t120.{core::Map::[]=}(#t121.{core::MapEntry::key}, #t121.{core::MapEntry::value});
+ #t120.{core::Map::[]=}{Invariant}(#t121.{core::MapEntry::key}, #t121.{core::MapEntry::value});
}
}
else
- #t120.{core::Map::[]=}("bar", 3.14);
- #t120.{core::Map::[]=}("baz", null);
+ #t120.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t120.{core::Map::[]=}{Invariant}("baz", null);
} =>#t120;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t122 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t122.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t122.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
} =>#t122;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t123 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t123.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
- #t123.{core::Set::add}(null);
+ #t123.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t123.{core::Set::add}{Invariant}(null);
} =>#t123;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t124 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t124.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t124.{core::Map::[]=}("baz", null);
+ #t124.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
+ #t124.{core::Map::[]=}{Invariant}("baz", null);
} =>#t124;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t125 = <core::int*>[];
@@ -1163,7 +1163,7 @@
final dynamic #t126 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t127 = #t126 as{TypeError} core::int*;
- #t125.{core::List::add}(#t127);
+ #t125.{core::List::add}{Invariant}(#t127);
}
}
}
@@ -1176,11 +1176,11 @@
final dynamic #t129 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t130 = #t129 as{TypeError} core::int*;
- #t128.{core::Set::add}(#t130);
+ #t128.{core::Set::add}{Invariant}(#t130);
}
}
}
- #t128.{core::Set::add}(null);
+ #t128.{core::Set::add}{Invariant}(null);
} =>#t128;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t131 = <core::String*, core::int*>{};
@@ -1191,51 +1191,51 @@
{
final core::String* #t133 = #t132.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t134 = #t132.{core::MapEntry::value} as{TypeError} core::int*;
- #t131.{core::Map::[]=}(#t133, #t134);
+ #t131.{core::Map::[]=}{Invariant}(#t133, #t134);
}
}
}
- #t131.{core::Map::[]=}("baz", null);
+ #t131.{core::Map::[]=}{Invariant}("baz", null);
} =>#t131;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t135 = <core::int*>[];
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t135.{core::List::add}(42);
+ #t135.{core::List::add}{Invariant}(42);
} =>#t135;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t136 = new col::_CompactLinkedHashSet::•<core::int*>();
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t136.{core::Set::add}(42);
+ #t136.{core::Set::add}{Invariant}(42);
} =>#t136;
core::Map<core::int*, core::int*>* map100 = block {
final core::Map<core::int*, core::int*>* #t137 = <core::int*, core::int*>{};
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t137.{core::Map::[]=}(42, 42);
+ #t137.{core::Map::[]=}{Invariant}(42, 42);
} =>#t137;
}
static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
block {
final core::List<core::int*>* #t138 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t138.{core::List::add}(let final<BottomType> #t139 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t138.{core::List::add}{Invariant}(let final<BottomType> #t139 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) \"bar\"];
^" in "bar" as{TypeError} core::int*);
} =>#t138;
block {
final core::Set<core::int*>* #t140 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t140.{core::Set::add}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t140.{core::Set::add}{Invariant}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{if (oracle(\"foo\")) \"bar\", null};
^" in "bar" as{TypeError} core::int*);
- #t140.{core::Set::add}(null);
+ #t140.{core::Set::add}{Invariant}(null);
} =>#t140;
block {
final core::Map<core::String*, core::int*>* #t142 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t142.{core::Map::[]=}("bar", let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t142.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*);
- #t142.{core::Map::[]=}("baz", null);
+ #t142.{core::Map::[]=}{Invariant}("baz", null);
} =>#t142;
block {
final core::List<core::int*>* #t144 = <core::int*>[];
@@ -1245,7 +1245,7 @@
^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t146 = :sync-for-iterator.{core::Iterator::current};
- #t144.{core::List::add}(#t146);
+ #t144.{core::List::add}{Invariant}(#t146);
}
}
} =>#t144;
@@ -1257,10 +1257,10 @@
^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t149 = :sync-for-iterator.{core::Iterator::current};
- #t147.{core::Set::add}(#t149);
+ #t147.{core::Set::add}{Invariant}(#t149);
}
}
- #t147.{core::Set::add}(null);
+ #t147.{core::Set::add}{Invariant}(null);
} =>#t147;
block {
final core::Map<core::String*, core::int*>* #t150 = <core::String*, core::int*>{};
@@ -1270,15 +1270,15 @@
^" in "bar" as{TypeError} core::int*}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t152 = :sync-for-iterator.{core::Iterator::current};
- #t150.{core::Map::[]=}(#t152.{core::MapEntry::key}, #t152.{core::MapEntry::value});
+ #t150.{core::Map::[]=}{Invariant}(#t152.{core::MapEntry::key}, #t152.{core::MapEntry::value});
}
}
- #t150.{core::Map::[]=}("baz", null);
+ #t150.{core::Map::[]=}{Invariant}("baz", null);
} =>#t150;
block {
final core::List<core::int*>* #t153 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t153.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t153.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map];
^");
@@ -1286,11 +1286,11 @@
block {
final core::Set<core::int*>* #t154 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t154.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t154.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map, null};
^");
- #t154.{core::Set::add}(null);
+ #t154.{core::Set::add}{Invariant}(null);
} =>#t154;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:39: Error: Unexpected type 'List<String>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1302,58 +1302,58 @@
block {
final core::List<core::String*>* #t155 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t155.{core::List::add}(let final<BottomType> #t156 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t155.{core::List::add}{Invariant}(let final<BottomType> #t156 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96: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];
^" in 42 as{TypeError} core::String*);
else
- #t155.{core::List::add}(let final<BottomType> #t157 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t155.{core::List::add}{Invariant}(let final<BottomType> #t157 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[if (oracle(\"foo\")) 42 else 3.14];
^" in 3.14 as{TypeError} core::String*);
} =>#t155;
block {
final core::Set<core::String*>* #t158 = new col::_CompactLinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t158.{core::Set::add}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t158.{core::Set::add}{Invariant}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97: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};
^" in 42 as{TypeError} core::String*);
else
- #t158.{core::Set::add}(let final<BottomType> #t160 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t158.{core::Set::add}{Invariant}(let final<BottomType> #t160 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
^" in 3.14 as{TypeError} core::String*);
- #t158.{core::Set::add}(null);
+ #t158.{core::Set::add}{Invariant}(null);
} =>#t158;
block {
final core::Map<core::String*, core::String*>* #t161 = <core::String*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t161.{core::Map::[]=}("bar", let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t161.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
^" in 42 as{TypeError} core::String*);
else
- #t161.{core::Map::[]=}("baz", let final<BottomType> #t163 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t161.{core::Map::[]=}{Invariant}("baz", let final<BottomType> #t163 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
^" in 3.14 as{TypeError} core::String*);
- #t161.{core::Map::[]=}("baz", null);
+ #t161.{core::Map::[]=}{Invariant}("baz", null);
} =>#t161;
block {
final core::List<core::int*>* #t164 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t164.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t164.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map else 42];
^");
else
- #t164.{core::List::add}(42);
+ #t164.{core::List::add}{Invariant}(42);
} =>#t164;
block {
final core::Set<core::int*>* #t165 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t165.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t165.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
^");
else
- #t165.{core::Set::add}(42);
- #t165.{core::Set::add}(null);
+ #t165.{core::Set::add}{Invariant}(42);
+ #t165.{core::Set::add}{Invariant}(null);
} =>#t165;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:39: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1365,9 +1365,9 @@
block {
final core::List<core::int*>* #t166 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t166.{core::List::add}(42);
+ #t166.{core::List::add}{Invariant}(42);
else
- #t166.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t166.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) 42 else ...map];
^");
@@ -1375,13 +1375,13 @@
block {
final core::Set<core::int*>* #t167 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t167.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t167.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
^");
else
- #t167.{core::Set::add}(42);
- #t167.{core::Set::add}(null);
+ #t167.{core::Set::add}{Invariant}(42);
+ #t167.{core::Set::add}{Invariant}(null);
} =>#t167;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:54: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1413,63 +1413,63 @@
if(let final<BottomType> #t169 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
List<int> list20 = [if (42) 42];
^" in 42 as{TypeError} core::bool*)
- #t168.{core::List::add}(42);
+ #t168.{core::List::add}{Invariant}(42);
} =>#t168;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t170 = new col::_CompactLinkedHashSet::•<core::int*>();
if(let final<BottomType> #t171 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.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} core::bool*)
- #t170.{core::Set::add}(42);
+ #t170.{core::Set::add}{Invariant}(42);
} =>#t170;
core::Map<core::int*, core::int*>* map30 = block {
final core::Map<core::int*, core::int*>* #t172 = <core::int*, core::int*>{};
if(let final<BottomType> #t173 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
Map<int, int> map30 = {if (42) 42: 42};
^" in 42 as{TypeError} core::bool*)
- #t172.{core::Map::[]=}(42, 42);
+ #t172.{core::Map::[]=}{Invariant}(42, 42);
} =>#t172;
core::List<core::String*>* list40 = block {
final core::List<core::String*>* #t174 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t174.{core::List::add}(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t174.{core::List::add}{Invariant}(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
^" in true as{TypeError} core::String*);
else
- #t174.{core::List::add}(let final<BottomType> #t176 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t174.{core::List::add}{Invariant}(let final<BottomType> #t176 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
^" in 42 as{TypeError} core::String*);
} =>#t174;
core::Set<core::String*>* set40 = block {
final core::Set<core::String*>* #t177 = new col::_CompactLinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t177.{core::Set::add}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t177.{core::Set::add}{Invariant}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.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};
^" in true as{TypeError} core::String*);
else
- #t177.{core::Set::add}(let final<BottomType> #t179 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t177.{core::Set::add}{Invariant}(let final<BottomType> #t179 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
^" in 42 as{TypeError} core::String*);
} =>#t177;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t180 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t180.{core::Map::[]=}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t180.{core::Map::[]=}{Invariant}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
^" in true as{TypeError} core::String*, 42);
else
- #t180.{core::Map::[]=}(let final<BottomType> #t182 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t180.{core::Map::[]=}{Invariant}(let final<BottomType> #t182 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
^" in 42 as{TypeError} core::String*, 42);
} =>#t180;
core::Map<core::int*, core::String*>* map41 = block {
final core::Map<core::int*, core::String*>* #t183 = <core::int*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t183.{core::Map::[]=}(42, let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t183.{core::Map::[]=}{Invariant}(42, let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
^" in true as{TypeError} core::String*);
else
- #t183.{core::Map::[]=}(42, let final<BottomType> #t185 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t183.{core::Map::[]=}{Invariant}(42, let final<BottomType> #t185 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
^" in 42 as{TypeError} core::String*);
} =>#t183;
@@ -1478,53 +1478,53 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t186 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t186.{core::List::add}(42);
+ #t186.{core::List::add}{Invariant}(42);
} =>#t186;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t187 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t187.{core::Set::add}(42);
- #t187.{core::Set::add}(null);
+ #t187.{core::Set::add}{Invariant}(42);
+ #t187.{core::Set::add}{Invariant}(null);
} =>#t187;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t188 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t188.{core::Map::[]=}("bar", 42);
- #t188.{core::Map::[]=}("baz", null);
+ #t188.{core::Map::[]=}{Invariant}("bar", 42);
+ #t188.{core::Map::[]=}{Invariant}("baz", null);
} =>#t188;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t189 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t189.{core::List::add}(dynVar);
+ #t189.{core::List::add}{Invariant}(dynVar);
} =>#t189;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t190 = new col::_CompactLinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t190.{core::Set::add}(dynVar);
- #t190.{core::Set::add}(null);
+ #t190.{core::Set::add}{Invariant}(dynVar);
+ #t190.{core::Set::add}{Invariant}(null);
} =>#t190;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t191 = <core::String*, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t191.{core::Map::[]=}("bar", dynVar);
- #t191.{core::Map::[]=}("baz", null);
+ #t191.{core::Map::[]=}{Invariant}("bar", dynVar);
+ #t191.{core::Map::[]=}{Invariant}("baz", null);
} =>#t191;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t192 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t192.{core::List::add}(<core::int*>[42]);
+ #t192.{core::List::add}{Invariant}(<core::int*>[42]);
} =>#t192;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t193 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t193.{core::Set::add}(<core::int*>[42]);
- #t193.{core::Set::add}(null);
+ #t193.{core::Set::add}{Invariant}(<core::int*>[42]);
+ #t193.{core::Set::add}{Invariant}(null);
} =>#t193;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t194 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t194.{core::Map::[]=}("bar", <core::int*>[42]);
- #t194.{core::Map::[]=}("baz", null);
+ #t194.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
+ #t194.{core::Map::[]=}{Invariant}("baz", null);
} =>#t194;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t195 = <core::int*>[];
@@ -1532,7 +1532,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t196 = :sync-for-iterator.{core::Iterator::current};
- #t195.{core::List::add}(#t196);
+ #t195.{core::List::add}{Invariant}(#t196);
}
}
} =>#t195;
@@ -1542,10 +1542,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t198 = :sync-for-iterator.{core::Iterator::current};
- #t197.{core::Set::add}(#t198);
+ #t197.{core::Set::add}{Invariant}(#t198);
}
}
- #t197.{core::Set::add}(null);
+ #t197.{core::Set::add}{Invariant}(null);
} =>#t197;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t199 = <core::String*, core::int*>{};
@@ -1553,10 +1553,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t200 = :sync-for-iterator.{core::Iterator::current};
- #t199.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t199.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
}
}
- #t199.{core::Map::[]=}("baz", null);
+ #t199.{core::Map::[]=}{Invariant}("baz", null);
} =>#t199;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t201 = <dynamic>[];
@@ -1564,7 +1564,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t202 = :sync-for-iterator.{core::Iterator::current};
- #t201.{core::List::add}(#t202);
+ #t201.{core::List::add}{Invariant}(#t202);
}
}
} =>#t201;
@@ -1574,10 +1574,10 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t204 = :sync-for-iterator.{core::Iterator::current};
- #t203.{core::Set::add}(#t204);
+ #t203.{core::Set::add}{Invariant}(#t204);
}
}
- #t203.{core::Set::add}(null);
+ #t203.{core::Set::add}{Invariant}(null);
} =>#t203;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t205 = <core::String*, dynamic>{};
@@ -1585,10 +1585,10 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t206 = :sync-for-iterator.{core::Iterator::current};
- #t205.{core::Map::[]=}(#t206.{core::MapEntry::key}, #t206.{core::MapEntry::value});
+ #t205.{core::Map::[]=}{Invariant}(#t206.{core::MapEntry::key}, #t206.{core::MapEntry::value});
}
}
- #t205.{core::Map::[]=}("baz", null);
+ #t205.{core::Map::[]=}{Invariant}("baz", null);
} =>#t205;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t207 = <core::List<core::int*>*>[];
@@ -1596,7 +1596,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t208 = :sync-for-iterator.{core::Iterator::current};
- #t207.{core::List::add}(#t208);
+ #t207.{core::List::add}{Invariant}(#t208);
}
}
} =>#t207;
@@ -1606,10 +1606,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t210 = :sync-for-iterator.{core::Iterator::current};
- #t209.{core::Set::add}(#t210);
+ #t209.{core::Set::add}{Invariant}(#t210);
}
}
- #t209.{core::Set::add}(null);
+ #t209.{core::Set::add}{Invariant}(null);
} =>#t209;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t211 = <core::String*, core::List<core::int*>*>{};
@@ -1617,10 +1617,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t212 = :sync-for-iterator.{core::Iterator::current};
- #t211.{core::Map::[]=}(#t212.{core::MapEntry::key}, #t212.{core::MapEntry::value});
+ #t211.{core::Map::[]=}{Invariant}(#t212.{core::MapEntry::key}, #t212.{core::MapEntry::value});
}
}
- #t211.{core::Map::[]=}("baz", null);
+ #t211.{core::Map::[]=}{Invariant}("baz", null);
} =>#t211;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t213 = <core::int*>[];
@@ -1629,7 +1629,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t214 = :sync-for-iterator.{core::Iterator::current};
- #t213.{core::List::add}(#t214);
+ #t213.{core::List::add}{Invariant}(#t214);
}
}
} =>#t213;
@@ -1640,10 +1640,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t216 = :sync-for-iterator.{core::Iterator::current};
- #t215.{core::Set::add}(#t216);
+ #t215.{core::Set::add}{Invariant}(#t216);
}
}
- #t215.{core::Set::add}(null);
+ #t215.{core::Set::add}{Invariant}(null);
} =>#t215;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t217 = <core::String*, core::int*>{};
@@ -1652,10 +1652,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t218 = :sync-for-iterator.{core::Iterator::current};
- #t217.{core::Map::[]=}(#t218.{core::MapEntry::key}, #t218.{core::MapEntry::value});
+ #t217.{core::Map::[]=}{Invariant}(#t218.{core::MapEntry::key}, #t218.{core::MapEntry::value});
}
}
- #t217.{core::Map::[]=}("baz", null);
+ #t217.{core::Map::[]=}{Invariant}("baz", null);
} =>#t217;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t219 = <dynamic>[];
@@ -1664,7 +1664,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t220 = :sync-for-iterator.{core::Iterator::current};
- #t219.{core::List::add}(#t220);
+ #t219.{core::List::add}{Invariant}(#t220);
}
}
} =>#t219;
@@ -1675,10 +1675,10 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t222 = :sync-for-iterator.{core::Iterator::current};
- #t221.{core::Set::add}(#t222);
+ #t221.{core::Set::add}{Invariant}(#t222);
}
}
- #t221.{core::Set::add}(null);
+ #t221.{core::Set::add}{Invariant}(null);
} =>#t221;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t223 = <core::String*, dynamic>{};
@@ -1687,10 +1687,10 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t224 = :sync-for-iterator.{core::Iterator::current};
- #t223.{core::Map::[]=}(#t224.{core::MapEntry::key}, #t224.{core::MapEntry::value});
+ #t223.{core::Map::[]=}{Invariant}(#t224.{core::MapEntry::key}, #t224.{core::MapEntry::value});
}
}
- #t223.{core::Map::[]=}("baz", null);
+ #t223.{core::Map::[]=}{Invariant}("baz", null);
} =>#t223;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t225 = <core::List<core::int*>*>[];
@@ -1699,7 +1699,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t226 = :sync-for-iterator.{core::Iterator::current};
- #t225.{core::List::add}(#t226);
+ #t225.{core::List::add}{Invariant}(#t226);
}
}
} =>#t225;
@@ -1710,10 +1710,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t228 = :sync-for-iterator.{core::Iterator::current};
- #t227.{core::Set::add}(#t228);
+ #t227.{core::Set::add}{Invariant}(#t228);
}
}
- #t227.{core::Set::add}(null);
+ #t227.{core::Set::add}{Invariant}(null);
} =>#t227;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t229 = <core::String*, core::List<core::int*>*>{};
@@ -1722,10 +1722,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t230 = :sync-for-iterator.{core::Iterator::current};
- #t229.{core::Map::[]=}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
+ #t229.{core::Map::[]=}{Invariant}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
}
}
- #t229.{core::Map::[]=}("baz", null);
+ #t229.{core::Map::[]=}{Invariant}("baz", null);
} =>#t229;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t231 = <core::List<core::int*>*>[];
@@ -1733,7 +1733,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t232 = :sync-for-iterator.{core::Iterator::current};
- #t231.{core::List::add}(#t232);
+ #t231.{core::List::add}{Invariant}(#t232);
}
}
} =>#t231;
@@ -1743,10 +1743,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t234 = :sync-for-iterator.{core::Iterator::current};
- #t233.{core::Set::add}(#t234);
+ #t233.{core::Set::add}{Invariant}(#t234);
}
}
- #t233.{core::Set::add}(null);
+ #t233.{core::Set::add}{Invariant}(null);
} =>#t233;
core::Map<core::String*, core::List<core::int*>*>* map40 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t235 = <core::String*, core::List<core::int*>*>{};
@@ -1754,21 +1754,21 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t236 = :sync-for-iterator.{core::Iterator::current};
- #t235.{core::Map::[]=}(#t236.{core::MapEntry::key}, #t236.{core::MapEntry::value});
+ #t235.{core::Map::[]=}{Invariant}(#t236.{core::MapEntry::key}, #t236.{core::MapEntry::value});
}
}
- #t235.{core::Map::[]=}("baz", null);
+ #t235.{core::Map::[]=}{Invariant}("baz", null);
} =>#t235;
core::List<core::List<core::int*>*>* list41 = block {
final core::List<core::List<core::int*>*>* #t237 = <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::Iterator<core::List<core::int*>*>* :sync-for-iterator = ( block {
final core::Set<core::List<core::int*>*>* #t238 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t238.{core::Set::add}(<core::int*>[]);
+ #t238.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t238).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t239 = :sync-for-iterator.{core::Iterator::current};
- #t237.{core::List::add}(#t239);
+ #t237.{core::List::add}{Invariant}(#t239);
}
}
} =>#t237;
@@ -1777,14 +1777,14 @@
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = ( block {
final core::Set<core::List<core::int*>*>* #t241 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t241.{core::Set::add}(<core::int*>[]);
+ #t241.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t241).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t242 = :sync-for-iterator.{core::Iterator::current};
- #t240.{core::Set::add}(#t242);
+ #t240.{core::Set::add}{Invariant}(#t242);
}
}
- #t240.{core::Set::add}(null);
+ #t240.{core::Set::add}{Invariant}(null);
} =>#t240;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t243 = <core::List<core::int*>*>[];
@@ -1793,7 +1793,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t244 = :sync-for-iterator.{core::Iterator::current};
- #t243.{core::List::add}(#t244);
+ #t243.{core::List::add}{Invariant}(#t244);
}
}
} =>#t243;
@@ -1804,10 +1804,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t246 = :sync-for-iterator.{core::Iterator::current};
- #t245.{core::Set::add}(#t246);
+ #t245.{core::Set::add}{Invariant}(#t246);
}
}
- #t245.{core::Set::add}(null);
+ #t245.{core::Set::add}{Invariant}(null);
} =>#t245;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t247 = <core::String*, core::List<core::int*>*>{};
@@ -1816,10 +1816,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t248 = :sync-for-iterator.{core::Iterator::current};
- #t247.{core::Map::[]=}(#t248.{core::MapEntry::key}, #t248.{core::MapEntry::value});
+ #t247.{core::Map::[]=}{Invariant}(#t248.{core::MapEntry::key}, #t248.{core::MapEntry::value});
}
}
- #t247.{core::Map::[]=}("baz", null);
+ #t247.{core::Map::[]=}{Invariant}("baz", null);
} =>#t247;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t249 = <core::int*>[];
@@ -1827,7 +1827,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t250 = :sync-for-iterator.{core::Iterator::current};
- #t249.{core::List::add}(#t250);
+ #t249.{core::List::add}{Invariant}(#t250);
}
}
} =>#t249;
@@ -1837,10 +1837,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t252 = :sync-for-iterator.{core::Iterator::current};
- #t251.{core::Set::add}(#t252);
+ #t251.{core::Set::add}{Invariant}(#t252);
}
}
- #t251.{core::Set::add}(null);
+ #t251.{core::Set::add}{Invariant}(null);
} =>#t251;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t253 = <core::String*, core::int*>{};
@@ -1848,10 +1848,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t254 = :sync-for-iterator.{core::Iterator::current};
- #t253.{core::Map::[]=}(#t254.{core::MapEntry::key}, #t254.{core::MapEntry::value});
+ #t253.{core::Map::[]=}{Invariant}(#t254.{core::MapEntry::key}, #t254.{core::MapEntry::value});
}
}
- #t253.{core::Map::[]=}("baz", null);
+ #t253.{core::Map::[]=}{Invariant}("baz", null);
} =>#t253;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t255 = <core::int*>[];
@@ -1861,7 +1861,7 @@
} =>#t256).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t257 = :sync-for-iterator.{core::Iterator::current};
- #t255.{core::List::add}(#t257);
+ #t255.{core::List::add}{Invariant}(#t257);
}
}
} =>#t255;
@@ -1873,10 +1873,10 @@
} =>#t259).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t260 = :sync-for-iterator.{core::Iterator::current};
- #t258.{core::Set::add}(#t260);
+ #t258.{core::Set::add}{Invariant}(#t260);
}
}
- #t258.{core::Set::add}(null);
+ #t258.{core::Set::add}{Invariant}(null);
} =>#t258;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t261 = <core::int*>[];
@@ -1885,7 +1885,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t262 = :sync-for-iterator.{core::Iterator::current};
- #t261.{core::List::add}(#t262);
+ #t261.{core::List::add}{Invariant}(#t262);
}
}
} =>#t261;
@@ -1896,10 +1896,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t264 = :sync-for-iterator.{core::Iterator::current};
- #t263.{core::Set::add}(#t264);
+ #t263.{core::Set::add}{Invariant}(#t264);
}
}
- #t263.{core::Set::add}(null);
+ #t263.{core::Set::add}{Invariant}(null);
} =>#t263;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t265 = <core::List<core::int*>*>[];
@@ -1907,7 +1907,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t266 = :sync-for-iterator.{core::Iterator::current};
- #t265.{core::List::add}(#t266);
+ #t265.{core::List::add}{Invariant}(#t266);
}
}
} =>#t265;
@@ -1917,10 +1917,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t268 = :sync-for-iterator.{core::Iterator::current};
- #t267.{core::Set::add}(#t268);
+ #t267.{core::Set::add}{Invariant}(#t268);
}
}
- #t267.{core::Set::add}(null);
+ #t267.{core::Set::add}{Invariant}(null);
} =>#t267;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t269 = <core::String*, core::List<core::int*>*>{};
@@ -1928,10 +1928,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t270 = :sync-for-iterator.{core::Iterator::current};
- #t269.{core::Map::[]=}(#t270.{core::MapEntry::key}, #t270.{core::MapEntry::value});
+ #t269.{core::Map::[]=}{Invariant}(#t270.{core::MapEntry::key}, #t270.{core::MapEntry::value});
}
}
- #t269.{core::Map::[]=}("baz", null);
+ #t269.{core::Map::[]=}{Invariant}("baz", null);
} =>#t269;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t271 = <core::List<core::int*>*>[];
@@ -1940,7 +1940,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t272 = :sync-for-iterator.{core::Iterator::current};
- #t271.{core::List::add}(#t272);
+ #t271.{core::List::add}{Invariant}(#t272);
}
}
} =>#t271;
@@ -1951,10 +1951,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t274 = :sync-for-iterator.{core::Iterator::current};
- #t273.{core::Set::add}(#t274);
+ #t273.{core::Set::add}{Invariant}(#t274);
}
}
- #t273.{core::Set::add}(null);
+ #t273.{core::Set::add}{Invariant}(null);
} =>#t273;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t275 = <core::String*, core::List<core::int*>*>{};
@@ -1963,73 +1963,73 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t276 = :sync-for-iterator.{core::Iterator::current};
- #t275.{core::Map::[]=}(#t276.{core::MapEntry::key}, #t276.{core::MapEntry::value});
+ #t275.{core::Map::[]=}{Invariant}(#t276.{core::MapEntry::key}, #t276.{core::MapEntry::value});
}
}
- #t275.{core::Map::[]=}("baz", null);
+ #t275.{core::Map::[]=}{Invariant}("baz", null);
} =>#t275;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t277 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t277.{core::List::add}(<core::int*>[]);
+ #t277.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t277;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t278 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t278.{core::Set::add}(<core::int*>[]);
- #t278.{core::Set::add}(null);
+ #t278.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t278.{core::Set::add}{Invariant}(null);
} =>#t278;
core::Map<core::String*, core::List<core::int*>*>* map70 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t279 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t279.{core::Map::[]=}("bar", <core::int*>[]);
- #t279.{core::Map::[]=}("baz", null);
+ #t279.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
+ #t279.{core::Map::[]=}{Invariant}("baz", null);
} =>#t279;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t280 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t280.{core::List::add}(<core::int*>[]);
+ #t280.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t280;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t281 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t281.{core::Set::add}(<core::int*>[]);
- #t281.{core::Set::add}(null);
+ #t281.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t281.{core::Set::add}{Invariant}(null);
} =>#t281;
core::Map<core::String*, core::List<core::int*>*>* map71 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t282 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t282.{core::Map::[]=}("bar", <core::int*>[]);
- #t282.{core::Map::[]=}("baz", null);
+ #t282.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
+ #t282.{core::Map::[]=}{Invariant}("baz", null);
} =>#t282;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t283 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t283.{core::List::add}(42);
+ #t283.{core::List::add}{Invariant}(42);
else
- #t283.{core::List::add}(3.14);
+ #t283.{core::List::add}{Invariant}(3.14);
} =>#t283;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t284 = new col::_CompactLinkedHashSet::•<core::num*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t284.{core::Set::add}(42);
+ #t284.{core::Set::add}{Invariant}(42);
else
- #t284.{core::Set::add}(3.14);
- #t284.{core::Set::add}(null);
+ #t284.{core::Set::add}{Invariant}(3.14);
+ #t284.{core::Set::add}{Invariant}(null);
} =>#t284;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t285 = <core::String*, core::num*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t285.{core::Map::[]=}("bar", 42);
+ #t285.{core::Map::[]=}{Invariant}("bar", 42);
else
- #t285.{core::Map::[]=}("bar", 3.14);
- #t285.{core::Map::[]=}("baz", null);
+ #t285.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t285.{core::Map::[]=}{Invariant}("baz", null);
} =>#t285;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t286 = <core::num*>[];
@@ -2038,14 +2038,14 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t287 = :sync-for-iterator.{core::Iterator::current};
- #t286.{core::List::add}(#t287);
+ #t286.{core::List::add}{Invariant}(#t287);
}
}
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t288 = :sync-for-iterator.{core::Iterator::current};
- #t286.{core::List::add}(#t288);
+ #t286.{core::List::add}{Invariant}(#t288);
}
}
} =>#t286;
@@ -2056,17 +2056,17 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t290 = :sync-for-iterator.{core::Iterator::current};
- #t289.{core::Set::add}(#t290);
+ #t289.{core::Set::add}{Invariant}(#t290);
}
}
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t291 = :sync-for-iterator.{core::Iterator::current};
- #t289.{core::Set::add}(#t291);
+ #t289.{core::Set::add}{Invariant}(#t291);
}
}
- #t289.{core::Set::add}(null);
+ #t289.{core::Set::add}{Invariant}(null);
} =>#t289;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t292 = <core::String*, core::num*>{};
@@ -2075,17 +2075,17 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t293 = :sync-for-iterator.{core::Iterator::current};
- #t292.{core::Map::[]=}(#t293.{core::MapEntry::key}, #t293.{core::MapEntry::value});
+ #t292.{core::Map::[]=}{Invariant}(#t293.{core::MapEntry::key}, #t293.{core::MapEntry::value});
}
}
else {
core::Iterator<core::MapEntry<core::String*, core::double*>>* :sync-for-iterator = mapStringDouble.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t294 = :sync-for-iterator.{core::Iterator::current};
- #t292.{core::Map::[]=}(#t294.{core::MapEntry::key}, #t294.{core::MapEntry::value});
+ #t292.{core::Map::[]=}{Invariant}(#t294.{core::MapEntry::key}, #t294.{core::MapEntry::value});
}
}
- #t292.{core::Map::[]=}("baz", null);
+ #t292.{core::Map::[]=}{Invariant}("baz", null);
} =>#t292;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t295 = <dynamic>[];
@@ -2094,14 +2094,14 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t296 = :sync-for-iterator.{core::Iterator::current};
- #t295.{core::List::add}(#t296);
+ #t295.{core::List::add}{Invariant}(#t296);
}
}
else {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t297 = :sync-for-iterator.{core::Iterator::current};
- #t295.{core::List::add}(#t297);
+ #t295.{core::List::add}{Invariant}(#t297);
}
}
} =>#t295;
@@ -2112,17 +2112,17 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t299 = :sync-for-iterator.{core::Iterator::current};
- #t298.{core::Set::add}(#t299);
+ #t298.{core::Set::add}{Invariant}(#t299);
}
}
else {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t300 = :sync-for-iterator.{core::Iterator::current};
- #t298.{core::Set::add}(#t300);
+ #t298.{core::Set::add}{Invariant}(#t300);
}
}
- #t298.{core::Set::add}(null);
+ #t298.{core::Set::add}{Invariant}(null);
} =>#t298;
core::Map<dynamic, dynamic>* map82 = block {
final core::Map<dynamic, dynamic>* #t301 = <dynamic, dynamic>{};
@@ -2131,28 +2131,28 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t302 = :sync-for-iterator.{core::Iterator::current};
- #t301.{core::Map::[]=}(#t302.{core::MapEntry::key}, #t302.{core::MapEntry::value});
+ #t301.{core::Map::[]=}{Invariant}(#t302.{core::MapEntry::key}, #t302.{core::MapEntry::value});
}
}
else {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t303 = :sync-for-iterator.{core::Iterator::current};
- #t301.{core::Map::[]=}(#t303.{core::MapEntry::key}, #t303.{core::MapEntry::value});
+ #t301.{core::Map::[]=}{Invariant}(#t303.{core::MapEntry::key}, #t303.{core::MapEntry::value});
}
}
- #t301.{core::Map::[]=}("baz", null);
+ #t301.{core::Map::[]=}{Invariant}("baz", null);
} =>#t301;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t304 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t304.{core::List::add}(42);
+ #t304.{core::List::add}{Invariant}(42);
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t305 = :sync-for-iterator.{core::Iterator::current};
- #t304.{core::List::add}(#t305);
+ #t304.{core::List::add}{Invariant}(#t305);
}
}
} =>#t304;
@@ -2163,12 +2163,12 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t307 = :sync-for-iterator.{core::Iterator::current};
- #t306.{core::Set::add}(#t307);
+ #t306.{core::Set::add}{Invariant}(#t307);
}
}
else
- #t306.{core::Set::add}(3.14);
- #t306.{core::Set::add}(null);
+ #t306.{core::Set::add}{Invariant}(3.14);
+ #t306.{core::Set::add}{Invariant}(null);
} =>#t306;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t308 = <core::String*, core::num*>{};
@@ -2177,29 +2177,29 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t309 = :sync-for-iterator.{core::Iterator::current};
- #t308.{core::Map::[]=}(#t309.{core::MapEntry::key}, #t309.{core::MapEntry::value});
+ #t308.{core::Map::[]=}{Invariant}(#t309.{core::MapEntry::key}, #t309.{core::MapEntry::value});
}
}
else
- #t308.{core::Map::[]=}("bar", 3.14);
- #t308.{core::Map::[]=}("baz", null);
+ #t308.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t308.{core::Map::[]=}{Invariant}("baz", null);
} =>#t308;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t310 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t310.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t310.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
} =>#t310;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t311 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t311.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
- #t311.{core::Set::add}(null);
+ #t311.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t311.{core::Set::add}{Invariant}(null);
} =>#t311;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t312 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t312.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t312.{core::Map::[]=}("baz", null);
+ #t312.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
+ #t312.{core::Map::[]=}{Invariant}("baz", null);
} =>#t312;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t313 = <core::int*>[];
@@ -2209,7 +2209,7 @@
final dynamic #t314 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t315 = #t314 as{TypeError} core::int*;
- #t313.{core::List::add}(#t315);
+ #t313.{core::List::add}{Invariant}(#t315);
}
}
}
@@ -2222,11 +2222,11 @@
final dynamic #t317 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t318 = #t317 as{TypeError} core::int*;
- #t316.{core::Set::add}(#t318);
+ #t316.{core::Set::add}{Invariant}(#t318);
}
}
}
- #t316.{core::Set::add}(null);
+ #t316.{core::Set::add}{Invariant}(null);
} =>#t316;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t319 = <core::String*, core::int*>{};
@@ -2237,26 +2237,26 @@
{
final core::String* #t321 = #t320.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t322 = #t320.{core::MapEntry::value} as{TypeError} core::int*;
- #t319.{core::Map::[]=}(#t321, #t322);
+ #t319.{core::Map::[]=}{Invariant}(#t321, #t322);
}
}
}
- #t319.{core::Map::[]=}("baz", null);
+ #t319.{core::Map::[]=}{Invariant}("baz", null);
} =>#t319;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t323 = <core::int*>[];
for (final core::int* #t324 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t323.{core::List::add}(42);
+ #t323.{core::List::add}{Invariant}(42);
} =>#t323;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t325 = new col::_CompactLinkedHashSet::•<core::int*>();
for (final core::int* #t326 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t325.{core::Set::add}(42);
+ #t325.{core::Set::add}{Invariant}(42);
} =>#t325;
core::Map<core::String*, core::int*>* map100 = block {
final core::Map<core::String*, core::int*>* #t327 = <core::String*, core::int*>{};
for (final core::int* #t328 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t327.{core::Map::[]=}("bar", 42);
+ #t327.{core::Map::[]=}{Invariant}("bar", 42);
} =>#t327;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t329 = <core::int*>[];
@@ -2264,7 +2264,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t329.{core::List::add}(i);
+ #t329.{core::List::add}{Invariant}(i);
}
}
} =>#t329;
@@ -2274,10 +2274,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t330.{core::Set::add}(i);
+ #t330.{core::Set::add}{Invariant}(i);
}
}
- #t330.{core::Set::add}(null);
+ #t330.{core::Set::add}{Invariant}(null);
} =>#t330;
core::Map<core::String*, core::int*>* map110 = block {
final core::Map<core::String*, core::int*>* #t331 = <core::String*, core::int*>{};
@@ -2285,10 +2285,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t331.{core::Map::[]=}("bar", i);
+ #t331.{core::Map::[]=}{Invariant}("bar", i);
}
}
- #t331.{core::Map::[]=}("baz", null);
+ #t331.{core::Map::[]=}{Invariant}("baz", null);
} =>#t331;
core::List<core::int*>* list120 = block {
final core::List<core::int*>* #t332 = <core::int*>[];
@@ -2296,7 +2296,7 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t332.{core::List::add}(i as{TypeError,ForDynamic} core::int*);
+ #t332.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
}
}
} =>#t332;
@@ -2306,10 +2306,10 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t333.{core::Set::add}(i as{TypeError,ForDynamic} core::int*);
+ #t333.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
}
}
- #t333.{core::Set::add}(null);
+ #t333.{core::Set::add}{Invariant}(null);
} =>#t333;
core::Map<core::String*, core::int*>* map120 = block {
final core::Map<core::String*, core::int*>* #t334 = <core::String*, core::int*>{};
@@ -2317,25 +2317,25 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t334.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*);
+ #t334.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*);
}
}
- #t334.{core::Map::[]=}("baz", null);
+ #t334.{core::Map::[]=}{Invariant}("baz", null);
} =>#t334;
core::List<core::int*>* list130 = block {
final core::List<core::int*>* #t335 = <core::int*>[];
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t335.{core::List::add}(i);
+ #t335.{core::List::add}{Invariant}(i);
} =>#t335;
core::Set<core::int*>* set130 = block {
final core::Set<core::int*>* #t336 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t336.{core::Set::add}(i);
+ #t336.{core::Set::add}{Invariant}(i);
} =>#t336;
core::Map<core::int*, core::int*>* map130 = block {
final core::Map<core::int*, core::int*>* #t337 = <core::int*, core::int*>{};
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t337.{core::Map::[]=}(i, i);
+ #t337.{core::Map::[]=}{Invariant}(i, i);
} =>#t337;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic /* originally async */ {
@@ -2358,27 +2358,27 @@
block {
final core::List<core::int*>* #t338 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t338.{core::List::add}(let final<BottomType> #t339 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t338.{core::List::add}{Invariant}(let final<BottomType> #t339 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:210: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\"];
^" in "bar" as{TypeError} core::int*);
} =>#t338;
block {
final core::Set<core::int*>* #t340 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t340.{core::Set::add}(let final<BottomType> #t341 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:211:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t340.{core::Set::add}{Invariant}(let final<BottomType> #t341 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:211: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};
^" in "bar" as{TypeError} core::int*);
- #t340.{core::Set::add}(null);
+ #t340.{core::Set::add}{Invariant}(null);
} =>#t340;
block {
final core::Map<core::int*, core::int*>* #t342 = <core::int*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t342.{core::Map::[]=}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t342.{core::Map::[]=}{Invariant}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*, let final<BottomType> #t344 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*);
- #t342.{core::Map::[]=}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t342.{core::Map::[]=}{Invariant}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "baz" as{TypeError} core::int*, null);
} =>#t342;
@@ -2390,7 +2390,7 @@
^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t348 = :sync-for-iterator.{core::Iterator::current};
- #t346.{core::List::add}(#t348);
+ #t346.{core::List::add}{Invariant}(#t348);
}
}
} =>#t346;
@@ -2402,10 +2402,10 @@
^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t351 = :sync-for-iterator.{core::Iterator::current};
- #t349.{core::Set::add}(#t351);
+ #t349.{core::Set::add}{Invariant}(#t351);
}
}
- #t349.{core::Set::add}(null);
+ #t349.{core::Set::add}{Invariant}(null);
} =>#t349;
block {
final core::Map<core::int*, core::int*>* #t352 = <core::int*, core::int*>{};
@@ -2417,17 +2417,17 @@
^" in "bar" as{TypeError} core::int*}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t355 = :sync-for-iterator.{core::Iterator::current};
- #t352.{core::Map::[]=}(#t355.{core::MapEntry::key}, #t355.{core::MapEntry::value});
+ #t352.{core::Map::[]=}{Invariant}(#t355.{core::MapEntry::key}, #t355.{core::MapEntry::value});
}
}
- #t352.{core::Map::[]=}(let final<BottomType> #t356 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t352.{core::Map::[]=}{Invariant}(let final<BottomType> #t356 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "baz" as{TypeError} core::int*, null);
} =>#t352;
block {
final core::List<core::int*>* #t357 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t357.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t357.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
^");
@@ -2435,11 +2435,11 @@
block {
final core::Set<core::int*>* #t358 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t358.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t358.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
^");
- #t358.{core::Set::add}(null);
+ #t358.{core::Set::add}{Invariant}(null);
} =>#t358;
<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:53: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2452,11 +2452,11 @@
final core::List<core::String*>* #t359 = <core::String*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t359.{core::List::add}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t359.{core::List::add}{Invariant}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
^" in 42 as{TypeError} core::String*);
else
- #t359.{core::List::add}(let final<BottomType> #t361 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t359.{core::List::add}{Invariant}(let final<BottomType> #t361 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
^" in 3.14 as{TypeError} core::String*);
} =>#t359;
@@ -2464,50 +2464,50 @@
final core::Set<core::String*>* #t362 = new col::_CompactLinkedHashSet::•<core::String*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t362.{core::Set::add}(let final<BottomType> #t363 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t362.{core::Set::add}{Invariant}(let final<BottomType> #t363 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
^" in 42 as{TypeError} core::String*);
else
- #t362.{core::Set::add}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t362.{core::Set::add}{Invariant}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
^" in 3.14 as{TypeError} core::String*);
- #t362.{core::Set::add}(null);
+ #t362.{core::Set::add}{Invariant}(null);
} =>#t362;
block {
final core::Map<core::String*, core::String*>* #t365 = <core::String*, core::String*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t365.{core::Map::[]=}("bar", let final<BottomType> #t366 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t365.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t366 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
^" in 42 as{TypeError} core::String*);
else
- #t365.{core::Map::[]=}("bar", let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t365.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
^" in 3.14 as{TypeError} core::String*);
- #t365.{core::Map::[]=}("baz", null);
+ #t365.{core::Map::[]=}{Invariant}("baz", null);
} =>#t365;
block {
final core::List<core::int*>* #t368 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t368.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t368.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
^");
else
- #t368.{core::List::add}(42);
+ #t368.{core::List::add}{Invariant}(42);
} =>#t368;
block {
final core::Set<core::int*>* #t369 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t369.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t369.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
^");
else
- #t369.{core::Set::add}(42);
- #t369.{core::Set::add}(null);
+ #t369.{core::Set::add}{Invariant}(42);
+ #t369.{core::Set::add}{Invariant}(null);
} =>#t369;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:70: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2520,9 +2520,9 @@
final core::List<core::int*>* #t370 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t370.{core::List::add}(42);
+ #t370.{core::List::add}{Invariant}(42);
else
- #t370.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t370.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
^");
@@ -2531,13 +2531,13 @@
final core::Set<core::int*>* #t371 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t371.{core::Set::add}(42);
+ #t371.{core::Set::add}{Invariant}(42);
else
- #t371.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t371.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
^");
- #t371.{core::Set::add}(null);
+ #t371.{core::Set::add}{Invariant}(null);
} =>#t371;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:85: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2557,7 +2557,7 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:230:14: Error: Can't assign to the final variable 'i'.
<int>[for (i in <int>[1]) i];
^";
- #t372.{core::List::add}(i);
+ #t372.{core::List::add}{Invariant}(i);
}
}
}
@@ -2572,11 +2572,11 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:231:14: Error: Can't assign to the final variable 'i'.
<int>{for (i in <int>[1]) i, null};
^";
- #t374.{core::Set::add}(i);
+ #t374.{core::Set::add}{Invariant}(i);
}
}
}
- #t374.{core::Set::add}(null);
+ #t374.{core::Set::add}{Invariant}(null);
} =>#t374;
block {
final core::Map<core::String*, core::int*>* #t376 = <core::String*, core::int*>{};
@@ -2588,11 +2588,11 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:21: Error: Can't assign to the final variable 'i'.
\t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
\t ^";
- #t376.{core::Map::[]=}("bar", i);
+ #t376.{core::Map::[]=}{Invariant}("bar", i);
}
}
}
- #t376.{core::Map::[]=}("baz", null);
+ #t376.{core::Map::[]=}{Invariant}("baz", null);
} =>#t376;
core::List<dynamic>* list10 = block {
final core::List<dynamic>* #t378 = <dynamic>[];
@@ -2603,7 +2603,7 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t378.{core::List::add}(i);
+ #t378.{core::List::add}{Invariant}(i);
}
}
} =>#t378;
@@ -2616,10 +2616,10 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t380.{core::Set::add}(i);
+ #t380.{core::Set::add}{Invariant}(i);
}
}
- #t380.{core::Set::add}(null);
+ #t380.{core::Set::add}{Invariant}(null);
} =>#t380;
core::Map<core::String*, dynamic>* map10 = block {
final core::Map<core::String*, dynamic>* #t382 = <core::String*, dynamic>{};
@@ -2630,10 +2630,10 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t382.{core::Map::[]=}("bar", i);
+ #t382.{core::Map::[]=}{Invariant}("bar", i);
}
}
- #t382.{core::Map::[]=}("baz", null);
+ #t382.{core::Map::[]=}{Invariant}("baz", null);
} =>#t382;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t384 = <core::int*>[];
@@ -2645,7 +2645,7 @@
^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t384.{core::List::add}(i);
+ #t384.{core::List::add}{Invariant}(i);
}
}
} =>#t384;
@@ -2659,10 +2659,10 @@
^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t387.{core::Set::add}(i);
+ #t387.{core::Set::add}{Invariant}(i);
}
}
- #t387.{core::Set::add}(null);
+ #t387.{core::Set::add}{Invariant}(null);
} =>#t387;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t390 = <core::String*, core::int*>{};
@@ -2674,10 +2674,10 @@
^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t390.{core::Map::[]=}("bar", i);
+ #t390.{core::Map::[]=}{Invariant}("bar", i);
}
}
- #t390.{core::Map::[]=}("baz", null);
+ #t390.{core::Map::[]=}{Invariant}("baz", null);
} =>#t390;
final core::List<dynamic>* #t393 = <dynamic>[];
{
@@ -2693,7 +2693,7 @@
[yield] let dynamic #t396 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t393.{core::List::add}(i);
+ #t393.{core::List::add}{Invariant}(i);
}
else
break #L2;
@@ -2719,7 +2719,7 @@
[yield] let dynamic #t401 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t398.{core::Set::add}(i);
+ #t398.{core::Set::add}{Invariant}(i);
}
else
break #L3;
@@ -2731,7 +2731,7 @@
}
}
core::Set<dynamic>* set30 = block {
- #t398.{core::Set::add}(null);
+ #t398.{core::Set::add}{Invariant}(null);
} =>#t398;
final core::Map<core::String*, dynamic>* #t403 = <core::String*, dynamic>{};
{
@@ -2747,7 +2747,7 @@
[yield] let dynamic #t406 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t403.{core::Map::[]=}("bar", i);
+ #t403.{core::Map::[]=}{Invariant}("bar", i);
}
else
break #L4;
@@ -2759,7 +2759,7 @@
}
}
core::Map<core::String*, dynamic>* map30 = block {
- #t403.{core::Map::[]=}("baz", null);
+ #t403.{core::Map::[]=}{Invariant}("baz", null);
} =>#t403;
final core::List<core::int*>* #t408 = <core::int*>[];
{
@@ -2776,7 +2776,7 @@
[yield] let dynamic #t412 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t408.{core::List::add}(i);
+ #t408.{core::List::add}{Invariant}(i);
}
else
break #L5;
@@ -2803,7 +2803,7 @@
[yield] let dynamic #t418 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t414.{core::Set::add}(i);
+ #t414.{core::Set::add}{Invariant}(i);
}
else
break #L6;
@@ -2815,7 +2815,7 @@
}
}
core::Set<core::int*>* set40 = block {
- #t414.{core::Set::add}(null);
+ #t414.{core::Set::add}{Invariant}(null);
} =>#t414;
final core::Map<core::String*, core::int*>* #t420 = <core::String*, core::int*>{};
{
@@ -2832,7 +2832,7 @@
[yield] let dynamic #t424 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t420.{core::Map::[]=}("bar", i);
+ #t420.{core::Map::[]=}{Invariant}("bar", i);
}
else
break #L7;
@@ -2844,47 +2844,47 @@
}
}
core::Map<core::String*, core::int*>* map40 = block {
- #t420.{core::Map::[]=}("baz", null);
+ #t420.{core::Map::[]=}{Invariant}("baz", null);
} =>#t420;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t426 = <core::int*>[];
for (; ; )
- #t426.{core::List::add}(42);
+ #t426.{core::List::add}{Invariant}(42);
} =>#t426;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t427 = new col::_CompactLinkedHashSet::•<core::int*>();
for (; ; )
- #t427.{core::Set::add}(42);
- #t427.{core::Set::add}(null);
+ #t427.{core::Set::add}{Invariant}(42);
+ #t427.{core::Set::add}{Invariant}(null);
} =>#t427;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t428 = <core::String*, core::int*>{};
for (; ; )
- #t428.{core::Map::[]=}("bar", 42);
- #t428.{core::Map::[]=}("baz", null);
+ #t428.{core::Map::[]=}{Invariant}("bar", 42);
+ #t428.{core::Map::[]=}{Invariant}("baz", null);
} =>#t428;
core::List<core::int*>* list60 = block {
final core::List<core::int*>* #t429 = <core::int*>[];
for (; let final<BottomType> #t430 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:249:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var list60 = [for (; \"not bool\";) 42];
^" in "not bool" as{TypeError} core::bool*; )
- #t429.{core::List::add}(42);
+ #t429.{core::List::add}{Invariant}(42);
} =>#t429;
core::Set<core::int*>* set60 = block {
final core::Set<core::int*>* #t431 = new col::_CompactLinkedHashSet::•<core::int*>();
for (; let final<BottomType> #t432 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.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} core::bool*; )
- #t431.{core::Set::add}(42);
- #t431.{core::Set::add}(null);
+ #t431.{core::Set::add}{Invariant}(42);
+ #t431.{core::Set::add}{Invariant}(null);
} =>#t431;
core::Map<core::String*, core::int*>* map60 = block {
final core::Map<core::String*, core::int*>* #t433 = <core::String*, core::int*>{};
for (; let final<BottomType> #t434 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
^" in "not bool" as{TypeError} core::bool*; )
- #t433.{core::Map::[]=}("bar", 42);
- #t433.{core::Map::[]=}("baz", null);
+ #t433.{core::Map::[]=}{Invariant}("bar", 42);
+ #t433.{core::Map::[]=}{Invariant}("baz", null);
} =>#t433;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -2904,34 +2904,34 @@
block {
final core::List<core::int*>* #t435 = <core::int*>[];
await for (core::int* i in stream)
- #t435.{core::List::add}(i);
+ #t435.{core::List::add}{Invariant}(i);
} =>#t435;
block {
final core::Set<core::int*>* #t436 = new col::_CompactLinkedHashSet::•<core::int*>();
await for (core::int* i in stream)
- #t436.{core::Set::add}(i);
+ #t436.{core::Set::add}{Invariant}(i);
} =>#t436;
block {
final core::Map<core::String*, core::int*>* #t437 = <core::String*, core::int*>{};
await for (core::int* i in stream)
- #t437.{core::Map::[]=}("bar", i);
+ #t437.{core::Map::[]=}{Invariant}("bar", i);
} =>#t437;
}
static method testPromotion(self::A* a) → dynamic {
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t438 = <core::int*>[];
if(a is self::B*)
- #t438.{core::List::add}(a{self::B*}.{self::B::foo});
+ #t438.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo});
} =>#t438;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t439 = new col::_CompactLinkedHashSet::•<core::int*>();
if(a is self::B*)
- #t439.{core::Set::add}(a{self::B*}.{self::B::foo});
+ #t439.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo});
} =>#t439;
core::Map<core::int*, core::int*>* map10 = block {
final core::Map<core::int*, core::int*>* #t440 = <core::int*, core::int*>{};
if(a is self::B*)
- #t440.{core::Map::[]=}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
+ #t440.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
} =>#t440;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.expect
index cf3316a..bbc6109 100644
--- a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.expect
+++ b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.expect
@@ -8,6 +8,6 @@
core::Object* b;
return block {
final core::Set<core::Object*>* #t1 = col::LinkedHashSet::•<core::Object*>();
- #t1.{core::Set::add}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
+ #t1.{core::Set::add}{Invariant}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
} =>#t1;
}
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.transformed.expect
index d304f46..637e41b 100644
--- a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.transformed.expect
@@ -8,6 +8,6 @@
core::Object* b;
return block {
final core::Set<core::Object*>* #t1 = new col::_CompactLinkedHashSet::•<core::Object*>();
- #t1.{core::Set::add}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
+ #t1.{core::Set::add}{Invariant}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
} =>#t1;
}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.strong.expect b/pkg/front_end/testcases/general/issue37027.dart.strong.expect
index 09fd889..d66702b 100644
--- a/pkg/front_end/testcases/general/issue37027.dart.strong.expect
+++ b/pkg/front_end/testcases/general/issue37027.dart.strong.expect
@@ -10,7 +10,7 @@
final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
for (core::int* e in ell)
if(e.{core::int::isOdd})
- #t1.{core::Set::add}(2.{core::num::*}(e));
+ #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
} =>#t1, super core::Object::•()
;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/general/issue37027.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue37027.dart.strong.transformed.expect
index bc72e7f..fa88301 100644
--- a/pkg/front_end/testcases/general/issue37027.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/issue37027.dart.strong.transformed.expect
@@ -13,7 +13,7 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* e = :sync-for-iterator.{core::Iterator::current};
if(e.{core::int::isOdd})
- #t1.{core::Set::add}(2.{core::num::*}(e));
+ #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
}
}
} =>#t1, super core::Object::•()
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.strong.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.strong.expect
index b724b3a..bd5bf0d 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.strong.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.strong.expect
@@ -6,31 +6,31 @@
static method nullAwareListSpread(core::List<core::String*>* list) → dynamic {
list = block {
final core::List<core::String*>* #t1 = <core::String*>[];
- #t1.{core::List::add}("foo");
+ #t1.{core::List::add}{Invariant}("foo");
final core::Iterable<core::String*>* #t2 = list;
if(!#t2.{core::Object::==}(null))
for (final core::String* #t3 in #t2)
- #t1.{core::List::add}(#t3);
+ #t1.{core::List::add}{Invariant}(#t3);
} =>#t1;
}
static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
set = block {
final core::Set<core::String*>* #t4 = col::LinkedHashSet::•<core::String*>();
- #t4.{core::Set::add}("foo");
+ #t4.{core::Set::add}{Invariant}("foo");
final core::Iterable<core::String*>* #t5 = set;
if(!#t5.{core::Object::==}(null))
for (final core::String* #t6 in #t5)
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
} =>#t4;
}
static method nullAwareMapSpread(core::Map<core::int*, core::String*>* map) → dynamic {
map = block {
final core::Map<core::int*, core::String*>* #t7 = <core::int*, core::String*>{};
- #t7.{core::Map::[]=}(0, "foo");
+ #t7.{core::Map::[]=}{Invariant}(0, "foo");
final core::Map<core::int*, core::String*>* #t8 = map;
if(!#t8.{core::Object::==}(null))
for (final core::MapEntry<core::int*, core::String*>* #t9 in #t8.{core::Map::entries})
- #t7.{core::Map::[]=}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
+ #t7.{core::Map::[]=}{Invariant}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
} =>#t7;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.strong.transformed.expect
index 9ff4788..67a6d44 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.strong.transformed.expect
@@ -6,13 +6,13 @@
static method nullAwareListSpread(core::List<core::String*>* list) → dynamic {
list = block {
final core::List<core::String*>* #t1 = <core::String*>[];
- #t1.{core::List::add}("foo");
+ #t1.{core::List::add}{Invariant}("foo");
final core::Iterable<core::String*>* #t2 = list;
if(!#t2.{core::Object::==}(null)) {
core::Iterator<core::String*>* :sync-for-iterator = #t2.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String* #t3 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t3);
+ #t1.{core::List::add}{Invariant}(#t3);
}
}
} =>#t1;
@@ -20,13 +20,13 @@
static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
set = block {
final core::Set<core::String*>* #t4 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t4.{core::Set::add}("foo");
+ #t4.{core::Set::add}{Invariant}("foo");
final core::Iterable<core::String*>* #t5 = set;
if(!#t5.{core::Object::==}(null)) {
core::Iterator<core::String*>* :sync-for-iterator = #t5.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
}
}
} =>#t4;
@@ -34,13 +34,13 @@
static method nullAwareMapSpread(core::Map<core::int*, core::String*>* map) → dynamic {
map = block {
final core::Map<core::int*, core::String*>* #t7 = <core::int*, core::String*>{};
- #t7.{core::Map::[]=}(0, "foo");
+ #t7.{core::Map::[]=}{Invariant}(0, "foo");
final core::Map<core::int*, core::String*>* #t8 = map;
if(!#t8.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = #t8.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::String*>* #t9 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::Map::[]=}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
+ #t7.{core::Map::[]=}{Invariant}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
}
}
} =>#t7;
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.strong.expect b/pkg/front_end/testcases/general/spread_collection.dart.strong.expect
index 08204f6..45566e9 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.strong.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.strong.expect
@@ -14,33 +14,33 @@
static method main() → dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
- #t1.{core::List::add}(1);
+ #t1.{core::List::add}{Invariant}(1);
for (final core::int* #t2 in <core::int*>[2])
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
final core::Iterable<core::int*>* #t3 = <core::int*>[3];
if(!#t3.{core::Object::==}(null))
for (final core::int* #t4 in #t3)
- #t1.{core::List::add}(#t4);
+ #t1.{core::List::add}{Invariant}(#t4);
} =>#t1;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{};
- #t5.{core::Map::[]=}(1, 1);
+ #t5.{core::Map::[]=}{Invariant}(1, 1);
for (final core::MapEntry<core::int*, core::int*>* #t6 in <core::int*, core::int*>{2: 2}.{core::Map::entries})
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
final core::Map<core::int*, core::int*>* #t7 = <core::int*, core::int*>{3: 3};
if(!#t7.{core::Object::==}(null))
for (final core::MapEntry<core::int*, core::int*>* #t8 in #t7.{core::Map::entries})
- #t5.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
} =>#t5;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
- #t9.{core::Set::add}(1);
+ #t9.{core::Set::add}{Invariant}(1);
for (final core::int* #t10 in <core::int*>[2])
- #t9.{core::Set::add}(#t10);
+ #t9.{core::Set::add}{Invariant}(#t10);
final core::Iterable<core::int*>* #t11 = <core::int*>[3];
if(!#t11.{core::Object::==}(null))
for (final core::int* #t12 in #t11)
- #t9.{core::Set::add}(#t12);
+ #t9.{core::Set::add}{Invariant}(#t12);
} =>#t9;
final dynamic aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.strong.transformed.expect b/pkg/front_end/testcases/general/spread_collection.dart.strong.transformed.expect
index 15ed3cf..d6d75a5 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.strong.transformed.expect
@@ -14,12 +14,12 @@
static method main() → dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
- #t1.{core::List::add}(1);
+ #t1.{core::List::add}{Invariant}(1);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[2].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
}
}
final core::Iterable<core::int*>* #t3 = <core::int*>[3];
@@ -27,18 +27,18 @@
core::Iterator<core::int*>* :sync-for-iterator = #t3.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t4 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t4);
+ #t1.{core::List::add}{Invariant}(#t4);
}
}
} =>#t1;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{};
- #t5.{core::Map::[]=}(1, 1);
+ #t5.{core::Map::[]=}{Invariant}(1, 1);
{
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{2: 2}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
}
}
final core::Map<core::int*, core::int*>* #t7 = <core::int*, core::int*>{3: 3};
@@ -46,18 +46,18 @@
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t7.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t8 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
}
}
} =>#t5;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t9.{core::Set::add}(1);
+ #t9.{core::Set::add}{Invariant}(1);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[2].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t10 = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::Set::add}(#t10);
+ #t9.{core::Set::add}{Invariant}(#t10);
}
}
final core::Iterable<core::int*>* #t11 = <core::int*>[3];
@@ -65,7 +65,7 @@
core::Iterator<core::int*>* :sync-for-iterator = #t11.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t12 = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::Set::add}(#t12);
+ #t9.{core::Set::add}{Invariant}(#t12);
}
}
} =>#t9;
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.expect
index beb5aad..e2acef4 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.expect
@@ -112,68 +112,68 @@
core::List<dynamic>* lhs10 = block {
final core::List<dynamic>* #t1 = <dynamic>[];
for (final dynamic #t2 in <dynamic>[])
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
} =>#t1;
core::Set<dynamic>* set10 = block {
final core::Set<dynamic>* #t3 = col::LinkedHashSet::•<dynamic>();
for (final dynamic #t4 in <dynamic>[])
- #t3.{core::Set::add}(#t4);
+ #t3.{core::Set::add}{Invariant}(#t4);
} =>#t3;
core::Map<dynamic, dynamic>* map10 = block {
final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
for (final core::MapEntry<dynamic, dynamic>* #t6 in <dynamic, dynamic>{}.{core::Map::entries})
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
} =>#t5;
core::Map<dynamic, dynamic>* map10ambiguous = block {
final core::Map<dynamic, dynamic>* #t7 = <dynamic, dynamic>{};
for (final core::MapEntry<dynamic, dynamic>* #t8 in <dynamic, dynamic>{}.{core::Map::entries})
- #t7.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t7.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
} =>#t7;
core::List<core::int*>* lhs20 = block {
final core::List<core::int*>* #t9 = <core::int*>[];
for (final core::int* #t10 in spread)
- #t9.{core::List::add}(#t10);
+ #t9.{core::List::add}{Invariant}(#t10);
} =>#t9;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t11 = col::LinkedHashSet::•<core::int*>();
for (final core::int* #t12 in spread)
- #t11.{core::Set::add}(#t12);
- #t11.{core::Set::add}(42);
+ #t11.{core::Set::add}{Invariant}(#t12);
+ #t11.{core::Set::add}{Invariant}(42);
} =>#t11;
core::Set<core::int*>* set20ambiguous = block {
final core::Set<core::int*>* #t13 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t14 in spread) {
final core::int* #t15 = #t14 as{TypeError} core::int*;
- #t13.{core::Set::add}(#t15);
+ #t13.{core::Set::add}{Invariant}(#t15);
}
} =>#t13;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t16 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t17 in mapSpread.{core::Map::entries})
- #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
- #t16.{core::Map::[]=}("baz", 42);
+ #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t16.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t16;
core::Map<core::String*, core::int*>* map20ambiguous = block {
final core::Map<core::String*, core::int*>* #t18 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t19 in mapSpread.{core::Map::entries})
- #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
} =>#t18;
core::List<dynamic>* lhs21 = block {
final core::List<dynamic>* #t20 = <dynamic>[];
for (final dynamic #t21 in (spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t20.{core::List::add}(#t21);
+ #t20.{core::List::add}{Invariant}(#t21);
} =>#t20;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t22 = col::LinkedHashSet::•<dynamic>();
for (final dynamic #t23 in (spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t22.{core::Set::add}(#t23);
- #t22.{core::Set::add}(42);
+ #t22.{core::Set::add}{Invariant}(#t23);
+ #t22.{core::Set::add}{Invariant}(42);
} =>#t22;
core::Map<dynamic, dynamic>* map21 = block {
final core::Map<dynamic, dynamic>* #t24 = <dynamic, dynamic>{};
for (final core::MapEntry<dynamic, dynamic>* #t25 in ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries})
- #t24.{core::Map::[]=}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
- #t24.{core::Map::[]=}("baz", 42);
+ #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
+ #t24.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t24;
dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:64:28: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
@@ -182,48 +182,48 @@
core::List<core::int*>* lhs22 = block {
final core::List<core::int*>* #t26 = <core::int*>[];
for (final core::int* #t27 in <core::int*>[])
- #t26.{core::List::add}(#t27);
+ #t26.{core::List::add}{Invariant}(#t27);
} =>#t26;
core::Set<core::int*>* set22 = block {
final core::Set<core::int*>* #t28 = col::LinkedHashSet::•<core::int*>();
for (final core::int* #t29 in <core::int*>[])
- #t28.{core::Set::add}(#t29);
- #t28.{core::Set::add}(42);
+ #t28.{core::Set::add}{Invariant}(#t29);
+ #t28.{core::Set::add}{Invariant}(42);
} =>#t28;
core::Set<core::int*>* set22ambiguous = block {
final core::Set<core::int*>* #t30 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t31 in <core::int*>[]) {
final core::int* #t32 = #t31 as{TypeError} core::int*;
- #t30.{core::Set::add}(#t32);
+ #t30.{core::Set::add}{Invariant}(#t32);
}
} =>#t30;
core::Map<core::String*, core::int*>* map22 = block {
final core::Map<core::String*, core::int*>* #t33 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t34 in <core::String*, core::int*>{}.{core::Map::entries})
- #t33.{core::Map::[]=}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
+ #t33.{core::Map::[]=}{Invariant}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
} =>#t33;
core::List<core::List<core::int*>*>* lhs23 = block {
final core::List<core::List<core::int*>*>* #t35 = <core::List<core::int*>*>[];
for (final core::List<core::int*>* #t36 in <core::List<core::int*>*>[<core::int*>[]])
- #t35.{core::List::add}(#t36);
+ #t35.{core::List::add}{Invariant}(#t36);
} =>#t35;
core::Set<core::List<core::int*>*>* set23 = block {
final core::Set<core::List<core::int*>*>* #t37 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (final core::List<core::int*>* #t38 in <core::List<core::int*>*>[<core::int*>[]])
- #t37.{core::Set::add}(#t38);
- #t37.{core::Set::add}(<core::int*>[42]);
+ #t37.{core::Set::add}{Invariant}(#t38);
+ #t37.{core::Set::add}{Invariant}(<core::int*>[42]);
} =>#t37;
core::Set<core::List<core::int*>*>* set23ambiguous = block {
final core::Set<core::List<core::int*>*>* #t39 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (final dynamic #t40 in <core::List<core::int*>*>[<core::int*>[]]) {
final core::List<core::int*>* #t41 = #t40 as{TypeError} core::List<core::int*>*;
- #t39.{core::Set::add}(#t41);
+ #t39.{core::Set::add}{Invariant}(#t41);
}
} =>#t39;
core::Map<core::String*, core::List<core::int*>*>* map23 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 in <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries})
- #t42.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
} =>#t42;
dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:96:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
dynamic map24ambiguous = {...spread, ...mapSpread};
@@ -234,7 +234,7 @@
^" in ( block {
final core::List<core::int*>* #t45 = <core::int*>[];
for (final core::int* #t46 in spread)
- #t45.{core::List::add}(#t46);
+ #t45.{core::List::add}{Invariant}(#t46);
} =>#t45) as{TypeError} core::int*;
core::int* set30 = let final<BottomType> #t47 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:100:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
@@ -242,8 +242,8 @@
^" in ( block {
final core::Set<core::int*>* #t48 = col::LinkedHashSet::•<core::int*>();
for (final core::int* #t49 in spread)
- #t48.{core::Set::add}(#t49);
- #t48.{core::Set::add}(42);
+ #t48.{core::Set::add}{Invariant}(#t49);
+ #t48.{core::Set::add}{Invariant}(42);
} =>#t48) as{TypeError} core::int*;
core::int* set30ambiguous = let final<BottomType> #t50 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:103:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
@@ -252,7 +252,7 @@
final core::Set<core::int*>* #t51 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t52 in spread) {
final core::int* #t53 = #t52 as{TypeError} core::int*;
- #t51.{core::Set::add}(#t53);
+ #t51.{core::Set::add}{Invariant}(#t53);
}
} =>#t51) as{TypeError} core::int*;
core::int* map30 = let final<BottomType> #t54 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:106:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
@@ -261,8 +261,8 @@
^" in ( block {
final core::Map<core::String*, core::int*>* #t55 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t56 in mapSpread.{core::Map::entries})
- #t55.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
- #t55.{core::Map::[]=}("baz", 42);
+ #t55.{core::Map::[]=}{Invariant}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
+ #t55.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t55) as{TypeError} core::int*;
core::int* map30ambiguous = let final<BottomType> #t57 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:109:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
@@ -270,14 +270,14 @@
^" in ( block {
final core::Map<core::String*, core::int*>* #t58 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t59 in mapSpread.{core::Map::entries})
- #t58.{core::Map::[]=}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
+ #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
} =>#t58) as{TypeError} core::int*;
core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
^"];
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t60 = col::LinkedHashSet::•<dynamic>();
- #t60.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ #t60.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
^");
} =>#t60;
@@ -289,7 +289,7 @@
^"];
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t61 = col::LinkedHashSet::•<dynamic>();
- #t61.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ #t61.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
^");
} =>#t61;
@@ -301,7 +301,7 @@
^"];
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t62 = col::LinkedHashSet::•<core::String*>();
- #t62.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ #t62.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
Set<String> set60 = <String>{...spread};
^");
} =>#t62;
@@ -316,18 +316,18 @@
^"];
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t63 = col::LinkedHashSet::•<core::int*>();
- #t63.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
+ #t63.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
^");
} =>#t63;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t64 = col::LinkedHashSet::•<dynamic>();
- #t64.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Expected ',' before this.
+ #t64.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Expected ',' before this.
...null,
^");
for (final dynamic #t65 in <dynamic>[]) {
final dynamic #t66 = #t65 as{TypeError} dynamic;
- #t64.{core::Set::add}(#t66);
+ #t64.{core::Set::add}{Invariant}(#t66);
}
} =>#t64;
core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:142:45: Error: Can't spread a value with static type 'Null'.
@@ -338,14 +338,14 @@
final core::Iterable<core::int*>* #t68 = null;
if(!#t68.{core::Object::==}(null))
for (final core::int* #t69 in #t68)
- #t67.{core::List::add}(#t69);
+ #t67.{core::List::add}{Invariant}(#t69);
} =>#t67;
core::Set<core::int*>* set80 = block {
final core::Set<core::int*>* #t70 = col::LinkedHashSet::•<core::int*>();
final core::Iterable<core::int*>* #t71 = null;
if(!#t71.{core::Object::==}(null))
for (final core::int* #t72 in #t71)
- #t70.{core::Set::add}(#t72);
+ #t70.{core::Set::add}{Invariant}(#t72);
} =>#t70;
core::Set<dynamic>* set81ambiguous = block {
final core::Set<dynamic>* #t73 = col::LinkedHashSet::•<dynamic>();
@@ -353,11 +353,11 @@
if(!#t74.{core::Object::==}(null))
for (final dynamic #t75 in #t74) {
final dynamic #t76 = #t75 as{TypeError} dynamic;
- #t73.{core::Set::add}(#t76);
+ #t73.{core::Set::add}{Invariant}(#t76);
}
for (final dynamic #t77 in <dynamic>[]) {
final dynamic #t78 = #t77 as{TypeError} dynamic;
- #t73.{core::Set::add}(#t78);
+ #t73.{core::Set::add}{Invariant}(#t78);
}
} =>#t73;
core::Map<core::String*, core::int*>* map80 = block {
@@ -365,18 +365,18 @@
final core::Map<core::String*, core::int*>* #t80 = null;
if(!#t80.{core::Object::==}(null))
for (final core::MapEntry<core::String*, core::int*>* #t81 in #t80.{core::Map::entries})
- #t79.{core::Map::[]=}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
+ #t79.{core::Map::[]=}{Invariant}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
} =>#t79;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t82 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t83 in self::bar<core::String*, core::int*>().{core::Map::entries})
- #t82.{core::Map::[]=}(#t83.{core::MapEntry::key}, #t83.{core::MapEntry::value});
+ #t82.{core::Map::[]=}{Invariant}(#t83.{core::MapEntry::key}, #t83.{core::MapEntry::value});
} =>#t82;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t84 = <core::int*>[];
for (final dynamic #t85 in listNum) {
final core::int* #t86 = #t85 as{TypeError} core::int*;
- #t84.{core::List::add}(#t86);
+ #t84.{core::List::add}{Invariant}(#t86);
}
} =>#t84;
core::Map<core::num*, core::int*>* map100 = block {
@@ -384,14 +384,14 @@
for (final core::MapEntry<dynamic, dynamic>* #t88 in mapIntNum.{core::Map::entries}) {
final core::num* #t89 = #t88.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t90 = #t88.{core::MapEntry::value} as{TypeError} core::int*;
- #t87.{core::Map::[]=}(#t89, #t90);
+ #t87.{core::Map::[]=}{Invariant}(#t89, #t90);
}
} =>#t87;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t91 = <core::int*>[];
for (final dynamic #t92 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t93 = #t92 as{TypeError} core::int*;
- #t91.{core::List::add}(#t93);
+ #t91.{core::List::add}{Invariant}(#t93);
}
} =>#t91;
core::Map<core::num*, core::int*>* map110 = block {
@@ -399,7 +399,7 @@
for (final core::MapEntry<dynamic, dynamic>* #t95 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::num* #t96 = #t95.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t97 = #t95.{core::MapEntry::value} as{TypeError} core::int*;
- #t94.{core::Map::[]=}(#t96, #t97);
+ #t94.{core::Map::[]=}{Invariant}(#t96, #t97);
}
} =>#t94;
}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.transformed.expect
index 5652fe4..6ecdd84 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.transformed.expect
@@ -115,7 +115,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
}
}
} =>#t1;
@@ -125,7 +125,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Set::add}(#t4);
+ #t3.{core::Set::add}{Invariant}(#t4);
}
}
} =>#t3;
@@ -135,7 +135,7 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
}
}
} =>#t5;
@@ -145,7 +145,7 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t8 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t7.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
}
}
} =>#t7;
@@ -155,7 +155,7 @@
core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t10 = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::List::add}(#t10);
+ #t9.{core::List::add}{Invariant}(#t10);
}
}
} =>#t9;
@@ -165,10 +165,10 @@
core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t12 = :sync-for-iterator.{core::Iterator::current};
- #t11.{core::Set::add}(#t12);
+ #t11.{core::Set::add}{Invariant}(#t12);
}
}
- #t11.{core::Set::add}(42);
+ #t11.{core::Set::add}{Invariant}(42);
} =>#t11;
core::Set<core::int*>* set20ambiguous = block {
final core::Set<core::int*>* #t13 = new col::_CompactLinkedHashSet::•<core::int*>();
@@ -178,7 +178,7 @@
final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t15 = #t14 as{TypeError} core::int*;
- #t13.{core::Set::add}(#t15);
+ #t13.{core::Set::add}{Invariant}(#t15);
}
}
}
@@ -189,10 +189,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t17 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
}
}
- #t16.{core::Map::[]=}("baz", 42);
+ #t16.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t16;
core::Map<core::String*, core::int*>* map20ambiguous = block {
final core::Map<core::String*, core::int*>* #t18 = <core::String*, core::int*>{};
@@ -200,7 +200,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t19 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
}
}
} =>#t18;
@@ -210,7 +210,7 @@
core::Iterator<dynamic>* :sync-for-iterator = ((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t21 = :sync-for-iterator.{core::Iterator::current};
- #t20.{core::List::add}(#t21);
+ #t20.{core::List::add}{Invariant}(#t21);
}
}
} =>#t20;
@@ -220,10 +220,10 @@
core::Iterator<dynamic>* :sync-for-iterator = ((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::Set::add}(#t23);
+ #t22.{core::Set::add}{Invariant}(#t23);
}
}
- #t22.{core::Set::add}(42);
+ #t22.{core::Set::add}{Invariant}(42);
} =>#t22;
core::Map<dynamic, dynamic>* map21 = block {
final core::Map<dynamic, dynamic>* #t24 = <dynamic, dynamic>{};
@@ -231,10 +231,10 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t25 = :sync-for-iterator.{core::Iterator::current};
- #t24.{core::Map::[]=}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
+ #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
}
}
- #t24.{core::Map::[]=}("baz", 42);
+ #t24.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t24;
dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:64:28: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
@@ -246,7 +246,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t27 = :sync-for-iterator.{core::Iterator::current};
- #t26.{core::List::add}(#t27);
+ #t26.{core::List::add}{Invariant}(#t27);
}
}
} =>#t26;
@@ -256,10 +256,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t29 = :sync-for-iterator.{core::Iterator::current};
- #t28.{core::Set::add}(#t29);
+ #t28.{core::Set::add}{Invariant}(#t29);
}
}
- #t28.{core::Set::add}(42);
+ #t28.{core::Set::add}{Invariant}(42);
} =>#t28;
core::Set<core::int*>* set22ambiguous = block {
final core::Set<core::int*>* #t30 = new col::_CompactLinkedHashSet::•<core::int*>();
@@ -269,7 +269,7 @@
final dynamic #t31 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t32 = #t31 as{TypeError} core::int*;
- #t30.{core::Set::add}(#t32);
+ #t30.{core::Set::add}{Invariant}(#t32);
}
}
}
@@ -280,7 +280,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t34 = :sync-for-iterator.{core::Iterator::current};
- #t33.{core::Map::[]=}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
+ #t33.{core::Map::[]=}{Invariant}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
}
}
} =>#t33;
@@ -290,7 +290,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t36 = :sync-for-iterator.{core::Iterator::current};
- #t35.{core::List::add}(#t36);
+ #t35.{core::List::add}{Invariant}(#t36);
}
}
} =>#t35;
@@ -300,10 +300,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t38 = :sync-for-iterator.{core::Iterator::current};
- #t37.{core::Set::add}(#t38);
+ #t37.{core::Set::add}{Invariant}(#t38);
}
}
- #t37.{core::Set::add}(<core::int*>[42]);
+ #t37.{core::Set::add}{Invariant}(<core::int*>[42]);
} =>#t37;
core::Set<core::List<core::int*>*>* set23ambiguous = block {
final core::Set<core::List<core::int*>*>* #t39 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
@@ -313,7 +313,7 @@
final dynamic #t40 = :sync-for-iterator.{core::Iterator::current};
{
final core::List<core::int*>* #t41 = #t40 as{TypeError} core::List<core::int*>*;
- #t39.{core::Set::add}(#t41);
+ #t39.{core::Set::add}{Invariant}(#t41);
}
}
}
@@ -324,7 +324,7 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 = :sync-for-iterator.{core::Iterator::current};
- #t42.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
}
}
} =>#t42;
@@ -340,7 +340,7 @@
core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t46 = :sync-for-iterator.{core::Iterator::current};
- #t45.{core::List::add}(#t46);
+ #t45.{core::List::add}{Invariant}(#t46);
}
}
} =>#t45) as{TypeError} core::int*;
@@ -353,10 +353,10 @@
core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t49 = :sync-for-iterator.{core::Iterator::current};
- #t48.{core::Set::add}(#t49);
+ #t48.{core::Set::add}{Invariant}(#t49);
}
}
- #t48.{core::Set::add}(42);
+ #t48.{core::Set::add}{Invariant}(42);
} =>#t48) as{TypeError} core::int*;
core::int* set30ambiguous = let final<BottomType> #t50 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:103:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
@@ -369,7 +369,7 @@
final dynamic #t52 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t53 = #t52 as{TypeError} core::int*;
- #t51.{core::Set::add}(#t53);
+ #t51.{core::Set::add}{Invariant}(#t53);
}
}
}
@@ -383,10 +383,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t56 = :sync-for-iterator.{core::Iterator::current};
- #t55.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
+ #t55.{core::Map::[]=}{Invariant}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
}
}
- #t55.{core::Map::[]=}("baz", 42);
+ #t55.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t55) as{TypeError} core::int*;
core::int* map30ambiguous = let final<BottomType> #t57 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:109:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
@@ -397,7 +397,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t59 = :sync-for-iterator.{core::Iterator::current};
- #t58.{core::Map::[]=}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
+ #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
}
}
} =>#t58) as{TypeError} core::int*;
@@ -406,7 +406,7 @@
^"];
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t60 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t60.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ #t60.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
^");
} =>#t60;
@@ -418,7 +418,7 @@
^"];
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t61 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t61.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ #t61.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
^");
} =>#t61;
@@ -430,7 +430,7 @@
^"];
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t62 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t62.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ #t62.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
Set<String> set60 = <String>{...spread};
^");
} =>#t62;
@@ -445,13 +445,13 @@
^"];
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t63 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t63.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
+ #t63.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
^");
} =>#t63;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t64 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t64.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Expected ',' before this.
+ #t64.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Expected ',' before this.
...null,
^");
{
@@ -460,7 +460,7 @@
final dynamic #t65 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t66 = #t65 as{TypeError} dynamic;
- #t64.{core::Set::add}(#t66);
+ #t64.{core::Set::add}{Invariant}(#t66);
}
}
}
@@ -475,7 +475,7 @@
core::Iterator<core::int*>* :sync-for-iterator = #t68.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t69 = :sync-for-iterator.{core::Iterator::current};
- #t67.{core::List::add}(#t69);
+ #t67.{core::List::add}{Invariant}(#t69);
}
}
} =>#t67;
@@ -486,7 +486,7 @@
core::Iterator<core::int*>* :sync-for-iterator = #t71.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t72 = :sync-for-iterator.{core::Iterator::current};
- #t70.{core::Set::add}(#t72);
+ #t70.{core::Set::add}{Invariant}(#t72);
}
}
} =>#t70;
@@ -499,7 +499,7 @@
final dynamic #t75 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t76 = #t75 as{TypeError} dynamic;
- #t73.{core::Set::add}(#t76);
+ #t73.{core::Set::add}{Invariant}(#t76);
}
}
}
@@ -509,7 +509,7 @@
final dynamic #t77 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t78 = #t77 as{TypeError} dynamic;
- #t73.{core::Set::add}(#t78);
+ #t73.{core::Set::add}{Invariant}(#t78);
}
}
}
@@ -521,7 +521,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = #t80.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t81 = :sync-for-iterator.{core::Iterator::current};
- #t79.{core::Map::[]=}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
+ #t79.{core::Map::[]=}{Invariant}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
}
}
} =>#t79;
@@ -531,7 +531,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = self::bar<core::String*, core::int*>().{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t83 = :sync-for-iterator.{core::Iterator::current};
- #t82.{core::Map::[]=}(#t83.{core::MapEntry::key}, #t83.{core::MapEntry::value});
+ #t82.{core::Map::[]=}{Invariant}(#t83.{core::MapEntry::key}, #t83.{core::MapEntry::value});
}
}
} =>#t82;
@@ -543,7 +543,7 @@
final dynamic #t85 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t86 = #t85 as{TypeError} core::int*;
- #t84.{core::List::add}(#t86);
+ #t84.{core::List::add}{Invariant}(#t86);
}
}
}
@@ -557,7 +557,7 @@
{
final core::num* #t89 = #t88.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t90 = #t88.{core::MapEntry::value} as{TypeError} core::int*;
- #t87.{core::Map::[]=}(#t89, #t90);
+ #t87.{core::Map::[]=}{Invariant}(#t89, #t90);
}
}
}
@@ -570,7 +570,7 @@
final dynamic #t92 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t93 = #t92 as{TypeError} core::int*;
- #t91.{core::List::add}(#t93);
+ #t91.{core::List::add}{Invariant}(#t93);
}
}
}
@@ -584,7 +584,7 @@
{
final core::num* #t96 = #t95.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t97 = #t95.{core::MapEntry::value} as{TypeError} core::int*;
- #t94.{core::Map::[]=}(#t96, #t97);
+ #t94.{core::Map::[]=}{Invariant}(#t96, #t97);
}
}
}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.expect
index 3044135..dffdbc4 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.expect
@@ -6,63 +6,63 @@
static method main() → dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
- #t1.{core::List::add}(1);
+ #t1.{core::List::add}{Invariant}(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(2);
+ #t1.{core::List::add}{Invariant}(2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(3);
+ #t1.{core::List::add}{Invariant}(3);
else
- #t1.{core::List::add}(1.{core::int::unary-}());
+ #t1.{core::List::add}{Invariant}(1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(4);
+ #t1.{core::List::add}{Invariant}(4);
for (core::int* i in <core::int*>[5, 6, 7])
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
} =>#t1;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
- #t2.{core::Set::add}(1);
+ #t2.{core::Set::add}{Invariant}(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(2);
+ #t2.{core::Set::add}{Invariant}(2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(3);
+ #t2.{core::Set::add}{Invariant}(3);
else
- #t2.{core::Set::add}(1.{core::int::unary-}());
+ #t2.{core::Set::add}{Invariant}(1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(4);
+ #t2.{core::Set::add}{Invariant}(4);
for (core::int* i in <core::int*>[5, 6, 7])
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
} =>#t2;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
- #t3.{core::Map::[]=}(1, 1);
+ #t3.{core::Map::[]=}{Invariant}(1, 1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(2, 2);
+ #t3.{core::Map::[]=}{Invariant}(2, 2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(3, 3);
+ #t3.{core::Map::[]=}{Invariant}(3, 3);
else
- #t3.{core::Map::[]=}(1.{core::int::unary-}(), 1.{core::int::unary-}());
+ #t3.{core::Map::[]=}{Invariant}(1.{core::int::unary-}(), 1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(4, 4);
+ #t3.{core::Map::[]=}{Invariant}(4, 4);
for (core::int* i in <core::int*>[5, 6, 7])
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
} =>#t3;
core::print(aList);
core::print(aSet);
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.transformed.expect
index fa89fde..c62af95 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.transformed.expect
@@ -6,21 +6,21 @@
static method main() → dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
- #t1.{core::List::add}(1);
+ #t1.{core::List::add}{Invariant}(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(2);
+ #t1.{core::List::add}{Invariant}(2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(3);
+ #t1.{core::List::add}{Invariant}(3);
else
- #t1.{core::List::add}(1.{core::int::unary-}());
+ #t1.{core::List::add}{Invariant}(1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(4);
+ #t1.{core::List::add}{Invariant}(4);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
}
}
{
@@ -28,29 +28,29 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
}
}
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
} =>#t1;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t2 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t2.{core::Set::add}(1);
+ #t2.{core::Set::add}{Invariant}(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(2);
+ #t2.{core::Set::add}{Invariant}(2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(3);
+ #t2.{core::Set::add}{Invariant}(3);
else
- #t2.{core::Set::add}(1.{core::int::unary-}());
+ #t2.{core::Set::add}{Invariant}(1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(4);
+ #t2.{core::Set::add}{Invariant}(4);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
}
}
{
@@ -58,29 +58,29 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
}
}
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t2.{core::Set::add}(i);
+ #t2.{core::Set::add}{Invariant}(i);
} =>#t2;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
- #t3.{core::Map::[]=}(1, 1);
+ #t3.{core::Map::[]=}{Invariant}(1, 1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(2, 2);
+ #t3.{core::Map::[]=}{Invariant}(2, 2);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(3, 3);
+ #t3.{core::Map::[]=}{Invariant}(3, 3);
else
- #t3.{core::Map::[]=}(1.{core::int::unary-}(), 1.{core::int::unary-}());
+ #t3.{core::Map::[]=}{Invariant}(1.{core::int::unary-}(), 1.{core::int::unary-}());
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(4, 4);
+ #t3.{core::Map::[]=}{Invariant}(4, 4);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
}
}
{
@@ -88,11 +88,11 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
}
}
for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t3.{core::Map::[]=}(i, i);
+ #t3.{core::Map::[]=}{Invariant}(i, i);
} =>#t3;
core::print(aList);
core::print(aSet);
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.expect
index a8cfc9f..9301e7e 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.expect
@@ -454,195 +454,195 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t1 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(42);
+ #t1.{core::List::add}{Invariant}(42);
} =>#t1;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(42);
- #t2.{core::Set::add}(null);
+ #t2.{core::Set::add}{Invariant}(42);
+ #t2.{core::Set::add}{Invariant}(null);
} =>#t2;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t3 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}("bar", 42);
- #t3.{core::Map::[]=}("baz", null);
+ #t3.{core::Map::[]=}{Invariant}("bar", 42);
+ #t3.{core::Map::[]=}{Invariant}("baz", null);
} =>#t3;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t4 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t4.{core::List::add}(dynVar);
+ #t4.{core::List::add}{Invariant}(dynVar);
} =>#t4;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t5 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t5.{core::Set::add}(dynVar);
- #t5.{core::Set::add}(null);
+ #t5.{core::Set::add}{Invariant}(dynVar);
+ #t5.{core::Set::add}{Invariant}(null);
} =>#t5;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t6 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t6.{core::Map::[]=}("bar", dynVar);
- #t6.{core::Map::[]=}("baz", null);
+ #t6.{core::Map::[]=}{Invariant}("bar", dynVar);
+ #t6.{core::Map::[]=}{Invariant}("baz", null);
} =>#t6;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t7 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t7.{core::List::add}(<core::int*>[42]);
+ #t7.{core::List::add}{Invariant}(<core::int*>[42]);
} =>#t7;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t8 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t8.{core::Set::add}(<core::int*>[42]);
- #t8.{core::Set::add}(null);
+ #t8.{core::Set::add}{Invariant}(<core::int*>[42]);
+ #t8.{core::Set::add}{Invariant}(null);
} =>#t8;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t9 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t9.{core::Map::[]=}("bar", <core::int*>[42]);
- #t9.{core::Map::[]=}("baz", null);
+ #t9.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
+ #t9.{core::Map::[]=}{Invariant}("baz", null);
} =>#t9;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t10 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t11 in <core::int*>[42])
- #t10.{core::List::add}(#t11);
+ #t10.{core::List::add}{Invariant}(#t11);
} =>#t10;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t12 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t13 in <core::int*>[42])
- #t12.{core::Set::add}(#t13);
- #t12.{core::Set::add}(null);
+ #t12.{core::Set::add}{Invariant}(#t13);
+ #t12.{core::Set::add}{Invariant}(null);
} =>#t12;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t15 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
- #t14.{core::Map::[]=}("baz", null);
+ #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t14.{core::Map::[]=}{Invariant}("baz", null);
} =>#t14;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t16 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t17 in <dynamic>[dynVar])
- #t16.{core::List::add}(#t17);
+ #t16.{core::List::add}{Invariant}(#t17);
} =>#t16;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t18 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t19 in <dynamic>[dynVar])
- #t18.{core::Set::add}(#t19);
- #t18.{core::Set::add}(null);
+ #t18.{core::Set::add}{Invariant}(#t19);
+ #t18.{core::Set::add}{Invariant}(null);
} =>#t18;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t20 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t21 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
- #t20.{core::Map::[]=}("baz", null);
+ #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}{Invariant}("baz", null);
} =>#t20;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t22 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t23 in <core::List<core::int*>*>[<core::int*>[42]])
- #t22.{core::List::add}(#t23);
+ #t22.{core::List::add}{Invariant}(#t23);
} =>#t22;
core::Set<core::List<core::int*>*>* set22 = block {
final core::Set<core::List<core::int*>*>* #t24 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t25 in <core::List<core::int*>*>[<core::int*>[42]])
- #t24.{core::Set::add}(#t25);
- #t24.{core::Set::add}(null);
+ #t24.{core::Set::add}{Invariant}(#t25);
+ #t24.{core::Set::add}{Invariant}(null);
} =>#t24;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t26 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t27 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t26.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
- #t26.{core::Map::[]=}("baz", null);
+ #t26.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
+ #t26.{core::Map::[]=}{Invariant}("baz", null);
} =>#t26;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t28 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t29 in <core::int*>[42])
- #t28.{core::List::add}(#t29);
+ #t28.{core::List::add}{Invariant}(#t29);
} =>#t28;
core::Set<core::int*>* set30 = block {
final core::Set<core::int*>* #t30 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t31 in <core::int*>[42])
- #t30.{core::Set::add}(#t31);
- #t30.{core::Set::add}(null);
+ #t30.{core::Set::add}{Invariant}(#t31);
+ #t30.{core::Set::add}{Invariant}(null);
} =>#t30;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t32 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t33 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
- #t32.{core::Map::[]=}("baz", null);
+ #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t32.{core::Map::[]=}{Invariant}("baz", null);
} =>#t32;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t34 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t35 in <dynamic>[dynVar])
- #t34.{core::List::add}(#t35);
+ #t34.{core::List::add}{Invariant}(#t35);
} =>#t34;
core::Set<dynamic>* set31 = block {
final core::Set<dynamic>* #t36 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t37 in <dynamic>[dynVar])
- #t36.{core::Set::add}(#t37);
- #t36.{core::Set::add}(null);
+ #t36.{core::Set::add}{Invariant}(#t37);
+ #t36.{core::Set::add}{Invariant}(null);
} =>#t36;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t38 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t39 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t38.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
- #t38.{core::Map::[]=}("baz", null);
+ #t38.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
+ #t38.{core::Map::[]=}{Invariant}("baz", null);
} =>#t38;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t41 in <core::List<core::int*>*>[<core::int*>[42]])
- #t40.{core::List::add}(#t41);
+ #t40.{core::List::add}{Invariant}(#t41);
} =>#t40;
core::Set<core::List<core::int*>*>* set33 = block {
final core::Set<core::List<core::int*>*>* #t42 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t43 in <core::List<core::int*>*>[<core::int*>[42]])
- #t42.{core::Set::add}(#t43);
- #t42.{core::Set::add}(null);
+ #t42.{core::Set::add}{Invariant}(#t43);
+ #t42.{core::Set::add}{Invariant}(null);
} =>#t42;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t44 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t45 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
- #t44.{core::Map::[]=}("baz", null);
+ #t44.{core::Map::[]=}{Invariant}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
+ #t44.{core::Map::[]=}{Invariant}("baz", null);
} =>#t44;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t46 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t47 in <core::List<core::int*>*>[<core::int*>[]])
- #t46.{core::List::add}(#t47);
+ #t46.{core::List::add}{Invariant}(#t47);
} =>#t46;
core::Set<core::List<core::int*>*>* set40 = block {
final core::Set<core::List<core::int*>*>* #t48 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t49 in <core::List<core::int*>*>[<core::int*>[]])
- #t48.{core::Set::add}(#t49);
- #t48.{core::Set::add}(null);
+ #t48.{core::Set::add}{Invariant}(#t49);
+ #t48.{core::Set::add}{Invariant}(null);
} =>#t48;
core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
@@ -652,62 +652,62 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t51 in block {
final core::Set<core::List<core::int*>*>* #t52 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t52.{core::Set::add}(<core::int*>[]);
+ #t52.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t52)
- #t50.{core::List::add}(#t51);
+ #t50.{core::List::add}{Invariant}(#t51);
} =>#t50;
core::Set<core::List<core::int*>*>* set41 = block {
final core::Set<core::List<core::int*>*>* #t53 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t54 in block {
final core::Set<core::List<core::int*>*>* #t55 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t55.{core::Set::add}(<core::int*>[]);
+ #t55.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t55)
- #t53.{core::Set::add}(#t54);
- #t53.{core::Set::add}(null);
+ #t53.{core::Set::add}{Invariant}(#t54);
+ #t53.{core::Set::add}{Invariant}(null);
} =>#t53;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t56 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t57 in <core::List<core::int*>*>[<core::int*>[]])
- #t56.{core::List::add}(#t57);
+ #t56.{core::List::add}{Invariant}(#t57);
} =>#t56;
core::Set<core::List<core::int*>*>* set42 = block {
final core::Set<core::List<core::int*>*>* #t58 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t59 in <core::List<core::int*>*>[<core::int*>[]])
- #t58.{core::Set::add}(#t59);
- #t58.{core::Set::add}(null);
+ #t58.{core::Set::add}{Invariant}(#t59);
+ #t58.{core::Set::add}{Invariant}(null);
} =>#t58;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t60 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t61 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t60.{core::Map::[]=}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
- #t60.{core::Map::[]=}("baz", null);
+ #t60.{core::Map::[]=}{Invariant}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
+ #t60.{core::Map::[]=}{Invariant}("baz", null);
} =>#t60;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t62 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t63 in <core::int*>[])
- #t62.{core::List::add}(#t63);
+ #t62.{core::List::add}{Invariant}(#t63);
} =>#t62;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t64 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t65 in <core::int*>[])
- #t64.{core::Set::add}(#t65);
- #t64.{core::Set::add}(null);
+ #t64.{core::Set::add}{Invariant}(#t65);
+ #t64.{core::Set::add}{Invariant}(null);
} =>#t64;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t66 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t67 in <core::String*, core::int*>{}.{core::Map::entries})
- #t66.{core::Map::[]=}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
- #t66.{core::Map::[]=}("baz", null);
+ #t66.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
+ #t66.{core::Map::[]=}{Invariant}("baz", null);
} =>#t66;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t68 = <core::int*>[];
@@ -715,7 +715,7 @@
for (final core::int* #t69 in block {
final core::Set<core::int*>* #t70 = col::LinkedHashSet::•<core::int*>();
} =>#t70)
- #t68.{core::List::add}(#t69);
+ #t68.{core::List::add}{Invariant}(#t69);
} =>#t68;
core::Set<core::int*>* set51 = block {
final core::Set<core::int*>* #t71 = col::LinkedHashSet::•<core::int*>();
@@ -723,231 +723,231 @@
for (final core::int* #t72 in block {
final core::Set<core::int*>* #t73 = col::LinkedHashSet::•<core::int*>();
} =>#t73)
- #t71.{core::Set::add}(#t72);
- #t71.{core::Set::add}(null);
+ #t71.{core::Set::add}{Invariant}(#t72);
+ #t71.{core::Set::add}{Invariant}(null);
} =>#t71;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t74 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t75 in <core::int*>[])
- #t74.{core::List::add}(#t75);
+ #t74.{core::List::add}{Invariant}(#t75);
} =>#t74;
core::Set<core::int*>* set52 = block {
final core::Set<core::int*>* #t76 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t77 in <core::int*>[])
- #t76.{core::Set::add}(#t77);
- #t76.{core::Set::add}(null);
+ #t76.{core::Set::add}{Invariant}(#t77);
+ #t76.{core::Set::add}{Invariant}(null);
} =>#t76;
core::Map<core::String*, core::int*>* map52 = block {
final core::Map<core::String*, core::int*>* #t78 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t79 in <core::String*, core::int*>{}.{core::Map::entries})
- #t78.{core::Map::[]=}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
- #t78.{core::Map::[]=}("baz", null);
+ #t78.{core::Map::[]=}{Invariant}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
+ #t78.{core::Map::[]=}{Invariant}("baz", null);
} =>#t78;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t80 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t81 in <core::List<core::int*>*>[<core::int*>[]])
- #t80.{core::List::add}(#t81);
+ #t80.{core::List::add}{Invariant}(#t81);
} =>#t80;
core::Set<core::List<core::int*>*>* set60 = block {
final core::Set<core::List<core::int*>*>* #t82 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t83 in <core::List<core::int*>*>[<core::int*>[]])
- #t82.{core::Set::add}(#t83);
- #t82.{core::Set::add}(null);
+ #t82.{core::Set::add}{Invariant}(#t83);
+ #t82.{core::Set::add}{Invariant}(null);
} =>#t82;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t84 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t85 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t84.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
- #t84.{core::Map::[]=}("baz", null);
+ #t84.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t84.{core::Map::[]=}{Invariant}("baz", null);
} =>#t84;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t86 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t87 in <core::List<core::int*>*>[<core::int*>[]])
- #t86.{core::List::add}(#t87);
+ #t86.{core::List::add}{Invariant}(#t87);
} =>#t86;
core::Set<core::List<core::int*>*>* set61 = block {
final core::Set<core::List<core::int*>*>* #t88 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t89 in <core::List<core::int*>*>[<core::int*>[]])
- #t88.{core::Set::add}(#t89);
- #t88.{core::Set::add}(null);
+ #t88.{core::Set::add}{Invariant}(#t89);
+ #t88.{core::Set::add}{Invariant}(null);
} =>#t88;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t90 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t91 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t90.{core::Map::[]=}(#t91.{core::MapEntry::key}, #t91.{core::MapEntry::value});
- #t90.{core::Map::[]=}("baz", null);
+ #t90.{core::Map::[]=}{Invariant}(#t91.{core::MapEntry::key}, #t91.{core::MapEntry::value});
+ #t90.{core::Map::[]=}{Invariant}("baz", null);
} =>#t90;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t92 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t92.{core::List::add}(<core::int*>[]);
+ #t92.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t92;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t93 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t93.{core::Set::add}(<core::int*>[]);
- #t93.{core::Set::add}(null);
+ #t93.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t93.{core::Set::add}{Invariant}(null);
} =>#t93;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t94 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t94.{core::List::add}(<core::int*>[]);
+ #t94.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t94;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t95 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t95.{core::Set::add}(<core::int*>[]);
- #t95.{core::Set::add}(null);
+ #t95.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t95.{core::Set::add}{Invariant}(null);
} =>#t95;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t96 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t96.{core::List::add}(42);
+ #t96.{core::List::add}{Invariant}(42);
else
- #t96.{core::List::add}(3.14);
+ #t96.{core::List::add}{Invariant}(3.14);
} =>#t96;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t97 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t97.{core::Set::add}(42);
+ #t97.{core::Set::add}{Invariant}(42);
else
- #t97.{core::Set::add}(3.14);
- #t97.{core::Set::add}(null);
+ #t97.{core::Set::add}{Invariant}(3.14);
+ #t97.{core::Set::add}{Invariant}(null);
} =>#t97;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t98 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t98.{core::Map::[]=}("bar", 42);
+ #t98.{core::Map::[]=}{Invariant}("bar", 42);
else
- #t98.{core::Map::[]=}("bar", 3.14);
- #t98.{core::Map::[]=}("baz", null);
+ #t98.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t98.{core::Map::[]=}{Invariant}("baz", null);
} =>#t98;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t99 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t100 in listInt)
- #t99.{core::List::add}(#t100);
+ #t99.{core::List::add}{Invariant}(#t100);
else
for (final core::num* #t101 in listDouble)
- #t99.{core::List::add}(#t101);
+ #t99.{core::List::add}{Invariant}(#t101);
} =>#t99;
core::Set<core::num*>* set81 = block {
final core::Set<core::num*>* #t102 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t103 in listInt)
- #t102.{core::Set::add}(#t103);
+ #t102.{core::Set::add}{Invariant}(#t103);
else
for (final core::num* #t104 in listDouble)
- #t102.{core::Set::add}(#t104);
- #t102.{core::Set::add}(null);
+ #t102.{core::Set::add}{Invariant}(#t104);
+ #t102.{core::Set::add}{Invariant}(null);
} =>#t102;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t105 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t106 in mapToInt.{core::Map::entries})
- #t105.{core::Map::[]=}(#t106.{core::MapEntry::key}, #t106.{core::MapEntry::value});
+ #t105.{core::Map::[]=}{Invariant}(#t106.{core::MapEntry::key}, #t106.{core::MapEntry::value});
else
for (final core::MapEntry<core::String*, core::num*>* #t107 in mapToDouble.{core::Map::entries})
- #t105.{core::Map::[]=}(#t107.{core::MapEntry::key}, #t107.{core::MapEntry::value});
- #t105.{core::Map::[]=}("baz", null);
+ #t105.{core::Map::[]=}{Invariant}(#t107.{core::MapEntry::key}, #t107.{core::MapEntry::value});
+ #t105.{core::Map::[]=}{Invariant}("baz", null);
} =>#t105;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t108 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t109 in listInt)
- #t108.{core::List::add}(#t109);
+ #t108.{core::List::add}{Invariant}(#t109);
else
for (final dynamic #t110 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t108.{core::List::add}(#t110);
+ #t108.{core::List::add}{Invariant}(#t110);
} =>#t108;
core::Set<dynamic>* set82 = block {
final core::Set<dynamic>* #t111 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t112 in listInt)
- #t111.{core::Set::add}(#t112);
+ #t111.{core::Set::add}{Invariant}(#t112);
else
for (final dynamic #t113 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t111.{core::Set::add}(#t113);
- #t111.{core::Set::add}(null);
+ #t111.{core::Set::add}{Invariant}(#t113);
+ #t111.{core::Set::add}{Invariant}(null);
} =>#t111;
core::Set<dynamic>* map82 = block {
final core::Set<dynamic>* #t114 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t114.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
^");
else
for (final dynamic #t115 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t114.{core::Set::add}(#t115);
- #t114.{core::Set::add}(null);
+ #t114.{core::Set::add}{Invariant}(#t115);
+ #t114.{core::Set::add}{Invariant}(null);
} =>#t114;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t116 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t116.{core::List::add}(42);
+ #t116.{core::List::add}{Invariant}(42);
else
for (final core::num* #t117 in listDouble)
- #t116.{core::List::add}(#t117);
+ #t116.{core::List::add}{Invariant}(#t117);
} =>#t116;
core::Set<core::num*>* set83 = block {
final core::Set<core::num*>* #t118 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t119 in listInt)
- #t118.{core::Set::add}(#t119);
+ #t118.{core::Set::add}{Invariant}(#t119);
else
- #t118.{core::Set::add}(3.14);
- #t118.{core::Set::add}(null);
+ #t118.{core::Set::add}{Invariant}(3.14);
+ #t118.{core::Set::add}{Invariant}(null);
} =>#t118;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t120 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t121 in mapToInt.{core::Map::entries})
- #t120.{core::Map::[]=}(#t121.{core::MapEntry::key}, #t121.{core::MapEntry::value});
+ #t120.{core::Map::[]=}{Invariant}(#t121.{core::MapEntry::key}, #t121.{core::MapEntry::value});
else
- #t120.{core::Map::[]=}("bar", 3.14);
- #t120.{core::Map::[]=}("baz", null);
+ #t120.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t120.{core::Map::[]=}{Invariant}("baz", null);
} =>#t120;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t122 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t122.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t122.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
} =>#t122;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t123 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t123.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
- #t123.{core::Set::add}(null);
+ #t123.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t123.{core::Set::add}{Invariant}(null);
} =>#t123;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t124 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t124.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t124.{core::Map::[]=}("baz", null);
+ #t124.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
+ #t124.{core::Map::[]=}{Invariant}("baz", null);
} =>#t124;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t125 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t126 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t127 = #t126 as{TypeError} core::int*;
- #t125.{core::List::add}(#t127);
+ #t125.{core::List::add}{Invariant}(#t127);
}
} =>#t125;
core::Set<core::int*>* set91 = block {
@@ -955,9 +955,9 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t129 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t130 = #t129 as{TypeError} core::int*;
- #t128.{core::Set::add}(#t130);
+ #t128.{core::Set::add}{Invariant}(#t130);
}
- #t128.{core::Set::add}(null);
+ #t128.{core::Set::add}{Invariant}(null);
} =>#t128;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t131 = <core::String*, core::int*>{};
@@ -965,49 +965,49 @@
for (final core::MapEntry<dynamic, dynamic>* #t132 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::String* #t133 = #t132.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t134 = #t132.{core::MapEntry::value} as{TypeError} core::int*;
- #t131.{core::Map::[]=}(#t133, #t134);
+ #t131.{core::Map::[]=}{Invariant}(#t133, #t134);
}
- #t131.{core::Map::[]=}("baz", null);
+ #t131.{core::Map::[]=}{Invariant}("baz", null);
} =>#t131;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t135 = <core::int*>[];
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t135.{core::List::add}(42);
+ #t135.{core::List::add}{Invariant}(42);
} =>#t135;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t136 = col::LinkedHashSet::•<core::int*>();
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t136.{core::Set::add}(42);
+ #t136.{core::Set::add}{Invariant}(42);
} =>#t136;
core::Map<core::int*, core::int*>* map100 = block {
final core::Map<core::int*, core::int*>* #t137 = <core::int*, core::int*>{};
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t137.{core::Map::[]=}(42, 42);
+ #t137.{core::Map::[]=}{Invariant}(42, 42);
} =>#t137;
}
static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
block {
final core::List<core::int*>* #t138 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t138.{core::List::add}(let final<BottomType> #t139 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t138.{core::List::add}{Invariant}(let final<BottomType> #t139 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) \"bar\"];
^" in "bar" as{TypeError} core::int*);
} =>#t138;
block {
final core::Set<core::int*>* #t140 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t140.{core::Set::add}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t140.{core::Set::add}{Invariant}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in "bar" as{TypeError} core::int*);
- #t140.{core::Set::add}(null);
+ #t140.{core::Set::add}{Invariant}(null);
} =>#t140;
block {
final core::Map<core::String*, core::int*>* #t142 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t142.{core::Map::[]=}("bar", let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t142.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*);
- #t142.{core::Map::[]=}("baz", null);
+ #t142.{core::Map::[]=}{Invariant}("baz", null);
} =>#t142;
block {
final core::List<core::int*>* #t144 = <core::int*>[];
@@ -1015,7 +1015,7 @@
for (final core::int* #t145 in <core::int*>[let final<BottomType> #t146 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) ...[\"bar\"]];
^" in "bar" as{TypeError} core::int*])
- #t144.{core::List::add}(#t145);
+ #t144.{core::List::add}{Invariant}(#t145);
} =>#t144;
block {
final core::Set<core::int*>* #t147 = col::LinkedHashSet::•<core::int*>();
@@ -1023,8 +1023,8 @@
for (final core::int* #t148 in <core::int*>[let final<BottomType> #t149 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in "bar" as{TypeError} core::int*])
- #t147.{core::Set::add}(#t148);
- #t147.{core::Set::add}(null);
+ #t147.{core::Set::add}{Invariant}(#t148);
+ #t147.{core::Set::add}{Invariant}(null);
} =>#t147;
block {
final core::Map<core::String*, core::int*>* #t150 = <core::String*, core::int*>{};
@@ -1032,13 +1032,13 @@
for (final core::MapEntry<core::String*, core::int*>* #t151 in <core::String*, core::int*>{"bar": let final<BottomType> #t152 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "bar" as{TypeError} core::int*}.{core::Map::entries})
- #t150.{core::Map::[]=}(#t151.{core::MapEntry::key}, #t151.{core::MapEntry::value});
- #t150.{core::Map::[]=}("baz", null);
+ #t150.{core::Map::[]=}{Invariant}(#t151.{core::MapEntry::key}, #t151.{core::MapEntry::value});
+ #t150.{core::Map::[]=}{Invariant}("baz", null);
} =>#t150;
block {
final core::List<core::int*>* #t153 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t153.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t153.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map];
^");
@@ -1046,11 +1046,11 @@
block {
final core::Set<core::int*>* #t154 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t154.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t154.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
<int>{if (oracle(\"foo\")) ...map, null};
^");
- #t154.{core::Set::add}(null);
+ #t154.{core::Set::add}{Invariant}(null);
} =>#t154;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1062,58 +1062,58 @@
block {
final core::List<core::String*>* #t155 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t155.{core::List::add}(let final<BottomType> #t156 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t155.{core::List::add}{Invariant}(let final<BottomType> #t156 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98: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];
^" in 42 as{TypeError} core::String*);
else
- #t155.{core::List::add}(let final<BottomType> #t157 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t155.{core::List::add}{Invariant}(let final<BottomType> #t157 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[if (oracle(\"foo\")) 42 else 3.14];
^" in 3.14 as{TypeError} core::String*);
} =>#t155;
block {
final core::Set<core::String*>* #t158 = col::LinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t158.{core::Set::add}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t158.{core::Set::add}{Invariant}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in 42 as{TypeError} core::String*);
else
- #t158.{core::Set::add}(let final<BottomType> #t160 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t158.{core::Set::add}{Invariant}(let final<BottomType> #t160 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
^" in 3.14 as{TypeError} core::String*);
- #t158.{core::Set::add}(null);
+ #t158.{core::Set::add}{Invariant}(null);
} =>#t158;
block {
final core::Map<core::String*, core::String*>* #t161 = <core::String*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t161.{core::Map::[]=}("bar", let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t161.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
^" in 42 as{TypeError} core::String*);
else
- #t161.{core::Map::[]=}("baz", let final<BottomType> #t163 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t161.{core::Map::[]=}{Invariant}("baz", let final<BottomType> #t163 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
^" in 3.14 as{TypeError} core::String*);
- #t161.{core::Map::[]=}("baz", null);
+ #t161.{core::Map::[]=}{Invariant}("baz", null);
} =>#t161;
block {
final core::List<core::int*>* #t164 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t164.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t164.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map else 42];
^");
else
- #t164.{core::List::add}(42);
+ #t164.{core::List::add}{Invariant}(42);
} =>#t164;
block {
final core::Set<core::int*>* #t165 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t165.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t165.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
^");
else
- #t165.{core::Set::add}(42);
- #t165.{core::Set::add}(null);
+ #t165.{core::Set::add}{Invariant}(42);
+ #t165.{core::Set::add}{Invariant}(null);
} =>#t165;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1125,9 +1125,9 @@
block {
final core::List<core::int*>* #t166 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t166.{core::List::add}(42);
+ #t166.{core::List::add}{Invariant}(42);
else
- #t166.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t166.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) 42 else ...map];
^");
@@ -1135,13 +1135,13 @@
block {
final core::Set<core::int*>* #t167 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t167.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t167.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
^");
else
- #t167.{core::Set::add}(42);
- #t167.{core::Set::add}(null);
+ #t167.{core::Set::add}{Invariant}(42);
+ #t167.{core::Set::add}{Invariant}(null);
} =>#t167;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1173,63 +1173,63 @@
if(let final<BottomType> #t169 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
List<int> list20 = [if (42) 42];
^" in 42 as{TypeError} core::bool*)
- #t168.{core::List::add}(42);
+ #t168.{core::List::add}{Invariant}(42);
} =>#t168;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t170 = col::LinkedHashSet::•<core::int*>();
if(let final<BottomType> #t171 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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*)
- #t170.{core::Set::add}(42);
+ #t170.{core::Set::add}{Invariant}(42);
} =>#t170;
core::Map<core::int*, core::int*>* map30 = block {
final core::Map<core::int*, core::int*>* #t172 = <core::int*, core::int*>{};
if(let final<BottomType> #t173 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
Map<int, int> map30 = {if (42) 42: 42};
^" in 42 as{TypeError} core::bool*)
- #t172.{core::Map::[]=}(42, 42);
+ #t172.{core::Map::[]=}{Invariant}(42, 42);
} =>#t172;
core::List<core::String*>* list40 = block {
final core::List<core::String*>* #t174 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t174.{core::List::add}(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t174.{core::List::add}{Invariant}(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
^" in true as{TypeError} core::String*);
else
- #t174.{core::List::add}(let final<BottomType> #t176 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t174.{core::List::add}{Invariant}(let final<BottomType> #t176 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
^" in 42 as{TypeError} core::String*);
} =>#t174;
core::Set<core::String*>* set40 = block {
final core::Set<core::String*>* #t177 = col::LinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t177.{core::Set::add}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t177.{core::Set::add}{Invariant}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in true as{TypeError} core::String*);
else
- #t177.{core::Set::add}(let final<BottomType> #t179 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t177.{core::Set::add}{Invariant}(let final<BottomType> #t179 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
^" in 42 as{TypeError} core::String*);
} =>#t177;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t180 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t180.{core::Map::[]=}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t180.{core::Map::[]=}{Invariant}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
^" in true as{TypeError} core::String*, 42);
else
- #t180.{core::Map::[]=}(let final<BottomType> #t182 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t180.{core::Map::[]=}{Invariant}(let final<BottomType> #t182 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
^" in 42 as{TypeError} core::String*, 42);
} =>#t180;
core::Map<core::int*, core::String*>* map41 = block {
final core::Map<core::int*, core::String*>* #t183 = <core::int*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t183.{core::Map::[]=}(42, let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t183.{core::Map::[]=}{Invariant}(42, let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
^" in true as{TypeError} core::String*);
else
- #t183.{core::Map::[]=}(42, let final<BottomType> #t185 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t183.{core::Map::[]=}{Invariant}(42, let final<BottomType> #t185 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
^" in 42 as{TypeError} core::String*);
} =>#t183;
@@ -1238,264 +1238,264 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t186 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t186.{core::List::add}(42);
+ #t186.{core::List::add}{Invariant}(42);
} =>#t186;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t187 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t187.{core::Set::add}(42);
- #t187.{core::Set::add}(null);
+ #t187.{core::Set::add}{Invariant}(42);
+ #t187.{core::Set::add}{Invariant}(null);
} =>#t187;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t188 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t188.{core::Map::[]=}("bar", 42);
- #t188.{core::Map::[]=}("baz", null);
+ #t188.{core::Map::[]=}{Invariant}("bar", 42);
+ #t188.{core::Map::[]=}{Invariant}("baz", null);
} =>#t188;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t189 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t189.{core::List::add}(dynVar);
+ #t189.{core::List::add}{Invariant}(dynVar);
} =>#t189;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t190 = col::LinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t190.{core::Set::add}(dynVar);
- #t190.{core::Set::add}(null);
+ #t190.{core::Set::add}{Invariant}(dynVar);
+ #t190.{core::Set::add}{Invariant}(null);
} =>#t190;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t191 = <core::String*, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t191.{core::Map::[]=}("bar", dynVar);
- #t191.{core::Map::[]=}("baz", null);
+ #t191.{core::Map::[]=}{Invariant}("bar", dynVar);
+ #t191.{core::Map::[]=}{Invariant}("baz", null);
} =>#t191;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t192 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t192.{core::List::add}(<core::int*>[42]);
+ #t192.{core::List::add}{Invariant}(<core::int*>[42]);
} =>#t192;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t193 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t193.{core::Set::add}(<core::int*>[42]);
- #t193.{core::Set::add}(null);
+ #t193.{core::Set::add}{Invariant}(<core::int*>[42]);
+ #t193.{core::Set::add}{Invariant}(null);
} =>#t193;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t194 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t194.{core::Map::[]=}("bar", <core::int*>[42]);
- #t194.{core::Map::[]=}("baz", null);
+ #t194.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
+ #t194.{core::Map::[]=}{Invariant}("baz", null);
} =>#t194;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t195 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::int* #t196 in <core::int*>[42])
- #t195.{core::List::add}(#t196);
+ #t195.{core::List::add}{Invariant}(#t196);
} =>#t195;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t197 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::int* #t198 in <core::int*>[42])
- #t197.{core::Set::add}(#t198);
- #t197.{core::Set::add}(null);
+ #t197.{core::Set::add}{Invariant}(#t198);
+ #t197.{core::Set::add}{Invariant}(null);
} =>#t197;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t199 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::int*>* #t200 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t199.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
- #t199.{core::Map::[]=}("baz", null);
+ #t199.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t199.{core::Map::[]=}{Invariant}("baz", null);
} =>#t199;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t201 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final dynamic #t202 in <dynamic>[dynVar])
- #t201.{core::List::add}(#t202);
+ #t201.{core::List::add}{Invariant}(#t202);
} =>#t201;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t203 = col::LinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final dynamic #t204 in <dynamic>[dynVar])
- #t203.{core::Set::add}(#t204);
- #t203.{core::Set::add}(null);
+ #t203.{core::Set::add}{Invariant}(#t204);
+ #t203.{core::Set::add}{Invariant}(null);
} =>#t203;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t205 = <core::String*, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, dynamic>* #t206 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t205.{core::Map::[]=}(#t206.{core::MapEntry::key}, #t206.{core::MapEntry::value});
- #t205.{core::Map::[]=}("baz", null);
+ #t205.{core::Map::[]=}{Invariant}(#t206.{core::MapEntry::key}, #t206.{core::MapEntry::value});
+ #t205.{core::Map::[]=}{Invariant}("baz", null);
} =>#t205;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t207 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t208 in <core::List<core::int*>*>[<core::int*>[42]])
- #t207.{core::List::add}(#t208);
+ #t207.{core::List::add}{Invariant}(#t208);
} =>#t207;
core::Set<core::List<core::int*>*>* set22 = block {
final core::Set<core::List<core::int*>*>* #t209 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t210 in <core::List<core::int*>*>[<core::int*>[42]])
- #t209.{core::Set::add}(#t210);
- #t209.{core::Set::add}(null);
+ #t209.{core::Set::add}{Invariant}(#t210);
+ #t209.{core::Set::add}{Invariant}(null);
} =>#t209;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t211 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t212 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t211.{core::Map::[]=}(#t212.{core::MapEntry::key}, #t212.{core::MapEntry::value});
- #t211.{core::Map::[]=}("baz", null);
+ #t211.{core::Map::[]=}{Invariant}(#t212.{core::MapEntry::key}, #t212.{core::MapEntry::value});
+ #t211.{core::Map::[]=}{Invariant}("baz", null);
} =>#t211;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t213 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t214 in <core::int*>[42])
- #t213.{core::List::add}(#t214);
+ #t213.{core::List::add}{Invariant}(#t214);
} =>#t213;
core::Set<core::int*>* set30 = block {
final core::Set<core::int*>* #t215 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t216 in <core::int*>[42])
- #t215.{core::Set::add}(#t216);
- #t215.{core::Set::add}(null);
+ #t215.{core::Set::add}{Invariant}(#t216);
+ #t215.{core::Set::add}{Invariant}(null);
} =>#t215;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t217 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t218 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t217.{core::Map::[]=}(#t218.{core::MapEntry::key}, #t218.{core::MapEntry::value});
- #t217.{core::Map::[]=}("baz", null);
+ #t217.{core::Map::[]=}{Invariant}(#t218.{core::MapEntry::key}, #t218.{core::MapEntry::value});
+ #t217.{core::Map::[]=}{Invariant}("baz", null);
} =>#t217;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t219 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t220 in <dynamic>[dynVar])
- #t219.{core::List::add}(#t220);
+ #t219.{core::List::add}{Invariant}(#t220);
} =>#t219;
core::Set<dynamic>* set31 = block {
final core::Set<dynamic>* #t221 = col::LinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t222 in <dynamic>[dynVar])
- #t221.{core::Set::add}(#t222);
- #t221.{core::Set::add}(null);
+ #t221.{core::Set::add}{Invariant}(#t222);
+ #t221.{core::Set::add}{Invariant}(null);
} =>#t221;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t223 = <core::String*, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t224 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t223.{core::Map::[]=}(#t224.{core::MapEntry::key}, #t224.{core::MapEntry::value});
- #t223.{core::Map::[]=}("baz", null);
+ #t223.{core::Map::[]=}{Invariant}(#t224.{core::MapEntry::key}, #t224.{core::MapEntry::value});
+ #t223.{core::Map::[]=}{Invariant}("baz", null);
} =>#t223;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t225 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t226 in <core::List<core::int*>*>[<core::int*>[42]])
- #t225.{core::List::add}(#t226);
+ #t225.{core::List::add}{Invariant}(#t226);
} =>#t225;
core::Set<core::List<core::int*>*>* set33 = block {
final core::Set<core::List<core::int*>*>* #t227 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t228 in <core::List<core::int*>*>[<core::int*>[42]])
- #t227.{core::Set::add}(#t228);
- #t227.{core::Set::add}(null);
+ #t227.{core::Set::add}{Invariant}(#t228);
+ #t227.{core::Set::add}{Invariant}(null);
} =>#t227;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t229 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t230 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t229.{core::Map::[]=}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
- #t229.{core::Map::[]=}("baz", null);
+ #t229.{core::Map::[]=}{Invariant}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
+ #t229.{core::Map::[]=}{Invariant}("baz", null);
} =>#t229;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t231 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t232 in <core::List<core::int*>*>[<core::int*>[]])
- #t231.{core::List::add}(#t232);
+ #t231.{core::List::add}{Invariant}(#t232);
} =>#t231;
core::Set<core::List<core::int*>*>* set40 = block {
final core::Set<core::List<core::int*>*>* #t233 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t234 in <core::List<core::int*>*>[<core::int*>[]])
- #t233.{core::Set::add}(#t234);
- #t233.{core::Set::add}(null);
+ #t233.{core::Set::add}{Invariant}(#t234);
+ #t233.{core::Set::add}{Invariant}(null);
} =>#t233;
core::Map<core::String*, core::List<core::int*>*>* map40 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t235 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t236 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t235.{core::Map::[]=}(#t236.{core::MapEntry::key}, #t236.{core::MapEntry::value});
- #t235.{core::Map::[]=}("baz", null);
+ #t235.{core::Map::[]=}{Invariant}(#t236.{core::MapEntry::key}, #t236.{core::MapEntry::value});
+ #t235.{core::Map::[]=}{Invariant}("baz", null);
} =>#t235;
core::List<core::List<core::int*>*>* list41 = block {
final core::List<core::List<core::int*>*>* #t237 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t238 in block {
final core::Set<core::List<core::int*>*>* #t239 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t239.{core::Set::add}(<core::int*>[]);
+ #t239.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t239)
- #t237.{core::List::add}(#t238);
+ #t237.{core::List::add}{Invariant}(#t238);
} =>#t237;
core::Set<core::List<core::int*>*>* set41 = block {
final core::Set<core::List<core::int*>*>* #t240 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t241 in block {
final core::Set<core::List<core::int*>*>* #t242 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t242.{core::Set::add}(<core::int*>[]);
+ #t242.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t242)
- #t240.{core::Set::add}(#t241);
- #t240.{core::Set::add}(null);
+ #t240.{core::Set::add}{Invariant}(#t241);
+ #t240.{core::Set::add}{Invariant}(null);
} =>#t240;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t243 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t244 in <core::List<core::int*>*>[<core::int*>[]])
- #t243.{core::List::add}(#t244);
+ #t243.{core::List::add}{Invariant}(#t244);
} =>#t243;
core::Set<core::List<core::int*>*>* set42 = block {
final core::Set<core::List<core::int*>*>* #t245 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t246 in <core::List<core::int*>*>[<core::int*>[]])
- #t245.{core::Set::add}(#t246);
- #t245.{core::Set::add}(null);
+ #t245.{core::Set::add}{Invariant}(#t246);
+ #t245.{core::Set::add}{Invariant}(null);
} =>#t245;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t247 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t248 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t247.{core::Map::[]=}(#t248.{core::MapEntry::key}, #t248.{core::MapEntry::value});
- #t247.{core::Map::[]=}("baz", null);
+ #t247.{core::Map::[]=}{Invariant}(#t248.{core::MapEntry::key}, #t248.{core::MapEntry::value});
+ #t247.{core::Map::[]=}{Invariant}("baz", null);
} =>#t247;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t249 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::int* #t250 in <core::int*>[])
- #t249.{core::List::add}(#t250);
+ #t249.{core::List::add}{Invariant}(#t250);
} =>#t249;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t251 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::int* #t252 in <core::int*>[])
- #t251.{core::Set::add}(#t252);
- #t251.{core::Set::add}(null);
+ #t251.{core::Set::add}{Invariant}(#t252);
+ #t251.{core::Set::add}{Invariant}(null);
} =>#t251;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t253 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::int*>* #t254 in <core::String*, core::int*>{}.{core::Map::entries})
- #t253.{core::Map::[]=}(#t254.{core::MapEntry::key}, #t254.{core::MapEntry::value});
- #t253.{core::Map::[]=}("baz", null);
+ #t253.{core::Map::[]=}{Invariant}(#t254.{core::MapEntry::key}, #t254.{core::MapEntry::value});
+ #t253.{core::Map::[]=}{Invariant}("baz", null);
} =>#t253;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t255 = <core::int*>[];
@@ -1503,7 +1503,7 @@
for (final core::int* #t256 in block {
final core::Set<core::int*>* #t257 = col::LinkedHashSet::•<core::int*>();
} =>#t257)
- #t255.{core::List::add}(#t256);
+ #t255.{core::List::add}{Invariant}(#t256);
} =>#t255;
core::Set<core::int*>* set51 = block {
final core::Set<core::int*>* #t258 = col::LinkedHashSet::•<core::int*>();
@@ -1511,246 +1511,246 @@
for (final core::int* #t259 in block {
final core::Set<core::int*>* #t260 = col::LinkedHashSet::•<core::int*>();
} =>#t260)
- #t258.{core::Set::add}(#t259);
- #t258.{core::Set::add}(null);
+ #t258.{core::Set::add}{Invariant}(#t259);
+ #t258.{core::Set::add}{Invariant}(null);
} =>#t258;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t261 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t262 in <core::int*>[])
- #t261.{core::List::add}(#t262);
+ #t261.{core::List::add}{Invariant}(#t262);
} =>#t261;
core::Set<core::int*>* set52 = block {
final core::Set<core::int*>* #t263 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::int* #t264 in <core::int*>[])
- #t263.{core::Set::add}(#t264);
- #t263.{core::Set::add}(null);
+ #t263.{core::Set::add}{Invariant}(#t264);
+ #t263.{core::Set::add}{Invariant}(null);
} =>#t263;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t265 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t266 in <core::List<core::int*>*>[<core::int*>[]])
- #t265.{core::List::add}(#t266);
+ #t265.{core::List::add}{Invariant}(#t266);
} =>#t265;
core::Set<core::List<core::int*>*>* set60 = block {
final core::Set<core::List<core::int*>*>* #t267 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::List<core::int*>* #t268 in <core::List<core::int*>*>[<core::int*>[]])
- #t267.{core::Set::add}(#t268);
- #t267.{core::Set::add}(null);
+ #t267.{core::Set::add}{Invariant}(#t268);
+ #t267.{core::Set::add}{Invariant}(null);
} =>#t267;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t269 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t270 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t269.{core::Map::[]=}(#t270.{core::MapEntry::key}, #t270.{core::MapEntry::value});
- #t269.{core::Map::[]=}("baz", null);
+ #t269.{core::Map::[]=}{Invariant}(#t270.{core::MapEntry::key}, #t270.{core::MapEntry::value});
+ #t269.{core::Map::[]=}{Invariant}("baz", null);
} =>#t269;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t271 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t272 in <core::List<core::int*>*>[<core::int*>[]])
- #t271.{core::List::add}(#t272);
+ #t271.{core::List::add}{Invariant}(#t272);
} =>#t271;
core::Set<core::List<core::int*>*>* set61 = block {
final core::Set<core::List<core::int*>*>* #t273 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::List<core::int*>* #t274 in <core::List<core::int*>*>[<core::int*>[]])
- #t273.{core::Set::add}(#t274);
- #t273.{core::Set::add}(null);
+ #t273.{core::Set::add}{Invariant}(#t274);
+ #t273.{core::Set::add}{Invariant}(null);
} =>#t273;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t275 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t276 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t275.{core::Map::[]=}(#t276.{core::MapEntry::key}, #t276.{core::MapEntry::value});
- #t275.{core::Map::[]=}("baz", null);
+ #t275.{core::Map::[]=}{Invariant}(#t276.{core::MapEntry::key}, #t276.{core::MapEntry::value});
+ #t275.{core::Map::[]=}{Invariant}("baz", null);
} =>#t275;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t277 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t277.{core::List::add}(<core::int*>[]);
+ #t277.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t277;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t278 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t278.{core::Set::add}(<core::int*>[]);
- #t278.{core::Set::add}(null);
+ #t278.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t278.{core::Set::add}{Invariant}(null);
} =>#t278;
core::Map<core::String*, core::List<core::int*>*>* map70 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t279 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t279.{core::Map::[]=}("bar", <core::int*>[]);
- #t279.{core::Map::[]=}("baz", null);
+ #t279.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
+ #t279.{core::Map::[]=}{Invariant}("baz", null);
} =>#t279;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t280 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t280.{core::List::add}(<core::int*>[]);
+ #t280.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t280;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t281 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t281.{core::Set::add}(<core::int*>[]);
- #t281.{core::Set::add}(null);
+ #t281.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t281.{core::Set::add}{Invariant}(null);
} =>#t281;
core::Map<core::String*, core::List<core::int*>*>* map71 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t282 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t282.{core::Map::[]=}("bar", <core::int*>[]);
- #t282.{core::Map::[]=}("baz", null);
+ #t282.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
+ #t282.{core::Map::[]=}{Invariant}("baz", null);
} =>#t282;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t283 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t283.{core::List::add}(42);
+ #t283.{core::List::add}{Invariant}(42);
else
- #t283.{core::List::add}(3.14);
+ #t283.{core::List::add}{Invariant}(3.14);
} =>#t283;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t284 = col::LinkedHashSet::•<core::num*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t284.{core::Set::add}(42);
+ #t284.{core::Set::add}{Invariant}(42);
else
- #t284.{core::Set::add}(3.14);
- #t284.{core::Set::add}(null);
+ #t284.{core::Set::add}{Invariant}(3.14);
+ #t284.{core::Set::add}{Invariant}(null);
} =>#t284;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t285 = <core::String*, core::num*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t285.{core::Map::[]=}("bar", 42);
+ #t285.{core::Map::[]=}{Invariant}("bar", 42);
else
- #t285.{core::Map::[]=}("bar", 3.14);
- #t285.{core::Map::[]=}("baz", null);
+ #t285.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t285.{core::Map::[]=}{Invariant}("baz", null);
} =>#t285;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t286 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t287 in listInt)
- #t286.{core::List::add}(#t287);
+ #t286.{core::List::add}{Invariant}(#t287);
else
for (final core::num* #t288 in listDouble)
- #t286.{core::List::add}(#t288);
+ #t286.{core::List::add}{Invariant}(#t288);
} =>#t286;
core::Set<core::num*>* set81 = block {
final core::Set<core::num*>* #t289 = col::LinkedHashSet::•<core::num*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t290 in listInt)
- #t289.{core::Set::add}(#t290);
+ #t289.{core::Set::add}{Invariant}(#t290);
else
for (final core::num* #t291 in listDouble)
- #t289.{core::Set::add}(#t291);
- #t289.{core::Set::add}(null);
+ #t289.{core::Set::add}{Invariant}(#t291);
+ #t289.{core::Set::add}{Invariant}(null);
} =>#t289;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t292 = <core::String*, core::num*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t293 in mapStringInt.{core::Map::entries})
- #t292.{core::Map::[]=}(#t293.{core::MapEntry::key}, #t293.{core::MapEntry::value});
+ #t292.{core::Map::[]=}{Invariant}(#t293.{core::MapEntry::key}, #t293.{core::MapEntry::value});
else
for (final core::MapEntry<core::String*, core::num*>* #t294 in mapStringDouble.{core::Map::entries})
- #t292.{core::Map::[]=}(#t294.{core::MapEntry::key}, #t294.{core::MapEntry::value});
- #t292.{core::Map::[]=}("baz", null);
+ #t292.{core::Map::[]=}{Invariant}(#t294.{core::MapEntry::key}, #t294.{core::MapEntry::value});
+ #t292.{core::Map::[]=}{Invariant}("baz", null);
} =>#t292;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t295 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t296 in listInt)
- #t295.{core::List::add}(#t296);
+ #t295.{core::List::add}{Invariant}(#t296);
else
for (final dynamic #t297 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t295.{core::List::add}(#t297);
+ #t295.{core::List::add}{Invariant}(#t297);
} =>#t295;
core::Set<dynamic>* set82 = block {
final core::Set<dynamic>* #t298 = col::LinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t299 in listInt)
- #t298.{core::Set::add}(#t299);
+ #t298.{core::Set::add}{Invariant}(#t299);
else
for (final dynamic #t300 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t298.{core::Set::add}(#t300);
- #t298.{core::Set::add}(null);
+ #t298.{core::Set::add}{Invariant}(#t300);
+ #t298.{core::Set::add}{Invariant}(null);
} =>#t298;
core::Map<dynamic, dynamic>* map82 = block {
final core::Map<dynamic, dynamic>* #t301 = <dynamic, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<dynamic, dynamic>* #t302 in mapStringInt.{core::Map::entries})
- #t301.{core::Map::[]=}(#t302.{core::MapEntry::key}, #t302.{core::MapEntry::value});
+ #t301.{core::Map::[]=}{Invariant}(#t302.{core::MapEntry::key}, #t302.{core::MapEntry::value});
else
for (final core::MapEntry<dynamic, dynamic>* #t303 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries})
- #t301.{core::Map::[]=}(#t303.{core::MapEntry::key}, #t303.{core::MapEntry::value});
- #t301.{core::Map::[]=}("baz", null);
+ #t301.{core::Map::[]=}{Invariant}(#t303.{core::MapEntry::key}, #t303.{core::MapEntry::value});
+ #t301.{core::Map::[]=}{Invariant}("baz", null);
} =>#t301;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t304 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t304.{core::List::add}(42);
+ #t304.{core::List::add}{Invariant}(42);
else
for (final core::num* #t305 in listDouble)
- #t304.{core::List::add}(#t305);
+ #t304.{core::List::add}{Invariant}(#t305);
} =>#t304;
core::Set<core::num*>* set83 = block {
final core::Set<core::num*>* #t306 = col::LinkedHashSet::•<core::num*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::num* #t307 in listInt)
- #t306.{core::Set::add}(#t307);
+ #t306.{core::Set::add}{Invariant}(#t307);
else
- #t306.{core::Set::add}(3.14);
- #t306.{core::Set::add}(null);
+ #t306.{core::Set::add}{Invariant}(3.14);
+ #t306.{core::Set::add}{Invariant}(null);
} =>#t306;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t308 = <core::String*, core::num*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t309 in mapStringInt.{core::Map::entries})
- #t308.{core::Map::[]=}(#t309.{core::MapEntry::key}, #t309.{core::MapEntry::value});
+ #t308.{core::Map::[]=}{Invariant}(#t309.{core::MapEntry::key}, #t309.{core::MapEntry::value});
else
- #t308.{core::Map::[]=}("bar", 3.14);
- #t308.{core::Map::[]=}("baz", null);
+ #t308.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t308.{core::Map::[]=}{Invariant}("baz", null);
} =>#t308;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t310 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t310.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t310.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
} =>#t310;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t311 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t311.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
- #t311.{core::Set::add}(null);
+ #t311.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t311.{core::Set::add}{Invariant}(null);
} =>#t311;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t312 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t312.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t312.{core::Map::[]=}("baz", null);
+ #t312.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
+ #t312.{core::Map::[]=}{Invariant}("baz", null);
} =>#t312;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t313 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final dynamic #t314 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t315 = #t314 as{TypeError} core::int*;
- #t313.{core::List::add}(#t315);
+ #t313.{core::List::add}{Invariant}(#t315);
}
} =>#t313;
core::Set<core::int*>* set91 = block {
@@ -1758,9 +1758,9 @@
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
for (final dynamic #t317 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t318 = #t317 as{TypeError} core::int*;
- #t316.{core::Set::add}(#t318);
+ #t316.{core::Set::add}{Invariant}(#t318);
}
- #t316.{core::Set::add}(null);
+ #t316.{core::Set::add}{Invariant}(null);
} =>#t316;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t319 = <core::String*, core::int*>{};
@@ -1768,100 +1768,100 @@
for (final core::MapEntry<dynamic, dynamic>* #t320 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::String* #t321 = #t320.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t322 = #t320.{core::MapEntry::value} as{TypeError} core::int*;
- #t319.{core::Map::[]=}(#t321, #t322);
+ #t319.{core::Map::[]=}{Invariant}(#t321, #t322);
}
- #t319.{core::Map::[]=}("baz", null);
+ #t319.{core::Map::[]=}{Invariant}("baz", null);
} =>#t319;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t323 = <core::int*>[];
for (final core::int* #t324 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t323.{core::List::add}(42);
+ #t323.{core::List::add}{Invariant}(42);
} =>#t323;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t325 = col::LinkedHashSet::•<core::int*>();
for (final core::int* #t326 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t325.{core::Set::add}(42);
+ #t325.{core::Set::add}{Invariant}(42);
} =>#t325;
core::Map<core::String*, core::int*>* map100 = block {
final core::Map<core::String*, core::int*>* #t327 = <core::String*, core::int*>{};
for (final core::int* #t328 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t327.{core::Map::[]=}("bar", 42);
+ #t327.{core::Map::[]=}{Invariant}("bar", 42);
} =>#t327;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t329 = <core::int*>[];
for (core::int* i in <core::int*>[1, 2, 3])
- #t329.{core::List::add}(i);
+ #t329.{core::List::add}{Invariant}(i);
} =>#t329;
core::Set<core::int*>* set110 = block {
final core::Set<core::int*>* #t330 = col::LinkedHashSet::•<core::int*>();
for (core::int* i in <core::int*>[1, 2, 3])
- #t330.{core::Set::add}(i);
- #t330.{core::Set::add}(null);
+ #t330.{core::Set::add}{Invariant}(i);
+ #t330.{core::Set::add}{Invariant}(null);
} =>#t330;
core::Map<core::String*, core::int*>* map110 = block {
final core::Map<core::String*, core::int*>* #t331 = <core::String*, core::int*>{};
for (core::int* i in <core::int*>[1, 2, 3])
- #t331.{core::Map::[]=}("bar", i);
- #t331.{core::Map::[]=}("baz", null);
+ #t331.{core::Map::[]=}{Invariant}("bar", i);
+ #t331.{core::Map::[]=}{Invariant}("baz", null);
} =>#t331;
core::List<core::int*>* list120 = block {
final core::List<core::int*>* #t332 = <core::int*>[];
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t332.{core::List::add}(i as{TypeError,ForDynamic} core::int*);
+ #t332.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
} =>#t332;
core::Set<core::int*>* set120 = block {
final core::Set<core::int*>* #t333 = col::LinkedHashSet::•<core::int*>();
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t333.{core::Set::add}(i as{TypeError,ForDynamic} core::int*);
- #t333.{core::Set::add}(null);
+ #t333.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
+ #t333.{core::Set::add}{Invariant}(null);
} =>#t333;
core::Map<core::String*, core::int*>* map120 = block {
final core::Map<core::String*, core::int*>* #t334 = <core::String*, core::int*>{};
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t334.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*);
- #t334.{core::Map::[]=}("baz", null);
+ #t334.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*);
+ #t334.{core::Map::[]=}{Invariant}("baz", null);
} =>#t334;
core::List<core::int*>* list130 = block {
final core::List<core::int*>* #t335 = <core::int*>[];
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t335.{core::List::add}(i);
+ #t335.{core::List::add}{Invariant}(i);
} =>#t335;
core::Set<core::int*>* set130 = block {
final core::Set<core::int*>* #t336 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t336.{core::Set::add}(i);
+ #t336.{core::Set::add}{Invariant}(i);
} =>#t336;
core::Map<core::int*, core::int*>* map130 = block {
final core::Map<core::int*, core::int*>* #t337 = <core::int*, core::int*>{};
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t337.{core::Map::[]=}(i, i);
+ #t337.{core::Map::[]=}{Invariant}(i, i);
} =>#t337;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async {
block {
final core::List<core::int*>* #t338 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t338.{core::List::add}(let final<BottomType> #t339 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t338.{core::List::add}{Invariant}(let final<BottomType> #t339 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:212: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\"];
^" in "bar" as{TypeError} core::int*);
} =>#t338;
block {
final core::Set<core::int*>* #t340 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t340.{core::Set::add}(let final<BottomType> #t341 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t340.{core::Set::add}{Invariant}(let final<BottomType> #t341 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in "bar" as{TypeError} core::int*);
- #t340.{core::Set::add}(null);
+ #t340.{core::Set::add}{Invariant}(null);
} =>#t340;
block {
final core::Map<core::int*, core::int*>* #t342 = <core::int*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t342.{core::Map::[]=}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t342.{core::Map::[]=}{Invariant}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*, let final<BottomType> #t344 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*);
- #t342.{core::Map::[]=}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t342.{core::Map::[]=}{Invariant}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "baz" as{TypeError} core::int*, null);
} =>#t342;
@@ -1871,7 +1871,7 @@
for (final core::int* #t347 in <core::int*>[let final<BottomType> #t348 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:215: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\"]];
^" in "bar" as{TypeError} core::int*])
- #t346.{core::List::add}(#t347);
+ #t346.{core::List::add}{Invariant}(#t347);
} =>#t346;
block {
final core::Set<core::int*>* #t349 = col::LinkedHashSet::•<core::int*>();
@@ -1879,8 +1879,8 @@
for (final core::int* #t350 in <core::int*>[let final<BottomType> #t351 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in "bar" as{TypeError} core::int*])
- #t349.{core::Set::add}(#t350);
- #t349.{core::Set::add}(null);
+ #t349.{core::Set::add}{Invariant}(#t350);
+ #t349.{core::Set::add}{Invariant}(null);
} =>#t349;
block {
final core::Map<core::int*, core::int*>* #t352 = <core::int*, core::int*>{};
@@ -1890,15 +1890,15 @@
^" in "bar" as{TypeError} core::int*: let final<BottomType> #t355 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "bar" as{TypeError} core::int*}.{core::Map::entries})
- #t352.{core::Map::[]=}(#t353.{core::MapEntry::key}, #t353.{core::MapEntry::value});
- #t352.{core::Map::[]=}(let final<BottomType> #t356 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t352.{core::Map::[]=}{Invariant}(#t353.{core::MapEntry::key}, #t353.{core::MapEntry::value});
+ #t352.{core::Map::[]=}{Invariant}(let final<BottomType> #t356 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "baz" as{TypeError} core::int*, null);
} =>#t352;
block {
final core::List<core::int*>* #t357 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t357.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t357.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
^");
@@ -1906,11 +1906,11 @@
block {
final core::Set<core::int*>* #t358 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t358.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t358.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
<int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
^");
- #t358.{core::Set::add}(null);
+ #t358.{core::Set::add}{Invariant}(null);
} =>#t358;
<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1923,11 +1923,11 @@
final core::List<core::String*>* #t359 = <core::String*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t359.{core::List::add}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t359.{core::List::add}{Invariant}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
^" in 42 as{TypeError} core::String*);
else
- #t359.{core::List::add}(let final<BottomType> #t361 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t359.{core::List::add}{Invariant}(let final<BottomType> #t361 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
^" in 3.14 as{TypeError} core::String*);
} =>#t359;
@@ -1935,50 +1935,50 @@
final core::Set<core::String*>* #t362 = col::LinkedHashSet::•<core::String*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t362.{core::Set::add}(let final<BottomType> #t363 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t362.{core::Set::add}{Invariant}(let final<BottomType> #t363 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
^" in 42 as{TypeError} core::String*);
else
- #t362.{core::Set::add}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t362.{core::Set::add}{Invariant}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
^" in 3.14 as{TypeError} core::String*);
- #t362.{core::Set::add}(null);
+ #t362.{core::Set::add}{Invariant}(null);
} =>#t362;
block {
final core::Map<core::String*, core::String*>* #t365 = <core::String*, core::String*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t365.{core::Map::[]=}("bar", let final<BottomType> #t366 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t365.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t366 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
^" in 42 as{TypeError} core::String*);
else
- #t365.{core::Map::[]=}("bar", let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t365.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
^" in 3.14 as{TypeError} core::String*);
- #t365.{core::Map::[]=}("baz", null);
+ #t365.{core::Map::[]=}{Invariant}("baz", null);
} =>#t365;
block {
final core::List<core::int*>* #t368 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t368.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t368.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
^");
else
- #t368.{core::List::add}(42);
+ #t368.{core::List::add}{Invariant}(42);
} =>#t368;
block {
final core::Set<core::int*>* #t369 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t369.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t369.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
^");
else
- #t369.{core::Set::add}(42);
- #t369.{core::Set::add}(null);
+ #t369.{core::Set::add}{Invariant}(42);
+ #t369.{core::Set::add}{Invariant}(null);
} =>#t369;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1991,9 +1991,9 @@
final core::List<core::int*>* #t370 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t370.{core::List::add}(42);
+ #t370.{core::List::add}{Invariant}(42);
else
- #t370.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t370.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
^");
@@ -2002,13 +2002,13 @@
final core::Set<core::int*>* #t371 = col::LinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t371.{core::Set::add}(42);
+ #t371.{core::Set::add}{Invariant}(42);
else
- #t371.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t371.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
^");
- #t371.{core::Set::add}(null);
+ #t371.{core::Set::add}{Invariant}(null);
} =>#t371;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2024,7 +2024,7 @@
invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
<int>[for (i in <int>[1]) i];
^";
- #t372.{core::List::add}(i);
+ #t372.{core::List::add}{Invariant}(i);
}
} =>#t372;
block {
@@ -2033,9 +2033,9 @@
invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
<int>{for (i in <int>[1]) i, null};
^";
- #t374.{core::Set::add}(i);
+ #t374.{core::Set::add}{Invariant}(i);
}
- #t374.{core::Set::add}(null);
+ #t374.{core::Set::add}{Invariant}(null);
} =>#t374;
block {
final core::Map<core::String*, core::int*>* #t376 = <core::String*, core::int*>{};
@@ -2043,9 +2043,9 @@
invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
\t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
\t ^";
- #t376.{core::Map::[]=}("bar", i);
+ #t376.{core::Map::[]=}{Invariant}("bar", i);
}
- #t376.{core::Map::[]=}("baz", null);
+ #t376.{core::Map::[]=}{Invariant}("baz", null);
} =>#t376;
core::List<dynamic>* list10 = block {
final core::List<dynamic>* #t378 = <dynamic>[];
@@ -2053,7 +2053,7 @@
- 'Iterable' is from 'dart:core'.
var list10 = [for (var i in \"not iterable\") i];
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t378.{core::List::add}(i);
+ #t378.{core::List::add}{Invariant}(i);
} =>#t378;
core::Set<dynamic>* set10 = block {
final core::Set<dynamic>* #t380 = col::LinkedHashSet::•<dynamic>();
@@ -2061,8 +2061,8 @@
- 'Iterable' is from 'dart:core'.
var set10 = {for (var i in \"not iterable\") i, null};
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t380.{core::Set::add}(i);
- #t380.{core::Set::add}(null);
+ #t380.{core::Set::add}{Invariant}(i);
+ #t380.{core::Set::add}{Invariant}(null);
} =>#t380;
core::Map<core::String*, dynamic>* map10 = block {
final core::Map<core::String*, dynamic>* #t382 = <core::String*, dynamic>{};
@@ -2070,8 +2070,8 @@
- 'Iterable' is from 'dart:core'.
var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t382.{core::Map::[]=}("bar", i);
- #t382.{core::Map::[]=}("baz", null);
+ #t382.{core::Map::[]=}{Invariant}("bar", i);
+ #t382.{core::Map::[]=}{Invariant}("baz", null);
} =>#t382;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t384 = <core::int*>[];
@@ -2080,7 +2080,7 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t386 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var list20 = [for (int i in [\"not\", \"int\"]) i];
^" in "int" as{TypeError} core::int*])
- #t384.{core::List::add}(i);
+ #t384.{core::List::add}{Invariant}(i);
} =>#t384;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t387 = col::LinkedHashSet::•<core::int*>();
@@ -2089,8 +2089,8 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t389 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:38: 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};
^" in "int" as{TypeError} core::int*])
- #t387.{core::Set::add}(i);
- #t387.{core::Set::add}(null);
+ #t387.{core::Set::add}{Invariant}(i);
+ #t387.{core::Set::add}{Invariant}(null);
} =>#t387;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t390 = <core::String*, core::int*>{};
@@ -2099,8 +2099,8 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t392 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
^" in "int" as{TypeError} core::int*])
- #t390.{core::Map::[]=}("bar", i);
- #t390.{core::Map::[]=}("baz", null);
+ #t390.{core::Map::[]=}{Invariant}("bar", i);
+ #t390.{core::Map::[]=}{Invariant}("baz", null);
} =>#t390;
core::List<dynamic>* list30 = block {
final core::List<dynamic>* #t393 = <dynamic>[];
@@ -2108,7 +2108,7 @@
- 'Stream' is from 'dart:async'.
var list30 = [await for (var i in \"not stream\") i];
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t393.{core::List::add}(i);
+ #t393.{core::List::add}{Invariant}(i);
} =>#t393;
core::Set<dynamic>* set30 = block {
final core::Set<dynamic>* #t395 = col::LinkedHashSet::•<dynamic>();
@@ -2116,8 +2116,8 @@
- 'Stream' is from 'dart:async'.
var set30 = {await for (var i in \"not stream\") i, null};
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t395.{core::Set::add}(i);
- #t395.{core::Set::add}(null);
+ #t395.{core::Set::add}{Invariant}(i);
+ #t395.{core::Set::add}{Invariant}(null);
} =>#t395;
core::Map<core::String*, dynamic>* map30 = block {
final core::Map<core::String*, dynamic>* #t397 = <core::String*, dynamic>{};
@@ -2125,8 +2125,8 @@
- 'Stream' is from 'dart:async'.
var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t397.{core::Map::[]=}("bar", i);
- #t397.{core::Map::[]=}("baz", null);
+ #t397.{core::Map::[]=}{Invariant}("bar", i);
+ #t397.{core::Map::[]=}{Invariant}("baz", null);
} =>#t397;
core::List<core::int*>* list40 = block {
final core::List<core::int*>* #t399 = <core::int*>[];
@@ -2135,7 +2135,7 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t401 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
^" in "int" as{TypeError} core::int*]))
- #t399.{core::List::add}(i);
+ #t399.{core::List::add}{Invariant}(i);
} =>#t399;
core::Set<core::int*>* set40 = block {
final core::Set<core::int*>* #t402 = col::LinkedHashSet::•<core::int*>();
@@ -2144,8 +2144,8 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t404 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:64: 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};
^" in "int" as{TypeError} core::int*]))
- #t402.{core::Set::add}(i);
- #t402.{core::Set::add}(null);
+ #t402.{core::Set::add}{Invariant}(i);
+ #t402.{core::Set::add}{Invariant}(null);
} =>#t402;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t405 = <core::String*, core::int*>{};
@@ -2154,82 +2154,82 @@
^" in "not" as{TypeError} core::int*, let final<BottomType> #t407 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
^" in "int" as{TypeError} core::int*]))
- #t405.{core::Map::[]=}("bar", i);
- #t405.{core::Map::[]=}("baz", null);
+ #t405.{core::Map::[]=}{Invariant}("bar", i);
+ #t405.{core::Map::[]=}{Invariant}("baz", null);
} =>#t405;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t408 = <core::int*>[];
for (; ; )
- #t408.{core::List::add}(42);
+ #t408.{core::List::add}{Invariant}(42);
} =>#t408;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t409 = col::LinkedHashSet::•<core::int*>();
for (; ; )
- #t409.{core::Set::add}(42);
- #t409.{core::Set::add}(null);
+ #t409.{core::Set::add}{Invariant}(42);
+ #t409.{core::Set::add}{Invariant}(null);
} =>#t409;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t410 = <core::String*, core::int*>{};
for (; ; )
- #t410.{core::Map::[]=}("bar", 42);
- #t410.{core::Map::[]=}("baz", null);
+ #t410.{core::Map::[]=}{Invariant}("bar", 42);
+ #t410.{core::Map::[]=}{Invariant}("baz", null);
} =>#t410;
core::List<core::int*>* list60 = block {
final core::List<core::int*>* #t411 = <core::int*>[];
for (; let final<BottomType> #t412 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var list60 = [for (; \"not bool\";) 42];
^" in "not bool" as{TypeError} core::bool*; )
- #t411.{core::List::add}(42);
+ #t411.{core::List::add}{Invariant}(42);
} =>#t411;
core::Set<core::int*>* set60 = block {
final core::Set<core::int*>* #t413 = col::LinkedHashSet::•<core::int*>();
for (; let final<BottomType> #t414 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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*; )
- #t413.{core::Set::add}(42);
- #t413.{core::Set::add}(null);
+ #t413.{core::Set::add}{Invariant}(42);
+ #t413.{core::Set::add}{Invariant}(null);
} =>#t413;
core::Map<core::String*, core::int*>* map60 = block {
final core::Map<core::String*, core::int*>* #t415 = <core::String*, core::int*>{};
for (; let final<BottomType> #t416 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
^" in "not bool" as{TypeError} core::bool*; )
- #t415.{core::Map::[]=}("bar", 42);
- #t415.{core::Map::[]=}("baz", null);
+ #t415.{core::Map::[]=}{Invariant}("bar", 42);
+ #t415.{core::Map::[]=}{Invariant}("baz", null);
} =>#t415;
}
static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
block {
final core::List<core::int*>* #t417 = <core::int*>[];
await for (core::int* i in stream)
- #t417.{core::List::add}(i);
+ #t417.{core::List::add}{Invariant}(i);
} =>#t417;
block {
final core::Set<core::int*>* #t418 = col::LinkedHashSet::•<core::int*>();
await for (core::int* i in stream)
- #t418.{core::Set::add}(i);
+ #t418.{core::Set::add}{Invariant}(i);
} =>#t418;
block {
final core::Map<core::String*, core::int*>* #t419 = <core::String*, core::int*>{};
await for (core::int* i in stream)
- #t419.{core::Map::[]=}("bar", i);
+ #t419.{core::Map::[]=}{Invariant}("bar", i);
} =>#t419;
}
static method testPromotion(self::A* a) → dynamic {
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t420 = <core::int*>[];
if(a is self::B*)
- #t420.{core::List::add}(a{self::B*}.{self::B::foo});
+ #t420.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo});
} =>#t420;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t421 = col::LinkedHashSet::•<core::int*>();
if(a is self::B*)
- #t421.{core::Set::add}(a{self::B*}.{self::B::foo});
+ #t421.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo});
} =>#t421;
core::Map<core::int*, core::int*>* map10 = block {
final core::Map<core::int*, core::int*>* #t422 = <core::int*, core::int*>{};
if(a is self::B*)
- #t422.{core::Map::[]=}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
+ #t422.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
} =>#t422;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.transformed.expect
index 82629da..b843b32 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.transformed.expect
@@ -455,53 +455,53 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t1 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}(42);
+ #t1.{core::List::add}{Invariant}(42);
} =>#t1;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t2 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}(42);
- #t2.{core::Set::add}(null);
+ #t2.{core::Set::add}{Invariant}(42);
+ #t2.{core::Set::add}{Invariant}(null);
} =>#t2;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t3 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}("bar", 42);
- #t3.{core::Map::[]=}("baz", null);
+ #t3.{core::Map::[]=}{Invariant}("bar", 42);
+ #t3.{core::Map::[]=}{Invariant}("baz", null);
} =>#t3;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t4 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t4.{core::List::add}(dynVar);
+ #t4.{core::List::add}{Invariant}(dynVar);
} =>#t4;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t5 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t5.{core::Set::add}(dynVar);
- #t5.{core::Set::add}(null);
+ #t5.{core::Set::add}{Invariant}(dynVar);
+ #t5.{core::Set::add}{Invariant}(null);
} =>#t5;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t6 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t6.{core::Map::[]=}("bar", dynVar);
- #t6.{core::Map::[]=}("baz", null);
+ #t6.{core::Map::[]=}{Invariant}("bar", dynVar);
+ #t6.{core::Map::[]=}{Invariant}("baz", null);
} =>#t6;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t7 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t7.{core::List::add}(<core::int*>[42]);
+ #t7.{core::List::add}{Invariant}(<core::int*>[42]);
} =>#t7;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t8 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t8.{core::Set::add}(<core::int*>[42]);
- #t8.{core::Set::add}(null);
+ #t8.{core::Set::add}{Invariant}(<core::int*>[42]);
+ #t8.{core::Set::add}{Invariant}(null);
} =>#t8;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t9 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t9.{core::Map::[]=}("bar", <core::int*>[42]);
- #t9.{core::Map::[]=}("baz", null);
+ #t9.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
+ #t9.{core::Map::[]=}{Invariant}("baz", null);
} =>#t9;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t10 = <core::int*>[];
@@ -509,7 +509,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t11 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::List::add}(#t11);
+ #t10.{core::List::add}{Invariant}(#t11);
}
}
} =>#t10;
@@ -519,10 +519,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t13 = :sync-for-iterator.{core::Iterator::current};
- #t12.{core::Set::add}(#t13);
+ #t12.{core::Set::add}{Invariant}(#t13);
}
}
- #t12.{core::Set::add}(null);
+ #t12.{core::Set::add}{Invariant}(null);
} =>#t12;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
@@ -530,10 +530,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t15 = :sync-for-iterator.{core::Iterator::current};
- #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
}
}
- #t14.{core::Map::[]=}("baz", null);
+ #t14.{core::Map::[]=}{Invariant}("baz", null);
} =>#t14;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t16 = <dynamic>[];
@@ -541,7 +541,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t17 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::List::add}(#t17);
+ #t16.{core::List::add}{Invariant}(#t17);
}
}
} =>#t16;
@@ -551,10 +551,10 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t19 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Set::add}(#t19);
+ #t18.{core::Set::add}{Invariant}(#t19);
}
}
- #t18.{core::Set::add}(null);
+ #t18.{core::Set::add}{Invariant}(null);
} =>#t18;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t20 = <core::String*, dynamic>{};
@@ -562,10 +562,10 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t21 = :sync-for-iterator.{core::Iterator::current};
- #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
}
}
- #t20.{core::Map::[]=}("baz", null);
+ #t20.{core::Map::[]=}{Invariant}("baz", null);
} =>#t20;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t22 = <core::List<core::int*>*>[];
@@ -573,7 +573,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t23 = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::List::add}(#t23);
+ #t22.{core::List::add}{Invariant}(#t23);
}
}
} =>#t22;
@@ -583,10 +583,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t25 = :sync-for-iterator.{core::Iterator::current};
- #t24.{core::Set::add}(#t25);
+ #t24.{core::Set::add}{Invariant}(#t25);
}
}
- #t24.{core::Set::add}(null);
+ #t24.{core::Set::add}{Invariant}(null);
} =>#t24;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t26 = <core::String*, core::List<core::int*>*>{};
@@ -594,10 +594,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t27 = :sync-for-iterator.{core::Iterator::current};
- #t26.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
+ #t26.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
}
}
- #t26.{core::Map::[]=}("baz", null);
+ #t26.{core::Map::[]=}{Invariant}("baz", null);
} =>#t26;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t28 = <core::int*>[];
@@ -606,7 +606,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t29 = :sync-for-iterator.{core::Iterator::current};
- #t28.{core::List::add}(#t29);
+ #t28.{core::List::add}{Invariant}(#t29);
}
}
} =>#t28;
@@ -617,10 +617,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t31 = :sync-for-iterator.{core::Iterator::current};
- #t30.{core::Set::add}(#t31);
+ #t30.{core::Set::add}{Invariant}(#t31);
}
}
- #t30.{core::Set::add}(null);
+ #t30.{core::Set::add}{Invariant}(null);
} =>#t30;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t32 = <core::String*, core::int*>{};
@@ -629,10 +629,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t33 = :sync-for-iterator.{core::Iterator::current};
- #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
}
}
- #t32.{core::Map::[]=}("baz", null);
+ #t32.{core::Map::[]=}{Invariant}("baz", null);
} =>#t32;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t34 = <dynamic>[];
@@ -641,7 +641,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
- #t34.{core::List::add}(#t35);
+ #t34.{core::List::add}{Invariant}(#t35);
}
}
} =>#t34;
@@ -652,10 +652,10 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t37 = :sync-for-iterator.{core::Iterator::current};
- #t36.{core::Set::add}(#t37);
+ #t36.{core::Set::add}{Invariant}(#t37);
}
}
- #t36.{core::Set::add}(null);
+ #t36.{core::Set::add}{Invariant}(null);
} =>#t36;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t38 = <core::String*, dynamic>{};
@@ -664,10 +664,10 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t39 = :sync-for-iterator.{core::Iterator::current};
- #t38.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
+ #t38.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
}
}
- #t38.{core::Map::[]=}("baz", null);
+ #t38.{core::Map::[]=}{Invariant}("baz", null);
} =>#t38;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
@@ -676,7 +676,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t41 = :sync-for-iterator.{core::Iterator::current};
- #t40.{core::List::add}(#t41);
+ #t40.{core::List::add}{Invariant}(#t41);
}
}
} =>#t40;
@@ -687,10 +687,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t43 = :sync-for-iterator.{core::Iterator::current};
- #t42.{core::Set::add}(#t43);
+ #t42.{core::Set::add}{Invariant}(#t43);
}
}
- #t42.{core::Set::add}(null);
+ #t42.{core::Set::add}{Invariant}(null);
} =>#t42;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t44 = <core::String*, core::List<core::int*>*>{};
@@ -699,10 +699,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t45 = :sync-for-iterator.{core::Iterator::current};
- #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
+ #t44.{core::Map::[]=}{Invariant}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
}
}
- #t44.{core::Map::[]=}("baz", null);
+ #t44.{core::Map::[]=}{Invariant}("baz", null);
} =>#t44;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t46 = <core::List<core::int*>*>[];
@@ -710,7 +710,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current};
- #t46.{core::List::add}(#t47);
+ #t46.{core::List::add}{Invariant}(#t47);
}
}
} =>#t46;
@@ -720,10 +720,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t49 = :sync-for-iterator.{core::Iterator::current};
- #t48.{core::Set::add}(#t49);
+ #t48.{core::Set::add}{Invariant}(#t49);
}
}
- #t48.{core::Set::add}(null);
+ #t48.{core::Set::add}{Invariant}(null);
} =>#t48;
core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
@@ -733,11 +733,11 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = ( block {
final core::Set<core::List<core::int*>*>* #t51 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t51.{core::Set::add}(<core::int*>[]);
+ #t51.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t51).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t52 = :sync-for-iterator.{core::Iterator::current};
- #t50.{core::List::add}(#t52);
+ #t50.{core::List::add}{Invariant}(#t52);
}
}
} =>#t50;
@@ -746,14 +746,14 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = ( block {
final core::Set<core::List<core::int*>*>* #t54 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t54.{core::Set::add}(<core::int*>[]);
+ #t54.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t54).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t55 = :sync-for-iterator.{core::Iterator::current};
- #t53.{core::Set::add}(#t55);
+ #t53.{core::Set::add}{Invariant}(#t55);
}
}
- #t53.{core::Set::add}(null);
+ #t53.{core::Set::add}{Invariant}(null);
} =>#t53;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t56 = <core::List<core::int*>*>[];
@@ -762,7 +762,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t57 = :sync-for-iterator.{core::Iterator::current};
- #t56.{core::List::add}(#t57);
+ #t56.{core::List::add}{Invariant}(#t57);
}
}
} =>#t56;
@@ -773,10 +773,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t59 = :sync-for-iterator.{core::Iterator::current};
- #t58.{core::Set::add}(#t59);
+ #t58.{core::Set::add}{Invariant}(#t59);
}
}
- #t58.{core::Set::add}(null);
+ #t58.{core::Set::add}{Invariant}(null);
} =>#t58;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t60 = <core::String*, core::List<core::int*>*>{};
@@ -785,10 +785,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t61 = :sync-for-iterator.{core::Iterator::current};
- #t60.{core::Map::[]=}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
+ #t60.{core::Map::[]=}{Invariant}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
}
}
- #t60.{core::Map::[]=}("baz", null);
+ #t60.{core::Map::[]=}{Invariant}("baz", null);
} =>#t60;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t62 = <core::int*>[];
@@ -796,7 +796,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t63 = :sync-for-iterator.{core::Iterator::current};
- #t62.{core::List::add}(#t63);
+ #t62.{core::List::add}{Invariant}(#t63);
}
}
} =>#t62;
@@ -806,10 +806,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t65 = :sync-for-iterator.{core::Iterator::current};
- #t64.{core::Set::add}(#t65);
+ #t64.{core::Set::add}{Invariant}(#t65);
}
}
- #t64.{core::Set::add}(null);
+ #t64.{core::Set::add}{Invariant}(null);
} =>#t64;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t66 = <core::String*, core::int*>{};
@@ -817,10 +817,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t67 = :sync-for-iterator.{core::Iterator::current};
- #t66.{core::Map::[]=}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
+ #t66.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
}
}
- #t66.{core::Map::[]=}("baz", null);
+ #t66.{core::Map::[]=}{Invariant}("baz", null);
} =>#t66;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t68 = <core::int*>[];
@@ -830,7 +830,7 @@
} =>#t69).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t70 = :sync-for-iterator.{core::Iterator::current};
- #t68.{core::List::add}(#t70);
+ #t68.{core::List::add}{Invariant}(#t70);
}
}
} =>#t68;
@@ -842,10 +842,10 @@
} =>#t72).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t73 = :sync-for-iterator.{core::Iterator::current};
- #t71.{core::Set::add}(#t73);
+ #t71.{core::Set::add}{Invariant}(#t73);
}
}
- #t71.{core::Set::add}(null);
+ #t71.{core::Set::add}{Invariant}(null);
} =>#t71;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t74 = <core::int*>[];
@@ -854,7 +854,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t75 = :sync-for-iterator.{core::Iterator::current};
- #t74.{core::List::add}(#t75);
+ #t74.{core::List::add}{Invariant}(#t75);
}
}
} =>#t74;
@@ -865,10 +865,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t77 = :sync-for-iterator.{core::Iterator::current};
- #t76.{core::Set::add}(#t77);
+ #t76.{core::Set::add}{Invariant}(#t77);
}
}
- #t76.{core::Set::add}(null);
+ #t76.{core::Set::add}{Invariant}(null);
} =>#t76;
core::Map<core::String*, core::int*>* map52 = block {
final core::Map<core::String*, core::int*>* #t78 = <core::String*, core::int*>{};
@@ -877,10 +877,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t79 = :sync-for-iterator.{core::Iterator::current};
- #t78.{core::Map::[]=}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
+ #t78.{core::Map::[]=}{Invariant}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
}
}
- #t78.{core::Map::[]=}("baz", null);
+ #t78.{core::Map::[]=}{Invariant}("baz", null);
} =>#t78;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t80 = <core::List<core::int*>*>[];
@@ -888,7 +888,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t81 = :sync-for-iterator.{core::Iterator::current};
- #t80.{core::List::add}(#t81);
+ #t80.{core::List::add}{Invariant}(#t81);
}
}
} =>#t80;
@@ -898,10 +898,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t83 = :sync-for-iterator.{core::Iterator::current};
- #t82.{core::Set::add}(#t83);
+ #t82.{core::Set::add}{Invariant}(#t83);
}
}
- #t82.{core::Set::add}(null);
+ #t82.{core::Set::add}{Invariant}(null);
} =>#t82;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t84 = <core::String*, core::List<core::int*>*>{};
@@ -909,10 +909,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t85 = :sync-for-iterator.{core::Iterator::current};
- #t84.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t84.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
}
}
- #t84.{core::Map::[]=}("baz", null);
+ #t84.{core::Map::[]=}{Invariant}("baz", null);
} =>#t84;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t86 = <core::List<core::int*>*>[];
@@ -921,7 +921,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t87 = :sync-for-iterator.{core::Iterator::current};
- #t86.{core::List::add}(#t87);
+ #t86.{core::List::add}{Invariant}(#t87);
}
}
} =>#t86;
@@ -932,10 +932,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t89 = :sync-for-iterator.{core::Iterator::current};
- #t88.{core::Set::add}(#t89);
+ #t88.{core::Set::add}{Invariant}(#t89);
}
}
- #t88.{core::Set::add}(null);
+ #t88.{core::Set::add}{Invariant}(null);
} =>#t88;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t90 = <core::String*, core::List<core::int*>*>{};
@@ -944,57 +944,57 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t91 = :sync-for-iterator.{core::Iterator::current};
- #t90.{core::Map::[]=}(#t91.{core::MapEntry::key}, #t91.{core::MapEntry::value});
+ #t90.{core::Map::[]=}{Invariant}(#t91.{core::MapEntry::key}, #t91.{core::MapEntry::value});
}
}
- #t90.{core::Map::[]=}("baz", null);
+ #t90.{core::Map::[]=}{Invariant}("baz", null);
} =>#t90;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t92 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t92.{core::List::add}(<core::int*>[]);
+ #t92.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t92;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t93 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t93.{core::Set::add}(<core::int*>[]);
- #t93.{core::Set::add}(null);
+ #t93.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t93.{core::Set::add}{Invariant}(null);
} =>#t93;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t94 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t94.{core::List::add}(<core::int*>[]);
+ #t94.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t94;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t95 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t95.{core::Set::add}(<core::int*>[]);
- #t95.{core::Set::add}(null);
+ #t95.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t95.{core::Set::add}{Invariant}(null);
} =>#t95;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t96 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t96.{core::List::add}(42);
+ #t96.{core::List::add}{Invariant}(42);
else
- #t96.{core::List::add}(3.14);
+ #t96.{core::List::add}{Invariant}(3.14);
} =>#t96;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t97 = new col::_CompactLinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t97.{core::Set::add}(42);
+ #t97.{core::Set::add}{Invariant}(42);
else
- #t97.{core::Set::add}(3.14);
- #t97.{core::Set::add}(null);
+ #t97.{core::Set::add}{Invariant}(3.14);
+ #t97.{core::Set::add}{Invariant}(null);
} =>#t97;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t98 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t98.{core::Map::[]=}("bar", 42);
+ #t98.{core::Map::[]=}{Invariant}("bar", 42);
else
- #t98.{core::Map::[]=}("bar", 3.14);
- #t98.{core::Map::[]=}("baz", null);
+ #t98.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t98.{core::Map::[]=}{Invariant}("baz", null);
} =>#t98;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t99 = <core::num*>[];
@@ -1002,14 +1002,14 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t100 = :sync-for-iterator.{core::Iterator::current};
- #t99.{core::List::add}(#t100);
+ #t99.{core::List::add}{Invariant}(#t100);
}
}
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t101 = :sync-for-iterator.{core::Iterator::current};
- #t99.{core::List::add}(#t101);
+ #t99.{core::List::add}{Invariant}(#t101);
}
}
} =>#t99;
@@ -1019,17 +1019,17 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t103 = :sync-for-iterator.{core::Iterator::current};
- #t102.{core::Set::add}(#t103);
+ #t102.{core::Set::add}{Invariant}(#t103);
}
}
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t104 = :sync-for-iterator.{core::Iterator::current};
- #t102.{core::Set::add}(#t104);
+ #t102.{core::Set::add}{Invariant}(#t104);
}
}
- #t102.{core::Set::add}(null);
+ #t102.{core::Set::add}{Invariant}(null);
} =>#t102;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t105 = <core::String*, core::num*>{};
@@ -1037,17 +1037,17 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapToInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t106 = :sync-for-iterator.{core::Iterator::current};
- #t105.{core::Map::[]=}(#t106.{core::MapEntry::key}, #t106.{core::MapEntry::value});
+ #t105.{core::Map::[]=}{Invariant}(#t106.{core::MapEntry::key}, #t106.{core::MapEntry::value});
}
}
else {
core::Iterator<core::MapEntry<core::String*, core::double*>>* :sync-for-iterator = mapToDouble.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t107 = :sync-for-iterator.{core::Iterator::current};
- #t105.{core::Map::[]=}(#t107.{core::MapEntry::key}, #t107.{core::MapEntry::value});
+ #t105.{core::Map::[]=}{Invariant}(#t107.{core::MapEntry::key}, #t107.{core::MapEntry::value});
}
}
- #t105.{core::Map::[]=}("baz", null);
+ #t105.{core::Map::[]=}{Invariant}("baz", null);
} =>#t105;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t108 = <dynamic>[];
@@ -1055,14 +1055,14 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t109 = :sync-for-iterator.{core::Iterator::current};
- #t108.{core::List::add}(#t109);
+ #t108.{core::List::add}{Invariant}(#t109);
}
}
else {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t110 = :sync-for-iterator.{core::Iterator::current};
- #t108.{core::List::add}(#t110);
+ #t108.{core::List::add}{Invariant}(#t110);
}
}
} =>#t108;
@@ -1072,22 +1072,22 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t112 = :sync-for-iterator.{core::Iterator::current};
- #t111.{core::Set::add}(#t112);
+ #t111.{core::Set::add}{Invariant}(#t112);
}
}
else {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t113 = :sync-for-iterator.{core::Iterator::current};
- #t111.{core::Set::add}(#t113);
+ #t111.{core::Set::add}{Invariant}(#t113);
}
}
- #t111.{core::Set::add}(null);
+ #t111.{core::Set::add}{Invariant}(null);
} =>#t111;
core::Set<dynamic>* map82 = block {
final core::Set<dynamic>* #t114 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t114.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
^");
@@ -1095,20 +1095,20 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t115 = :sync-for-iterator.{core::Iterator::current};
- #t114.{core::Set::add}(#t115);
+ #t114.{core::Set::add}{Invariant}(#t115);
}
}
- #t114.{core::Set::add}(null);
+ #t114.{core::Set::add}{Invariant}(null);
} =>#t114;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t116 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t116.{core::List::add}(42);
+ #t116.{core::List::add}{Invariant}(42);
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t117 = :sync-for-iterator.{core::Iterator::current};
- #t116.{core::List::add}(#t117);
+ #t116.{core::List::add}{Invariant}(#t117);
}
}
} =>#t116;
@@ -1118,12 +1118,12 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t119 = :sync-for-iterator.{core::Iterator::current};
- #t118.{core::Set::add}(#t119);
+ #t118.{core::Set::add}{Invariant}(#t119);
}
}
else
- #t118.{core::Set::add}(3.14);
- #t118.{core::Set::add}(null);
+ #t118.{core::Set::add}{Invariant}(3.14);
+ #t118.{core::Set::add}{Invariant}(null);
} =>#t118;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t120 = <core::String*, core::num*>{};
@@ -1131,29 +1131,29 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapToInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t121 = :sync-for-iterator.{core::Iterator::current};
- #t120.{core::Map::[]=}(#t121.{core::MapEntry::key}, #t121.{core::MapEntry::value});
+ #t120.{core::Map::[]=}{Invariant}(#t121.{core::MapEntry::key}, #t121.{core::MapEntry::value});
}
}
else
- #t120.{core::Map::[]=}("bar", 3.14);
- #t120.{core::Map::[]=}("baz", null);
+ #t120.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t120.{core::Map::[]=}{Invariant}("baz", null);
} =>#t120;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t122 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t122.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t122.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
} =>#t122;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t123 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t123.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
- #t123.{core::Set::add}(null);
+ #t123.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t123.{core::Set::add}{Invariant}(null);
} =>#t123;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t124 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t124.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t124.{core::Map::[]=}("baz", null);
+ #t124.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
+ #t124.{core::Map::[]=}{Invariant}("baz", null);
} =>#t124;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t125 = <core::int*>[];
@@ -1163,7 +1163,7 @@
final dynamic #t126 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t127 = #t126 as{TypeError} core::int*;
- #t125.{core::List::add}(#t127);
+ #t125.{core::List::add}{Invariant}(#t127);
}
}
}
@@ -1176,11 +1176,11 @@
final dynamic #t129 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t130 = #t129 as{TypeError} core::int*;
- #t128.{core::Set::add}(#t130);
+ #t128.{core::Set::add}{Invariant}(#t130);
}
}
}
- #t128.{core::Set::add}(null);
+ #t128.{core::Set::add}{Invariant}(null);
} =>#t128;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t131 = <core::String*, core::int*>{};
@@ -1191,51 +1191,51 @@
{
final core::String* #t133 = #t132.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t134 = #t132.{core::MapEntry::value} as{TypeError} core::int*;
- #t131.{core::Map::[]=}(#t133, #t134);
+ #t131.{core::Map::[]=}{Invariant}(#t133, #t134);
}
}
}
- #t131.{core::Map::[]=}("baz", null);
+ #t131.{core::Map::[]=}{Invariant}("baz", null);
} =>#t131;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t135 = <core::int*>[];
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t135.{core::List::add}(42);
+ #t135.{core::List::add}{Invariant}(42);
} =>#t135;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t136 = new col::_CompactLinkedHashSet::•<core::int*>();
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t136.{core::Set::add}(42);
+ #t136.{core::Set::add}{Invariant}(42);
} =>#t136;
core::Map<core::int*, core::int*>* map100 = block {
final core::Map<core::int*, core::int*>* #t137 = <core::int*, core::int*>{};
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t137.{core::Map::[]=}(42, 42);
+ #t137.{core::Map::[]=}{Invariant}(42, 42);
} =>#t137;
}
static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
block {
final core::List<core::int*>* #t138 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t138.{core::List::add}(let final<BottomType> #t139 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t138.{core::List::add}{Invariant}(let final<BottomType> #t139 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) \"bar\"];
^" in "bar" as{TypeError} core::int*);
} =>#t138;
block {
final core::Set<core::int*>* #t140 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t140.{core::Set::add}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t140.{core::Set::add}{Invariant}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in "bar" as{TypeError} core::int*);
- #t140.{core::Set::add}(null);
+ #t140.{core::Set::add}{Invariant}(null);
} =>#t140;
block {
final core::Map<core::String*, core::int*>* #t142 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t142.{core::Map::[]=}("bar", let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t142.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*);
- #t142.{core::Map::[]=}("baz", null);
+ #t142.{core::Map::[]=}{Invariant}("baz", null);
} =>#t142;
block {
final core::List<core::int*>* #t144 = <core::int*>[];
@@ -1245,7 +1245,7 @@
^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t146 = :sync-for-iterator.{core::Iterator::current};
- #t144.{core::List::add}(#t146);
+ #t144.{core::List::add}{Invariant}(#t146);
}
}
} =>#t144;
@@ -1257,10 +1257,10 @@
^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t149 = :sync-for-iterator.{core::Iterator::current};
- #t147.{core::Set::add}(#t149);
+ #t147.{core::Set::add}{Invariant}(#t149);
}
}
- #t147.{core::Set::add}(null);
+ #t147.{core::Set::add}{Invariant}(null);
} =>#t147;
block {
final core::Map<core::String*, core::int*>* #t150 = <core::String*, core::int*>{};
@@ -1270,15 +1270,15 @@
^" in "bar" as{TypeError} core::int*}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t152 = :sync-for-iterator.{core::Iterator::current};
- #t150.{core::Map::[]=}(#t152.{core::MapEntry::key}, #t152.{core::MapEntry::value});
+ #t150.{core::Map::[]=}{Invariant}(#t152.{core::MapEntry::key}, #t152.{core::MapEntry::value});
}
}
- #t150.{core::Map::[]=}("baz", null);
+ #t150.{core::Map::[]=}{Invariant}("baz", null);
} =>#t150;
block {
final core::List<core::int*>* #t153 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t153.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t153.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map];
^");
@@ -1286,11 +1286,11 @@
block {
final core::Set<core::int*>* #t154 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t154.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t154.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
<int>{if (oracle(\"foo\")) ...map, null};
^");
- #t154.{core::Set::add}(null);
+ #t154.{core::Set::add}{Invariant}(null);
} =>#t154;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1302,58 +1302,58 @@
block {
final core::List<core::String*>* #t155 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t155.{core::List::add}(let final<BottomType> #t156 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t155.{core::List::add}{Invariant}(let final<BottomType> #t156 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98: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];
^" in 42 as{TypeError} core::String*);
else
- #t155.{core::List::add}(let final<BottomType> #t157 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t155.{core::List::add}{Invariant}(let final<BottomType> #t157 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[if (oracle(\"foo\")) 42 else 3.14];
^" in 3.14 as{TypeError} core::String*);
} =>#t155;
block {
final core::Set<core::String*>* #t158 = new col::_CompactLinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t158.{core::Set::add}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t158.{core::Set::add}{Invariant}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in 42 as{TypeError} core::String*);
else
- #t158.{core::Set::add}(let final<BottomType> #t160 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t158.{core::Set::add}{Invariant}(let final<BottomType> #t160 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
^" in 3.14 as{TypeError} core::String*);
- #t158.{core::Set::add}(null);
+ #t158.{core::Set::add}{Invariant}(null);
} =>#t158;
block {
final core::Map<core::String*, core::String*>* #t161 = <core::String*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t161.{core::Map::[]=}("bar", let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t161.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
^" in 42 as{TypeError} core::String*);
else
- #t161.{core::Map::[]=}("baz", let final<BottomType> #t163 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t161.{core::Map::[]=}{Invariant}("baz", let final<BottomType> #t163 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
^" in 3.14 as{TypeError} core::String*);
- #t161.{core::Map::[]=}("baz", null);
+ #t161.{core::Map::[]=}{Invariant}("baz", null);
} =>#t161;
block {
final core::List<core::int*>* #t164 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t164.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t164.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map else 42];
^");
else
- #t164.{core::List::add}(42);
+ #t164.{core::List::add}{Invariant}(42);
} =>#t164;
block {
final core::Set<core::int*>* #t165 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t165.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t165.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
^");
else
- #t165.{core::Set::add}(42);
- #t165.{core::Set::add}(null);
+ #t165.{core::Set::add}{Invariant}(42);
+ #t165.{core::Set::add}{Invariant}(null);
} =>#t165;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1365,9 +1365,9 @@
block {
final core::List<core::int*>* #t166 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t166.{core::List::add}(42);
+ #t166.{core::List::add}{Invariant}(42);
else
- #t166.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t166.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) 42 else ...map];
^");
@@ -1375,13 +1375,13 @@
block {
final core::Set<core::int*>* #t167 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t167.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t167.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
^");
else
- #t167.{core::Set::add}(42);
- #t167.{core::Set::add}(null);
+ #t167.{core::Set::add}{Invariant}(42);
+ #t167.{core::Set::add}{Invariant}(null);
} =>#t167;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1413,63 +1413,63 @@
if(let final<BottomType> #t169 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
List<int> list20 = [if (42) 42];
^" in 42 as{TypeError} core::bool*)
- #t168.{core::List::add}(42);
+ #t168.{core::List::add}{Invariant}(42);
} =>#t168;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t170 = new col::_CompactLinkedHashSet::•<core::int*>();
if(let final<BottomType> #t171 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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*)
- #t170.{core::Set::add}(42);
+ #t170.{core::Set::add}{Invariant}(42);
} =>#t170;
core::Map<core::int*, core::int*>* map30 = block {
final core::Map<core::int*, core::int*>* #t172 = <core::int*, core::int*>{};
if(let final<BottomType> #t173 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
Map<int, int> map30 = {if (42) 42: 42};
^" in 42 as{TypeError} core::bool*)
- #t172.{core::Map::[]=}(42, 42);
+ #t172.{core::Map::[]=}{Invariant}(42, 42);
} =>#t172;
core::List<core::String*>* list40 = block {
final core::List<core::String*>* #t174 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t174.{core::List::add}(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t174.{core::List::add}{Invariant}(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
^" in true as{TypeError} core::String*);
else
- #t174.{core::List::add}(let final<BottomType> #t176 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t174.{core::List::add}{Invariant}(let final<BottomType> #t176 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
^" in 42 as{TypeError} core::String*);
} =>#t174;
core::Set<core::String*>* set40 = block {
final core::Set<core::String*>* #t177 = new col::_CompactLinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t177.{core::Set::add}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t177.{core::Set::add}{Invariant}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in true as{TypeError} core::String*);
else
- #t177.{core::Set::add}(let final<BottomType> #t179 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t177.{core::Set::add}{Invariant}(let final<BottomType> #t179 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
^" in 42 as{TypeError} core::String*);
} =>#t177;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t180 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t180.{core::Map::[]=}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t180.{core::Map::[]=}{Invariant}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
^" in true as{TypeError} core::String*, 42);
else
- #t180.{core::Map::[]=}(let final<BottomType> #t182 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t180.{core::Map::[]=}{Invariant}(let final<BottomType> #t182 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
^" in 42 as{TypeError} core::String*, 42);
} =>#t180;
core::Map<core::int*, core::String*>* map41 = block {
final core::Map<core::int*, core::String*>* #t183 = <core::int*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t183.{core::Map::[]=}(42, let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t183.{core::Map::[]=}{Invariant}(42, let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
^" in true as{TypeError} core::String*);
else
- #t183.{core::Map::[]=}(42, let final<BottomType> #t185 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t183.{core::Map::[]=}{Invariant}(42, let final<BottomType> #t185 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
^" in 42 as{TypeError} core::String*);
} =>#t183;
@@ -1478,53 +1478,53 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t186 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t186.{core::List::add}(42);
+ #t186.{core::List::add}{Invariant}(42);
} =>#t186;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t187 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t187.{core::Set::add}(42);
- #t187.{core::Set::add}(null);
+ #t187.{core::Set::add}{Invariant}(42);
+ #t187.{core::Set::add}{Invariant}(null);
} =>#t187;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t188 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t188.{core::Map::[]=}("bar", 42);
- #t188.{core::Map::[]=}("baz", null);
+ #t188.{core::Map::[]=}{Invariant}("bar", 42);
+ #t188.{core::Map::[]=}{Invariant}("baz", null);
} =>#t188;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t189 = <dynamic>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t189.{core::List::add}(dynVar);
+ #t189.{core::List::add}{Invariant}(dynVar);
} =>#t189;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t190 = new col::_CompactLinkedHashSet::•<dynamic>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t190.{core::Set::add}(dynVar);
- #t190.{core::Set::add}(null);
+ #t190.{core::Set::add}{Invariant}(dynVar);
+ #t190.{core::Set::add}{Invariant}(null);
} =>#t190;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t191 = <core::String*, dynamic>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t191.{core::Map::[]=}("bar", dynVar);
- #t191.{core::Map::[]=}("baz", null);
+ #t191.{core::Map::[]=}{Invariant}("bar", dynVar);
+ #t191.{core::Map::[]=}{Invariant}("baz", null);
} =>#t191;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t192 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t192.{core::List::add}(<core::int*>[42]);
+ #t192.{core::List::add}{Invariant}(<core::int*>[42]);
} =>#t192;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t193 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t193.{core::Set::add}(<core::int*>[42]);
- #t193.{core::Set::add}(null);
+ #t193.{core::Set::add}{Invariant}(<core::int*>[42]);
+ #t193.{core::Set::add}{Invariant}(null);
} =>#t193;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t194 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t194.{core::Map::[]=}("bar", <core::int*>[42]);
- #t194.{core::Map::[]=}("baz", null);
+ #t194.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
+ #t194.{core::Map::[]=}{Invariant}("baz", null);
} =>#t194;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t195 = <core::int*>[];
@@ -1532,7 +1532,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t196 = :sync-for-iterator.{core::Iterator::current};
- #t195.{core::List::add}(#t196);
+ #t195.{core::List::add}{Invariant}(#t196);
}
}
} =>#t195;
@@ -1542,10 +1542,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t198 = :sync-for-iterator.{core::Iterator::current};
- #t197.{core::Set::add}(#t198);
+ #t197.{core::Set::add}{Invariant}(#t198);
}
}
- #t197.{core::Set::add}(null);
+ #t197.{core::Set::add}{Invariant}(null);
} =>#t197;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t199 = <core::String*, core::int*>{};
@@ -1553,10 +1553,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t200 = :sync-for-iterator.{core::Iterator::current};
- #t199.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t199.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
}
}
- #t199.{core::Map::[]=}("baz", null);
+ #t199.{core::Map::[]=}{Invariant}("baz", null);
} =>#t199;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t201 = <dynamic>[];
@@ -1564,7 +1564,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t202 = :sync-for-iterator.{core::Iterator::current};
- #t201.{core::List::add}(#t202);
+ #t201.{core::List::add}{Invariant}(#t202);
}
}
} =>#t201;
@@ -1574,10 +1574,10 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t204 = :sync-for-iterator.{core::Iterator::current};
- #t203.{core::Set::add}(#t204);
+ #t203.{core::Set::add}{Invariant}(#t204);
}
}
- #t203.{core::Set::add}(null);
+ #t203.{core::Set::add}{Invariant}(null);
} =>#t203;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t205 = <core::String*, dynamic>{};
@@ -1585,10 +1585,10 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t206 = :sync-for-iterator.{core::Iterator::current};
- #t205.{core::Map::[]=}(#t206.{core::MapEntry::key}, #t206.{core::MapEntry::value});
+ #t205.{core::Map::[]=}{Invariant}(#t206.{core::MapEntry::key}, #t206.{core::MapEntry::value});
}
}
- #t205.{core::Map::[]=}("baz", null);
+ #t205.{core::Map::[]=}{Invariant}("baz", null);
} =>#t205;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t207 = <core::List<core::int*>*>[];
@@ -1596,7 +1596,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t208 = :sync-for-iterator.{core::Iterator::current};
- #t207.{core::List::add}(#t208);
+ #t207.{core::List::add}{Invariant}(#t208);
}
}
} =>#t207;
@@ -1606,10 +1606,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t210 = :sync-for-iterator.{core::Iterator::current};
- #t209.{core::Set::add}(#t210);
+ #t209.{core::Set::add}{Invariant}(#t210);
}
}
- #t209.{core::Set::add}(null);
+ #t209.{core::Set::add}{Invariant}(null);
} =>#t209;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t211 = <core::String*, core::List<core::int*>*>{};
@@ -1617,10 +1617,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t212 = :sync-for-iterator.{core::Iterator::current};
- #t211.{core::Map::[]=}(#t212.{core::MapEntry::key}, #t212.{core::MapEntry::value});
+ #t211.{core::Map::[]=}{Invariant}(#t212.{core::MapEntry::key}, #t212.{core::MapEntry::value});
}
}
- #t211.{core::Map::[]=}("baz", null);
+ #t211.{core::Map::[]=}{Invariant}("baz", null);
} =>#t211;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t213 = <core::int*>[];
@@ -1629,7 +1629,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t214 = :sync-for-iterator.{core::Iterator::current};
- #t213.{core::List::add}(#t214);
+ #t213.{core::List::add}{Invariant}(#t214);
}
}
} =>#t213;
@@ -1640,10 +1640,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t216 = :sync-for-iterator.{core::Iterator::current};
- #t215.{core::Set::add}(#t216);
+ #t215.{core::Set::add}{Invariant}(#t216);
}
}
- #t215.{core::Set::add}(null);
+ #t215.{core::Set::add}{Invariant}(null);
} =>#t215;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t217 = <core::String*, core::int*>{};
@@ -1652,10 +1652,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t218 = :sync-for-iterator.{core::Iterator::current};
- #t217.{core::Map::[]=}(#t218.{core::MapEntry::key}, #t218.{core::MapEntry::value});
+ #t217.{core::Map::[]=}{Invariant}(#t218.{core::MapEntry::key}, #t218.{core::MapEntry::value});
}
}
- #t217.{core::Map::[]=}("baz", null);
+ #t217.{core::Map::[]=}{Invariant}("baz", null);
} =>#t217;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t219 = <dynamic>[];
@@ -1664,7 +1664,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t220 = :sync-for-iterator.{core::Iterator::current};
- #t219.{core::List::add}(#t220);
+ #t219.{core::List::add}{Invariant}(#t220);
}
}
} =>#t219;
@@ -1675,10 +1675,10 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t222 = :sync-for-iterator.{core::Iterator::current};
- #t221.{core::Set::add}(#t222);
+ #t221.{core::Set::add}{Invariant}(#t222);
}
}
- #t221.{core::Set::add}(null);
+ #t221.{core::Set::add}{Invariant}(null);
} =>#t221;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t223 = <core::String*, dynamic>{};
@@ -1687,10 +1687,10 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t224 = :sync-for-iterator.{core::Iterator::current};
- #t223.{core::Map::[]=}(#t224.{core::MapEntry::key}, #t224.{core::MapEntry::value});
+ #t223.{core::Map::[]=}{Invariant}(#t224.{core::MapEntry::key}, #t224.{core::MapEntry::value});
}
}
- #t223.{core::Map::[]=}("baz", null);
+ #t223.{core::Map::[]=}{Invariant}("baz", null);
} =>#t223;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t225 = <core::List<core::int*>*>[];
@@ -1699,7 +1699,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t226 = :sync-for-iterator.{core::Iterator::current};
- #t225.{core::List::add}(#t226);
+ #t225.{core::List::add}{Invariant}(#t226);
}
}
} =>#t225;
@@ -1710,10 +1710,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t228 = :sync-for-iterator.{core::Iterator::current};
- #t227.{core::Set::add}(#t228);
+ #t227.{core::Set::add}{Invariant}(#t228);
}
}
- #t227.{core::Set::add}(null);
+ #t227.{core::Set::add}{Invariant}(null);
} =>#t227;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t229 = <core::String*, core::List<core::int*>*>{};
@@ -1722,10 +1722,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t230 = :sync-for-iterator.{core::Iterator::current};
- #t229.{core::Map::[]=}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
+ #t229.{core::Map::[]=}{Invariant}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
}
}
- #t229.{core::Map::[]=}("baz", null);
+ #t229.{core::Map::[]=}{Invariant}("baz", null);
} =>#t229;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t231 = <core::List<core::int*>*>[];
@@ -1733,7 +1733,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t232 = :sync-for-iterator.{core::Iterator::current};
- #t231.{core::List::add}(#t232);
+ #t231.{core::List::add}{Invariant}(#t232);
}
}
} =>#t231;
@@ -1743,10 +1743,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t234 = :sync-for-iterator.{core::Iterator::current};
- #t233.{core::Set::add}(#t234);
+ #t233.{core::Set::add}{Invariant}(#t234);
}
}
- #t233.{core::Set::add}(null);
+ #t233.{core::Set::add}{Invariant}(null);
} =>#t233;
core::Map<core::String*, core::List<core::int*>*>* map40 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t235 = <core::String*, core::List<core::int*>*>{};
@@ -1754,21 +1754,21 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t236 = :sync-for-iterator.{core::Iterator::current};
- #t235.{core::Map::[]=}(#t236.{core::MapEntry::key}, #t236.{core::MapEntry::value});
+ #t235.{core::Map::[]=}{Invariant}(#t236.{core::MapEntry::key}, #t236.{core::MapEntry::value});
}
}
- #t235.{core::Map::[]=}("baz", null);
+ #t235.{core::Map::[]=}{Invariant}("baz", null);
} =>#t235;
core::List<core::List<core::int*>*>* list41 = block {
final core::List<core::List<core::int*>*>* #t237 = <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::Iterator<core::List<core::int*>*>* :sync-for-iterator = ( block {
final core::Set<core::List<core::int*>*>* #t238 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t238.{core::Set::add}(<core::int*>[]);
+ #t238.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t238).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t239 = :sync-for-iterator.{core::Iterator::current};
- #t237.{core::List::add}(#t239);
+ #t237.{core::List::add}{Invariant}(#t239);
}
}
} =>#t237;
@@ -1777,14 +1777,14 @@
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = ( block {
final core::Set<core::List<core::int*>*>* #t241 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t241.{core::Set::add}(<core::int*>[]);
+ #t241.{core::Set::add}{Invariant}(<core::int*>[]);
} =>#t241).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t242 = :sync-for-iterator.{core::Iterator::current};
- #t240.{core::Set::add}(#t242);
+ #t240.{core::Set::add}{Invariant}(#t242);
}
}
- #t240.{core::Set::add}(null);
+ #t240.{core::Set::add}{Invariant}(null);
} =>#t240;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t243 = <core::List<core::int*>*>[];
@@ -1793,7 +1793,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t244 = :sync-for-iterator.{core::Iterator::current};
- #t243.{core::List::add}(#t244);
+ #t243.{core::List::add}{Invariant}(#t244);
}
}
} =>#t243;
@@ -1804,10 +1804,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t246 = :sync-for-iterator.{core::Iterator::current};
- #t245.{core::Set::add}(#t246);
+ #t245.{core::Set::add}{Invariant}(#t246);
}
}
- #t245.{core::Set::add}(null);
+ #t245.{core::Set::add}{Invariant}(null);
} =>#t245;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t247 = <core::String*, core::List<core::int*>*>{};
@@ -1816,10 +1816,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t248 = :sync-for-iterator.{core::Iterator::current};
- #t247.{core::Map::[]=}(#t248.{core::MapEntry::key}, #t248.{core::MapEntry::value});
+ #t247.{core::Map::[]=}{Invariant}(#t248.{core::MapEntry::key}, #t248.{core::MapEntry::value});
}
}
- #t247.{core::Map::[]=}("baz", null);
+ #t247.{core::Map::[]=}{Invariant}("baz", null);
} =>#t247;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t249 = <core::int*>[];
@@ -1827,7 +1827,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t250 = :sync-for-iterator.{core::Iterator::current};
- #t249.{core::List::add}(#t250);
+ #t249.{core::List::add}{Invariant}(#t250);
}
}
} =>#t249;
@@ -1837,10 +1837,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t252 = :sync-for-iterator.{core::Iterator::current};
- #t251.{core::Set::add}(#t252);
+ #t251.{core::Set::add}{Invariant}(#t252);
}
}
- #t251.{core::Set::add}(null);
+ #t251.{core::Set::add}{Invariant}(null);
} =>#t251;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t253 = <core::String*, core::int*>{};
@@ -1848,10 +1848,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t254 = :sync-for-iterator.{core::Iterator::current};
- #t253.{core::Map::[]=}(#t254.{core::MapEntry::key}, #t254.{core::MapEntry::value});
+ #t253.{core::Map::[]=}{Invariant}(#t254.{core::MapEntry::key}, #t254.{core::MapEntry::value});
}
}
- #t253.{core::Map::[]=}("baz", null);
+ #t253.{core::Map::[]=}{Invariant}("baz", null);
} =>#t253;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t255 = <core::int*>[];
@@ -1861,7 +1861,7 @@
} =>#t256).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t257 = :sync-for-iterator.{core::Iterator::current};
- #t255.{core::List::add}(#t257);
+ #t255.{core::List::add}{Invariant}(#t257);
}
}
} =>#t255;
@@ -1873,10 +1873,10 @@
} =>#t259).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t260 = :sync-for-iterator.{core::Iterator::current};
- #t258.{core::Set::add}(#t260);
+ #t258.{core::Set::add}{Invariant}(#t260);
}
}
- #t258.{core::Set::add}(null);
+ #t258.{core::Set::add}{Invariant}(null);
} =>#t258;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t261 = <core::int*>[];
@@ -1885,7 +1885,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t262 = :sync-for-iterator.{core::Iterator::current};
- #t261.{core::List::add}(#t262);
+ #t261.{core::List::add}{Invariant}(#t262);
}
}
} =>#t261;
@@ -1896,10 +1896,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t264 = :sync-for-iterator.{core::Iterator::current};
- #t263.{core::Set::add}(#t264);
+ #t263.{core::Set::add}{Invariant}(#t264);
}
}
- #t263.{core::Set::add}(null);
+ #t263.{core::Set::add}{Invariant}(null);
} =>#t263;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t265 = <core::List<core::int*>*>[];
@@ -1907,7 +1907,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t266 = :sync-for-iterator.{core::Iterator::current};
- #t265.{core::List::add}(#t266);
+ #t265.{core::List::add}{Invariant}(#t266);
}
}
} =>#t265;
@@ -1917,10 +1917,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t268 = :sync-for-iterator.{core::Iterator::current};
- #t267.{core::Set::add}(#t268);
+ #t267.{core::Set::add}{Invariant}(#t268);
}
}
- #t267.{core::Set::add}(null);
+ #t267.{core::Set::add}{Invariant}(null);
} =>#t267;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t269 = <core::String*, core::List<core::int*>*>{};
@@ -1928,10 +1928,10 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t270 = :sync-for-iterator.{core::Iterator::current};
- #t269.{core::Map::[]=}(#t270.{core::MapEntry::key}, #t270.{core::MapEntry::value});
+ #t269.{core::Map::[]=}{Invariant}(#t270.{core::MapEntry::key}, #t270.{core::MapEntry::value});
}
}
- #t269.{core::Map::[]=}("baz", null);
+ #t269.{core::Map::[]=}{Invariant}("baz", null);
} =>#t269;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t271 = <core::List<core::int*>*>[];
@@ -1940,7 +1940,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t272 = :sync-for-iterator.{core::Iterator::current};
- #t271.{core::List::add}(#t272);
+ #t271.{core::List::add}{Invariant}(#t272);
}
}
} =>#t271;
@@ -1951,10 +1951,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t274 = :sync-for-iterator.{core::Iterator::current};
- #t273.{core::Set::add}(#t274);
+ #t273.{core::Set::add}{Invariant}(#t274);
}
}
- #t273.{core::Set::add}(null);
+ #t273.{core::Set::add}{Invariant}(null);
} =>#t273;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t275 = <core::String*, core::List<core::int*>*>{};
@@ -1963,73 +1963,73 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t276 = :sync-for-iterator.{core::Iterator::current};
- #t275.{core::Map::[]=}(#t276.{core::MapEntry::key}, #t276.{core::MapEntry::value});
+ #t275.{core::Map::[]=}{Invariant}(#t276.{core::MapEntry::key}, #t276.{core::MapEntry::value});
}
}
- #t275.{core::Map::[]=}("baz", null);
+ #t275.{core::Map::[]=}{Invariant}("baz", null);
} =>#t275;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t277 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t277.{core::List::add}(<core::int*>[]);
+ #t277.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t277;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t278 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t278.{core::Set::add}(<core::int*>[]);
- #t278.{core::Set::add}(null);
+ #t278.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t278.{core::Set::add}{Invariant}(null);
} =>#t278;
core::Map<core::String*, core::List<core::int*>*>* map70 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t279 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t279.{core::Map::[]=}("bar", <core::int*>[]);
- #t279.{core::Map::[]=}("baz", null);
+ #t279.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
+ #t279.{core::Map::[]=}{Invariant}("baz", null);
} =>#t279;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t280 = <core::List<core::int*>*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t280.{core::List::add}(<core::int*>[]);
+ #t280.{core::List::add}{Invariant}(<core::int*>[]);
} =>#t280;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t281 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t281.{core::Set::add}(<core::int*>[]);
- #t281.{core::Set::add}(null);
+ #t281.{core::Set::add}{Invariant}(<core::int*>[]);
+ #t281.{core::Set::add}{Invariant}(null);
} =>#t281;
core::Map<core::String*, core::List<core::int*>*>* map71 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t282 = <core::String*, core::List<core::int*>*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t282.{core::Map::[]=}("bar", <core::int*>[]);
- #t282.{core::Map::[]=}("baz", null);
+ #t282.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
+ #t282.{core::Map::[]=}{Invariant}("baz", null);
} =>#t282;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t283 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t283.{core::List::add}(42);
+ #t283.{core::List::add}{Invariant}(42);
else
- #t283.{core::List::add}(3.14);
+ #t283.{core::List::add}{Invariant}(3.14);
} =>#t283;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t284 = new col::_CompactLinkedHashSet::•<core::num*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t284.{core::Set::add}(42);
+ #t284.{core::Set::add}{Invariant}(42);
else
- #t284.{core::Set::add}(3.14);
- #t284.{core::Set::add}(null);
+ #t284.{core::Set::add}{Invariant}(3.14);
+ #t284.{core::Set::add}{Invariant}(null);
} =>#t284;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t285 = <core::String*, core::num*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t285.{core::Map::[]=}("bar", 42);
+ #t285.{core::Map::[]=}{Invariant}("bar", 42);
else
- #t285.{core::Map::[]=}("bar", 3.14);
- #t285.{core::Map::[]=}("baz", null);
+ #t285.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t285.{core::Map::[]=}{Invariant}("baz", null);
} =>#t285;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t286 = <core::num*>[];
@@ -2038,14 +2038,14 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t287 = :sync-for-iterator.{core::Iterator::current};
- #t286.{core::List::add}(#t287);
+ #t286.{core::List::add}{Invariant}(#t287);
}
}
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t288 = :sync-for-iterator.{core::Iterator::current};
- #t286.{core::List::add}(#t288);
+ #t286.{core::List::add}{Invariant}(#t288);
}
}
} =>#t286;
@@ -2056,17 +2056,17 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t290 = :sync-for-iterator.{core::Iterator::current};
- #t289.{core::Set::add}(#t290);
+ #t289.{core::Set::add}{Invariant}(#t290);
}
}
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t291 = :sync-for-iterator.{core::Iterator::current};
- #t289.{core::Set::add}(#t291);
+ #t289.{core::Set::add}{Invariant}(#t291);
}
}
- #t289.{core::Set::add}(null);
+ #t289.{core::Set::add}{Invariant}(null);
} =>#t289;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t292 = <core::String*, core::num*>{};
@@ -2075,17 +2075,17 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t293 = :sync-for-iterator.{core::Iterator::current};
- #t292.{core::Map::[]=}(#t293.{core::MapEntry::key}, #t293.{core::MapEntry::value});
+ #t292.{core::Map::[]=}{Invariant}(#t293.{core::MapEntry::key}, #t293.{core::MapEntry::value});
}
}
else {
core::Iterator<core::MapEntry<core::String*, core::double*>>* :sync-for-iterator = mapStringDouble.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t294 = :sync-for-iterator.{core::Iterator::current};
- #t292.{core::Map::[]=}(#t294.{core::MapEntry::key}, #t294.{core::MapEntry::value});
+ #t292.{core::Map::[]=}{Invariant}(#t294.{core::MapEntry::key}, #t294.{core::MapEntry::value});
}
}
- #t292.{core::Map::[]=}("baz", null);
+ #t292.{core::Map::[]=}{Invariant}("baz", null);
} =>#t292;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t295 = <dynamic>[];
@@ -2094,14 +2094,14 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t296 = :sync-for-iterator.{core::Iterator::current};
- #t295.{core::List::add}(#t296);
+ #t295.{core::List::add}{Invariant}(#t296);
}
}
else {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t297 = :sync-for-iterator.{core::Iterator::current};
- #t295.{core::List::add}(#t297);
+ #t295.{core::List::add}{Invariant}(#t297);
}
}
} =>#t295;
@@ -2112,17 +2112,17 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t299 = :sync-for-iterator.{core::Iterator::current};
- #t298.{core::Set::add}(#t299);
+ #t298.{core::Set::add}{Invariant}(#t299);
}
}
else {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t300 = :sync-for-iterator.{core::Iterator::current};
- #t298.{core::Set::add}(#t300);
+ #t298.{core::Set::add}{Invariant}(#t300);
}
}
- #t298.{core::Set::add}(null);
+ #t298.{core::Set::add}{Invariant}(null);
} =>#t298;
core::Map<dynamic, dynamic>* map82 = block {
final core::Map<dynamic, dynamic>* #t301 = <dynamic, dynamic>{};
@@ -2131,28 +2131,28 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t302 = :sync-for-iterator.{core::Iterator::current};
- #t301.{core::Map::[]=}(#t302.{core::MapEntry::key}, #t302.{core::MapEntry::value});
+ #t301.{core::Map::[]=}{Invariant}(#t302.{core::MapEntry::key}, #t302.{core::MapEntry::value});
}
}
else {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t303 = :sync-for-iterator.{core::Iterator::current};
- #t301.{core::Map::[]=}(#t303.{core::MapEntry::key}, #t303.{core::MapEntry::value});
+ #t301.{core::Map::[]=}{Invariant}(#t303.{core::MapEntry::key}, #t303.{core::MapEntry::value});
}
}
- #t301.{core::Map::[]=}("baz", null);
+ #t301.{core::Map::[]=}{Invariant}("baz", null);
} =>#t301;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t304 = <core::num*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t304.{core::List::add}(42);
+ #t304.{core::List::add}{Invariant}(42);
else {
core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t305 = :sync-for-iterator.{core::Iterator::current};
- #t304.{core::List::add}(#t305);
+ #t304.{core::List::add}{Invariant}(#t305);
}
}
} =>#t304;
@@ -2163,12 +2163,12 @@
core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::num* #t307 = :sync-for-iterator.{core::Iterator::current};
- #t306.{core::Set::add}(#t307);
+ #t306.{core::Set::add}{Invariant}(#t307);
}
}
else
- #t306.{core::Set::add}(3.14);
- #t306.{core::Set::add}(null);
+ #t306.{core::Set::add}{Invariant}(3.14);
+ #t306.{core::Set::add}{Invariant}(null);
} =>#t306;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t308 = <core::String*, core::num*>{};
@@ -2177,29 +2177,29 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t309 = :sync-for-iterator.{core::Iterator::current};
- #t308.{core::Map::[]=}(#t309.{core::MapEntry::key}, #t309.{core::MapEntry::value});
+ #t308.{core::Map::[]=}{Invariant}(#t309.{core::MapEntry::key}, #t309.{core::MapEntry::value});
}
}
else
- #t308.{core::Map::[]=}("bar", 3.14);
- #t308.{core::Map::[]=}("baz", null);
+ #t308.{core::Map::[]=}{Invariant}("bar", 3.14);
+ #t308.{core::Map::[]=}{Invariant}("baz", null);
} =>#t308;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t310 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t310.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t310.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
} =>#t310;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t311 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t311.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
- #t311.{core::Set::add}(null);
+ #t311.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t311.{core::Set::add}{Invariant}(null);
} =>#t311;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t312 = <core::String*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t312.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t312.{core::Map::[]=}("baz", null);
+ #t312.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
+ #t312.{core::Map::[]=}{Invariant}("baz", null);
} =>#t312;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t313 = <core::int*>[];
@@ -2209,7 +2209,7 @@
final dynamic #t314 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t315 = #t314 as{TypeError} core::int*;
- #t313.{core::List::add}(#t315);
+ #t313.{core::List::add}{Invariant}(#t315);
}
}
}
@@ -2222,11 +2222,11 @@
final dynamic #t317 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t318 = #t317 as{TypeError} core::int*;
- #t316.{core::Set::add}(#t318);
+ #t316.{core::Set::add}{Invariant}(#t318);
}
}
}
- #t316.{core::Set::add}(null);
+ #t316.{core::Set::add}{Invariant}(null);
} =>#t316;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t319 = <core::String*, core::int*>{};
@@ -2237,26 +2237,26 @@
{
final core::String* #t321 = #t320.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t322 = #t320.{core::MapEntry::value} as{TypeError} core::int*;
- #t319.{core::Map::[]=}(#t321, #t322);
+ #t319.{core::Map::[]=}{Invariant}(#t321, #t322);
}
}
}
- #t319.{core::Map::[]=}("baz", null);
+ #t319.{core::Map::[]=}{Invariant}("baz", null);
} =>#t319;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t323 = <core::int*>[];
for (final core::int* #t324 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t323.{core::List::add}(42);
+ #t323.{core::List::add}{Invariant}(42);
} =>#t323;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t325 = new col::_CompactLinkedHashSet::•<core::int*>();
for (final core::int* #t326 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t325.{core::Set::add}(42);
+ #t325.{core::Set::add}{Invariant}(42);
} =>#t325;
core::Map<core::String*, core::int*>* map100 = block {
final core::Map<core::String*, core::int*>* #t327 = <core::String*, core::int*>{};
for (final core::int* #t328 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t327.{core::Map::[]=}("bar", 42);
+ #t327.{core::Map::[]=}{Invariant}("bar", 42);
} =>#t327;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t329 = <core::int*>[];
@@ -2264,7 +2264,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t329.{core::List::add}(i);
+ #t329.{core::List::add}{Invariant}(i);
}
}
} =>#t329;
@@ -2274,10 +2274,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t330.{core::Set::add}(i);
+ #t330.{core::Set::add}{Invariant}(i);
}
}
- #t330.{core::Set::add}(null);
+ #t330.{core::Set::add}{Invariant}(null);
} =>#t330;
core::Map<core::String*, core::int*>* map110 = block {
final core::Map<core::String*, core::int*>* #t331 = <core::String*, core::int*>{};
@@ -2285,10 +2285,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t331.{core::Map::[]=}("bar", i);
+ #t331.{core::Map::[]=}{Invariant}("bar", i);
}
}
- #t331.{core::Map::[]=}("baz", null);
+ #t331.{core::Map::[]=}{Invariant}("baz", null);
} =>#t331;
core::List<core::int*>* list120 = block {
final core::List<core::int*>* #t332 = <core::int*>[];
@@ -2296,7 +2296,7 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t332.{core::List::add}(i as{TypeError,ForDynamic} core::int*);
+ #t332.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
}
}
} =>#t332;
@@ -2306,10 +2306,10 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t333.{core::Set::add}(i as{TypeError,ForDynamic} core::int*);
+ #t333.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
}
}
- #t333.{core::Set::add}(null);
+ #t333.{core::Set::add}{Invariant}(null);
} =>#t333;
core::Map<core::String*, core::int*>* map120 = block {
final core::Map<core::String*, core::int*>* #t334 = <core::String*, core::int*>{};
@@ -2317,25 +2317,25 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t334.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*);
+ #t334.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*);
}
}
- #t334.{core::Map::[]=}("baz", null);
+ #t334.{core::Map::[]=}{Invariant}("baz", null);
} =>#t334;
core::List<core::int*>* list130 = block {
final core::List<core::int*>* #t335 = <core::int*>[];
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t335.{core::List::add}(i);
+ #t335.{core::List::add}{Invariant}(i);
} =>#t335;
core::Set<core::int*>* set130 = block {
final core::Set<core::int*>* #t336 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t336.{core::Set::add}(i);
+ #t336.{core::Set::add}{Invariant}(i);
} =>#t336;
core::Map<core::int*, core::int*>* map130 = block {
final core::Map<core::int*, core::int*>* #t337 = <core::int*, core::int*>{};
for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t337.{core::Map::[]=}(i, i);
+ #t337.{core::Map::[]=}{Invariant}(i, i);
} =>#t337;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic /* originally async */ {
@@ -2358,27 +2358,27 @@
block {
final core::List<core::int*>* #t338 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t338.{core::List::add}(let final<BottomType> #t339 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t338.{core::List::add}{Invariant}(let final<BottomType> #t339 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:212: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\"];
^" in "bar" as{TypeError} core::int*);
} =>#t338;
block {
final core::Set<core::int*>* #t340 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t340.{core::Set::add}(let final<BottomType> #t341 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t340.{core::Set::add}{Invariant}(let final<BottomType> #t341 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^" in "bar" as{TypeError} core::int*);
- #t340.{core::Set::add}(null);
+ #t340.{core::Set::add}{Invariant}(null);
} =>#t340;
block {
final core::Map<core::int*, core::int*>* #t342 = <core::int*, core::int*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t342.{core::Map::[]=}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t342.{core::Map::[]=}{Invariant}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*, let final<BottomType> #t344 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*);
- #t342.{core::Map::[]=}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t342.{core::Map::[]=}{Invariant}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "baz" as{TypeError} core::int*, null);
} =>#t342;
@@ -2390,7 +2390,7 @@
^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t348 = :sync-for-iterator.{core::Iterator::current};
- #t346.{core::List::add}(#t348);
+ #t346.{core::List::add}{Invariant}(#t348);
}
}
} =>#t346;
@@ -2402,10 +2402,10 @@
^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t351 = :sync-for-iterator.{core::Iterator::current};
- #t349.{core::Set::add}(#t351);
+ #t349.{core::Set::add}{Invariant}(#t351);
}
}
- #t349.{core::Set::add}(null);
+ #t349.{core::Set::add}{Invariant}(null);
} =>#t349;
block {
final core::Map<core::int*, core::int*>* #t352 = <core::int*, core::int*>{};
@@ -2417,17 +2417,17 @@
^" in "bar" as{TypeError} core::int*}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t355 = :sync-for-iterator.{core::Iterator::current};
- #t352.{core::Map::[]=}(#t355.{core::MapEntry::key}, #t355.{core::MapEntry::value});
+ #t352.{core::Map::[]=}{Invariant}(#t355.{core::MapEntry::key}, #t355.{core::MapEntry::value});
}
}
- #t352.{core::Map::[]=}(let final<BottomType> #t356 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t352.{core::Map::[]=}{Invariant}(let final<BottomType> #t356 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "baz" as{TypeError} core::int*, null);
} =>#t352;
block {
final core::List<core::int*>* #t357 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t357.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t357.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
^");
@@ -2435,11 +2435,11 @@
block {
final core::Set<core::int*>* #t358 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t358.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t358.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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'.
<int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
^");
- #t358.{core::Set::add}(null);
+ #t358.{core::Set::add}{Invariant}(null);
} =>#t358;
<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2452,11 +2452,11 @@
final core::List<core::String*>* #t359 = <core::String*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t359.{core::List::add}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t359.{core::List::add}{Invariant}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
^" in 42 as{TypeError} core::String*);
else
- #t359.{core::List::add}(let final<BottomType> #t361 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t359.{core::List::add}{Invariant}(let final<BottomType> #t361 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
^" in 3.14 as{TypeError} core::String*);
} =>#t359;
@@ -2464,50 +2464,50 @@
final core::Set<core::String*>* #t362 = new col::_CompactLinkedHashSet::•<core::String*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t362.{core::Set::add}(let final<BottomType> #t363 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t362.{core::Set::add}{Invariant}(let final<BottomType> #t363 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
^" in 42 as{TypeError} core::String*);
else
- #t362.{core::Set::add}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t362.{core::Set::add}{Invariant}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
^" in 3.14 as{TypeError} core::String*);
- #t362.{core::Set::add}(null);
+ #t362.{core::Set::add}{Invariant}(null);
} =>#t362;
block {
final core::Map<core::String*, core::String*>* #t365 = <core::String*, core::String*>{};
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t365.{core::Map::[]=}("bar", let final<BottomType> #t366 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t365.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t366 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
^" in 42 as{TypeError} core::String*);
else
- #t365.{core::Map::[]=}("bar", let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t365.{core::Map::[]=}{Invariant}("bar", let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
^" in 3.14 as{TypeError} core::String*);
- #t365.{core::Map::[]=}("baz", null);
+ #t365.{core::Map::[]=}{Invariant}("baz", null);
} =>#t365;
block {
final core::List<core::int*>* #t368 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t368.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t368.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
^");
else
- #t368.{core::List::add}(42);
+ #t368.{core::List::add}{Invariant}(42);
} =>#t368;
block {
final core::Set<core::int*>* #t369 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t369.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t369.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
^");
else
- #t369.{core::Set::add}(42);
- #t369.{core::Set::add}(null);
+ #t369.{core::Set::add}{Invariant}(42);
+ #t369.{core::Set::add}{Invariant}(null);
} =>#t369;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2520,9 +2520,9 @@
final core::List<core::int*>* #t370 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t370.{core::List::add}(42);
+ #t370.{core::List::add}{Invariant}(42);
else
- #t370.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t370.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
^");
@@ -2531,13 +2531,13 @@
final core::Set<core::int*>* #t371 = new col::_CompactLinkedHashSet::•<core::int*>();
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t371.{core::Set::add}(42);
+ #t371.{core::Set::add}{Invariant}(42);
else
- #t371.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t371.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
^");
- #t371.{core::Set::add}(null);
+ #t371.{core::Set::add}{Invariant}(null);
} =>#t371;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2557,7 +2557,7 @@
invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
<int>[for (i in <int>[1]) i];
^";
- #t372.{core::List::add}(i);
+ #t372.{core::List::add}{Invariant}(i);
}
}
}
@@ -2572,11 +2572,11 @@
invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
<int>{for (i in <int>[1]) i, null};
^";
- #t374.{core::Set::add}(i);
+ #t374.{core::Set::add}{Invariant}(i);
}
}
}
- #t374.{core::Set::add}(null);
+ #t374.{core::Set::add}{Invariant}(null);
} =>#t374;
block {
final core::Map<core::String*, core::int*>* #t376 = <core::String*, core::int*>{};
@@ -2588,11 +2588,11 @@
invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
\t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
\t ^";
- #t376.{core::Map::[]=}("bar", i);
+ #t376.{core::Map::[]=}{Invariant}("bar", i);
}
}
}
- #t376.{core::Map::[]=}("baz", null);
+ #t376.{core::Map::[]=}{Invariant}("baz", null);
} =>#t376;
core::List<dynamic>* list10 = block {
final core::List<dynamic>* #t378 = <dynamic>[];
@@ -2603,7 +2603,7 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t378.{core::List::add}(i);
+ #t378.{core::List::add}{Invariant}(i);
}
}
} =>#t378;
@@ -2616,10 +2616,10 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t380.{core::Set::add}(i);
+ #t380.{core::Set::add}{Invariant}(i);
}
}
- #t380.{core::Set::add}(null);
+ #t380.{core::Set::add}{Invariant}(null);
} =>#t380;
core::Map<core::String*, dynamic>* map10 = block {
final core::Map<core::String*, dynamic>* #t382 = <core::String*, dynamic>{};
@@ -2630,10 +2630,10 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t382.{core::Map::[]=}("bar", i);
+ #t382.{core::Map::[]=}{Invariant}("bar", i);
}
}
- #t382.{core::Map::[]=}("baz", null);
+ #t382.{core::Map::[]=}{Invariant}("baz", null);
} =>#t382;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t384 = <core::int*>[];
@@ -2645,7 +2645,7 @@
^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t384.{core::List::add}(i);
+ #t384.{core::List::add}{Invariant}(i);
}
}
} =>#t384;
@@ -2659,10 +2659,10 @@
^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t387.{core::Set::add}(i);
+ #t387.{core::Set::add}{Invariant}(i);
}
}
- #t387.{core::Set::add}(null);
+ #t387.{core::Set::add}{Invariant}(null);
} =>#t387;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t390 = <core::String*, core::int*>{};
@@ -2674,10 +2674,10 @@
^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t390.{core::Map::[]=}("bar", i);
+ #t390.{core::Map::[]=}{Invariant}("bar", i);
}
}
- #t390.{core::Map::[]=}("baz", null);
+ #t390.{core::Map::[]=}{Invariant}("baz", null);
} =>#t390;
final core::List<dynamic>* #t393 = <dynamic>[];
{
@@ -2693,7 +2693,7 @@
[yield] let dynamic #t396 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t393.{core::List::add}(i);
+ #t393.{core::List::add}{Invariant}(i);
}
else
break #L2;
@@ -2719,7 +2719,7 @@
[yield] let dynamic #t401 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t398.{core::Set::add}(i);
+ #t398.{core::Set::add}{Invariant}(i);
}
else
break #L3;
@@ -2731,7 +2731,7 @@
}
}
core::Set<dynamic>* set30 = block {
- #t398.{core::Set::add}(null);
+ #t398.{core::Set::add}{Invariant}(null);
} =>#t398;
final core::Map<core::String*, dynamic>* #t403 = <core::String*, dynamic>{};
{
@@ -2747,7 +2747,7 @@
[yield] let dynamic #t406 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t403.{core::Map::[]=}("bar", i);
+ #t403.{core::Map::[]=}{Invariant}("bar", i);
}
else
break #L4;
@@ -2759,7 +2759,7 @@
}
}
core::Map<core::String*, dynamic>* map30 = block {
- #t403.{core::Map::[]=}("baz", null);
+ #t403.{core::Map::[]=}{Invariant}("baz", null);
} =>#t403;
final core::List<core::int*>* #t408 = <core::int*>[];
{
@@ -2776,7 +2776,7 @@
[yield] let dynamic #t412 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t408.{core::List::add}(i);
+ #t408.{core::List::add}{Invariant}(i);
}
else
break #L5;
@@ -2803,7 +2803,7 @@
[yield] let dynamic #t418 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t414.{core::Set::add}(i);
+ #t414.{core::Set::add}{Invariant}(i);
}
else
break #L6;
@@ -2815,7 +2815,7 @@
}
}
core::Set<core::int*>* set40 = block {
- #t414.{core::Set::add}(null);
+ #t414.{core::Set::add}{Invariant}(null);
} =>#t414;
final core::Map<core::String*, core::int*>* #t420 = <core::String*, core::int*>{};
{
@@ -2832,7 +2832,7 @@
[yield] let dynamic #t424 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t420.{core::Map::[]=}("bar", i);
+ #t420.{core::Map::[]=}{Invariant}("bar", i);
}
else
break #L7;
@@ -2844,47 +2844,47 @@
}
}
core::Map<core::String*, core::int*>* map40 = block {
- #t420.{core::Map::[]=}("baz", null);
+ #t420.{core::Map::[]=}{Invariant}("baz", null);
} =>#t420;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t426 = <core::int*>[];
for (; ; )
- #t426.{core::List::add}(42);
+ #t426.{core::List::add}{Invariant}(42);
} =>#t426;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t427 = new col::_CompactLinkedHashSet::•<core::int*>();
for (; ; )
- #t427.{core::Set::add}(42);
- #t427.{core::Set::add}(null);
+ #t427.{core::Set::add}{Invariant}(42);
+ #t427.{core::Set::add}{Invariant}(null);
} =>#t427;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t428 = <core::String*, core::int*>{};
for (; ; )
- #t428.{core::Map::[]=}("bar", 42);
- #t428.{core::Map::[]=}("baz", null);
+ #t428.{core::Map::[]=}{Invariant}("bar", 42);
+ #t428.{core::Map::[]=}{Invariant}("baz", null);
} =>#t428;
core::List<core::int*>* list60 = block {
final core::List<core::int*>* #t429 = <core::int*>[];
for (; let final<BottomType> #t430 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var list60 = [for (; \"not bool\";) 42];
^" in "not bool" as{TypeError} core::bool*; )
- #t429.{core::List::add}(42);
+ #t429.{core::List::add}{Invariant}(42);
} =>#t429;
core::Set<core::int*>* set60 = block {
final core::Set<core::int*>* #t431 = new col::_CompactLinkedHashSet::•<core::int*>();
for (; let final<BottomType> #t432 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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*; )
- #t431.{core::Set::add}(42);
- #t431.{core::Set::add}(null);
+ #t431.{core::Set::add}{Invariant}(42);
+ #t431.{core::Set::add}{Invariant}(null);
} =>#t431;
core::Map<core::String*, core::int*>* map60 = block {
final core::Map<core::String*, core::int*>* #t433 = <core::String*, core::int*>{};
for (; let final<BottomType> #t434 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
^" in "not bool" as{TypeError} core::bool*; )
- #t433.{core::Map::[]=}("bar", 42);
- #t433.{core::Map::[]=}("baz", null);
+ #t433.{core::Map::[]=}{Invariant}("bar", 42);
+ #t433.{core::Map::[]=}{Invariant}("baz", null);
} =>#t433;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -2904,34 +2904,34 @@
block {
final core::List<core::int*>* #t435 = <core::int*>[];
await for (core::int* i in stream)
- #t435.{core::List::add}(i);
+ #t435.{core::List::add}{Invariant}(i);
} =>#t435;
block {
final core::Set<core::int*>* #t436 = new col::_CompactLinkedHashSet::•<core::int*>();
await for (core::int* i in stream)
- #t436.{core::Set::add}(i);
+ #t436.{core::Set::add}{Invariant}(i);
} =>#t436;
block {
final core::Map<core::String*, core::int*>* #t437 = <core::String*, core::int*>{};
await for (core::int* i in stream)
- #t437.{core::Map::[]=}("bar", i);
+ #t437.{core::Map::[]=}{Invariant}("bar", i);
} =>#t437;
}
static method testPromotion(self::A* a) → dynamic {
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t438 = <core::int*>[];
if(a is self::B*)
- #t438.{core::List::add}(a{self::B*}.{self::B::foo});
+ #t438.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo});
} =>#t438;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t439 = new col::_CompactLinkedHashSet::•<core::int*>();
if(a is self::B*)
- #t439.{core::Set::add}(a{self::B*}.{self::B::foo});
+ #t439.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo});
} =>#t439;
core::Map<core::int*, core::int*>* map10 = block {
final core::Map<core::int*, core::int*>* #t440 = <core::int*, core::int*>{};
if(a is self::B*)
- #t440.{core::Map::[]=}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
+ #t440.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
} =>#t440;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.expect
index cf3316a..bbc6109 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.expect
@@ -8,6 +8,6 @@
core::Object* b;
return block {
final core::Set<core::Object*>* #t1 = col::LinkedHashSet::•<core::Object*>();
- #t1.{core::Set::add}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
+ #t1.{core::Set::add}{Invariant}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
} =>#t1;
}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.transformed.expect
index d304f46..637e41b 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.transformed.expect
@@ -8,6 +8,6 @@
core::Object* b;
return block {
final core::Set<core::Object*>* #t1 = new col::_CompactLinkedHashSet::•<core::Object*>();
- #t1.{core::Set::add}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
+ #t1.{core::Set::add}{Invariant}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
} =>#t1;
}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.expect
index 09fd889..d66702b 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.expect
@@ -10,7 +10,7 @@
final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
for (core::int* e in ell)
if(e.{core::int::isOdd})
- #t1.{core::Set::add}(2.{core::num::*}(e));
+ #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
} =>#t1, super core::Object::•()
;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.transformed.expect
index bc72e7f..fa88301 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* e = :sync-for-iterator.{core::Iterator::current};
if(e.{core::int::isOdd})
- #t1.{core::Set::add}(2.{core::num::*}(e));
+ #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
}
}
} =>#t1, super core::Object::•()
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.expect
index b724b3a..bd5bf0d 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.expect
@@ -6,31 +6,31 @@
static method nullAwareListSpread(core::List<core::String*>* list) → dynamic {
list = block {
final core::List<core::String*>* #t1 = <core::String*>[];
- #t1.{core::List::add}("foo");
+ #t1.{core::List::add}{Invariant}("foo");
final core::Iterable<core::String*>* #t2 = list;
if(!#t2.{core::Object::==}(null))
for (final core::String* #t3 in #t2)
- #t1.{core::List::add}(#t3);
+ #t1.{core::List::add}{Invariant}(#t3);
} =>#t1;
}
static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
set = block {
final core::Set<core::String*>* #t4 = col::LinkedHashSet::•<core::String*>();
- #t4.{core::Set::add}("foo");
+ #t4.{core::Set::add}{Invariant}("foo");
final core::Iterable<core::String*>* #t5 = set;
if(!#t5.{core::Object::==}(null))
for (final core::String* #t6 in #t5)
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
} =>#t4;
}
static method nullAwareMapSpread(core::Map<core::int*, core::String*>* map) → dynamic {
map = block {
final core::Map<core::int*, core::String*>* #t7 = <core::int*, core::String*>{};
- #t7.{core::Map::[]=}(0, "foo");
+ #t7.{core::Map::[]=}{Invariant}(0, "foo");
final core::Map<core::int*, core::String*>* #t8 = map;
if(!#t8.{core::Object::==}(null))
for (final core::MapEntry<core::int*, core::String*>* #t9 in #t8.{core::Map::entries})
- #t7.{core::Map::[]=}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
+ #t7.{core::Map::[]=}{Invariant}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
} =>#t7;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.transformed.expect
index 9ff4788..67a6d44 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.transformed.expect
@@ -6,13 +6,13 @@
static method nullAwareListSpread(core::List<core::String*>* list) → dynamic {
list = block {
final core::List<core::String*>* #t1 = <core::String*>[];
- #t1.{core::List::add}("foo");
+ #t1.{core::List::add}{Invariant}("foo");
final core::Iterable<core::String*>* #t2 = list;
if(!#t2.{core::Object::==}(null)) {
core::Iterator<core::String*>* :sync-for-iterator = #t2.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String* #t3 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t3);
+ #t1.{core::List::add}{Invariant}(#t3);
}
}
} =>#t1;
@@ -20,13 +20,13 @@
static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
set = block {
final core::Set<core::String*>* #t4 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t4.{core::Set::add}("foo");
+ #t4.{core::Set::add}{Invariant}("foo");
final core::Iterable<core::String*>* #t5 = set;
if(!#t5.{core::Object::==}(null)) {
core::Iterator<core::String*>* :sync-for-iterator = #t5.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
}
}
} =>#t4;
@@ -34,13 +34,13 @@
static method nullAwareMapSpread(core::Map<core::int*, core::String*>* map) → dynamic {
map = block {
final core::Map<core::int*, core::String*>* #t7 = <core::int*, core::String*>{};
- #t7.{core::Map::[]=}(0, "foo");
+ #t7.{core::Map::[]=}{Invariant}(0, "foo");
final core::Map<core::int*, core::String*>* #t8 = map;
if(!#t8.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = #t8.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::String*>* #t9 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::Map::[]=}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
+ #t7.{core::Map::[]=}{Invariant}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
}
}
} =>#t7;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.expect
index b24bbda..c862e55 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.expect
@@ -14,33 +14,33 @@
static method main() → dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
- #t1.{core::List::add}(1);
+ #t1.{core::List::add}{Invariant}(1);
for (final core::int* #t2 in <core::int*>[2])
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
final core::Iterable<core::int*>* #t3 = <core::int*>[3];
if(!#t3.{core::Object::==}(null))
for (final core::int* #t4 in #t3)
- #t1.{core::List::add}(#t4);
+ #t1.{core::List::add}{Invariant}(#t4);
} =>#t1;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{};
- #t5.{core::Map::[]=}(1, 1);
+ #t5.{core::Map::[]=}{Invariant}(1, 1);
for (final core::MapEntry<core::int*, core::int*>* #t6 in <core::int*, core::int*>{2: 2}.{core::Map::entries})
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
final core::Map<core::int*, core::int*>* #t7 = <core::int*, core::int*>{3: 3};
if(!#t7.{core::Object::==}(null))
for (final core::MapEntry<core::int*, core::int*>* #t8 in #t7.{core::Map::entries})
- #t5.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
} =>#t5;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
- #t9.{core::Set::add}(1);
+ #t9.{core::Set::add}{Invariant}(1);
for (final core::int* #t10 in <core::int*>[2])
- #t9.{core::Set::add}(#t10);
+ #t9.{core::Set::add}{Invariant}(#t10);
final core::Iterable<core::int*>* #t11 = <core::int*>[3];
if(!#t11.{core::Object::==}(null))
for (final core::int* #t12 in #t11)
- #t9.{core::Set::add}(#t12);
+ #t9.{core::Set::add}{Invariant}(#t12);
} =>#t9;
final dynamic aSetOrMap = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart:23:21: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.transformed.expect
index f06f6bc..791309b 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.transformed.expect
@@ -14,12 +14,12 @@
static method main() → dynamic {
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[];
- #t1.{core::List::add}(1);
+ #t1.{core::List::add}{Invariant}(1);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[2].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
}
}
final core::Iterable<core::int*>* #t3 = <core::int*>[3];
@@ -27,18 +27,18 @@
core::Iterator<core::int*>* :sync-for-iterator = #t3.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t4 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t4);
+ #t1.{core::List::add}{Invariant}(#t4);
}
}
} =>#t1;
final core::Map<core::int*, core::int*>* aMap = block {
final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{};
- #t5.{core::Map::[]=}(1, 1);
+ #t5.{core::Map::[]=}{Invariant}(1, 1);
{
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{2: 2}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
}
}
final core::Map<core::int*, core::int*>* #t7 = <core::int*, core::int*>{3: 3};
@@ -46,18 +46,18 @@
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t7.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t8 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
}
}
} =>#t5;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t9.{core::Set::add}(1);
+ #t9.{core::Set::add}{Invariant}(1);
{
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[2].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t10 = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::Set::add}(#t10);
+ #t9.{core::Set::add}{Invariant}(#t10);
}
}
final core::Iterable<core::int*>* #t11 = <core::int*>[3];
@@ -65,7 +65,7 @@
core::Iterator<core::int*>* :sync-for-iterator = #t11.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t12 = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::Set::add}(#t12);
+ #t9.{core::Set::add}{Invariant}(#t12);
}
}
} =>#t9;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.expect
index 51ab54a..6d91849 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.expect
@@ -112,68 +112,68 @@
core::List<dynamic>* lhs10 = block {
final core::List<dynamic>* #t1 = <dynamic>[];
for (final dynamic #t2 in <dynamic>[])
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
} =>#t1;
core::Set<dynamic>* set10 = block {
final core::Set<dynamic>* #t3 = col::LinkedHashSet::•<dynamic>();
for (final dynamic #t4 in <dynamic>[])
- #t3.{core::Set::add}(#t4);
+ #t3.{core::Set::add}{Invariant}(#t4);
} =>#t3;
core::Map<dynamic, dynamic>* map10 = block {
final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
for (final core::MapEntry<dynamic, dynamic>* #t6 in <dynamic, dynamic>{}.{core::Map::entries})
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
} =>#t5;
core::Map<dynamic, dynamic>* map10ambiguous = block {
final core::Map<dynamic, dynamic>* #t7 = <dynamic, dynamic>{};
for (final core::MapEntry<dynamic, dynamic>* #t8 in <dynamic, dynamic>{}.{core::Map::entries})
- #t7.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t7.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
} =>#t7;
core::List<core::int*>* lhs20 = block {
final core::List<core::int*>* #t9 = <core::int*>[];
for (final core::int* #t10 in spread)
- #t9.{core::List::add}(#t10);
+ #t9.{core::List::add}{Invariant}(#t10);
} =>#t9;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t11 = col::LinkedHashSet::•<core::int*>();
for (final core::int* #t12 in spread)
- #t11.{core::Set::add}(#t12);
- #t11.{core::Set::add}(42);
+ #t11.{core::Set::add}{Invariant}(#t12);
+ #t11.{core::Set::add}{Invariant}(42);
} =>#t11;
core::Set<core::int*>* set20ambiguous = block {
final core::Set<core::int*>* #t13 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t14 in spread) {
final core::int* #t15 = #t14 as{TypeError} core::int*;
- #t13.{core::Set::add}(#t15);
+ #t13.{core::Set::add}{Invariant}(#t15);
}
} =>#t13;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t16 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t17 in mapSpread.{core::Map::entries})
- #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
- #t16.{core::Map::[]=}("baz", 42);
+ #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t16.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t16;
core::Map<core::String*, core::int*>* map20ambiguous = block {
final core::Map<core::String*, core::int*>* #t18 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t19 in mapSpread.{core::Map::entries})
- #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
} =>#t18;
core::List<dynamic>* lhs21 = block {
final core::List<dynamic>* #t20 = <dynamic>[];
for (final dynamic #t21 in (spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t20.{core::List::add}(#t21);
+ #t20.{core::List::add}{Invariant}(#t21);
} =>#t20;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t22 = col::LinkedHashSet::•<dynamic>();
for (final dynamic #t23 in (spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t22.{core::Set::add}(#t23);
- #t22.{core::Set::add}(42);
+ #t22.{core::Set::add}{Invariant}(#t23);
+ #t22.{core::Set::add}{Invariant}(42);
} =>#t22;
core::Map<dynamic, dynamic>* map21 = block {
final core::Map<dynamic, dynamic>* #t24 = <dynamic, dynamic>{};
for (final core::MapEntry<dynamic, dynamic>* #t25 in ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries})
- #t24.{core::Map::[]=}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
- #t24.{core::Map::[]=}("baz", 42);
+ #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
+ #t24.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t24;
dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
@@ -182,48 +182,48 @@
core::List<core::int*>* lhs22 = block {
final core::List<core::int*>* #t26 = <core::int*>[];
for (final core::int* #t27 in <core::int*>[])
- #t26.{core::List::add}(#t27);
+ #t26.{core::List::add}{Invariant}(#t27);
} =>#t26;
core::Set<core::int*>* set22 = block {
final core::Set<core::int*>* #t28 = col::LinkedHashSet::•<core::int*>();
for (final core::int* #t29 in <core::int*>[])
- #t28.{core::Set::add}(#t29);
- #t28.{core::Set::add}(42);
+ #t28.{core::Set::add}{Invariant}(#t29);
+ #t28.{core::Set::add}{Invariant}(42);
} =>#t28;
core::Set<core::int*>* set22ambiguous = block {
final core::Set<core::int*>* #t30 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t31 in <core::int*>[]) {
final core::int* #t32 = #t31 as{TypeError} core::int*;
- #t30.{core::Set::add}(#t32);
+ #t30.{core::Set::add}{Invariant}(#t32);
}
} =>#t30;
core::Map<core::String*, core::int*>* map22 = block {
final core::Map<core::String*, core::int*>* #t33 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t34 in <core::String*, core::int*>{}.{core::Map::entries})
- #t33.{core::Map::[]=}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
+ #t33.{core::Map::[]=}{Invariant}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
} =>#t33;
core::List<core::List<core::int*>*>* lhs23 = block {
final core::List<core::List<core::int*>*>* #t35 = <core::List<core::int*>*>[];
for (final core::List<core::int*>* #t36 in <core::List<core::int*>*>[<core::int*>[]])
- #t35.{core::List::add}(#t36);
+ #t35.{core::List::add}{Invariant}(#t36);
} =>#t35;
core::Set<core::List<core::int*>*>* set23 = block {
final core::Set<core::List<core::int*>*>* #t37 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (final core::List<core::int*>* #t38 in <core::List<core::int*>*>[<core::int*>[]])
- #t37.{core::Set::add}(#t38);
- #t37.{core::Set::add}(<core::int*>[42]);
+ #t37.{core::Set::add}{Invariant}(#t38);
+ #t37.{core::Set::add}{Invariant}(<core::int*>[42]);
} =>#t37;
core::Set<core::List<core::int*>*>* set23ambiguous = block {
final core::Set<core::List<core::int*>*>* #t39 = col::LinkedHashSet::•<core::List<core::int*>*>();
for (final dynamic #t40 in <core::List<core::int*>*>[<core::int*>[]]) {
final core::List<core::int*>* #t41 = #t40 as{TypeError} core::List<core::int*>*;
- #t39.{core::Set::add}(#t41);
+ #t39.{core::Set::add}{Invariant}(#t41);
}
} =>#t39;
core::Map<core::String*, core::List<core::int*>*>* map23 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 in <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries})
- #t42.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
} =>#t42;
dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
dynamic map24ambiguous = {...spread, ...mapSpread};
@@ -234,7 +234,7 @@
^" in ( block {
final core::List<core::int*>* #t45 = <core::int*>[];
for (final core::int* #t46 in spread)
- #t45.{core::List::add}(#t46);
+ #t45.{core::List::add}{Invariant}(#t46);
} =>#t45) as{TypeError} core::int*;
core::int* set30 = let final<BottomType> #t47 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:102:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
@@ -242,8 +242,8 @@
^" in ( block {
final core::Set<core::int*>* #t48 = col::LinkedHashSet::•<core::int*>();
for (final core::int* #t49 in spread)
- #t48.{core::Set::add}(#t49);
- #t48.{core::Set::add}(42);
+ #t48.{core::Set::add}{Invariant}(#t49);
+ #t48.{core::Set::add}{Invariant}(42);
} =>#t48) as{TypeError} core::int*;
core::int* set30ambiguous = let final<BottomType> #t50 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
@@ -252,7 +252,7 @@
final core::Set<core::int*>* #t51 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t52 in spread) {
final core::int* #t53 = #t52 as{TypeError} core::int*;
- #t51.{core::Set::add}(#t53);
+ #t51.{core::Set::add}{Invariant}(#t53);
}
} =>#t51) as{TypeError} core::int*;
core::int* map30 = let final<BottomType> #t54 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
@@ -261,8 +261,8 @@
^" in ( block {
final core::Map<core::String*, core::int*>* #t55 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t56 in mapSpread.{core::Map::entries})
- #t55.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
- #t55.{core::Map::[]=}("baz", 42);
+ #t55.{core::Map::[]=}{Invariant}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
+ #t55.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t55) as{TypeError} core::int*;
core::int* map30ambiguous = let final<BottomType> #t57 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
@@ -270,14 +270,14 @@
^" in ( block {
final core::Map<core::String*, core::int*>* #t58 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t59 in mapSpread.{core::Map::entries})
- #t58.{core::Map::[]=}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
+ #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
} =>#t58) as{TypeError} core::int*;
core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
^"];
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t60 = col::LinkedHashSet::•<dynamic>();
- #t60.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ #t60.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
^");
} =>#t60;
@@ -289,7 +289,7 @@
^"];
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t61 = col::LinkedHashSet::•<dynamic>();
- #t61.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ #t61.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
^");
} =>#t61;
@@ -301,7 +301,7 @@
^"];
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t62 = col::LinkedHashSet::•<core::String*>();
- #t62.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ #t62.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^");
} =>#t62;
@@ -316,18 +316,18 @@
^"];
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t63 = col::LinkedHashSet::•<core::int*>();
- #t63.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
+ #t63.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
^");
} =>#t63;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t64 = col::LinkedHashSet::•<dynamic>();
- #t64.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Expected ',' before this.
+ #t64.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Expected ',' before this.
...null,
^");
for (final dynamic #t65 in <dynamic>[]) {
final dynamic #t66 = #t65 as{TypeError} dynamic;
- #t64.{core::Set::add}(#t66);
+ #t64.{core::Set::add}{Invariant}(#t66);
}
} =>#t64;
core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
@@ -338,14 +338,14 @@
final core::Iterable<core::int*>* #t68 = null;
if(!#t68.{core::Object::==}(null))
for (final core::int* #t69 in #t68)
- #t67.{core::List::add}(#t69);
+ #t67.{core::List::add}{Invariant}(#t69);
} =>#t67;
core::Set<core::int*>* set80 = block {
final core::Set<core::int*>* #t70 = col::LinkedHashSet::•<core::int*>();
final core::Iterable<core::int*>* #t71 = null;
if(!#t71.{core::Object::==}(null))
for (final core::int* #t72 in #t71)
- #t70.{core::Set::add}(#t72);
+ #t70.{core::Set::add}{Invariant}(#t72);
} =>#t70;
core::Set<dynamic>* set81ambiguous = block {
final core::Set<dynamic>* #t73 = col::LinkedHashSet::•<dynamic>();
@@ -353,11 +353,11 @@
if(!#t74.{core::Object::==}(null))
for (final dynamic #t75 in #t74) {
final dynamic #t76 = #t75 as{TypeError} dynamic;
- #t73.{core::Set::add}(#t76);
+ #t73.{core::Set::add}{Invariant}(#t76);
}
for (final dynamic #t77 in <dynamic>[]) {
final dynamic #t78 = #t77 as{TypeError} dynamic;
- #t73.{core::Set::add}(#t78);
+ #t73.{core::Set::add}{Invariant}(#t78);
}
} =>#t73;
core::Map<core::String*, core::int*>* map80 = block {
@@ -365,18 +365,18 @@
final core::Map<core::String*, core::int*>* #t80 = null;
if(!#t80.{core::Object::==}(null))
for (final core::MapEntry<core::String*, core::int*>* #t81 in #t80.{core::Map::entries})
- #t79.{core::Map::[]=}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
+ #t79.{core::Map::[]=}{Invariant}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
} =>#t79;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t82 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t83 in self::bar<core::String*, core::int*>().{core::Map::entries})
- #t82.{core::Map::[]=}(#t83.{core::MapEntry::key}, #t83.{core::MapEntry::value});
+ #t82.{core::Map::[]=}{Invariant}(#t83.{core::MapEntry::key}, #t83.{core::MapEntry::value});
} =>#t82;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t84 = <core::int*>[];
for (final dynamic #t85 in listNum) {
final core::int* #t86 = #t85 as{TypeError} core::int*;
- #t84.{core::List::add}(#t86);
+ #t84.{core::List::add}{Invariant}(#t86);
}
} =>#t84;
core::Map<core::num*, core::int*>* map100 = block {
@@ -384,14 +384,14 @@
for (final core::MapEntry<dynamic, dynamic>* #t88 in mapIntNum.{core::Map::entries}) {
final core::num* #t89 = #t88.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t90 = #t88.{core::MapEntry::value} as{TypeError} core::int*;
- #t87.{core::Map::[]=}(#t89, #t90);
+ #t87.{core::Map::[]=}{Invariant}(#t89, #t90);
}
} =>#t87;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t91 = <core::int*>[];
for (final dynamic #t92 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t93 = #t92 as{TypeError} core::int*;
- #t91.{core::List::add}(#t93);
+ #t91.{core::List::add}{Invariant}(#t93);
}
} =>#t91;
core::Map<core::num*, core::int*>* map110 = block {
@@ -399,7 +399,7 @@
for (final core::MapEntry<dynamic, dynamic>* #t95 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::num* #t96 = #t95.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t97 = #t95.{core::MapEntry::value} as{TypeError} core::int*;
- #t94.{core::Map::[]=}(#t96, #t97);
+ #t94.{core::Map::[]=}{Invariant}(#t96, #t97);
}
} =>#t94;
}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.transformed.expect
index 8ba5c53..4cafcc2 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.transformed.expect
@@ -115,7 +115,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
}
}
} =>#t1;
@@ -125,7 +125,7 @@
core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Set::add}(#t4);
+ #t3.{core::Set::add}{Invariant}(#t4);
}
}
} =>#t3;
@@ -135,7 +135,7 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
}
}
} =>#t5;
@@ -145,7 +145,7 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t8 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t7.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
}
}
} =>#t7;
@@ -155,7 +155,7 @@
core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t10 = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::List::add}(#t10);
+ #t9.{core::List::add}{Invariant}(#t10);
}
}
} =>#t9;
@@ -165,10 +165,10 @@
core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t12 = :sync-for-iterator.{core::Iterator::current};
- #t11.{core::Set::add}(#t12);
+ #t11.{core::Set::add}{Invariant}(#t12);
}
}
- #t11.{core::Set::add}(42);
+ #t11.{core::Set::add}{Invariant}(42);
} =>#t11;
core::Set<core::int*>* set20ambiguous = block {
final core::Set<core::int*>* #t13 = new col::_CompactLinkedHashSet::•<core::int*>();
@@ -178,7 +178,7 @@
final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t15 = #t14 as{TypeError} core::int*;
- #t13.{core::Set::add}(#t15);
+ #t13.{core::Set::add}{Invariant}(#t15);
}
}
}
@@ -189,10 +189,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t17 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
}
}
- #t16.{core::Map::[]=}("baz", 42);
+ #t16.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t16;
core::Map<core::String*, core::int*>* map20ambiguous = block {
final core::Map<core::String*, core::int*>* #t18 = <core::String*, core::int*>{};
@@ -200,7 +200,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t19 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
}
}
} =>#t18;
@@ -210,7 +210,7 @@
core::Iterator<dynamic>* :sync-for-iterator = ((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t21 = :sync-for-iterator.{core::Iterator::current};
- #t20.{core::List::add}(#t21);
+ #t20.{core::List::add}{Invariant}(#t21);
}
}
} =>#t20;
@@ -220,10 +220,10 @@
core::Iterator<dynamic>* :sync-for-iterator = ((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::Set::add}(#t23);
+ #t22.{core::Set::add}{Invariant}(#t23);
}
}
- #t22.{core::Set::add}(42);
+ #t22.{core::Set::add}{Invariant}(42);
} =>#t22;
core::Map<dynamic, dynamic>* map21 = block {
final core::Map<dynamic, dynamic>* #t24 = <dynamic, dynamic>{};
@@ -231,10 +231,10 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t25 = :sync-for-iterator.{core::Iterator::current};
- #t24.{core::Map::[]=}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
+ #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
}
}
- #t24.{core::Map::[]=}("baz", 42);
+ #t24.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t24;
dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
@@ -246,7 +246,7 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t27 = :sync-for-iterator.{core::Iterator::current};
- #t26.{core::List::add}(#t27);
+ #t26.{core::List::add}{Invariant}(#t27);
}
}
} =>#t26;
@@ -256,10 +256,10 @@
core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t29 = :sync-for-iterator.{core::Iterator::current};
- #t28.{core::Set::add}(#t29);
+ #t28.{core::Set::add}{Invariant}(#t29);
}
}
- #t28.{core::Set::add}(42);
+ #t28.{core::Set::add}{Invariant}(42);
} =>#t28;
core::Set<core::int*>* set22ambiguous = block {
final core::Set<core::int*>* #t30 = new col::_CompactLinkedHashSet::•<core::int*>();
@@ -269,7 +269,7 @@
final dynamic #t31 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t32 = #t31 as{TypeError} core::int*;
- #t30.{core::Set::add}(#t32);
+ #t30.{core::Set::add}{Invariant}(#t32);
}
}
}
@@ -280,7 +280,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t34 = :sync-for-iterator.{core::Iterator::current};
- #t33.{core::Map::[]=}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
+ #t33.{core::Map::[]=}{Invariant}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
}
}
} =>#t33;
@@ -290,7 +290,7 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t36 = :sync-for-iterator.{core::Iterator::current};
- #t35.{core::List::add}(#t36);
+ #t35.{core::List::add}{Invariant}(#t36);
}
}
} =>#t35;
@@ -300,10 +300,10 @@
core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::List<core::int*>* #t38 = :sync-for-iterator.{core::Iterator::current};
- #t37.{core::Set::add}(#t38);
+ #t37.{core::Set::add}{Invariant}(#t38);
}
}
- #t37.{core::Set::add}(<core::int*>[42]);
+ #t37.{core::Set::add}{Invariant}(<core::int*>[42]);
} =>#t37;
core::Set<core::List<core::int*>*>* set23ambiguous = block {
final core::Set<core::List<core::int*>*>* #t39 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
@@ -313,7 +313,7 @@
final dynamic #t40 = :sync-for-iterator.{core::Iterator::current};
{
final core::List<core::int*>* #t41 = #t40 as{TypeError} core::List<core::int*>*;
- #t39.{core::Set::add}(#t41);
+ #t39.{core::Set::add}{Invariant}(#t41);
}
}
}
@@ -324,7 +324,7 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 = :sync-for-iterator.{core::Iterator::current};
- #t42.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
}
}
} =>#t42;
@@ -340,7 +340,7 @@
core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t46 = :sync-for-iterator.{core::Iterator::current};
- #t45.{core::List::add}(#t46);
+ #t45.{core::List::add}{Invariant}(#t46);
}
}
} =>#t45) as{TypeError} core::int*;
@@ -353,10 +353,10 @@
core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t49 = :sync-for-iterator.{core::Iterator::current};
- #t48.{core::Set::add}(#t49);
+ #t48.{core::Set::add}{Invariant}(#t49);
}
}
- #t48.{core::Set::add}(42);
+ #t48.{core::Set::add}{Invariant}(42);
} =>#t48) as{TypeError} core::int*;
core::int* set30ambiguous = let final<BottomType> #t50 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
@@ -369,7 +369,7 @@
final dynamic #t52 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t53 = #t52 as{TypeError} core::int*;
- #t51.{core::Set::add}(#t53);
+ #t51.{core::Set::add}{Invariant}(#t53);
}
}
}
@@ -383,10 +383,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t56 = :sync-for-iterator.{core::Iterator::current};
- #t55.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
+ #t55.{core::Map::[]=}{Invariant}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
}
}
- #t55.{core::Map::[]=}("baz", 42);
+ #t55.{core::Map::[]=}{Invariant}("baz", 42);
} =>#t55) as{TypeError} core::int*;
core::int* map30ambiguous = let final<BottomType> #t57 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
@@ -397,7 +397,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t59 = :sync-for-iterator.{core::Iterator::current};
- #t58.{core::Map::[]=}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
+ #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
}
}
} =>#t58) as{TypeError} core::int*;
@@ -406,7 +406,7 @@
^"];
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t60 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t60.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ #t60.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
^");
} =>#t60;
@@ -418,7 +418,7 @@
^"];
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t61 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t61.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ #t61.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
^");
} =>#t61;
@@ -430,7 +430,7 @@
^"];
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t62 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t62.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ #t62.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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};
^");
} =>#t62;
@@ -445,13 +445,13 @@
^"];
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t63 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t63.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
+ #t63.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
^");
} =>#t63;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t64 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t64.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Expected ',' before this.
+ #t64.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Expected ',' before this.
...null,
^");
{
@@ -460,7 +460,7 @@
final dynamic #t65 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t66 = #t65 as{TypeError} dynamic;
- #t64.{core::Set::add}(#t66);
+ #t64.{core::Set::add}{Invariant}(#t66);
}
}
}
@@ -475,7 +475,7 @@
core::Iterator<core::int*>* :sync-for-iterator = #t68.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t69 = :sync-for-iterator.{core::Iterator::current};
- #t67.{core::List::add}(#t69);
+ #t67.{core::List::add}{Invariant}(#t69);
}
}
} =>#t67;
@@ -486,7 +486,7 @@
core::Iterator<core::int*>* :sync-for-iterator = #t71.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int* #t72 = :sync-for-iterator.{core::Iterator::current};
- #t70.{core::Set::add}(#t72);
+ #t70.{core::Set::add}{Invariant}(#t72);
}
}
} =>#t70;
@@ -499,7 +499,7 @@
final dynamic #t75 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t76 = #t75 as{TypeError} dynamic;
- #t73.{core::Set::add}(#t76);
+ #t73.{core::Set::add}{Invariant}(#t76);
}
}
}
@@ -509,7 +509,7 @@
final dynamic #t77 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t78 = #t77 as{TypeError} dynamic;
- #t73.{core::Set::add}(#t78);
+ #t73.{core::Set::add}{Invariant}(#t78);
}
}
}
@@ -521,7 +521,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = #t80.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t81 = :sync-for-iterator.{core::Iterator::current};
- #t79.{core::Map::[]=}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
+ #t79.{core::Map::[]=}{Invariant}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
}
}
} =>#t79;
@@ -531,7 +531,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = self::bar<core::String*, core::int*>().{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t83 = :sync-for-iterator.{core::Iterator::current};
- #t82.{core::Map::[]=}(#t83.{core::MapEntry::key}, #t83.{core::MapEntry::value});
+ #t82.{core::Map::[]=}{Invariant}(#t83.{core::MapEntry::key}, #t83.{core::MapEntry::value});
}
}
} =>#t82;
@@ -543,7 +543,7 @@
final dynamic #t85 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t86 = #t85 as{TypeError} core::int*;
- #t84.{core::List::add}(#t86);
+ #t84.{core::List::add}{Invariant}(#t86);
}
}
}
@@ -557,7 +557,7 @@
{
final core::num* #t89 = #t88.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t90 = #t88.{core::MapEntry::value} as{TypeError} core::int*;
- #t87.{core::Map::[]=}(#t89, #t90);
+ #t87.{core::Map::[]=}{Invariant}(#t89, #t90);
}
}
}
@@ -570,7 +570,7 @@
final dynamic #t92 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t93 = #t92 as{TypeError} core::int*;
- #t91.{core::List::add}(#t93);
+ #t91.{core::List::add}{Invariant}(#t93);
}
}
}
@@ -584,7 +584,7 @@
{
final core::num* #t96 = #t95.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t97 = #t95.{core::MapEntry::value} as{TypeError} core::int*;
- #t94.{core::Map::[]=}(#t96, #t97);
+ #t94.{core::Map::[]=}{Invariant}(#t96, #t97);
}
}
}
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_22.yaml.world.1.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_22.yaml.world.1.expect
index 93245f5..994228a 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_22.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_22.yaml.world.1.expect
@@ -322,14 +322,14 @@
dart.core::Iterator<dart.core::int*> :sync-for-iterator = this.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
final dart.core::int* #t6 = :sync-for-iterator.{dart.core::Iterator::current};
- #t5.{dart.core::List::add}(#t6);
+ #t5.{dart.core::List::add}{Invariant}(#t6);
}
}
{
dart.core::Iterator<dart.core::int*> :sync-for-iterator = other.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
final dart.core::int* #t7 = :sync-for-iterator.{dart.core::Iterator::current};
- #t5.{dart.core::List::add}(#t7);
+ #t5.{dart.core::List::add}{Invariant}(#t7);
}
}
} =>#t5;
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_22.yaml.world.2.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_22.yaml.world.2.expect
index 93245f5..994228a 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_22.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_22.yaml.world.2.expect
@@ -322,14 +322,14 @@
dart.core::Iterator<dart.core::int*> :sync-for-iterator = this.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
final dart.core::int* #t6 = :sync-for-iterator.{dart.core::Iterator::current};
- #t5.{dart.core::List::add}(#t6);
+ #t5.{dart.core::List::add}{Invariant}(#t6);
}
}
{
dart.core::Iterator<dart.core::int*> :sync-for-iterator = other.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
final dart.core::int* #t7 = :sync-for-iterator.{dart.core::Iterator::current};
- #t5.{dart.core::List::add}(#t7);
+ #t5.{dart.core::List::add}{Invariant}(#t7);
}
}
} =>#t5;
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.strong.expect b/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
index 0c77ea3..1876a7a 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
@@ -127,7 +127,7 @@
block {
final core::List<core::int> #t7 = <core::int>[];
for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t7.{core::List::add}(i);
+ #t7.{core::List::add}{Invariant}(i);
} =>#t7;
}
static method hest() → dynamic async {
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
index 23a4434..d9e572e 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
@@ -133,7 +133,7 @@
block {
final core::List<core::int> #t7 = <core::int>[];
for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t7.{core::List::add}(i);
+ #t7.{core::List::add}{Invariant}(i);
} =>#t7;
}
static method hest() → dynamic /* originally async */ {
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
index 89130dc..267e384 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
@@ -147,7 +147,7 @@
block {
final core::List<core::int> #t7 = <core::int>[];
for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t7.{core::List::add}(i);
+ #t7.{core::List::add}{Invariant}(i);
} =>#t7;
}
static method hest() → dynamic async {
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
index 03aa850..abfa48e 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
@@ -153,7 +153,7 @@
block {
final core::List<core::int> #t7 = <core::int>[];
for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t7.{core::List::add}(i);
+ #t7.{core::List::add}{Invariant}(i);
} =>#t7;
}
static method hest() → dynamic /* originally async */ {
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.strong.expect b/pkg/front_end/testcases/nnbd/forin.dart.strong.expect
index d772415..0d3c0c9 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.strong.expect
@@ -63,7 +63,7 @@
- 'Iterable' is from 'dart:core'.
[for (int x in i2) x];
^" in i2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t2.{core::List::add}(x);
+ #t2.{core::List::add}{Invariant}(x);
} =>#t2;
for (core::int x in let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:12:17: Error: The type 'List<int>?' used in the 'for' loop must implement 'Iterable<dynamic>' because 'List<int>?' is nullable and 'Iterable<dynamic>' isn't.
- 'List' is from 'dart:core'.
@@ -78,7 +78,7 @@
- 'Iterable' is from 'dart:core'.
[for (int x in l2) x];
^" in l2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t5.{core::List::add}(x);
+ #t5.{core::List::add}{Invariant}(x);
} =>#t5;
for (final dynamic #t7 in let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:15:17: Error: The type 'Object' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Object' is from 'dart:core'.
@@ -96,7 +96,7 @@
[for (int x in o1) x];
^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t10 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t9.{core::List::add}(x);
+ #t9.{core::List::add}{Invariant}(x);
}
} =>#t9;
for (final dynamic #t12 in let final<BottomType> #t13 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:18:17: Error: The type 'Object?' used in the 'for' loop must implement 'Iterable<dynamic>'.
@@ -115,7 +115,7 @@
[for (int x in o2) x];
^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t15 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t14.{core::List::add}(x);
+ #t14.{core::List::add}{Invariant}(x);
}
} =>#t14;
}
@@ -125,14 +125,14 @@
block {
final core::List<core::int> #t17 = <core::int>[];
for (core::int x in i1)
- #t17.{core::List::add}(x);
+ #t17.{core::List::add}{Invariant}(x);
} =>#t17;
for (core::int x in l1)
x;
block {
final core::List<core::int> #t18 = <core::int>[];
for (core::int x in l1)
- #t18.{core::List::add}(x);
+ #t18.{core::List::add}{Invariant}(x);
} =>#t18;
for (final dynamic #t19 in d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t19 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
@@ -142,7 +142,7 @@
final core::List<core::int> #t20 = <core::int>[];
for (final dynamic #t21 in d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t21 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t20.{core::List::add}(x);
+ #t20.{core::List::add}{Invariant}(x);
}
} =>#t20;
}
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect
index 46e52d4..a4e5658 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect
@@ -71,7 +71,7 @@
^" in let core::Iterable<core::int>? #t5 = i2 in #t5.==(null) ?{core::Iterable<dynamic>} #t5 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t5{core::Iterable<dynamic>}).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::List::add}(x);
+ #t3.{core::List::add}{Invariant}(x);
}
}
} =>#t3;
@@ -96,7 +96,7 @@
^" in let core::List<core::int>? #t10 = l2 in #t10.==(null) ?{core::Iterable<dynamic>} #t10 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t10{core::Iterable<dynamic>}).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t8.{core::List::add}(x);
+ #t8.{core::List::add}{Invariant}(x);
}
}
} =>#t8;
@@ -126,7 +126,7 @@
final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t15 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t13.{core::List::add}(x);
+ #t13.{core::List::add}{Invariant}(x);
}
}
}
@@ -157,7 +157,7 @@
final dynamic #t20 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t20 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t18.{core::List::add}(x);
+ #t18.{core::List::add}{Invariant}(x);
}
}
}
@@ -177,7 +177,7 @@
core::Iterator<core::int> :sync-for-iterator = i1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t21.{core::List::add}(x);
+ #t21.{core::List::add}{Invariant}(x);
}
}
} =>#t21;
@@ -194,7 +194,7 @@
core::Iterator<core::int> :sync-for-iterator = l1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::List::add}(x);
+ #t22.{core::List::add}{Invariant}(x);
}
}
} =>#t22;
@@ -216,7 +216,7 @@
final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t25 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t24.{core::List::add}(x);
+ #t24.{core::List::add}{Invariant}(x);
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.weak.expect b/pkg/front_end/testcases/nnbd/forin.dart.weak.expect
index d772415..0d3c0c9 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.weak.expect
@@ -63,7 +63,7 @@
- 'Iterable' is from 'dart:core'.
[for (int x in i2) x];
^" in i2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t2.{core::List::add}(x);
+ #t2.{core::List::add}{Invariant}(x);
} =>#t2;
for (core::int x in let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:12:17: Error: The type 'List<int>?' used in the 'for' loop must implement 'Iterable<dynamic>' because 'List<int>?' is nullable and 'Iterable<dynamic>' isn't.
- 'List' is from 'dart:core'.
@@ -78,7 +78,7 @@
- 'Iterable' is from 'dart:core'.
[for (int x in l2) x];
^" in l2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t5.{core::List::add}(x);
+ #t5.{core::List::add}{Invariant}(x);
} =>#t5;
for (final dynamic #t7 in let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:15:17: Error: The type 'Object' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Object' is from 'dart:core'.
@@ -96,7 +96,7 @@
[for (int x in o1) x];
^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t10 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t9.{core::List::add}(x);
+ #t9.{core::List::add}{Invariant}(x);
}
} =>#t9;
for (final dynamic #t12 in let final<BottomType> #t13 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:18:17: Error: The type 'Object?' used in the 'for' loop must implement 'Iterable<dynamic>'.
@@ -115,7 +115,7 @@
[for (int x in o2) x];
^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t15 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t14.{core::List::add}(x);
+ #t14.{core::List::add}{Invariant}(x);
}
} =>#t14;
}
@@ -125,14 +125,14 @@
block {
final core::List<core::int> #t17 = <core::int>[];
for (core::int x in i1)
- #t17.{core::List::add}(x);
+ #t17.{core::List::add}{Invariant}(x);
} =>#t17;
for (core::int x in l1)
x;
block {
final core::List<core::int> #t18 = <core::int>[];
for (core::int x in l1)
- #t18.{core::List::add}(x);
+ #t18.{core::List::add}{Invariant}(x);
} =>#t18;
for (final dynamic #t19 in d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t19 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
@@ -142,7 +142,7 @@
final core::List<core::int> #t20 = <core::int>[];
for (final dynamic #t21 in d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t21 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t20.{core::List::add}(x);
+ #t20.{core::List::add}{Invariant}(x);
}
} =>#t20;
}
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect
index b8054bf..43b2e84 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect
@@ -71,7 +71,7 @@
^" in i2).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t2.{core::List::add}(x);
+ #t2.{core::List::add}{Invariant}(x);
}
}
} =>#t2;
@@ -96,7 +96,7 @@
^" in l2).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::List::add}(x);
+ #t5.{core::List::add}{Invariant}(x);
}
}
} =>#t5;
@@ -126,7 +126,7 @@
final dynamic #t11 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t11 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t9.{core::List::add}(x);
+ #t9.{core::List::add}{Invariant}(x);
}
}
}
@@ -157,7 +157,7 @@
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t16 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t14.{core::List::add}(x);
+ #t14.{core::List::add}{Invariant}(x);
}
}
}
@@ -177,7 +177,7 @@
core::Iterator<core::int> :sync-for-iterator = i1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t17.{core::List::add}(x);
+ #t17.{core::List::add}{Invariant}(x);
}
}
} =>#t17;
@@ -194,7 +194,7 @@
core::Iterator<core::int> :sync-for-iterator = l1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::List::add}(x);
+ #t18.{core::List::add}{Invariant}(x);
}
}
} =>#t18;
@@ -216,7 +216,7 @@
final dynamic #t21 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t21 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t20.{core::List::add}(x);
+ #t20.{core::List::add}{Invariant}(x);
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
index ec865de..e18d2d3 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
@@ -82,14 +82,14 @@
core::List<Never> l1 = block {
final core::List<Never> #t1 = <Never>[];
for (final Never #t2 in n1)
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
} =>#t1;
core::List<Never> l2 = block {
final core::List<Never> #t3 = <Never>[];
final core::Iterable<Never>? #t4 = n1;
if(!#t4.{core::Object::==}(null))
for (final Never #t5 in #t4{core::Iterable<Never>})
- #t3.{core::List::add}(#t5);
+ #t3.{core::List::add}{Invariant}(#t5);
} =>#t3;
core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:8:16: Error: Can't spread a value with static type 'Never?'.
var l3 = [...n2];
@@ -99,7 +99,7 @@
final core::Iterable<Never>? #t7 = n2;
if(!#t7.{core::Object::==}(null))
for (final Never #t8 in #t7{core::Iterable<Never>})
- #t6.{core::List::add}(#t8);
+ #t6.{core::List::add}{Invariant}(#t8);
} =>#t6;
core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:10:16: Error: Can't spread a value with static type 'Null'.
var l5 = [...n3];
@@ -109,65 +109,65 @@
final core::Iterable<Never>? #t10 = n3;
if(!#t10.{core::Object::==}(null))
for (final Never #t11 in #t10{core::Iterable<Never>})
- #t9.{core::List::add}(#t11);
+ #t9.{core::List::add}{Invariant}(#t11);
} =>#t9;
core::Set<Never> s1 = block {
final core::Set<Never> #t12 = col::LinkedHashSet::•<Never>();
for (final Never #t13 in n1)
- #t12.{core::Set::add}(#t13);
- #t12.{core::Set::add}(n1);
+ #t12.{core::Set::add}{Invariant}(#t13);
+ #t12.{core::Set::add}{Invariant}(n1);
} =>#t12;
core::Set<Never> s2 = block {
final core::Set<Never> #t14 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t15 = n1;
if(!#t15.{core::Object::==}(null))
for (final Never #t16 in #t15{core::Iterable<Never>})
- #t14.{core::Set::add}(#t16);
- #t14.{core::Set::add}(n1);
+ #t14.{core::Set::add}{Invariant}(#t16);
+ #t14.{core::Set::add}{Invariant}(n1);
} =>#t14;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t17 = col::LinkedHashSet::•<dynamic>();
- #t17.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
+ #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};
^");
- #t17.{core::Set::add}(n1);
+ #t17.{core::Set::add}{Invariant}(n1);
} =>#t17;
core::Set<Never> s4 = block {
final core::Set<Never> #t18 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t19 = n2;
if(!#t19.{core::Object::==}(null))
for (final Never #t20 in #t19{core::Iterable<Never>})
- #t18.{core::Set::add}(#t20);
- #t18.{core::Set::add}(n1);
+ #t18.{core::Set::add}{Invariant}(#t20);
+ #t18.{core::Set::add}{Invariant}(n1);
} =>#t18;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t21 = col::LinkedHashSet::•<dynamic>();
- #t21.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
+ #t21.{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};
^");
- #t21.{core::Set::add}(n1);
+ #t21.{core::Set::add}{Invariant}(n1);
} =>#t21;
core::Set<Never> s6 = block {
final core::Set<Never> #t22 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t23 = n3;
if(!#t23.{core::Object::==}(null))
for (final Never #t24 in #t23{core::Iterable<Never>})
- #t22.{core::Set::add}(#t24);
- #t22.{core::Set::add}(n1);
+ #t22.{core::Set::add}{Invariant}(#t24);
+ #t22.{core::Set::add}{Invariant}(n1);
} =>#t22;
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t25 = <Never, Never>{};
for (final core::MapEntry<Never, Never> #t26 in n1.{core::Map::entries})
- #t25.{core::Map::[]=}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value});
- #t25.{core::Map::[]=}(n1, n1);
+ #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value});
+ #t25.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t25;
core::Map<Never, Never> m2 = block {
final core::Map<Never, Never> #t27 = <Never, Never>{};
final core::Map<Never, Never>? #t28 = n1;
if(!#t28.{core::Object::==}(null))
for (final core::MapEntry<Never, Never> #t29 in #t28{core::Map<Never, Never>}.{core::Map::entries})
- #t27.{core::Map::[]=}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value});
- #t27.{core::Map::[]=}(n1, n1);
+ #t27.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value});
+ #t27.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t27;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
var m3 = {...n2, n1: n1};
@@ -177,8 +177,8 @@
final core::Map<Never, Never>? #t31 = n2;
if(!#t31.{core::Object::==}(null))
for (final core::MapEntry<Never, Never> #t32 in #t31{core::Map<Never, Never>}.{core::Map::entries})
- #t30.{core::Map::[]=}(#t32.{core::MapEntry::key}, #t32.{core::MapEntry::value});
- #t30.{core::Map::[]=}(n1, n1);
+ #t30.{core::Map::[]=}{Invariant}(#t32.{core::MapEntry::key}, #t32.{core::MapEntry::value});
+ #t30.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t30;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
var m5 = {...n3, n1: n1};
@@ -188,22 +188,22 @@
final core::Map<Never, Never>? #t34 = n3;
if(!#t34.{core::Object::==}(null))
for (final core::MapEntry<Never, Never> #t35 in #t34{core::Map<Never, Never>}.{core::Map::entries})
- #t33.{core::Map::[]=}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value});
- #t33.{core::Map::[]=}(n1, n1);
+ #t33.{core::Map::[]=}{Invariant}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value});
+ #t33.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t33;
}
static method test2<N1 extends Never = Never, N2 extends Never? = Never?, N3 extends Null = Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
core::List<Never> l1 = block {
final core::List<Never> #t36 = <Never>[];
for (final Never #t37 in n1)
- #t36.{core::List::add}(#t37);
+ #t36.{core::List::add}{Invariant}(#t37);
} =>#t36;
core::List<Never> l2 = block {
final core::List<Never> #t38 = <Never>[];
final core::Iterable<Never>? #t39 = n1;
if(!#t39.{core::Object::==}(null))
for (final Never #t40 in #t39{core::Iterable<Never>})
- #t38.{core::List::add}(#t40);
+ #t38.{core::List::add}{Invariant}(#t40);
} =>#t38;
core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
var l3 = [...n2];
@@ -213,7 +213,7 @@
final core::Iterable<Never>? #t42 = n2;
if(!#t42.{core::Object::==}(null))
for (final Never #t43 in #t42{core::Iterable<Never>})
- #t41.{core::List::add}(#t43);
+ #t41.{core::List::add}{Invariant}(#t43);
} =>#t41;
core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
var l5 = [...n3];
@@ -223,65 +223,65 @@
final core::Iterable<Never>? #t45 = n3;
if(!#t45.{core::Object::==}(null))
for (final Never #t46 in #t45{core::Iterable<Never>})
- #t44.{core::List::add}(#t46);
+ #t44.{core::List::add}{Invariant}(#t46);
} =>#t44;
core::Set<self::test2::N1> s1 = block {
final core::Set<self::test2::N1> #t47 = col::LinkedHashSet::•<self::test2::N1>();
for (final self::test2::N1 #t48 in n1)
- #t47.{core::Set::add}(#t48);
- #t47.{core::Set::add}(n1);
+ #t47.{core::Set::add}{Invariant}(#t48);
+ #t47.{core::Set::add}{Invariant}(n1);
} =>#t47;
core::Set<self::test2::N1> s2 = block {
final core::Set<self::test2::N1> #t49 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t50 = n1;
if(!#t50.{core::Object::==}(null))
for (final self::test2::N1 #t51 in #t50{core::Iterable<self::test2::N1>})
- #t49.{core::Set::add}(#t51);
- #t49.{core::Set::add}(n1);
+ #t49.{core::Set::add}{Invariant}(#t51);
+ #t49.{core::Set::add}{Invariant}(n1);
} =>#t49;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t52 = col::LinkedHashSet::•<dynamic>();
- #t52.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+ #t52.{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};
^");
- #t52.{core::Set::add}(n1);
+ #t52.{core::Set::add}{Invariant}(n1);
} =>#t52;
core::Set<self::test2::N1> s4 = block {
final core::Set<self::test2::N1> #t53 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t54 = n2;
if(!#t54.{core::Object::==}(null))
for (final self::test2::N1 #t55 in #t54{core::Iterable<self::test2::N1>})
- #t53.{core::Set::add}(#t55);
- #t53.{core::Set::add}(n1);
+ #t53.{core::Set::add}{Invariant}(#t55);
+ #t53.{core::Set::add}{Invariant}(n1);
} =>#t53;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t56 = col::LinkedHashSet::•<dynamic>();
- #t56.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+ #t56.{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};
^");
- #t56.{core::Set::add}(n1);
+ #t56.{core::Set::add}{Invariant}(n1);
} =>#t56;
core::Set<self::test2::N1> s6 = block {
final core::Set<self::test2::N1> #t57 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t58 = n3;
if(!#t58.{core::Object::==}(null))
for (final self::test2::N1 #t59 in #t58{core::Iterable<self::test2::N1>})
- #t57.{core::Set::add}(#t59);
- #t57.{core::Set::add}(n1);
+ #t57.{core::Set::add}{Invariant}(#t59);
+ #t57.{core::Set::add}{Invariant}(n1);
} =>#t57;
core::Map<self::test2::N1, self::test2::N1> m1 = block {
final core::Map<self::test2::N1, self::test2::N1> #t60 = <self::test2::N1, self::test2::N1>{};
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t61 in n1.{core::Map::entries})
- #t60.{core::Map::[]=}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
- #t60.{core::Map::[]=}(n1, n1);
+ #t60.{core::Map::[]=}{Invariant}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
+ #t60.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t60;
core::Map<self::test2::N1, self::test2::N1> m2 = block {
final core::Map<self::test2::N1, self::test2::N1> #t62 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t63 = n1;
if(!#t63.{core::Object::==}(null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t64 in #t63{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t62.{core::Map::[]=}(#t64.{core::MapEntry::key}, #t64.{core::MapEntry::value});
- #t62.{core::Map::[]=}(n1, n1);
+ #t62.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}, #t64.{core::MapEntry::value});
+ #t62.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t62;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
var m3 = {...n2, n1: n1};
@@ -291,8 +291,8 @@
final core::Map<self::test2::N1, self::test2::N1>? #t66 = n2;
if(!#t66.{core::Object::==}(null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t67 in #t66{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t65.{core::Map::[]=}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
- #t65.{core::Map::[]=}(n1, n1);
+ #t65.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
+ #t65.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t65;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
var m5 = {...n3, n1: n1};
@@ -302,8 +302,8 @@
final core::Map<self::test2::N1, self::test2::N1>? #t69 = n3;
if(!#t69.{core::Object::==}(null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t70 in #t69{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
- #t68.{core::Map::[]=}(n1, n1);
+ #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t68;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
index 30a2fce..b4eff37 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
@@ -82,7 +82,7 @@
core::List<Never> l1 = block {
final core::List<Never> #t1 = <Never>[];
for (final Never #t2 in n1)
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
} =>#t1;
core::List<Never> l2 = block {
final core::List<Never> #t3 = <Never>[];
@@ -91,7 +91,7 @@
core::Iterator<Never> :sync-for-iterator = #t4{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t5 = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::List::add}(#t5);
+ #t3.{core::List::add}{Invariant}(#t5);
}
}
} =>#t3;
@@ -105,7 +105,7 @@
core::Iterator<Never> :sync-for-iterator = #t7{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t8 = :sync-for-iterator.{core::Iterator::current};
- #t6.{core::List::add}(#t8);
+ #t6.{core::List::add}{Invariant}(#t8);
}
}
} =>#t6;
@@ -119,15 +119,15 @@
core::Iterator<Never> :sync-for-iterator = #t10{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t11 = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::List::add}(#t11);
+ #t9.{core::List::add}{Invariant}(#t11);
}
}
} =>#t9;
core::Set<Never> s1 = block {
final core::Set<Never> #t12 = new col::_CompactLinkedHashSet::•<Never>();
for (final Never #t13 in n1)
- #t12.{core::Set::add}(#t13);
- #t12.{core::Set::add}(n1);
+ #t12.{core::Set::add}{Invariant}(#t13);
+ #t12.{core::Set::add}{Invariant}(n1);
} =>#t12;
core::Set<Never> s2 = block {
final core::Set<Never> #t14 = new col::_CompactLinkedHashSet::•<Never>();
@@ -136,17 +136,17 @@
core::Iterator<Never> :sync-for-iterator = #t15{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t16 = :sync-for-iterator.{core::Iterator::current};
- #t14.{core::Set::add}(#t16);
+ #t14.{core::Set::add}{Invariant}(#t16);
}
}
- #t14.{core::Set::add}(n1);
+ #t14.{core::Set::add}{Invariant}(n1);
} =>#t14;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t17 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t17.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
+ #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};
^");
- #t17.{core::Set::add}(n1);
+ #t17.{core::Set::add}{Invariant}(n1);
} =>#t17;
core::Set<Never> s4 = block {
final core::Set<Never> #t18 = new col::_CompactLinkedHashSet::•<Never>();
@@ -155,17 +155,17 @@
core::Iterator<Never> :sync-for-iterator = #t19{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t20 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Set::add}(#t20);
+ #t18.{core::Set::add}{Invariant}(#t20);
}
}
- #t18.{core::Set::add}(n1);
+ #t18.{core::Set::add}{Invariant}(n1);
} =>#t18;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t21 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t21.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
+ #t21.{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};
^");
- #t21.{core::Set::add}(n1);
+ #t21.{core::Set::add}{Invariant}(n1);
} =>#t21;
core::Set<Never> s6 = block {
final core::Set<Never> #t22 = new col::_CompactLinkedHashSet::•<Never>();
@@ -174,10 +174,10 @@
core::Iterator<Never> :sync-for-iterator = #t23{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t24 = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::Set::add}(#t24);
+ #t22.{core::Set::add}{Invariant}(#t24);
}
}
- #t22.{core::Set::add}(n1);
+ #t22.{core::Set::add}{Invariant}(n1);
} =>#t22;
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t25 = <Never, Never>{};
@@ -185,10 +185,10 @@
core::Iterator<core::MapEntry<<BottomType>, <BottomType>>> :sync-for-iterator = n1.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t26 = :sync-for-iterator.{core::Iterator::current};
- #t25.{core::Map::[]=}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value});
+ #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value});
}
}
- #t25.{core::Map::[]=}(n1, n1);
+ #t25.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t25;
core::Map<Never, Never> m2 = block {
final core::Map<Never, Never> #t27 = <Never, Never>{};
@@ -197,10 +197,10 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t28{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t29 = :sync-for-iterator.{core::Iterator::current};
- #t27.{core::Map::[]=}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value});
+ #t27.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value});
}
}
- #t27.{core::Map::[]=}(n1, n1);
+ #t27.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t27;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
var m3 = {...n2, n1: n1};
@@ -212,10 +212,10 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t31{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t32 = :sync-for-iterator.{core::Iterator::current};
- #t30.{core::Map::[]=}(#t32.{core::MapEntry::key}, #t32.{core::MapEntry::value});
+ #t30.{core::Map::[]=}{Invariant}(#t32.{core::MapEntry::key}, #t32.{core::MapEntry::value});
}
}
- #t30.{core::Map::[]=}(n1, n1);
+ #t30.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t30;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
var m5 = {...n3, n1: n1};
@@ -227,17 +227,17 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t34{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t35 = :sync-for-iterator.{core::Iterator::current};
- #t33.{core::Map::[]=}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value});
+ #t33.{core::Map::[]=}{Invariant}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value});
}
}
- #t33.{core::Map::[]=}(n1, n1);
+ #t33.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t33;
}
static method test2<N1 extends Never = Never, N2 extends Never? = Never?, N3 extends Null = Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
core::List<Never> l1 = block {
final core::List<Never> #t36 = <Never>[];
for (final Never #t37 in n1)
- #t36.{core::List::add}(#t37);
+ #t36.{core::List::add}{Invariant}(#t37);
} =>#t36;
core::List<Never> l2 = block {
final core::List<Never> #t38 = <Never>[];
@@ -246,7 +246,7 @@
core::Iterator<Never> :sync-for-iterator = #t39{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t40 = :sync-for-iterator.{core::Iterator::current};
- #t38.{core::List::add}(#t40);
+ #t38.{core::List::add}{Invariant}(#t40);
}
}
} =>#t38;
@@ -260,7 +260,7 @@
core::Iterator<Never> :sync-for-iterator = #t42{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t43 = :sync-for-iterator.{core::Iterator::current};
- #t41.{core::List::add}(#t43);
+ #t41.{core::List::add}{Invariant}(#t43);
}
}
} =>#t41;
@@ -274,15 +274,15 @@
core::Iterator<Never> :sync-for-iterator = #t45{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t46 = :sync-for-iterator.{core::Iterator::current};
- #t44.{core::List::add}(#t46);
+ #t44.{core::List::add}{Invariant}(#t46);
}
}
} =>#t44;
core::Set<self::test2::N1> s1 = block {
final core::Set<self::test2::N1> #t47 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
for (final self::test2::N1 #t48 in n1)
- #t47.{core::Set::add}(#t48);
- #t47.{core::Set::add}(n1);
+ #t47.{core::Set::add}{Invariant}(#t48);
+ #t47.{core::Set::add}{Invariant}(n1);
} =>#t47;
core::Set<self::test2::N1> s2 = block {
final core::Set<self::test2::N1> #t49 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
@@ -291,17 +291,17 @@
core::Iterator<self::test2::N1> :sync-for-iterator = #t50{core::Iterable<self::test2::N1>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final self::test2::N1 #t51 = :sync-for-iterator.{core::Iterator::current};
- #t49.{core::Set::add}(#t51);
+ #t49.{core::Set::add}{Invariant}(#t51);
}
}
- #t49.{core::Set::add}(n1);
+ #t49.{core::Set::add}{Invariant}(n1);
} =>#t49;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t52 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t52.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+ #t52.{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};
^");
- #t52.{core::Set::add}(n1);
+ #t52.{core::Set::add}{Invariant}(n1);
} =>#t52;
core::Set<self::test2::N1> s4 = block {
final core::Set<self::test2::N1> #t53 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
@@ -310,17 +310,17 @@
core::Iterator<self::test2::N1> :sync-for-iterator = #t54{core::Iterable<self::test2::N1>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final self::test2::N1 #t55 = :sync-for-iterator.{core::Iterator::current};
- #t53.{core::Set::add}(#t55);
+ #t53.{core::Set::add}{Invariant}(#t55);
}
}
- #t53.{core::Set::add}(n1);
+ #t53.{core::Set::add}{Invariant}(n1);
} =>#t53;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t56 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t56.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+ #t56.{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};
^");
- #t56.{core::Set::add}(n1);
+ #t56.{core::Set::add}{Invariant}(n1);
} =>#t56;
core::Set<self::test2::N1> s6 = block {
final core::Set<self::test2::N1> #t57 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
@@ -329,10 +329,10 @@
core::Iterator<self::test2::N1> :sync-for-iterator = #t58{core::Iterable<self::test2::N1>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final self::test2::N1 #t59 = :sync-for-iterator.{core::Iterator::current};
- #t57.{core::Set::add}(#t59);
+ #t57.{core::Set::add}{Invariant}(#t59);
}
}
- #t57.{core::Set::add}(n1);
+ #t57.{core::Set::add}{Invariant}(n1);
} =>#t57;
core::Map<self::test2::N1, self::test2::N1> m1 = block {
final core::Map<self::test2::N1, self::test2::N1> #t60 = <self::test2::N1, self::test2::N1>{};
@@ -340,10 +340,10 @@
core::Iterator<core::MapEntry<<BottomType>, <BottomType>>> :sync-for-iterator = n1.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t61 = :sync-for-iterator.{core::Iterator::current};
- #t60.{core::Map::[]=}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
+ #t60.{core::Map::[]=}{Invariant}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value});
}
}
- #t60.{core::Map::[]=}(n1, n1);
+ #t60.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t60;
core::Map<self::test2::N1, self::test2::N1> m2 = block {
final core::Map<self::test2::N1, self::test2::N1> #t62 = <self::test2::N1, self::test2::N1>{};
@@ -352,10 +352,10 @@
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t63{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t64 = :sync-for-iterator.{core::Iterator::current};
- #t62.{core::Map::[]=}(#t64.{core::MapEntry::key}, #t64.{core::MapEntry::value});
+ #t62.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}, #t64.{core::MapEntry::value});
}
}
- #t62.{core::Map::[]=}(n1, n1);
+ #t62.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t62;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
var m3 = {...n2, n1: n1};
@@ -367,10 +367,10 @@
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t66{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t67 = :sync-for-iterator.{core::Iterator::current};
- #t65.{core::Map::[]=}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
+ #t65.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
}
}
- #t65.{core::Map::[]=}(n1, n1);
+ #t65.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t65;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
var m5 = {...n3, n1: n1};
@@ -382,10 +382,10 @@
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t69{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t70 = :sync-for-iterator.{core::Iterator::current};
- #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
}
}
- #t68.{core::Map::[]=}(n1, n1);
+ #t68.{core::Map::[]=}{Invariant}(n1, n1);
} =>#t68;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
index db1601c..5672439 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
@@ -83,14 +83,14 @@
core::List<Never> l1 = block {
final core::List<Never> #t1 = <Never>[];
for (final Never #t2 in let final Never #t3 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."))
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
} =>#t1;
core::List<Never> l2 = block {
final core::List<Never> #t4 = <Never>[];
final core::Iterable<Never>? #t5 = let final Never #t6 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
if(!#t5.{core::Object::==}(null))
for (final Never #t7 in #t5{core::Iterable<Never>})
- #t4.{core::List::add}(#t7);
+ #t4.{core::List::add}{Invariant}(#t7);
} =>#t4;
core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:8:16: Error: Can't spread a value with static type 'Never?'.
var l3 = [...n2];
@@ -100,7 +100,7 @@
final core::Iterable<Never>? #t9 = n2;
if(!#t9.{core::Object::==}(null))
for (final Never #t10 in #t9{core::Iterable<Never>})
- #t8.{core::List::add}(#t10);
+ #t8.{core::List::add}{Invariant}(#t10);
} =>#t8;
core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:10:16: Error: Can't spread a value with static type 'Null'.
var l5 = [...n3];
@@ -110,65 +110,65 @@
final core::Iterable<Never>? #t12 = n3;
if(!#t12.{core::Object::==}(null))
for (final Never #t13 in #t12{core::Iterable<Never>})
- #t11.{core::List::add}(#t13);
+ #t11.{core::List::add}{Invariant}(#t13);
} =>#t11;
core::Set<Never> s1 = block {
final core::Set<Never> #t14 = col::LinkedHashSet::•<Never>();
for (final Never #t15 in let final Never #t16 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."))
- #t14.{core::Set::add}(#t15);
- #t14.{core::Set::add}(let final Never #t17 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t14.{core::Set::add}{Invariant}(#t15);
+ #t14.{core::Set::add}{Invariant}(let final Never #t17 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t14;
core::Set<Never> s2 = block {
final core::Set<Never> #t18 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t19 = let final Never #t20 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
if(!#t19.{core::Object::==}(null))
for (final Never #t21 in #t19{core::Iterable<Never>})
- #t18.{core::Set::add}(#t21);
- #t18.{core::Set::add}(let final Never #t22 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t18.{core::Set::add}{Invariant}(#t21);
+ #t18.{core::Set::add}{Invariant}(let final Never #t22 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t18;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t23 = col::LinkedHashSet::•<dynamic>();
- #t23.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
+ #t23.{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};
^");
- #t23.{core::Set::add}(let final Never #t24 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t23.{core::Set::add}{Invariant}(let final Never #t24 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t23;
core::Set<Never> s4 = block {
final core::Set<Never> #t25 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t26 = n2;
if(!#t26.{core::Object::==}(null))
for (final Never #t27 in #t26{core::Iterable<Never>})
- #t25.{core::Set::add}(#t27);
- #t25.{core::Set::add}(let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t25.{core::Set::add}{Invariant}(#t27);
+ #t25.{core::Set::add}{Invariant}(let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t25;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t29 = col::LinkedHashSet::•<dynamic>();
- #t29.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
+ #t29.{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};
^");
- #t29.{core::Set::add}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t29.{core::Set::add}{Invariant}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t29;
core::Set<Never> s6 = block {
final core::Set<Never> #t31 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t32 = n3;
if(!#t32.{core::Object::==}(null))
for (final Never #t33 in #t32{core::Iterable<Never>})
- #t31.{core::Set::add}(#t33);
- #t31.{core::Set::add}(let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t31.{core::Set::add}{Invariant}(#t33);
+ #t31.{core::Set::add}{Invariant}(let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t31;
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t35 = <Never, Never>{};
for (final core::MapEntry<Never, Never> #t36 in (let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries})
- #t35.{core::Map::[]=}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value});
- #t35.{core::Map::[]=}(let final Never #t38 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t39 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t35.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value});
+ #t35.{core::Map::[]=}{Invariant}(let final Never #t38 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t39 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t35;
core::Map<Never, Never> m2 = block {
final core::Map<Never, Never> #t40 = <Never, Never>{};
final core::Map<Never, Never>? #t41 = let final Never #t42 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
if(!#t41.{core::Object::==}(null))
for (final core::MapEntry<Never, Never> #t43 in #t41{core::Map<Never, Never>}.{core::Map::entries})
- #t40.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
- #t40.{core::Map::[]=}(let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t45 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t40.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t40.{core::Map::[]=}{Invariant}(let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t45 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t40;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
var m3 = {...n2, n1: n1};
@@ -178,8 +178,8 @@
final core::Map<Never, Never>? #t49 = n2;
if(!#t49.{core::Object::==}(null))
for (final core::MapEntry<Never, Never> #t50 in #t49{core::Map<Never, Never>}.{core::Map::entries})
- #t48.{core::Map::[]=}(#t50.{core::MapEntry::key}, #t50.{core::MapEntry::value});
- #t48.{core::Map::[]=}(let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t52 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t48.{core::Map::[]=}{Invariant}(#t50.{core::MapEntry::key}, #t50.{core::MapEntry::value});
+ #t48.{core::Map::[]=}{Invariant}(let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t52 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t48;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
var m5 = {...n3, n1: n1};
@@ -189,22 +189,22 @@
final core::Map<Never, Never>? #t56 = n3;
if(!#t56.{core::Object::==}(null))
for (final core::MapEntry<Never, Never> #t57 in #t56{core::Map<Never, Never>}.{core::Map::entries})
- #t55.{core::Map::[]=}(#t57.{core::MapEntry::key}, #t57.{core::MapEntry::value});
- #t55.{core::Map::[]=}(let final Never #t58 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t59 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t55.{core::Map::[]=}{Invariant}(#t57.{core::MapEntry::key}, #t57.{core::MapEntry::value});
+ #t55.{core::Map::[]=}{Invariant}(let final Never #t58 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t59 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t55;
}
static method test2<N1 extends Never = Never, N2 extends Never? = Never?, N3 extends Null = Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
core::List<Never> l1 = block {
final core::List<Never> #t60 = <Never>[];
for (final Never #t61 in let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."))
- #t60.{core::List::add}(#t61);
+ #t60.{core::List::add}{Invariant}(#t61);
} =>#t60;
core::List<Never> l2 = block {
final core::List<Never> #t63 = <Never>[];
final core::Iterable<Never>? #t64 = let final self::test2::N1 #t65 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
if(!#t64.{core::Object::==}(null))
for (final Never #t66 in #t64{core::Iterable<Never>})
- #t63.{core::List::add}(#t66);
+ #t63.{core::List::add}{Invariant}(#t66);
} =>#t63;
core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
var l3 = [...n2];
@@ -214,7 +214,7 @@
final core::Iterable<Never>? #t68 = n2;
if(!#t68.{core::Object::==}(null))
for (final Never #t69 in #t68{core::Iterable<Never>})
- #t67.{core::List::add}(#t69);
+ #t67.{core::List::add}{Invariant}(#t69);
} =>#t67;
core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
var l5 = [...n3];
@@ -224,65 +224,65 @@
final core::Iterable<Never>? #t71 = n3;
if(!#t71.{core::Object::==}(null))
for (final Never #t72 in #t71{core::Iterable<Never>})
- #t70.{core::List::add}(#t72);
+ #t70.{core::List::add}{Invariant}(#t72);
} =>#t70;
core::Set<self::test2::N1> s1 = block {
final core::Set<self::test2::N1> #t73 = col::LinkedHashSet::•<self::test2::N1>();
for (final self::test2::N1 #t74 in let final self::test2::N1 #t75 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."))
- #t73.{core::Set::add}(#t74);
- #t73.{core::Set::add}(let final self::test2::N1 #t76 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t73.{core::Set::add}{Invariant}(#t74);
+ #t73.{core::Set::add}{Invariant}(let final self::test2::N1 #t76 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t73;
core::Set<self::test2::N1> s2 = block {
final core::Set<self::test2::N1> #t77 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t78 = let final self::test2::N1 #t79 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
if(!#t78.{core::Object::==}(null))
for (final self::test2::N1 #t80 in #t78{core::Iterable<self::test2::N1>})
- #t77.{core::Set::add}(#t80);
- #t77.{core::Set::add}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t77.{core::Set::add}{Invariant}(#t80);
+ #t77.{core::Set::add}{Invariant}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t77;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t82 = col::LinkedHashSet::•<dynamic>();
- #t82.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+ #t82.{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};
^");
- #t82.{core::Set::add}(let final self::test2::N1 #t83 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t82.{core::Set::add}{Invariant}(let final self::test2::N1 #t83 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t82;
core::Set<self::test2::N1> s4 = block {
final core::Set<self::test2::N1> #t84 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t85 = n2;
if(!#t85.{core::Object::==}(null))
for (final self::test2::N1 #t86 in #t85{core::Iterable<self::test2::N1>})
- #t84.{core::Set::add}(#t86);
- #t84.{core::Set::add}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t84.{core::Set::add}{Invariant}(#t86);
+ #t84.{core::Set::add}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t84;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t88 = col::LinkedHashSet::•<dynamic>();
- #t88.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+ #t88.{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};
^");
- #t88.{core::Set::add}(let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t88.{core::Set::add}{Invariant}(let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t88;
core::Set<self::test2::N1> s6 = block {
final core::Set<self::test2::N1> #t90 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t91 = n3;
if(!#t91.{core::Object::==}(null))
for (final self::test2::N1 #t92 in #t91{core::Iterable<self::test2::N1>})
- #t90.{core::Set::add}(#t92);
- #t90.{core::Set::add}(let final self::test2::N1 #t93 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t90.{core::Set::add}{Invariant}(#t92);
+ #t90.{core::Set::add}{Invariant}(let final self::test2::N1 #t93 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t90;
core::Map<self::test2::N1, self::test2::N1> m1 = block {
final core::Map<self::test2::N1, self::test2::N1> #t94 = <self::test2::N1, self::test2::N1>{};
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t95 in (let final self::test2::N1 #t96 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries})
- #t94.{core::Map::[]=}(#t95.{core::MapEntry::key}, #t95.{core::MapEntry::value});
- #t94.{core::Map::[]=}(let final self::test2::N1 #t97 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t98 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t94.{core::Map::[]=}{Invariant}(#t95.{core::MapEntry::key}, #t95.{core::MapEntry::value});
+ #t94.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t97 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t98 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t94;
core::Map<self::test2::N1, self::test2::N1> m2 = block {
final core::Map<self::test2::N1, self::test2::N1> #t99 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t100 = let final self::test2::N1 #t101 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
if(!#t100.{core::Object::==}(null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t102 in #t100{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t99.{core::Map::[]=}(#t102.{core::MapEntry::key}, #t102.{core::MapEntry::value});
- #t99.{core::Map::[]=}(let final self::test2::N1 #t103 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t104 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t99.{core::Map::[]=}{Invariant}(#t102.{core::MapEntry::key}, #t102.{core::MapEntry::value});
+ #t99.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t103 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t104 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t99;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
var m3 = {...n2, n1: n1};
@@ -292,8 +292,8 @@
final core::Map<self::test2::N1, self::test2::N1>? #t108 = n2;
if(!#t108.{core::Object::==}(null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t109 in #t108{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t107.{core::Map::[]=}(#t109.{core::MapEntry::key}, #t109.{core::MapEntry::value});
- #t107.{core::Map::[]=}(let final self::test2::N1 #t110 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t111 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t107.{core::Map::[]=}{Invariant}(#t109.{core::MapEntry::key}, #t109.{core::MapEntry::value});
+ #t107.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t110 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t111 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t107;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
var m5 = {...n3, n1: n1};
@@ -303,8 +303,8 @@
final core::Map<self::test2::N1, self::test2::N1>? #t115 = n3;
if(!#t115.{core::Object::==}(null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t116 in #t115{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t114.{core::Map::[]=}(#t116.{core::MapEntry::key}, #t116.{core::MapEntry::value});
- #t114.{core::Map::[]=}(let final self::test2::N1 #t117 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t118 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t114.{core::Map::[]=}{Invariant}(#t116.{core::MapEntry::key}, #t116.{core::MapEntry::value});
+ #t114.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t117 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t118 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t114;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
index a2689d6..3c95716 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
@@ -83,7 +83,7 @@
core::List<Never> l1 = block {
final core::List<Never> #t1 = <Never>[];
for (final Never #t2 in let final Never #t3 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."))
- #t1.{core::List::add}(#t2);
+ #t1.{core::List::add}{Invariant}(#t2);
} =>#t1;
core::List<Never> l2 = block {
final core::List<Never> #t4 = <Never>[];
@@ -92,7 +92,7 @@
core::Iterator<Never> :sync-for-iterator = #t5{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t7 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::List::add}(#t7);
+ #t4.{core::List::add}{Invariant}(#t7);
}
}
} =>#t4;
@@ -106,7 +106,7 @@
core::Iterator<Never> :sync-for-iterator = #t9{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t10 = :sync-for-iterator.{core::Iterator::current};
- #t8.{core::List::add}(#t10);
+ #t8.{core::List::add}{Invariant}(#t10);
}
}
} =>#t8;
@@ -120,15 +120,15 @@
core::Iterator<Never> :sync-for-iterator = #t12{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t13 = :sync-for-iterator.{core::Iterator::current};
- #t11.{core::List::add}(#t13);
+ #t11.{core::List::add}{Invariant}(#t13);
}
}
} =>#t11;
core::Set<Never> s1 = block {
final core::Set<Never> #t14 = new col::_CompactLinkedHashSet::•<Never>();
for (final Never #t15 in let final Never #t16 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."))
- #t14.{core::Set::add}(#t15);
- #t14.{core::Set::add}(let final Never #t17 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t14.{core::Set::add}{Invariant}(#t15);
+ #t14.{core::Set::add}{Invariant}(let final Never #t17 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t14;
core::Set<Never> s2 = block {
final core::Set<Never> #t18 = new col::_CompactLinkedHashSet::•<Never>();
@@ -137,17 +137,17 @@
core::Iterator<Never> :sync-for-iterator = #t19{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t21 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Set::add}(#t21);
+ #t18.{core::Set::add}{Invariant}(#t21);
}
}
- #t18.{core::Set::add}(let final Never #t22 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t18.{core::Set::add}{Invariant}(let final Never #t22 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t18;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t23 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t23.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
+ #t23.{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};
^");
- #t23.{core::Set::add}(let final Never #t24 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t23.{core::Set::add}{Invariant}(let final Never #t24 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t23;
core::Set<Never> s4 = block {
final core::Set<Never> #t25 = new col::_CompactLinkedHashSet::•<Never>();
@@ -156,17 +156,17 @@
core::Iterator<Never> :sync-for-iterator = #t26{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t27 = :sync-for-iterator.{core::Iterator::current};
- #t25.{core::Set::add}(#t27);
+ #t25.{core::Set::add}{Invariant}(#t27);
}
}
- #t25.{core::Set::add}(let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t25.{core::Set::add}{Invariant}(let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t25;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t29 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t29.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
+ #t29.{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};
^");
- #t29.{core::Set::add}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t29.{core::Set::add}{Invariant}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t29;
core::Set<Never> s6 = block {
final core::Set<Never> #t31 = new col::_CompactLinkedHashSet::•<Never>();
@@ -175,10 +175,10 @@
core::Iterator<Never> :sync-for-iterator = #t32{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t33 = :sync-for-iterator.{core::Iterator::current};
- #t31.{core::Set::add}(#t33);
+ #t31.{core::Set::add}{Invariant}(#t33);
}
}
- #t31.{core::Set::add}(let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t31.{core::Set::add}{Invariant}(let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t31;
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t35 = <Never, Never>{};
@@ -186,10 +186,10 @@
core::Iterator<core::MapEntry<<BottomType>, <BottomType>>> :sync-for-iterator = (let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t37 = :sync-for-iterator.{core::Iterator::current};
- #t35.{core::Map::[]=}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
+ #t35.{core::Map::[]=}{Invariant}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
}
}
- #t35.{core::Map::[]=}(let final Never #t38 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t39 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t35.{core::Map::[]=}{Invariant}(let final Never #t38 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t39 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t35;
core::Map<Never, Never> m2 = block {
final core::Map<Never, Never> #t40 = <Never, Never>{};
@@ -198,10 +198,10 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t41{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t43 = :sync-for-iterator.{core::Iterator::current};
- #t40.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t40.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
}
}
- #t40.{core::Map::[]=}(let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t45 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t40.{core::Map::[]=}{Invariant}(let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t45 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t40;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
var m3 = {...n2, n1: n1};
@@ -213,10 +213,10 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t49{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t50 = :sync-for-iterator.{core::Iterator::current};
- #t48.{core::Map::[]=}(#t50.{core::MapEntry::key}, #t50.{core::MapEntry::value});
+ #t48.{core::Map::[]=}{Invariant}(#t50.{core::MapEntry::key}, #t50.{core::MapEntry::value});
}
}
- #t48.{core::Map::[]=}(let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t52 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t48.{core::Map::[]=}{Invariant}(let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t52 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t48;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
var m5 = {...n3, n1: n1};
@@ -228,17 +228,17 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t56{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t57 = :sync-for-iterator.{core::Iterator::current};
- #t55.{core::Map::[]=}(#t57.{core::MapEntry::key}, #t57.{core::MapEntry::value});
+ #t55.{core::Map::[]=}{Invariant}(#t57.{core::MapEntry::key}, #t57.{core::MapEntry::value});
}
}
- #t55.{core::Map::[]=}(let final Never #t58 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t59 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t55.{core::Map::[]=}{Invariant}(let final Never #t58 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t59 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t55;
}
static method test2<N1 extends Never = Never, N2 extends Never? = Never?, N3 extends Null = Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
core::List<Never> l1 = block {
final core::List<Never> #t60 = <Never>[];
for (final Never #t61 in let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."))
- #t60.{core::List::add}(#t61);
+ #t60.{core::List::add}{Invariant}(#t61);
} =>#t60;
core::List<Never> l2 = block {
final core::List<Never> #t63 = <Never>[];
@@ -247,7 +247,7 @@
core::Iterator<Never> :sync-for-iterator = #t64{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t66 = :sync-for-iterator.{core::Iterator::current};
- #t63.{core::List::add}(#t66);
+ #t63.{core::List::add}{Invariant}(#t66);
}
}
} =>#t63;
@@ -261,7 +261,7 @@
core::Iterator<Never> :sync-for-iterator = #t68{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t69 = :sync-for-iterator.{core::Iterator::current};
- #t67.{core::List::add}(#t69);
+ #t67.{core::List::add}{Invariant}(#t69);
}
}
} =>#t67;
@@ -275,15 +275,15 @@
core::Iterator<Never> :sync-for-iterator = #t71{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t72 = :sync-for-iterator.{core::Iterator::current};
- #t70.{core::List::add}(#t72);
+ #t70.{core::List::add}{Invariant}(#t72);
}
}
} =>#t70;
core::Set<self::test2::N1> s1 = block {
final core::Set<self::test2::N1> #t73 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
for (final self::test2::N1 #t74 in let final self::test2::N1 #t75 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."))
- #t73.{core::Set::add}(#t74);
- #t73.{core::Set::add}(let final self::test2::N1 #t76 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t73.{core::Set::add}{Invariant}(#t74);
+ #t73.{core::Set::add}{Invariant}(let final self::test2::N1 #t76 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t73;
core::Set<self::test2::N1> s2 = block {
final core::Set<self::test2::N1> #t77 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
@@ -292,17 +292,17 @@
core::Iterator<self::test2::N1> :sync-for-iterator = #t78{core::Iterable<self::test2::N1>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final self::test2::N1 #t80 = :sync-for-iterator.{core::Iterator::current};
- #t77.{core::Set::add}(#t80);
+ #t77.{core::Set::add}{Invariant}(#t80);
}
}
- #t77.{core::Set::add}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t77.{core::Set::add}{Invariant}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t77;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t82 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t82.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+ #t82.{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};
^");
- #t82.{core::Set::add}(let final self::test2::N1 #t83 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t82.{core::Set::add}{Invariant}(let final self::test2::N1 #t83 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t82;
core::Set<self::test2::N1> s4 = block {
final core::Set<self::test2::N1> #t84 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
@@ -311,17 +311,17 @@
core::Iterator<self::test2::N1> :sync-for-iterator = #t85{core::Iterable<self::test2::N1>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final self::test2::N1 #t86 = :sync-for-iterator.{core::Iterator::current};
- #t84.{core::Set::add}(#t86);
+ #t84.{core::Set::add}{Invariant}(#t86);
}
}
- #t84.{core::Set::add}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t84.{core::Set::add}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t84;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t88 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t88.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+ #t88.{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};
^");
- #t88.{core::Set::add}(let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t88.{core::Set::add}{Invariant}(let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t88;
core::Set<self::test2::N1> s6 = block {
final core::Set<self::test2::N1> #t90 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
@@ -330,10 +330,10 @@
core::Iterator<self::test2::N1> :sync-for-iterator = #t91{core::Iterable<self::test2::N1>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final self::test2::N1 #t92 = :sync-for-iterator.{core::Iterator::current};
- #t90.{core::Set::add}(#t92);
+ #t90.{core::Set::add}{Invariant}(#t92);
}
}
- #t90.{core::Set::add}(let final self::test2::N1 #t93 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t90.{core::Set::add}{Invariant}(let final self::test2::N1 #t93 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t90;
core::Map<self::test2::N1, self::test2::N1> m1 = block {
final core::Map<self::test2::N1, self::test2::N1> #t94 = <self::test2::N1, self::test2::N1>{};
@@ -341,10 +341,10 @@
core::Iterator<core::MapEntry<<BottomType>, <BottomType>>> :sync-for-iterator = (let final self::test2::N1 #t95 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t96 = :sync-for-iterator.{core::Iterator::current};
- #t94.{core::Map::[]=}(#t96.{core::MapEntry::key}, #t96.{core::MapEntry::value});
+ #t94.{core::Map::[]=}{Invariant}(#t96.{core::MapEntry::key}, #t96.{core::MapEntry::value});
}
}
- #t94.{core::Map::[]=}(let final self::test2::N1 #t97 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t98 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t94.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t97 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t98 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t94;
core::Map<self::test2::N1, self::test2::N1> m2 = block {
final core::Map<self::test2::N1, self::test2::N1> #t99 = <self::test2::N1, self::test2::N1>{};
@@ -353,10 +353,10 @@
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t100{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t102 = :sync-for-iterator.{core::Iterator::current};
- #t99.{core::Map::[]=}(#t102.{core::MapEntry::key}, #t102.{core::MapEntry::value});
+ #t99.{core::Map::[]=}{Invariant}(#t102.{core::MapEntry::key}, #t102.{core::MapEntry::value});
}
}
- #t99.{core::Map::[]=}(let final self::test2::N1 #t103 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t104 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t99.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t103 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t104 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t99;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
var m3 = {...n2, n1: n1};
@@ -368,10 +368,10 @@
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t108{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t109 = :sync-for-iterator.{core::Iterator::current};
- #t107.{core::Map::[]=}(#t109.{core::MapEntry::key}, #t109.{core::MapEntry::value});
+ #t107.{core::Map::[]=}{Invariant}(#t109.{core::MapEntry::key}, #t109.{core::MapEntry::value});
}
}
- #t107.{core::Map::[]=}(let final self::test2::N1 #t110 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t111 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t107.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t110 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t111 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t107;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
var m5 = {...n3, n1: n1};
@@ -383,10 +383,10 @@
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t115{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t116 = :sync-for-iterator.{core::Iterator::current};
- #t114.{core::Map::[]=}(#t116.{core::MapEntry::key}, #t116.{core::MapEntry::value});
+ #t114.{core::Map::[]=}{Invariant}(#t116.{core::MapEntry::key}, #t116.{core::MapEntry::value});
}
}
- #t114.{core::Map::[]=}(let final self::test2::N1 #t117 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t118 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t114.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t117 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t118 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
} =>#t114;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
index c66b4918..d4b69b6 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
@@ -58,91 +58,91 @@
static field core::Map<dynamic, dynamic> map1 = block {
final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
if(self::i.{core::num::>}(0))
- #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableMap, // error
^", null);
if(self::i.{core::num::>}(0))
for (final core::MapEntry<dynamic, dynamic> #t2 in (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries})
- #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
if(self::i.{core::num::>}(0))
for (final core::MapEntry<dynamic, dynamic> #t3 in self::nullableMap!.{core::Map::entries})
- #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
} =>#t1;
static field core::Set<dynamic> set1 = block {
final core::Set<dynamic> #t4 = col::LinkedHashSet::•<dynamic>();
- #t4.{core::Set::add}(0);
+ #t4.{core::Set::add}{Invariant}(0);
if(self::i.{core::num::>}(0))
- #t4.{core::Set::add}(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.
+ #t4.{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.
if (i > 0) ...nullableList, // error
^");
if(self::i.{core::num::>}(0))
for (final dynamic #t5 in self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t4.{core::Set::add}(#t5);
+ #t4.{core::Set::add}{Invariant}(#t5);
if(self::i.{core::num::>}(0))
for (final dynamic #t6 in self::nullableList!)
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
} =>#t4;
static field core::List<dynamic> list1 = block {
final core::List<dynamic> #t7 = <dynamic>[];
if(self::i.{core::num::>}(0))
- #t7.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t7.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
^");
if(self::i.{core::num::>}(0))
for (final dynamic #t8 in self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t7.{core::List::add}(#t8);
+ #t7.{core::List::add}{Invariant}(#t8);
if(self::i.{core::num::>}(0))
for (final dynamic #t9 in self::nullableList!)
- #t7.{core::List::add}(#t9);
+ #t7.{core::List::add}{Invariant}(#t9);
} =>#t7;
static method testMap<X extends dynamic = dynamic, Y extends core::Map<core::int, core::String>? = core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String> = core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
core::Map<dynamic, dynamic> map2 = block {
final core::Map<dynamic, dynamic> #t10 = <dynamic, dynamic>{};
if(self::i.{core::num::>}(0))
- #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ #t10.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
if (i > 0) ...x, // error
^", null);
if(self::i.{core::num::>}(0))
- #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t10.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^", null);
if(self::i.{core::num::>}(0))
for (final core::MapEntry<dynamic, dynamic> #t11 in z.{core::Map::entries})
- #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
if(self::i.{core::num::>}(0))
for (final core::MapEntry<dynamic, dynamic> #t12 in y!.{core::Map::entries})
- #t10.{core::Map::[]=}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value});
} =>#t10;
}
static method testIterables<X extends dynamic = dynamic, Y extends core::List<core::int>? = core::List<core::int>?, Z extends core::List<core::int> = 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> #t13 = col::LinkedHashSet::•<dynamic>();
- #t13.{core::Set::add}(0);
+ #t13.{core::Set::add}{Invariant}(0);
if(self::i.{core::num::>}(0))
- #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t13.{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.
if (i > 0) ...x, // error
^");
if(self::i.{core::num::>}(0))
- #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t13.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^");
if(self::i.{core::num::>}(0))
for (final dynamic #t14 in z)
- #t13.{core::Set::add}(#t14);
+ #t13.{core::Set::add}{Invariant}(#t14);
} =>#t13;
core::List<dynamic> list2 = block {
final core::List<dynamic> #t15 = <dynamic>[];
if(self::i.{core::num::>}(0))
- #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t15.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
^");
if(self::i.{core::num::>}(0))
- #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t15.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^");
if(self::i.{core::num::>}(0))
for (final dynamic #t16 in z)
- #t15.{core::List::add}(#t16);
+ #t15.{core::List::add}{Invariant}(#t16);
} =>#t15;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
index 32a8e8e..7babee3 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
@@ -58,64 +58,64 @@
static field core::Map<dynamic, dynamic> map1 = block {
final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
if(self::i.{core::num::>}(0))
- #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableMap, // error
^", null);
if(self::i.{core::num::>}(0)) {
core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
}
}
if(self::i.{core::num::>}(0)) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
}
}
} =>#t1;
static field core::Set<dynamic> set1 = block {
final core::Set<dynamic> #t4 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t4.{core::Set::add}(0);
+ #t4.{core::Set::add}{Invariant}(0);
if(self::i.{core::num::>}(0))
- #t4.{core::Set::add}(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.
+ #t4.{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.
if (i > 0) ...nullableList, // error
^");
if(self::i.{core::num::>}(0)) {
core::Iterator<dynamic> :sync-for-iterator = (self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::Set::add}(#t5);
+ #t4.{core::Set::add}{Invariant}(#t5);
}
}
if(self::i.{core::num::>}(0)) {
core::Iterator<core::int> :sync-for-iterator = self::nullableList!.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
}
}
} =>#t4;
static field core::List<dynamic> list1 = block {
final core::List<dynamic> #t7 = <dynamic>[];
if(self::i.{core::num::>}(0))
- #t7.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t7.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
^");
if(self::i.{core::num::>}(0)) {
core::Iterator<dynamic> :sync-for-iterator = (self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::List::add}(#t8);
+ #t7.{core::List::add}{Invariant}(#t8);
}
}
if(self::i.{core::num::>}(0)) {
core::Iterator<core::int> :sync-for-iterator = self::nullableList!.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::List::add}(#t9);
+ #t7.{core::List::add}{Invariant}(#t9);
}
}
} =>#t7;
@@ -123,25 +123,25 @@
core::Map<dynamic, dynamic> map2 = block {
final core::Map<dynamic, dynamic> #t10 = <dynamic, dynamic>{};
if(self::i.{core::num::>}(0))
- #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ #t10.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
if (i > 0) ...x, // error
^", null);
if(self::i.{core::num::>}(0))
- #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t10.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^", null);
if(self::i.{core::num::>}(0)) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = z.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t11 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
}
}
if(self::i.{core::num::>}(0)) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = y!.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t12 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::Map::[]=}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value});
}
}
} =>#t10;
@@ -149,38 +149,38 @@
static method testIterables<X extends dynamic = dynamic, Y extends core::List<core::int>? = core::List<core::int>?, Z extends core::List<core::int> = 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> #t13 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t13.{core::Set::add}(0);
+ #t13.{core::Set::add}{Invariant}(0);
if(self::i.{core::num::>}(0))
- #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t13.{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.
if (i > 0) ...x, // error
^");
if(self::i.{core::num::>}(0))
- #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t13.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^");
if(self::i.{core::num::>}(0)) {
core::Iterator<core::int> :sync-for-iterator = z.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
- #t13.{core::Set::add}(#t14);
+ #t13.{core::Set::add}{Invariant}(#t14);
}
}
} =>#t13;
core::List<dynamic> list2 = block {
final core::List<dynamic> #t15 = <dynamic>[];
if(self::i.{core::num::>}(0))
- #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t15.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
^");
if(self::i.{core::num::>}(0))
- #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t15.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^");
if(self::i.{core::num::>}(0)) {
core::Iterator<core::int> :sync-for-iterator = z.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
- #t15.{core::List::add}(#t16);
+ #t15.{core::List::add}{Invariant}(#t16);
}
}
} =>#t15;
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
index c66b4918..d4b69b6 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
@@ -58,91 +58,91 @@
static field core::Map<dynamic, dynamic> map1 = block {
final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
if(self::i.{core::num::>}(0))
- #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableMap, // error
^", null);
if(self::i.{core::num::>}(0))
for (final core::MapEntry<dynamic, dynamic> #t2 in (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries})
- #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
if(self::i.{core::num::>}(0))
for (final core::MapEntry<dynamic, dynamic> #t3 in self::nullableMap!.{core::Map::entries})
- #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
} =>#t1;
static field core::Set<dynamic> set1 = block {
final core::Set<dynamic> #t4 = col::LinkedHashSet::•<dynamic>();
- #t4.{core::Set::add}(0);
+ #t4.{core::Set::add}{Invariant}(0);
if(self::i.{core::num::>}(0))
- #t4.{core::Set::add}(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.
+ #t4.{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.
if (i > 0) ...nullableList, // error
^");
if(self::i.{core::num::>}(0))
for (final dynamic #t5 in self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t4.{core::Set::add}(#t5);
+ #t4.{core::Set::add}{Invariant}(#t5);
if(self::i.{core::num::>}(0))
for (final dynamic #t6 in self::nullableList!)
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
} =>#t4;
static field core::List<dynamic> list1 = block {
final core::List<dynamic> #t7 = <dynamic>[];
if(self::i.{core::num::>}(0))
- #t7.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t7.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
^");
if(self::i.{core::num::>}(0))
for (final dynamic #t8 in self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t7.{core::List::add}(#t8);
+ #t7.{core::List::add}{Invariant}(#t8);
if(self::i.{core::num::>}(0))
for (final dynamic #t9 in self::nullableList!)
- #t7.{core::List::add}(#t9);
+ #t7.{core::List::add}{Invariant}(#t9);
} =>#t7;
static method testMap<X extends dynamic = dynamic, Y extends core::Map<core::int, core::String>? = core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String> = core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
core::Map<dynamic, dynamic> map2 = block {
final core::Map<dynamic, dynamic> #t10 = <dynamic, dynamic>{};
if(self::i.{core::num::>}(0))
- #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ #t10.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
if (i > 0) ...x, // error
^", null);
if(self::i.{core::num::>}(0))
- #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t10.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^", null);
if(self::i.{core::num::>}(0))
for (final core::MapEntry<dynamic, dynamic> #t11 in z.{core::Map::entries})
- #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
if(self::i.{core::num::>}(0))
for (final core::MapEntry<dynamic, dynamic> #t12 in y!.{core::Map::entries})
- #t10.{core::Map::[]=}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value});
} =>#t10;
}
static method testIterables<X extends dynamic = dynamic, Y extends core::List<core::int>? = core::List<core::int>?, Z extends core::List<core::int> = 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> #t13 = col::LinkedHashSet::•<dynamic>();
- #t13.{core::Set::add}(0);
+ #t13.{core::Set::add}{Invariant}(0);
if(self::i.{core::num::>}(0))
- #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t13.{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.
if (i > 0) ...x, // error
^");
if(self::i.{core::num::>}(0))
- #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t13.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^");
if(self::i.{core::num::>}(0))
for (final dynamic #t14 in z)
- #t13.{core::Set::add}(#t14);
+ #t13.{core::Set::add}{Invariant}(#t14);
} =>#t13;
core::List<dynamic> list2 = block {
final core::List<dynamic> #t15 = <dynamic>[];
if(self::i.{core::num::>}(0))
- #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t15.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
^");
if(self::i.{core::num::>}(0))
- #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t15.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^");
if(self::i.{core::num::>}(0))
for (final dynamic #t16 in z)
- #t15.{core::List::add}(#t16);
+ #t15.{core::List::add}{Invariant}(#t16);
} =>#t15;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
index 32a8e8e..7babee3 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
@@ -58,64 +58,64 @@
static field core::Map<dynamic, dynamic> map1 = block {
final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
if(self::i.{core::num::>}(0))
- #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableMap, // error
^", null);
if(self::i.{core::num::>}(0)) {
core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
}
}
if(self::i.{core::num::>}(0)) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
}
}
} =>#t1;
static field core::Set<dynamic> set1 = block {
final core::Set<dynamic> #t4 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t4.{core::Set::add}(0);
+ #t4.{core::Set::add}{Invariant}(0);
if(self::i.{core::num::>}(0))
- #t4.{core::Set::add}(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.
+ #t4.{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.
if (i > 0) ...nullableList, // error
^");
if(self::i.{core::num::>}(0)) {
core::Iterator<dynamic> :sync-for-iterator = (self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::Set::add}(#t5);
+ #t4.{core::Set::add}{Invariant}(#t5);
}
}
if(self::i.{core::num::>}(0)) {
core::Iterator<core::int> :sync-for-iterator = self::nullableList!.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
}
}
} =>#t4;
static field core::List<dynamic> list1 = block {
final core::List<dynamic> #t7 = <dynamic>[];
if(self::i.{core::num::>}(0))
- #t7.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t7.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
^");
if(self::i.{core::num::>}(0)) {
core::Iterator<dynamic> :sync-for-iterator = (self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::List::add}(#t8);
+ #t7.{core::List::add}{Invariant}(#t8);
}
}
if(self::i.{core::num::>}(0)) {
core::Iterator<core::int> :sync-for-iterator = self::nullableList!.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::List::add}(#t9);
+ #t7.{core::List::add}{Invariant}(#t9);
}
}
} =>#t7;
@@ -123,25 +123,25 @@
core::Map<dynamic, dynamic> map2 = block {
final core::Map<dynamic, dynamic> #t10 = <dynamic, dynamic>{};
if(self::i.{core::num::>}(0))
- #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ #t10.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
if (i > 0) ...x, // error
^", null);
if(self::i.{core::num::>}(0))
- #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t10.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^", null);
if(self::i.{core::num::>}(0)) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = z.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t11 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
}
}
if(self::i.{core::num::>}(0)) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = y!.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t12 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::Map::[]=}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value});
}
}
} =>#t10;
@@ -149,38 +149,38 @@
static method testIterables<X extends dynamic = dynamic, Y extends core::List<core::int>? = core::List<core::int>?, Z extends core::List<core::int> = 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> #t13 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t13.{core::Set::add}(0);
+ #t13.{core::Set::add}{Invariant}(0);
if(self::i.{core::num::>}(0))
- #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t13.{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.
if (i > 0) ...x, // error
^");
if(self::i.{core::num::>}(0))
- #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t13.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^");
if(self::i.{core::num::>}(0)) {
core::Iterator<core::int> :sync-for-iterator = z.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
- #t13.{core::Set::add}(#t14);
+ #t13.{core::Set::add}{Invariant}(#t14);
}
}
} =>#t13;
core::List<dynamic> list2 = block {
final core::List<dynamic> #t15 = <dynamic>[];
if(self::i.{core::num::>}(0))
- #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t15.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
^");
if(self::i.{core::num::>}(0))
- #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t15.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
^");
if(self::i.{core::num::>}(0)) {
core::Iterator<core::int> :sync-for-iterator = z.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
- #t15.{core::List::add}(#t16);
+ #t15.{core::List::add}{Invariant}(#t16);
}
}
} =>#t15;
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.strong.expect
index 4e5a51e..e6ba91c 100644
--- a/pkg/front_end/testcases/nnbd/issue43455.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43455.dart.strong.expect
@@ -10,23 +10,23 @@
method test(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y? y) → dynamic {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t1 = col::LinkedHashSet::•<core::Object?>();
- #t1.{core::Set::add}(x);
- #t1.{core::Set::add}(42);
+ #t1.{core::Set::add}{Invariant}(x);
+ #t1.{core::Set::add}{Invariant}(42);
} =>#t1;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t2 = col::LinkedHashSet::•<core::Object?>();
- #t2.{core::Set::add}(42);
- #t2.{core::Set::add}(x);
+ #t2.{core::Set::add}{Invariant}(42);
+ #t2.{core::Set::add}{Invariant}(x);
} =>#t2;
core::Set<core::Object?> p = block {
final core::Set<core::Object?> #t3 = col::LinkedHashSet::•<core::Object?>();
- #t3.{core::Set::add}(y);
- #t3.{core::Set::add}(42);
+ #t3.{core::Set::add}{Invariant}(y);
+ #t3.{core::Set::add}{Invariant}(42);
} =>#t3;
core::Set<core::Object?> q = block {
final core::Set<core::Object?> #t4 = col::LinkedHashSet::•<core::Object?>();
- #t4.{core::Set::add}(42);
- #t4.{core::Set::add}(y);
+ #t4.{core::Set::add}{Invariant}(42);
+ #t4.{core::Set::add}{Invariant}(y);
} =>#t4;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -39,13 +39,13 @@
if(x is{ForNonNullableByDefault} core::Object?) {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t5 = col::LinkedHashSet::•<core::Object?>();
- #t5.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
- #t5.{core::Set::add}(42);
+ #t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t5.{core::Set::add}{Invariant}(42);
} =>#t5;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t6 = col::LinkedHashSet::•<core::Object?>();
- #t6.{core::Set::add}(42);
- #t6.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t6.{core::Set::add}{Invariant}(42);
+ #t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
} =>#t6;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.strong.transformed.expect
index 57588b2..47bd5a2 100644
--- a/pkg/front_end/testcases/nnbd/issue43455.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43455.dart.strong.transformed.expect
@@ -10,23 +10,23 @@
method test(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y? y) → dynamic {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t1 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t1.{core::Set::add}(x);
- #t1.{core::Set::add}(42);
+ #t1.{core::Set::add}{Invariant}(x);
+ #t1.{core::Set::add}{Invariant}(42);
} =>#t1;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t2 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t2.{core::Set::add}(42);
- #t2.{core::Set::add}(x);
+ #t2.{core::Set::add}{Invariant}(42);
+ #t2.{core::Set::add}{Invariant}(x);
} =>#t2;
core::Set<core::Object?> p = block {
final core::Set<core::Object?> #t3 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t3.{core::Set::add}(y);
- #t3.{core::Set::add}(42);
+ #t3.{core::Set::add}{Invariant}(y);
+ #t3.{core::Set::add}{Invariant}(42);
} =>#t3;
core::Set<core::Object?> q = block {
final core::Set<core::Object?> #t4 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t4.{core::Set::add}(42);
- #t4.{core::Set::add}(y);
+ #t4.{core::Set::add}{Invariant}(42);
+ #t4.{core::Set::add}{Invariant}(y);
} =>#t4;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -39,13 +39,13 @@
if(x is{ForNonNullableByDefault} core::Object?) {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t5 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t5.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
- #t5.{core::Set::add}(42);
+ #t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t5.{core::Set::add}{Invariant}(42);
} =>#t5;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t6 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t6.{core::Set::add}(42);
- #t6.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t6.{core::Set::add}{Invariant}(42);
+ #t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
} =>#t6;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.expect
index 4e5a51e..e6ba91c 100644
--- a/pkg/front_end/testcases/nnbd/issue43455.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.expect
@@ -10,23 +10,23 @@
method test(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y? y) → dynamic {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t1 = col::LinkedHashSet::•<core::Object?>();
- #t1.{core::Set::add}(x);
- #t1.{core::Set::add}(42);
+ #t1.{core::Set::add}{Invariant}(x);
+ #t1.{core::Set::add}{Invariant}(42);
} =>#t1;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t2 = col::LinkedHashSet::•<core::Object?>();
- #t2.{core::Set::add}(42);
- #t2.{core::Set::add}(x);
+ #t2.{core::Set::add}{Invariant}(42);
+ #t2.{core::Set::add}{Invariant}(x);
} =>#t2;
core::Set<core::Object?> p = block {
final core::Set<core::Object?> #t3 = col::LinkedHashSet::•<core::Object?>();
- #t3.{core::Set::add}(y);
- #t3.{core::Set::add}(42);
+ #t3.{core::Set::add}{Invariant}(y);
+ #t3.{core::Set::add}{Invariant}(42);
} =>#t3;
core::Set<core::Object?> q = block {
final core::Set<core::Object?> #t4 = col::LinkedHashSet::•<core::Object?>();
- #t4.{core::Set::add}(42);
- #t4.{core::Set::add}(y);
+ #t4.{core::Set::add}{Invariant}(42);
+ #t4.{core::Set::add}{Invariant}(y);
} =>#t4;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -39,13 +39,13 @@
if(x is{ForNonNullableByDefault} core::Object?) {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t5 = col::LinkedHashSet::•<core::Object?>();
- #t5.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
- #t5.{core::Set::add}(42);
+ #t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t5.{core::Set::add}{Invariant}(42);
} =>#t5;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t6 = col::LinkedHashSet::•<core::Object?>();
- #t6.{core::Set::add}(42);
- #t6.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t6.{core::Set::add}{Invariant}(42);
+ #t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
} =>#t6;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.transformed.expect
index 57588b2..47bd5a2 100644
--- a/pkg/front_end/testcases/nnbd/issue43455.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.transformed.expect
@@ -10,23 +10,23 @@
method test(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y? y) → dynamic {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t1 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t1.{core::Set::add}(x);
- #t1.{core::Set::add}(42);
+ #t1.{core::Set::add}{Invariant}(x);
+ #t1.{core::Set::add}{Invariant}(42);
} =>#t1;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t2 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t2.{core::Set::add}(42);
- #t2.{core::Set::add}(x);
+ #t2.{core::Set::add}{Invariant}(42);
+ #t2.{core::Set::add}{Invariant}(x);
} =>#t2;
core::Set<core::Object?> p = block {
final core::Set<core::Object?> #t3 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t3.{core::Set::add}(y);
- #t3.{core::Set::add}(42);
+ #t3.{core::Set::add}{Invariant}(y);
+ #t3.{core::Set::add}{Invariant}(42);
} =>#t3;
core::Set<core::Object?> q = block {
final core::Set<core::Object?> #t4 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t4.{core::Set::add}(42);
- #t4.{core::Set::add}(y);
+ #t4.{core::Set::add}{Invariant}(42);
+ #t4.{core::Set::add}{Invariant}(y);
} =>#t4;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -39,13 +39,13 @@
if(x is{ForNonNullableByDefault} core::Object?) {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t5 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t5.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
- #t5.{core::Set::add}(42);
+ #t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t5.{core::Set::add}{Invariant}(42);
} =>#t5;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t6 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t6.{core::Set::add}(42);
- #t6.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t6.{core::Set::add}{Invariant}(42);
+ #t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
} =>#t6;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
index beb8959..0934075 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
@@ -175,7 +175,7 @@
{...a}, // Error.
^") {
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::Set::add}(#t3);
+ #t1.{core::Set::add}{Invariant}(#t3);
}
} =>#t1, block {
final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
@@ -183,7 +183,7 @@
{...b}, // Error.
^") {
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
}
} =>#t4, block {
final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
@@ -191,7 +191,7 @@
{...c}, // Error.
^") {
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
- #t7.{core::Set::add}(#t9);
+ #t7.{core::Set::add}{Invariant}(#t9);
}
} =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...d}, // Error.
@@ -200,7 +200,7 @@
<int, int>{...a}, // Error.
^": null}, block {
final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>();
- #t10.{core::Set::add}(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.
+ #t10.{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.
^");
@@ -211,7 +211,7 @@
{if (condition) ...a}, // Error.
^") {
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
- #t11.{core::Set::add}(#t13);
+ #t11.{core::Set::add}{Invariant}(#t13);
}
} =>#t11, block {
final core::Set<core::int> #t14 = col::LinkedHashSet::•<core::int>();
@@ -220,7 +220,7 @@
{if (condition) ...b}, // Error.
^") {
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
- #t14.{core::Set::add}(#t16);
+ #t14.{core::Set::add}{Invariant}(#t16);
}
} =>#t14, block {
final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
@@ -229,12 +229,12 @@
{if (condition) ...c}, // Error.
^") {
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}(#t19);
+ #t17.{core::Set::add}{Invariant}(#t19);
}
} =>#t17, block {
final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
if(condition)
- #t20.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...d}, // Error.
^", null);
} =>#t20, block {
@@ -244,7 +244,7 @@
{for (dynamic e in iterable) ...a}, // Error.
^") {
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
- #t21.{core::Set::add}(#t23);
+ #t21.{core::Set::add}{Invariant}(#t23);
}
} =>#t21, block {
final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
@@ -253,7 +253,7 @@
{for (dynamic e in iterable) ...b}, // Error.
^") {
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
- #t24.{core::Set::add}(#t26);
+ #t24.{core::Set::add}{Invariant}(#t26);
}
} =>#t24, block {
final core::Set<core::int> #t27 = col::LinkedHashSet::•<core::int>();
@@ -262,12 +262,12 @@
{for (dynamic e in iterable) ...c}, // Error.
^") {
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
- #t27.{core::Set::add}(#t29);
+ #t27.{core::Set::add}{Invariant}(#t29);
}
} =>#t27, block {
final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
for (dynamic e in iterable)
- #t30.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...d}, // Error.
^", null);
} =>#t30, block {
@@ -277,7 +277,7 @@
{for (int i = 0; i < 42; ++i) ...a}, // Error.
^") {
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
- #t31.{core::Set::add}(#t33);
+ #t31.{core::Set::add}{Invariant}(#t33);
}
} =>#t31, block {
final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
@@ -286,7 +286,7 @@
{for (int i = 0; i < 42; ++i) ...b}, // Error.
^") {
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
- #t34.{core::Set::add}(#t36);
+ #t34.{core::Set::add}{Invariant}(#t36);
}
} =>#t34, block {
final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
@@ -295,12 +295,12 @@
{for (int i = 0; i < 42; ++i) ...c}, // Error.
^") {
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
- #t37.{core::Set::add}(#t39);
+ #t37.{core::Set::add}{Invariant}(#t39);
}
} =>#t37, block {
final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t40.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25: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) ...d}, // Error.
^", null);
} =>#t40, block {
@@ -309,7 +309,7 @@
if(!#t42.{core::Object::==}(null))
for (final dynamic #t43 in #t42{core::Iterable<dynamic>}) {
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
- #t41.{core::Set::add}(#t44);
+ #t41.{core::Set::add}{Invariant}(#t44);
}
} =>#t41, block {
final core::Set<core::int> #t45 = col::LinkedHashSet::•<core::int>();
@@ -317,7 +317,7 @@
if(!#t46.{core::Object::==}(null))
for (final dynamic #t47 in #t46{core::Iterable<dynamic>}) {
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
- #t45.{core::Set::add}(#t48);
+ #t45.{core::Set::add}{Invariant}(#t48);
}
} =>#t45, block {
final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
@@ -325,14 +325,14 @@
if(!#t50.{core::Object::==}(null))
for (final dynamic #t51 in #t50{core::Iterable<dynamic>}) {
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
- #t49.{core::Set::add}(#t52);
+ #t49.{core::Set::add}{Invariant}(#t52);
}
} =>#t49, block {
final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t54 = d;
if(!#t54.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t55 in #t54{core::Map<core::int, core::int>}.{core::Map::entries})
- #t53.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
} =>#t53, block {
final core::Set<core::int> #t56 = col::LinkedHashSet::•<core::int>();
if(condition) {
@@ -340,7 +340,7 @@
if(!#t57.{core::Object::==}(null))
for (final dynamic #t58 in #t57{core::Iterable<dynamic>}) {
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
- #t56.{core::Set::add}(#t59);
+ #t56.{core::Set::add}{Invariant}(#t59);
}
}
} =>#t56, block {
@@ -350,7 +350,7 @@
if(!#t61.{core::Object::==}(null))
for (final dynamic #t62 in #t61{core::Iterable<dynamic>}) {
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
- #t60.{core::Set::add}(#t63);
+ #t60.{core::Set::add}{Invariant}(#t63);
}
}
} =>#t60, block {
@@ -360,7 +360,7 @@
if(!#t65.{core::Object::==}(null))
for (final dynamic #t66 in #t65{core::Iterable<dynamic>}) {
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
- #t64.{core::Set::add}(#t67);
+ #t64.{core::Set::add}{Invariant}(#t67);
}
}
} =>#t64, block {
@@ -369,7 +369,7 @@
final core::Map<core::int, core::int>? #t69 = d;
if(!#t69.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t70 in #t69{core::Map<core::int, core::int>}.{core::Map::entries})
- #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
}
} =>#t68, block {
final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
@@ -378,7 +378,7 @@
if(!#t72.{core::Object::==}(null))
for (final dynamic #t73 in #t72{core::Iterable<dynamic>}) {
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
- #t71.{core::Set::add}(#t74);
+ #t71.{core::Set::add}{Invariant}(#t74);
}
}
} =>#t71, block {
@@ -388,7 +388,7 @@
if(!#t76.{core::Object::==}(null))
for (final dynamic #t77 in #t76{core::Iterable<dynamic>}) {
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
- #t75.{core::Set::add}(#t78);
+ #t75.{core::Set::add}{Invariant}(#t78);
}
}
} =>#t75, block {
@@ -398,7 +398,7 @@
if(!#t80.{core::Object::==}(null))
for (final dynamic #t81 in #t80{core::Iterable<dynamic>}) {
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
- #t79.{core::Set::add}(#t82);
+ #t79.{core::Set::add}{Invariant}(#t82);
}
}
} =>#t79, block {
@@ -407,7 +407,7 @@
final core::Map<core::int, core::int>? #t84 = d;
if(!#t84.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t85 in #t84{core::Map<core::int, core::int>}.{core::Map::entries})
- #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
}
} =>#t83, block {
final core::Set<core::int> #t86 = col::LinkedHashSet::•<core::int>();
@@ -416,7 +416,7 @@
if(!#t87.{core::Object::==}(null))
for (final dynamic #t88 in #t87{core::Iterable<dynamic>}) {
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
- #t86.{core::Set::add}(#t89);
+ #t86.{core::Set::add}{Invariant}(#t89);
}
}
} =>#t86, block {
@@ -426,7 +426,7 @@
if(!#t91.{core::Object::==}(null))
for (final dynamic #t92 in #t91{core::Iterable<dynamic>}) {
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
- #t90.{core::Set::add}(#t93);
+ #t90.{core::Set::add}{Invariant}(#t93);
}
}
} =>#t90, block {
@@ -436,7 +436,7 @@
if(!#t95.{core::Object::==}(null))
for (final dynamic #t96 in #t95{core::Iterable<dynamic>}) {
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
- #t94.{core::Set::add}(#t97);
+ #t94.{core::Set::add}{Invariant}(#t97);
}
}
} =>#t94, block {
@@ -445,7 +445,7 @@
final core::Map<core::int, core::int>? #t99 = d;
if(!#t99.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t100 in #t99{core::Map<core::int, core::int>}.{core::Map::entries})
- #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
}
} =>#t98];
}
@@ -456,7 +456,7 @@
{...x}, // Error.
^") {
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
- #t101.{core::Set::add}(#t103);
+ #t101.{core::Set::add}{Invariant}(#t103);
}
} =>#t101, block {
final core::Set<core::int> #t104 = col::LinkedHashSet::•<core::int>();
@@ -464,7 +464,7 @@
{...y}, // Error.
^") {
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
- #t104.{core::Set::add}(#t106);
+ #t104.{core::Set::add}{Invariant}(#t106);
}
} =>#t104, block {
final core::Set<core::int> #t107 = col::LinkedHashSet::•<core::int>();
@@ -472,7 +472,7 @@
{...z}, // Error.
^") {
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
- #t107.{core::Set::add}(#t109);
+ #t107.{core::Set::add}{Invariant}(#t109);
}
} =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...w}, // Error.
@@ -480,7 +480,7 @@
<int, int>{...x}, // Error.
^": null}, block {
final core::Set<core::int> #t110 = col::LinkedHashSet::•<core::int>();
- #t110.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+ #t110.{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.
^");
} =>#t110, block {
@@ -490,7 +490,7 @@
{if (condition) ...x}, // Error.
^") {
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
- #t111.{core::Set::add}(#t113);
+ #t111.{core::Set::add}{Invariant}(#t113);
}
} =>#t111, block {
final core::Set<core::int> #t114 = col::LinkedHashSet::•<core::int>();
@@ -499,7 +499,7 @@
{if (condition) ...y}, // Error.
^") {
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
- #t114.{core::Set::add}(#t116);
+ #t114.{core::Set::add}{Invariant}(#t116);
}
} =>#t114, block {
final core::Set<core::int> #t117 = col::LinkedHashSet::•<core::int>();
@@ -508,12 +508,12 @@
{if (condition) ...z}, // Error.
^") {
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
- #t117.{core::Set::add}(#t119);
+ #t117.{core::Set::add}{Invariant}(#t119);
}
} =>#t117, block {
final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
if(condition)
- #t120.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...w}, // Error.
^", null);
} =>#t120, block {
@@ -523,7 +523,7 @@
{for (dynamic e in iterable) ...x}, // Error.
^") {
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
- #t121.{core::Set::add}(#t123);
+ #t121.{core::Set::add}{Invariant}(#t123);
}
} =>#t121, block {
final core::Set<core::int> #t124 = col::LinkedHashSet::•<core::int>();
@@ -532,7 +532,7 @@
{for (dynamic e in iterable) ...y}, // Error.
^") {
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
- #t124.{core::Set::add}(#t126);
+ #t124.{core::Set::add}{Invariant}(#t126);
}
} =>#t124, block {
final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
@@ -541,12 +541,12 @@
{for (dynamic e in iterable) ...z}, // Error.
^") {
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
- #t127.{core::Set::add}(#t129);
+ #t127.{core::Set::add}{Invariant}(#t129);
}
} =>#t127, block {
final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
for (dynamic e in iterable)
- #t130.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...w}, // Error.
^", null);
} =>#t130, block {
@@ -556,7 +556,7 @@
{for (int i = 0; i < 42; ++i) ...x}, // Error.
^") {
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
- #t131.{core::Set::add}(#t133);
+ #t131.{core::Set::add}{Invariant}(#t133);
}
} =>#t131, block {
final core::Set<core::int> #t134 = col::LinkedHashSet::•<core::int>();
@@ -565,7 +565,7 @@
{for (int i = 0; i < 42; ++i) ...y}, // Error.
^") {
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
- #t134.{core::Set::add}(#t136);
+ #t134.{core::Set::add}{Invariant}(#t136);
}
} =>#t134, block {
final core::Set<core::int> #t137 = col::LinkedHashSet::•<core::int>();
@@ -574,12 +574,12 @@
{for (int i = 0; i < 42; ++i) ...z}, // Error.
^") {
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
- #t137.{core::Set::add}(#t139);
+ #t137.{core::Set::add}{Invariant}(#t139);
}
} =>#t137, block {
final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t140.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67: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) ...w}, // Error.
^", null);
} =>#t140, block {
@@ -588,7 +588,7 @@
if(!#t142.{core::Object::==}(null))
for (final dynamic #t143 in #t142{core::Iterable<dynamic>}) {
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
- #t141.{core::Set::add}(#t144);
+ #t141.{core::Set::add}{Invariant}(#t144);
}
} =>#t141, block {
final core::Set<core::int> #t145 = col::LinkedHashSet::•<core::int>();
@@ -596,7 +596,7 @@
if(!#t146.{core::Object::==}(null))
for (final dynamic #t147 in #t146{core::Iterable<dynamic>}) {
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
- #t145.{core::Set::add}(#t148);
+ #t145.{core::Set::add}{Invariant}(#t148);
}
} =>#t145, block {
final core::Set<core::int> #t149 = col::LinkedHashSet::•<core::int>();
@@ -604,14 +604,14 @@
if(!#t150.{core::Object::==}(null))
for (final dynamic #t151 in #t150{core::Iterable<dynamic>}) {
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
- #t149.{core::Set::add}(#t152);
+ #t149.{core::Set::add}{Invariant}(#t152);
}
} =>#t149, block {
final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t154 = w;
if(!#t154.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t155 in #t154{core::Map<core::int, core::int>}.{core::Map::entries})
- #t153.{core::Map::[]=}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
+ #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
} =>#t153, block {
final core::Set<core::int> #t156 = col::LinkedHashSet::•<core::int>();
if(condition) {
@@ -619,7 +619,7 @@
if(!#t157.{core::Object::==}(null))
for (final dynamic #t158 in #t157{core::Iterable<dynamic>}) {
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
- #t156.{core::Set::add}(#t159);
+ #t156.{core::Set::add}{Invariant}(#t159);
}
}
} =>#t156, block {
@@ -629,7 +629,7 @@
if(!#t161.{core::Object::==}(null))
for (final dynamic #t162 in #t161{core::Iterable<dynamic>}) {
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
- #t160.{core::Set::add}(#t163);
+ #t160.{core::Set::add}{Invariant}(#t163);
}
}
} =>#t160, block {
@@ -639,7 +639,7 @@
if(!#t165.{core::Object::==}(null))
for (final dynamic #t166 in #t165{core::Iterable<dynamic>}) {
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
- #t164.{core::Set::add}(#t167);
+ #t164.{core::Set::add}{Invariant}(#t167);
}
}
} =>#t164, block {
@@ -648,7 +648,7 @@
final core::Map<core::int, core::int>? #t169 = w;
if(!#t169.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t170 in #t169{core::Map<core::int, core::int>}.{core::Map::entries})
- #t168.{core::Map::[]=}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
+ #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
}
} =>#t168, block {
final core::Set<core::int> #t171 = col::LinkedHashSet::•<core::int>();
@@ -657,7 +657,7 @@
if(!#t172.{core::Object::==}(null))
for (final dynamic #t173 in #t172{core::Iterable<dynamic>}) {
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
- #t171.{core::Set::add}(#t174);
+ #t171.{core::Set::add}{Invariant}(#t174);
}
}
} =>#t171, block {
@@ -667,7 +667,7 @@
if(!#t176.{core::Object::==}(null))
for (final dynamic #t177 in #t176{core::Iterable<dynamic>}) {
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
- #t175.{core::Set::add}(#t178);
+ #t175.{core::Set::add}{Invariant}(#t178);
}
}
} =>#t175, block {
@@ -677,7 +677,7 @@
if(!#t180.{core::Object::==}(null))
for (final dynamic #t181 in #t180{core::Iterable<dynamic>}) {
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
- #t179.{core::Set::add}(#t182);
+ #t179.{core::Set::add}{Invariant}(#t182);
}
}
} =>#t179, block {
@@ -686,7 +686,7 @@
final core::Map<core::int, core::int>? #t184 = w;
if(!#t184.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t185 in #t184{core::Map<core::int, core::int>}.{core::Map::entries})
- #t183.{core::Map::[]=}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
+ #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
}
} =>#t183, block {
final core::Set<core::int> #t186 = col::LinkedHashSet::•<core::int>();
@@ -695,7 +695,7 @@
if(!#t187.{core::Object::==}(null))
for (final dynamic #t188 in #t187{core::Iterable<dynamic>}) {
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
- #t186.{core::Set::add}(#t189);
+ #t186.{core::Set::add}{Invariant}(#t189);
}
}
} =>#t186, block {
@@ -705,7 +705,7 @@
if(!#t191.{core::Object::==}(null))
for (final dynamic #t192 in #t191{core::Iterable<dynamic>}) {
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
- #t190.{core::Set::add}(#t193);
+ #t190.{core::Set::add}{Invariant}(#t193);
}
}
} =>#t190, block {
@@ -715,7 +715,7 @@
if(!#t195.{core::Object::==}(null))
for (final dynamic #t196 in #t195{core::Iterable<dynamic>}) {
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
- #t194.{core::Set::add}(#t197);
+ #t194.{core::Set::add}{Invariant}(#t197);
}
}
} =>#t194, block {
@@ -724,7 +724,7 @@
final core::Map<core::int, core::int>? #t199 = w;
if(!#t199.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t200 in #t199{core::Map<core::int, core::int>}.{core::Map::entries})
- #t198.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
}
} =>#t198];
}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
index 2c74f65..e3ffc57 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
@@ -175,7 +175,7 @@
{...a}, // Error.
^") {
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::Set::add}(#t3);
+ #t1.{core::Set::add}{Invariant}(#t3);
}
} =>#t1, block {
final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -183,7 +183,7 @@
{...b}, // Error.
^") {
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
}
} =>#t4, block {
final core::Set<core::int> #t7 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -191,7 +191,7 @@
{...c}, // Error.
^") {
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
- #t7.{core::Set::add}(#t9);
+ #t7.{core::Set::add}{Invariant}(#t9);
}
} =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...d}, // Error.
@@ -200,7 +200,7 @@
<int, int>{...a}, // Error.
^": null}, block {
final core::Set<core::int> #t10 = new col::_CompactLinkedHashSet::•<core::int>();
- #t10.{core::Set::add}(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.
+ #t10.{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.
^");
@@ -211,7 +211,7 @@
{if (condition) ...a}, // Error.
^") {
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
- #t11.{core::Set::add}(#t13);
+ #t11.{core::Set::add}{Invariant}(#t13);
}
} =>#t11, block {
final core::Set<core::int> #t14 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -220,7 +220,7 @@
{if (condition) ...b}, // Error.
^") {
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
- #t14.{core::Set::add}(#t16);
+ #t14.{core::Set::add}{Invariant}(#t16);
}
} =>#t14, block {
final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -229,12 +229,12 @@
{if (condition) ...c}, // Error.
^") {
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}(#t19);
+ #t17.{core::Set::add}{Invariant}(#t19);
}
} =>#t17, block {
final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
if(condition)
- #t20.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...d}, // Error.
^", null);
} =>#t20, block {
@@ -247,7 +247,7 @@
{for (dynamic e in iterable) ...a}, // Error.
^") {
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
- #t21.{core::Set::add}(#t23);
+ #t21.{core::Set::add}{Invariant}(#t23);
}
}
}
@@ -261,7 +261,7 @@
{for (dynamic e in iterable) ...b}, // Error.
^") {
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
- #t24.{core::Set::add}(#t26);
+ #t24.{core::Set::add}{Invariant}(#t26);
}
}
}
@@ -275,7 +275,7 @@
{for (dynamic e in iterable) ...c}, // Error.
^") {
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
- #t27.{core::Set::add}(#t29);
+ #t27.{core::Set::add}{Invariant}(#t29);
}
}
}
@@ -285,7 +285,7 @@
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = :sync-for-iterator.{core::Iterator::current};
- #t30.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...d}, // Error.
^", null);
}
@@ -297,7 +297,7 @@
{for (int i = 0; i < 42; ++i) ...a}, // Error.
^") {
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
- #t31.{core::Set::add}(#t33);
+ #t31.{core::Set::add}{Invariant}(#t33);
}
} =>#t31, block {
final core::Set<core::int> #t34 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -306,7 +306,7 @@
{for (int i = 0; i < 42; ++i) ...b}, // Error.
^") {
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
- #t34.{core::Set::add}(#t36);
+ #t34.{core::Set::add}{Invariant}(#t36);
}
} =>#t34, block {
final core::Set<core::int> #t37 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -315,12 +315,12 @@
{for (int i = 0; i < 42; ++i) ...c}, // Error.
^") {
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
- #t37.{core::Set::add}(#t39);
+ #t37.{core::Set::add}{Invariant}(#t39);
}
} =>#t37, block {
final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t40.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25: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) ...d}, // Error.
^", null);
} =>#t40, block {
@@ -332,7 +332,7 @@
final dynamic #t43 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
- #t41.{core::Set::add}(#t44);
+ #t41.{core::Set::add}{Invariant}(#t44);
}
}
}
@@ -345,7 +345,7 @@
final dynamic #t47 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
- #t45.{core::Set::add}(#t48);
+ #t45.{core::Set::add}{Invariant}(#t48);
}
}
}
@@ -358,7 +358,7 @@
final dynamic #t51 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
- #t49.{core::Set::add}(#t52);
+ #t49.{core::Set::add}{Invariant}(#t52);
}
}
}
@@ -369,7 +369,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t54{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current};
- #t53.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
}
}
} =>#t53, block {
@@ -382,7 +382,7 @@
final dynamic #t58 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
- #t56.{core::Set::add}(#t59);
+ #t56.{core::Set::add}{Invariant}(#t59);
}
}
}
@@ -397,7 +397,7 @@
final dynamic #t62 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
- #t60.{core::Set::add}(#t63);
+ #t60.{core::Set::add}{Invariant}(#t63);
}
}
}
@@ -412,7 +412,7 @@
final dynamic #t66 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
- #t64.{core::Set::add}(#t67);
+ #t64.{core::Set::add}{Invariant}(#t67);
}
}
}
@@ -425,7 +425,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t69{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current};
- #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
}
}
}
@@ -443,7 +443,7 @@
final dynamic #t73 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
- #t71.{core::Set::add}(#t74);
+ #t71.{core::Set::add}{Invariant}(#t74);
}
}
}
@@ -464,7 +464,7 @@
final dynamic #t77 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
- #t75.{core::Set::add}(#t78);
+ #t75.{core::Set::add}{Invariant}(#t78);
}
}
}
@@ -485,7 +485,7 @@
final dynamic #t81 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
- #t79.{core::Set::add}(#t82);
+ #t79.{core::Set::add}{Invariant}(#t82);
}
}
}
@@ -504,7 +504,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t84{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current};
- #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
}
}
}
@@ -520,7 +520,7 @@
final dynamic #t88 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
- #t86.{core::Set::add}(#t89);
+ #t86.{core::Set::add}{Invariant}(#t89);
}
}
}
@@ -535,7 +535,7 @@
final dynamic #t92 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
- #t90.{core::Set::add}(#t93);
+ #t90.{core::Set::add}{Invariant}(#t93);
}
}
}
@@ -550,7 +550,7 @@
final dynamic #t96 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
- #t94.{core::Set::add}(#t97);
+ #t94.{core::Set::add}{Invariant}(#t97);
}
}
}
@@ -563,7 +563,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current};
- #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
}
}
}
@@ -576,7 +576,7 @@
{...x}, // Error.
^") {
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
- #t101.{core::Set::add}(#t103);
+ #t101.{core::Set::add}{Invariant}(#t103);
}
} =>#t101, block {
final core::Set<core::int> #t104 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -584,7 +584,7 @@
{...y}, // Error.
^") {
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
- #t104.{core::Set::add}(#t106);
+ #t104.{core::Set::add}{Invariant}(#t106);
}
} =>#t104, block {
final core::Set<core::int> #t107 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -592,7 +592,7 @@
{...z}, // Error.
^") {
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
- #t107.{core::Set::add}(#t109);
+ #t107.{core::Set::add}{Invariant}(#t109);
}
} =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...w}, // Error.
@@ -600,7 +600,7 @@
<int, int>{...x}, // Error.
^": null}, block {
final core::Set<core::int> #t110 = new col::_CompactLinkedHashSet::•<core::int>();
- #t110.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+ #t110.{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.
^");
} =>#t110, block {
@@ -610,7 +610,7 @@
{if (condition) ...x}, // Error.
^") {
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
- #t111.{core::Set::add}(#t113);
+ #t111.{core::Set::add}{Invariant}(#t113);
}
} =>#t111, block {
final core::Set<core::int> #t114 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -619,7 +619,7 @@
{if (condition) ...y}, // Error.
^") {
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
- #t114.{core::Set::add}(#t116);
+ #t114.{core::Set::add}{Invariant}(#t116);
}
} =>#t114, block {
final core::Set<core::int> #t117 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -628,12 +628,12 @@
{if (condition) ...z}, // Error.
^") {
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
- #t117.{core::Set::add}(#t119);
+ #t117.{core::Set::add}{Invariant}(#t119);
}
} =>#t117, block {
final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
if(condition)
- #t120.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...w}, // Error.
^", null);
} =>#t120, block {
@@ -646,7 +646,7 @@
{for (dynamic e in iterable) ...x}, // Error.
^") {
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
- #t121.{core::Set::add}(#t123);
+ #t121.{core::Set::add}{Invariant}(#t123);
}
}
}
@@ -660,7 +660,7 @@
{for (dynamic e in iterable) ...y}, // Error.
^") {
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
- #t124.{core::Set::add}(#t126);
+ #t124.{core::Set::add}{Invariant}(#t126);
}
}
}
@@ -674,7 +674,7 @@
{for (dynamic e in iterable) ...z}, // Error.
^") {
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
- #t127.{core::Set::add}(#t129);
+ #t127.{core::Set::add}{Invariant}(#t129);
}
}
}
@@ -684,7 +684,7 @@
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = :sync-for-iterator.{core::Iterator::current};
- #t130.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...w}, // Error.
^", null);
}
@@ -696,7 +696,7 @@
{for (int i = 0; i < 42; ++i) ...x}, // Error.
^") {
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
- #t131.{core::Set::add}(#t133);
+ #t131.{core::Set::add}{Invariant}(#t133);
}
} =>#t131, block {
final core::Set<core::int> #t134 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -705,7 +705,7 @@
{for (int i = 0; i < 42; ++i) ...y}, // Error.
^") {
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
- #t134.{core::Set::add}(#t136);
+ #t134.{core::Set::add}{Invariant}(#t136);
}
} =>#t134, block {
final core::Set<core::int> #t137 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -714,12 +714,12 @@
{for (int i = 0; i < 42; ++i) ...z}, // Error.
^") {
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
- #t137.{core::Set::add}(#t139);
+ #t137.{core::Set::add}{Invariant}(#t139);
}
} =>#t137, block {
final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t140.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67: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) ...w}, // Error.
^", null);
} =>#t140, block {
@@ -731,7 +731,7 @@
final dynamic #t143 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
- #t141.{core::Set::add}(#t144);
+ #t141.{core::Set::add}{Invariant}(#t144);
}
}
}
@@ -744,7 +744,7 @@
final dynamic #t147 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
- #t145.{core::Set::add}(#t148);
+ #t145.{core::Set::add}{Invariant}(#t148);
}
}
}
@@ -757,7 +757,7 @@
final dynamic #t151 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
- #t149.{core::Set::add}(#t152);
+ #t149.{core::Set::add}{Invariant}(#t152);
}
}
}
@@ -768,7 +768,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t154{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current};
- #t153.{core::Map::[]=}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
+ #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
}
}
} =>#t153, block {
@@ -781,7 +781,7 @@
final dynamic #t158 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
- #t156.{core::Set::add}(#t159);
+ #t156.{core::Set::add}{Invariant}(#t159);
}
}
}
@@ -796,7 +796,7 @@
final dynamic #t162 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
- #t160.{core::Set::add}(#t163);
+ #t160.{core::Set::add}{Invariant}(#t163);
}
}
}
@@ -811,7 +811,7 @@
final dynamic #t166 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
- #t164.{core::Set::add}(#t167);
+ #t164.{core::Set::add}{Invariant}(#t167);
}
}
}
@@ -824,7 +824,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t169{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current};
- #t168.{core::Map::[]=}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
+ #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
}
}
}
@@ -842,7 +842,7 @@
final dynamic #t173 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
- #t171.{core::Set::add}(#t174);
+ #t171.{core::Set::add}{Invariant}(#t174);
}
}
}
@@ -863,7 +863,7 @@
final dynamic #t177 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
- #t175.{core::Set::add}(#t178);
+ #t175.{core::Set::add}{Invariant}(#t178);
}
}
}
@@ -884,7 +884,7 @@
final dynamic #t181 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
- #t179.{core::Set::add}(#t182);
+ #t179.{core::Set::add}{Invariant}(#t182);
}
}
}
@@ -903,7 +903,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t184{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current};
- #t183.{core::Map::[]=}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
+ #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
}
}
}
@@ -919,7 +919,7 @@
final dynamic #t188 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
- #t186.{core::Set::add}(#t189);
+ #t186.{core::Set::add}{Invariant}(#t189);
}
}
}
@@ -934,7 +934,7 @@
final dynamic #t192 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
- #t190.{core::Set::add}(#t193);
+ #t190.{core::Set::add}{Invariant}(#t193);
}
}
}
@@ -949,7 +949,7 @@
final dynamic #t196 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
- #t194.{core::Set::add}(#t197);
+ #t194.{core::Set::add}{Invariant}(#t197);
}
}
}
@@ -962,7 +962,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current};
- #t198.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
index beb8959..0934075 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
@@ -175,7 +175,7 @@
{...a}, // Error.
^") {
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::Set::add}(#t3);
+ #t1.{core::Set::add}{Invariant}(#t3);
}
} =>#t1, block {
final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
@@ -183,7 +183,7 @@
{...b}, // Error.
^") {
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
}
} =>#t4, block {
final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
@@ -191,7 +191,7 @@
{...c}, // Error.
^") {
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
- #t7.{core::Set::add}(#t9);
+ #t7.{core::Set::add}{Invariant}(#t9);
}
} =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...d}, // Error.
@@ -200,7 +200,7 @@
<int, int>{...a}, // Error.
^": null}, block {
final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>();
- #t10.{core::Set::add}(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.
+ #t10.{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.
^");
@@ -211,7 +211,7 @@
{if (condition) ...a}, // Error.
^") {
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
- #t11.{core::Set::add}(#t13);
+ #t11.{core::Set::add}{Invariant}(#t13);
}
} =>#t11, block {
final core::Set<core::int> #t14 = col::LinkedHashSet::•<core::int>();
@@ -220,7 +220,7 @@
{if (condition) ...b}, // Error.
^") {
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
- #t14.{core::Set::add}(#t16);
+ #t14.{core::Set::add}{Invariant}(#t16);
}
} =>#t14, block {
final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
@@ -229,12 +229,12 @@
{if (condition) ...c}, // Error.
^") {
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}(#t19);
+ #t17.{core::Set::add}{Invariant}(#t19);
}
} =>#t17, block {
final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
if(condition)
- #t20.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...d}, // Error.
^", null);
} =>#t20, block {
@@ -244,7 +244,7 @@
{for (dynamic e in iterable) ...a}, // Error.
^") {
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
- #t21.{core::Set::add}(#t23);
+ #t21.{core::Set::add}{Invariant}(#t23);
}
} =>#t21, block {
final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
@@ -253,7 +253,7 @@
{for (dynamic e in iterable) ...b}, // Error.
^") {
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
- #t24.{core::Set::add}(#t26);
+ #t24.{core::Set::add}{Invariant}(#t26);
}
} =>#t24, block {
final core::Set<core::int> #t27 = col::LinkedHashSet::•<core::int>();
@@ -262,12 +262,12 @@
{for (dynamic e in iterable) ...c}, // Error.
^") {
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
- #t27.{core::Set::add}(#t29);
+ #t27.{core::Set::add}{Invariant}(#t29);
}
} =>#t27, block {
final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
for (dynamic e in iterable)
- #t30.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...d}, // Error.
^", null);
} =>#t30, block {
@@ -277,7 +277,7 @@
{for (int i = 0; i < 42; ++i) ...a}, // Error.
^") {
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
- #t31.{core::Set::add}(#t33);
+ #t31.{core::Set::add}{Invariant}(#t33);
}
} =>#t31, block {
final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
@@ -286,7 +286,7 @@
{for (int i = 0; i < 42; ++i) ...b}, // Error.
^") {
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
- #t34.{core::Set::add}(#t36);
+ #t34.{core::Set::add}{Invariant}(#t36);
}
} =>#t34, block {
final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
@@ -295,12 +295,12 @@
{for (int i = 0; i < 42; ++i) ...c}, // Error.
^") {
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
- #t37.{core::Set::add}(#t39);
+ #t37.{core::Set::add}{Invariant}(#t39);
}
} =>#t37, block {
final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t40.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25: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) ...d}, // Error.
^", null);
} =>#t40, block {
@@ -309,7 +309,7 @@
if(!#t42.{core::Object::==}(null))
for (final dynamic #t43 in #t42{core::Iterable<dynamic>}) {
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
- #t41.{core::Set::add}(#t44);
+ #t41.{core::Set::add}{Invariant}(#t44);
}
} =>#t41, block {
final core::Set<core::int> #t45 = col::LinkedHashSet::•<core::int>();
@@ -317,7 +317,7 @@
if(!#t46.{core::Object::==}(null))
for (final dynamic #t47 in #t46{core::Iterable<dynamic>}) {
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
- #t45.{core::Set::add}(#t48);
+ #t45.{core::Set::add}{Invariant}(#t48);
}
} =>#t45, block {
final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
@@ -325,14 +325,14 @@
if(!#t50.{core::Object::==}(null))
for (final dynamic #t51 in #t50{core::Iterable<dynamic>}) {
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
- #t49.{core::Set::add}(#t52);
+ #t49.{core::Set::add}{Invariant}(#t52);
}
} =>#t49, block {
final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t54 = d;
if(!#t54.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t55 in #t54{core::Map<core::int, core::int>}.{core::Map::entries})
- #t53.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
} =>#t53, block {
final core::Set<core::int> #t56 = col::LinkedHashSet::•<core::int>();
if(condition) {
@@ -340,7 +340,7 @@
if(!#t57.{core::Object::==}(null))
for (final dynamic #t58 in #t57{core::Iterable<dynamic>}) {
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
- #t56.{core::Set::add}(#t59);
+ #t56.{core::Set::add}{Invariant}(#t59);
}
}
} =>#t56, block {
@@ -350,7 +350,7 @@
if(!#t61.{core::Object::==}(null))
for (final dynamic #t62 in #t61{core::Iterable<dynamic>}) {
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
- #t60.{core::Set::add}(#t63);
+ #t60.{core::Set::add}{Invariant}(#t63);
}
}
} =>#t60, block {
@@ -360,7 +360,7 @@
if(!#t65.{core::Object::==}(null))
for (final dynamic #t66 in #t65{core::Iterable<dynamic>}) {
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
- #t64.{core::Set::add}(#t67);
+ #t64.{core::Set::add}{Invariant}(#t67);
}
}
} =>#t64, block {
@@ -369,7 +369,7 @@
final core::Map<core::int, core::int>? #t69 = d;
if(!#t69.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t70 in #t69{core::Map<core::int, core::int>}.{core::Map::entries})
- #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
}
} =>#t68, block {
final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
@@ -378,7 +378,7 @@
if(!#t72.{core::Object::==}(null))
for (final dynamic #t73 in #t72{core::Iterable<dynamic>}) {
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
- #t71.{core::Set::add}(#t74);
+ #t71.{core::Set::add}{Invariant}(#t74);
}
}
} =>#t71, block {
@@ -388,7 +388,7 @@
if(!#t76.{core::Object::==}(null))
for (final dynamic #t77 in #t76{core::Iterable<dynamic>}) {
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
- #t75.{core::Set::add}(#t78);
+ #t75.{core::Set::add}{Invariant}(#t78);
}
}
} =>#t75, block {
@@ -398,7 +398,7 @@
if(!#t80.{core::Object::==}(null))
for (final dynamic #t81 in #t80{core::Iterable<dynamic>}) {
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
- #t79.{core::Set::add}(#t82);
+ #t79.{core::Set::add}{Invariant}(#t82);
}
}
} =>#t79, block {
@@ -407,7 +407,7 @@
final core::Map<core::int, core::int>? #t84 = d;
if(!#t84.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t85 in #t84{core::Map<core::int, core::int>}.{core::Map::entries})
- #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
}
} =>#t83, block {
final core::Set<core::int> #t86 = col::LinkedHashSet::•<core::int>();
@@ -416,7 +416,7 @@
if(!#t87.{core::Object::==}(null))
for (final dynamic #t88 in #t87{core::Iterable<dynamic>}) {
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
- #t86.{core::Set::add}(#t89);
+ #t86.{core::Set::add}{Invariant}(#t89);
}
}
} =>#t86, block {
@@ -426,7 +426,7 @@
if(!#t91.{core::Object::==}(null))
for (final dynamic #t92 in #t91{core::Iterable<dynamic>}) {
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
- #t90.{core::Set::add}(#t93);
+ #t90.{core::Set::add}{Invariant}(#t93);
}
}
} =>#t90, block {
@@ -436,7 +436,7 @@
if(!#t95.{core::Object::==}(null))
for (final dynamic #t96 in #t95{core::Iterable<dynamic>}) {
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
- #t94.{core::Set::add}(#t97);
+ #t94.{core::Set::add}{Invariant}(#t97);
}
}
} =>#t94, block {
@@ -445,7 +445,7 @@
final core::Map<core::int, core::int>? #t99 = d;
if(!#t99.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t100 in #t99{core::Map<core::int, core::int>}.{core::Map::entries})
- #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
}
} =>#t98];
}
@@ -456,7 +456,7 @@
{...x}, // Error.
^") {
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
- #t101.{core::Set::add}(#t103);
+ #t101.{core::Set::add}{Invariant}(#t103);
}
} =>#t101, block {
final core::Set<core::int> #t104 = col::LinkedHashSet::•<core::int>();
@@ -464,7 +464,7 @@
{...y}, // Error.
^") {
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
- #t104.{core::Set::add}(#t106);
+ #t104.{core::Set::add}{Invariant}(#t106);
}
} =>#t104, block {
final core::Set<core::int> #t107 = col::LinkedHashSet::•<core::int>();
@@ -472,7 +472,7 @@
{...z}, // Error.
^") {
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
- #t107.{core::Set::add}(#t109);
+ #t107.{core::Set::add}{Invariant}(#t109);
}
} =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...w}, // Error.
@@ -480,7 +480,7 @@
<int, int>{...x}, // Error.
^": null}, block {
final core::Set<core::int> #t110 = col::LinkedHashSet::•<core::int>();
- #t110.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+ #t110.{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.
^");
} =>#t110, block {
@@ -490,7 +490,7 @@
{if (condition) ...x}, // Error.
^") {
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
- #t111.{core::Set::add}(#t113);
+ #t111.{core::Set::add}{Invariant}(#t113);
}
} =>#t111, block {
final core::Set<core::int> #t114 = col::LinkedHashSet::•<core::int>();
@@ -499,7 +499,7 @@
{if (condition) ...y}, // Error.
^") {
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
- #t114.{core::Set::add}(#t116);
+ #t114.{core::Set::add}{Invariant}(#t116);
}
} =>#t114, block {
final core::Set<core::int> #t117 = col::LinkedHashSet::•<core::int>();
@@ -508,12 +508,12 @@
{if (condition) ...z}, // Error.
^") {
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
- #t117.{core::Set::add}(#t119);
+ #t117.{core::Set::add}{Invariant}(#t119);
}
} =>#t117, block {
final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
if(condition)
- #t120.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...w}, // Error.
^", null);
} =>#t120, block {
@@ -523,7 +523,7 @@
{for (dynamic e in iterable) ...x}, // Error.
^") {
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
- #t121.{core::Set::add}(#t123);
+ #t121.{core::Set::add}{Invariant}(#t123);
}
} =>#t121, block {
final core::Set<core::int> #t124 = col::LinkedHashSet::•<core::int>();
@@ -532,7 +532,7 @@
{for (dynamic e in iterable) ...y}, // Error.
^") {
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
- #t124.{core::Set::add}(#t126);
+ #t124.{core::Set::add}{Invariant}(#t126);
}
} =>#t124, block {
final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
@@ -541,12 +541,12 @@
{for (dynamic e in iterable) ...z}, // Error.
^") {
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
- #t127.{core::Set::add}(#t129);
+ #t127.{core::Set::add}{Invariant}(#t129);
}
} =>#t127, block {
final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
for (dynamic e in iterable)
- #t130.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...w}, // Error.
^", null);
} =>#t130, block {
@@ -556,7 +556,7 @@
{for (int i = 0; i < 42; ++i) ...x}, // Error.
^") {
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
- #t131.{core::Set::add}(#t133);
+ #t131.{core::Set::add}{Invariant}(#t133);
}
} =>#t131, block {
final core::Set<core::int> #t134 = col::LinkedHashSet::•<core::int>();
@@ -565,7 +565,7 @@
{for (int i = 0; i < 42; ++i) ...y}, // Error.
^") {
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
- #t134.{core::Set::add}(#t136);
+ #t134.{core::Set::add}{Invariant}(#t136);
}
} =>#t134, block {
final core::Set<core::int> #t137 = col::LinkedHashSet::•<core::int>();
@@ -574,12 +574,12 @@
{for (int i = 0; i < 42; ++i) ...z}, // Error.
^") {
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
- #t137.{core::Set::add}(#t139);
+ #t137.{core::Set::add}{Invariant}(#t139);
}
} =>#t137, block {
final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t140.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67: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) ...w}, // Error.
^", null);
} =>#t140, block {
@@ -588,7 +588,7 @@
if(!#t142.{core::Object::==}(null))
for (final dynamic #t143 in #t142{core::Iterable<dynamic>}) {
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
- #t141.{core::Set::add}(#t144);
+ #t141.{core::Set::add}{Invariant}(#t144);
}
} =>#t141, block {
final core::Set<core::int> #t145 = col::LinkedHashSet::•<core::int>();
@@ -596,7 +596,7 @@
if(!#t146.{core::Object::==}(null))
for (final dynamic #t147 in #t146{core::Iterable<dynamic>}) {
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
- #t145.{core::Set::add}(#t148);
+ #t145.{core::Set::add}{Invariant}(#t148);
}
} =>#t145, block {
final core::Set<core::int> #t149 = col::LinkedHashSet::•<core::int>();
@@ -604,14 +604,14 @@
if(!#t150.{core::Object::==}(null))
for (final dynamic #t151 in #t150{core::Iterable<dynamic>}) {
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
- #t149.{core::Set::add}(#t152);
+ #t149.{core::Set::add}{Invariant}(#t152);
}
} =>#t149, block {
final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t154 = w;
if(!#t154.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t155 in #t154{core::Map<core::int, core::int>}.{core::Map::entries})
- #t153.{core::Map::[]=}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
+ #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
} =>#t153, block {
final core::Set<core::int> #t156 = col::LinkedHashSet::•<core::int>();
if(condition) {
@@ -619,7 +619,7 @@
if(!#t157.{core::Object::==}(null))
for (final dynamic #t158 in #t157{core::Iterable<dynamic>}) {
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
- #t156.{core::Set::add}(#t159);
+ #t156.{core::Set::add}{Invariant}(#t159);
}
}
} =>#t156, block {
@@ -629,7 +629,7 @@
if(!#t161.{core::Object::==}(null))
for (final dynamic #t162 in #t161{core::Iterable<dynamic>}) {
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
- #t160.{core::Set::add}(#t163);
+ #t160.{core::Set::add}{Invariant}(#t163);
}
}
} =>#t160, block {
@@ -639,7 +639,7 @@
if(!#t165.{core::Object::==}(null))
for (final dynamic #t166 in #t165{core::Iterable<dynamic>}) {
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
- #t164.{core::Set::add}(#t167);
+ #t164.{core::Set::add}{Invariant}(#t167);
}
}
} =>#t164, block {
@@ -648,7 +648,7 @@
final core::Map<core::int, core::int>? #t169 = w;
if(!#t169.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t170 in #t169{core::Map<core::int, core::int>}.{core::Map::entries})
- #t168.{core::Map::[]=}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
+ #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
}
} =>#t168, block {
final core::Set<core::int> #t171 = col::LinkedHashSet::•<core::int>();
@@ -657,7 +657,7 @@
if(!#t172.{core::Object::==}(null))
for (final dynamic #t173 in #t172{core::Iterable<dynamic>}) {
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
- #t171.{core::Set::add}(#t174);
+ #t171.{core::Set::add}{Invariant}(#t174);
}
}
} =>#t171, block {
@@ -667,7 +667,7 @@
if(!#t176.{core::Object::==}(null))
for (final dynamic #t177 in #t176{core::Iterable<dynamic>}) {
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
- #t175.{core::Set::add}(#t178);
+ #t175.{core::Set::add}{Invariant}(#t178);
}
}
} =>#t175, block {
@@ -677,7 +677,7 @@
if(!#t180.{core::Object::==}(null))
for (final dynamic #t181 in #t180{core::Iterable<dynamic>}) {
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
- #t179.{core::Set::add}(#t182);
+ #t179.{core::Set::add}{Invariant}(#t182);
}
}
} =>#t179, block {
@@ -686,7 +686,7 @@
final core::Map<core::int, core::int>? #t184 = w;
if(!#t184.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t185 in #t184{core::Map<core::int, core::int>}.{core::Map::entries})
- #t183.{core::Map::[]=}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
+ #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
}
} =>#t183, block {
final core::Set<core::int> #t186 = col::LinkedHashSet::•<core::int>();
@@ -695,7 +695,7 @@
if(!#t187.{core::Object::==}(null))
for (final dynamic #t188 in #t187{core::Iterable<dynamic>}) {
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
- #t186.{core::Set::add}(#t189);
+ #t186.{core::Set::add}{Invariant}(#t189);
}
}
} =>#t186, block {
@@ -705,7 +705,7 @@
if(!#t191.{core::Object::==}(null))
for (final dynamic #t192 in #t191{core::Iterable<dynamic>}) {
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
- #t190.{core::Set::add}(#t193);
+ #t190.{core::Set::add}{Invariant}(#t193);
}
}
} =>#t190, block {
@@ -715,7 +715,7 @@
if(!#t195.{core::Object::==}(null))
for (final dynamic #t196 in #t195{core::Iterable<dynamic>}) {
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
- #t194.{core::Set::add}(#t197);
+ #t194.{core::Set::add}{Invariant}(#t197);
}
}
} =>#t194, block {
@@ -724,7 +724,7 @@
final core::Map<core::int, core::int>? #t199 = w;
if(!#t199.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t200 in #t199{core::Map<core::int, core::int>}.{core::Map::entries})
- #t198.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
}
} =>#t198];
}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
index 2c74f65..e3ffc57 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
@@ -175,7 +175,7 @@
{...a}, // Error.
^") {
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::Set::add}(#t3);
+ #t1.{core::Set::add}{Invariant}(#t3);
}
} =>#t1, block {
final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -183,7 +183,7 @@
{...b}, // Error.
^") {
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
- #t4.{core::Set::add}(#t6);
+ #t4.{core::Set::add}{Invariant}(#t6);
}
} =>#t4, block {
final core::Set<core::int> #t7 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -191,7 +191,7 @@
{...c}, // Error.
^") {
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
- #t7.{core::Set::add}(#t9);
+ #t7.{core::Set::add}{Invariant}(#t9);
}
} =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...d}, // Error.
@@ -200,7 +200,7 @@
<int, int>{...a}, // Error.
^": null}, block {
final core::Set<core::int> #t10 = new col::_CompactLinkedHashSet::•<core::int>();
- #t10.{core::Set::add}(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.
+ #t10.{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.
^");
@@ -211,7 +211,7 @@
{if (condition) ...a}, // Error.
^") {
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
- #t11.{core::Set::add}(#t13);
+ #t11.{core::Set::add}{Invariant}(#t13);
}
} =>#t11, block {
final core::Set<core::int> #t14 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -220,7 +220,7 @@
{if (condition) ...b}, // Error.
^") {
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
- #t14.{core::Set::add}(#t16);
+ #t14.{core::Set::add}{Invariant}(#t16);
}
} =>#t14, block {
final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -229,12 +229,12 @@
{if (condition) ...c}, // Error.
^") {
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}(#t19);
+ #t17.{core::Set::add}{Invariant}(#t19);
}
} =>#t17, block {
final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
if(condition)
- #t20.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...d}, // Error.
^", null);
} =>#t20, block {
@@ -247,7 +247,7 @@
{for (dynamic e in iterable) ...a}, // Error.
^") {
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
- #t21.{core::Set::add}(#t23);
+ #t21.{core::Set::add}{Invariant}(#t23);
}
}
}
@@ -261,7 +261,7 @@
{for (dynamic e in iterable) ...b}, // Error.
^") {
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
- #t24.{core::Set::add}(#t26);
+ #t24.{core::Set::add}{Invariant}(#t26);
}
}
}
@@ -275,7 +275,7 @@
{for (dynamic e in iterable) ...c}, // Error.
^") {
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
- #t27.{core::Set::add}(#t29);
+ #t27.{core::Set::add}{Invariant}(#t29);
}
}
}
@@ -285,7 +285,7 @@
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = :sync-for-iterator.{core::Iterator::current};
- #t30.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...d}, // Error.
^", null);
}
@@ -297,7 +297,7 @@
{for (int i = 0; i < 42; ++i) ...a}, // Error.
^") {
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
- #t31.{core::Set::add}(#t33);
+ #t31.{core::Set::add}{Invariant}(#t33);
}
} =>#t31, block {
final core::Set<core::int> #t34 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -306,7 +306,7 @@
{for (int i = 0; i < 42; ++i) ...b}, // Error.
^") {
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
- #t34.{core::Set::add}(#t36);
+ #t34.{core::Set::add}{Invariant}(#t36);
}
} =>#t34, block {
final core::Set<core::int> #t37 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -315,12 +315,12 @@
{for (int i = 0; i < 42; ++i) ...c}, // Error.
^") {
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
- #t37.{core::Set::add}(#t39);
+ #t37.{core::Set::add}{Invariant}(#t39);
}
} =>#t37, block {
final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t40.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25: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) ...d}, // Error.
^", null);
} =>#t40, block {
@@ -332,7 +332,7 @@
final dynamic #t43 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
- #t41.{core::Set::add}(#t44);
+ #t41.{core::Set::add}{Invariant}(#t44);
}
}
}
@@ -345,7 +345,7 @@
final dynamic #t47 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
- #t45.{core::Set::add}(#t48);
+ #t45.{core::Set::add}{Invariant}(#t48);
}
}
}
@@ -358,7 +358,7 @@
final dynamic #t51 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
- #t49.{core::Set::add}(#t52);
+ #t49.{core::Set::add}{Invariant}(#t52);
}
}
}
@@ -369,7 +369,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t54{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current};
- #t53.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
}
}
} =>#t53, block {
@@ -382,7 +382,7 @@
final dynamic #t58 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
- #t56.{core::Set::add}(#t59);
+ #t56.{core::Set::add}{Invariant}(#t59);
}
}
}
@@ -397,7 +397,7 @@
final dynamic #t62 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
- #t60.{core::Set::add}(#t63);
+ #t60.{core::Set::add}{Invariant}(#t63);
}
}
}
@@ -412,7 +412,7 @@
final dynamic #t66 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
- #t64.{core::Set::add}(#t67);
+ #t64.{core::Set::add}{Invariant}(#t67);
}
}
}
@@ -425,7 +425,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t69{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current};
- #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
}
}
}
@@ -443,7 +443,7 @@
final dynamic #t73 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
- #t71.{core::Set::add}(#t74);
+ #t71.{core::Set::add}{Invariant}(#t74);
}
}
}
@@ -464,7 +464,7 @@
final dynamic #t77 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
- #t75.{core::Set::add}(#t78);
+ #t75.{core::Set::add}{Invariant}(#t78);
}
}
}
@@ -485,7 +485,7 @@
final dynamic #t81 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
- #t79.{core::Set::add}(#t82);
+ #t79.{core::Set::add}{Invariant}(#t82);
}
}
}
@@ -504,7 +504,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t84{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current};
- #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
}
}
}
@@ -520,7 +520,7 @@
final dynamic #t88 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
- #t86.{core::Set::add}(#t89);
+ #t86.{core::Set::add}{Invariant}(#t89);
}
}
}
@@ -535,7 +535,7 @@
final dynamic #t92 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
- #t90.{core::Set::add}(#t93);
+ #t90.{core::Set::add}{Invariant}(#t93);
}
}
}
@@ -550,7 +550,7 @@
final dynamic #t96 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
- #t94.{core::Set::add}(#t97);
+ #t94.{core::Set::add}{Invariant}(#t97);
}
}
}
@@ -563,7 +563,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current};
- #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
}
}
}
@@ -576,7 +576,7 @@
{...x}, // Error.
^") {
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
- #t101.{core::Set::add}(#t103);
+ #t101.{core::Set::add}{Invariant}(#t103);
}
} =>#t101, block {
final core::Set<core::int> #t104 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -584,7 +584,7 @@
{...y}, // Error.
^") {
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
- #t104.{core::Set::add}(#t106);
+ #t104.{core::Set::add}{Invariant}(#t106);
}
} =>#t104, block {
final core::Set<core::int> #t107 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -592,7 +592,7 @@
{...z}, // Error.
^") {
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
- #t107.{core::Set::add}(#t109);
+ #t107.{core::Set::add}{Invariant}(#t109);
}
} =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...w}, // Error.
@@ -600,7 +600,7 @@
<int, int>{...x}, // Error.
^": null}, block {
final core::Set<core::int> #t110 = new col::_CompactLinkedHashSet::•<core::int>();
- #t110.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+ #t110.{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.
^");
} =>#t110, block {
@@ -610,7 +610,7 @@
{if (condition) ...x}, // Error.
^") {
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
- #t111.{core::Set::add}(#t113);
+ #t111.{core::Set::add}{Invariant}(#t113);
}
} =>#t111, block {
final core::Set<core::int> #t114 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -619,7 +619,7 @@
{if (condition) ...y}, // Error.
^") {
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
- #t114.{core::Set::add}(#t116);
+ #t114.{core::Set::add}{Invariant}(#t116);
}
} =>#t114, block {
final core::Set<core::int> #t117 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -628,12 +628,12 @@
{if (condition) ...z}, // Error.
^") {
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
- #t117.{core::Set::add}(#t119);
+ #t117.{core::Set::add}{Invariant}(#t119);
}
} =>#t117, block {
final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
if(condition)
- #t120.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...w}, // Error.
^", null);
} =>#t120, block {
@@ -646,7 +646,7 @@
{for (dynamic e in iterable) ...x}, // Error.
^") {
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
- #t121.{core::Set::add}(#t123);
+ #t121.{core::Set::add}{Invariant}(#t123);
}
}
}
@@ -660,7 +660,7 @@
{for (dynamic e in iterable) ...y}, // Error.
^") {
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
- #t124.{core::Set::add}(#t126);
+ #t124.{core::Set::add}{Invariant}(#t126);
}
}
}
@@ -674,7 +674,7 @@
{for (dynamic e in iterable) ...z}, // Error.
^") {
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
- #t127.{core::Set::add}(#t129);
+ #t127.{core::Set::add}{Invariant}(#t129);
}
}
}
@@ -684,7 +684,7 @@
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = :sync-for-iterator.{core::Iterator::current};
- #t130.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...w}, // Error.
^", null);
}
@@ -696,7 +696,7 @@
{for (int i = 0; i < 42; ++i) ...x}, // Error.
^") {
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
- #t131.{core::Set::add}(#t133);
+ #t131.{core::Set::add}{Invariant}(#t133);
}
} =>#t131, block {
final core::Set<core::int> #t134 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -705,7 +705,7 @@
{for (int i = 0; i < 42; ++i) ...y}, // Error.
^") {
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
- #t134.{core::Set::add}(#t136);
+ #t134.{core::Set::add}{Invariant}(#t136);
}
} =>#t134, block {
final core::Set<core::int> #t137 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -714,12 +714,12 @@
{for (int i = 0; i < 42; ++i) ...z}, // Error.
^") {
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
- #t137.{core::Set::add}(#t139);
+ #t137.{core::Set::add}{Invariant}(#t139);
}
} =>#t137, block {
final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t140.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67: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) ...w}, // Error.
^", null);
} =>#t140, block {
@@ -731,7 +731,7 @@
final dynamic #t143 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
- #t141.{core::Set::add}(#t144);
+ #t141.{core::Set::add}{Invariant}(#t144);
}
}
}
@@ -744,7 +744,7 @@
final dynamic #t147 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
- #t145.{core::Set::add}(#t148);
+ #t145.{core::Set::add}{Invariant}(#t148);
}
}
}
@@ -757,7 +757,7 @@
final dynamic #t151 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
- #t149.{core::Set::add}(#t152);
+ #t149.{core::Set::add}{Invariant}(#t152);
}
}
}
@@ -768,7 +768,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t154{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current};
- #t153.{core::Map::[]=}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
+ #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
}
}
} =>#t153, block {
@@ -781,7 +781,7 @@
final dynamic #t158 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
- #t156.{core::Set::add}(#t159);
+ #t156.{core::Set::add}{Invariant}(#t159);
}
}
}
@@ -796,7 +796,7 @@
final dynamic #t162 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
- #t160.{core::Set::add}(#t163);
+ #t160.{core::Set::add}{Invariant}(#t163);
}
}
}
@@ -811,7 +811,7 @@
final dynamic #t166 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
- #t164.{core::Set::add}(#t167);
+ #t164.{core::Set::add}{Invariant}(#t167);
}
}
}
@@ -824,7 +824,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t169{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current};
- #t168.{core::Map::[]=}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
+ #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
}
}
}
@@ -842,7 +842,7 @@
final dynamic #t173 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
- #t171.{core::Set::add}(#t174);
+ #t171.{core::Set::add}{Invariant}(#t174);
}
}
}
@@ -863,7 +863,7 @@
final dynamic #t177 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
- #t175.{core::Set::add}(#t178);
+ #t175.{core::Set::add}{Invariant}(#t178);
}
}
}
@@ -884,7 +884,7 @@
final dynamic #t181 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
- #t179.{core::Set::add}(#t182);
+ #t179.{core::Set::add}{Invariant}(#t182);
}
}
}
@@ -903,7 +903,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t184{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current};
- #t183.{core::Map::[]=}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
+ #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
}
}
}
@@ -919,7 +919,7 @@
final dynamic #t188 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
- #t186.{core::Set::add}(#t189);
+ #t186.{core::Set::add}{Invariant}(#t189);
}
}
}
@@ -934,7 +934,7 @@
final dynamic #t192 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
- #t190.{core::Set::add}(#t193);
+ #t190.{core::Set::add}{Invariant}(#t193);
}
}
}
@@ -949,7 +949,7 @@
final dynamic #t196 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
- #t194.{core::Set::add}(#t197);
+ #t194.{core::Set::add}{Invariant}(#t197);
}
}
}
@@ -962,7 +962,7 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current};
- #t198.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/later.dart.strong.expect b/pkg/front_end/testcases/nnbd/later.dart.strong.expect
index 992c773..df47af6 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.strong.expect
@@ -113,7 +113,7 @@
block {
final core::List<core::int> #t1 = <core::int>[];
for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
} =>#t1;
}
static method hest() → dynamic async {
diff --git a/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
index 597bd6c..25b17c9 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
@@ -120,7 +120,7 @@
block {
final core::List<core::int> #t1 = <core::int>[];
for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
} =>#t1;
}
static method hest() → dynamic /* originally async */ {
diff --git a/pkg/front_end/testcases/nnbd/later.dart.weak.expect b/pkg/front_end/testcases/nnbd/later.dart.weak.expect
index 992c773..df47af6 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.weak.expect
@@ -113,7 +113,7 @@
block {
final core::List<core::int> #t1 = <core::int>[];
for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
} =>#t1;
}
static method hest() → dynamic async {
diff --git a/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
index 597bd6c..25b17c9 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
@@ -120,7 +120,7 @@
block {
final core::List<core::int> #t1 = <core::int>[];
for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t1.{core::List::add}(i);
+ #t1.{core::List::add}{Invariant}(i);
} =>#t1;
}
static method hest() → dynamic /* originally async */ {
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
index 04612a2..ffceca9 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
@@ -7,78 +7,78 @@
core::List<core::int>? list = null;
core::print( block {
final core::List<core::int> #t1 = <core::int>[];
- #t1.{core::List::add}(1);
- #t1.{core::List::add}(2);
+ #t1.{core::List::add}{Invariant}(1);
+ #t1.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t2 = list;
if(!#t2.{core::Object::==}(null))
for (final core::int #t3 in #t2{core::Iterable<core::int>})
- #t1.{core::List::add}(#t3);
- #t1.{core::List::add}(3);
+ #t1.{core::List::add}{Invariant}(#t3);
+ #t1.{core::List::add}{Invariant}(3);
} =>#t1);
core::print( block {
final core::List<core::int> #t4 = <core::int>[];
- #t4.{core::List::add}(1);
- #t4.{core::List::add}(2);
+ #t4.{core::List::add}{Invariant}(1);
+ #t4.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t5 = null;
if(!#t5.{core::Object::==}(null))
for (final core::int #t6 in #t5{core::Iterable<core::int>})
- #t4.{core::List::add}(#t6);
- #t4.{core::List::add}(3);
+ #t4.{core::List::add}{Invariant}(#t6);
+ #t4.{core::List::add}{Invariant}(3);
} =>#t4);
core::List<core::int> list1 = block {
final core::List<core::int> #t7 = <core::int>[];
final core::Iterable<core::int>? #t8 = list;
if(!#t8.{core::Object::==}(null))
for (final core::int #t9 in #t8{core::Iterable<core::int>})
- #t7.{core::List::add}(#t9);
+ #t7.{core::List::add}{Invariant}(#t9);
} =>#t7;
core::List<Never> list2 = block {
final core::List<Never> #t10 = <Never>[];
final core::Iterable<Never>? #t11 = null;
if(!#t11.{core::Object::==}(null))
for (final Never #t12 in #t11{core::Iterable<Never>})
- #t10.{core::List::add}(#t12);
+ #t10.{core::List::add}{Invariant}(#t12);
} =>#t10;
core::List<core::int> list3 = block {
final core::List<core::int> #t13 = <core::int>[];
- #t13.{core::List::add}(1);
- #t13.{core::List::add}(2);
+ #t13.{core::List::add}{Invariant}(1);
+ #t13.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t14 = list;
if(!#t14.{core::Object::==}(null))
for (final core::int #t15 in #t14{core::Iterable<core::int>})
- #t13.{core::List::add}(#t15);
- #t13.{core::List::add}(3);
+ #t13.{core::List::add}{Invariant}(#t15);
+ #t13.{core::List::add}{Invariant}(3);
} =>#t13;
core::List<core::int> list4 = block {
final core::List<core::int> #t16 = <core::int>[];
- #t16.{core::List::add}(1);
- #t16.{core::List::add}(2);
+ #t16.{core::List::add}{Invariant}(1);
+ #t16.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t17 = null;
if(!#t17.{core::Object::==}(null))
for (final core::int #t18 in #t17{core::Iterable<core::int>})
- #t16.{core::List::add}(#t18);
- #t16.{core::List::add}(3);
+ #t16.{core::List::add}{Invariant}(#t18);
+ #t16.{core::List::add}{Invariant}(3);
} =>#t16;
core::Set<core::int>? set = null;
core::print( block {
final core::Set<core::int> #t19 = col::LinkedHashSet::•<core::int>();
- #t19.{core::Set::add}(1);
- #t19.{core::Set::add}(2);
+ #t19.{core::Set::add}{Invariant}(1);
+ #t19.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t20 = set;
if(!#t20.{core::Object::==}(null))
for (final core::int #t21 in #t20{core::Iterable<core::int>})
- #t19.{core::Set::add}(#t21);
- #t19.{core::Set::add}(3);
+ #t19.{core::Set::add}{Invariant}(#t21);
+ #t19.{core::Set::add}{Invariant}(3);
} =>#t19);
core::print( block {
final core::Set<core::int> #t22 = col::LinkedHashSet::•<core::int>();
- #t22.{core::Set::add}(1);
- #t22.{core::Set::add}(2);
+ #t22.{core::Set::add}{Invariant}(1);
+ #t22.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t23 = null;
if(!#t23.{core::Object::==}(null))
for (final core::int #t24 in #t23{core::Iterable<core::int>})
- #t22.{core::Set::add}(#t24);
- #t22.{core::Set::add}(3);
+ #t22.{core::Set::add}{Invariant}(#t24);
+ #t22.{core::Set::add}{Invariant}(3);
} =>#t22);
core::Set<core::int> set1 = block {
final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
@@ -86,75 +86,75 @@
if(!#t26.{core::Object::==}(null))
for (final dynamic #t27 in #t26{core::Iterable<dynamic>}) {
final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}(#t28);
+ #t25.{core::Set::add}{Invariant}(#t28);
}
} =>#t25;
core::Set<core::int> set3 = block {
final core::Set<core::int> #t29 = col::LinkedHashSet::•<core::int>();
- #t29.{core::Set::add}(1);
- #t29.{core::Set::add}(2);
+ #t29.{core::Set::add}{Invariant}(1);
+ #t29.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t30 = set;
if(!#t30.{core::Object::==}(null))
for (final core::int #t31 in #t30{core::Iterable<core::int>})
- #t29.{core::Set::add}(#t31);
- #t29.{core::Set::add}(3);
+ #t29.{core::Set::add}{Invariant}(#t31);
+ #t29.{core::Set::add}{Invariant}(3);
} =>#t29;
core::Set<core::int> set4 = block {
final core::Set<core::int> #t32 = col::LinkedHashSet::•<core::int>();
- #t32.{core::Set::add}(1);
- #t32.{core::Set::add}(2);
+ #t32.{core::Set::add}{Invariant}(1);
+ #t32.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t33 = null;
if(!#t33.{core::Object::==}(null))
for (final core::int #t34 in #t33{core::Iterable<core::int>})
- #t32.{core::Set::add}(#t34);
- #t32.{core::Set::add}(3);
+ #t32.{core::Set::add}{Invariant}(#t34);
+ #t32.{core::Set::add}{Invariant}(3);
} =>#t32;
core::Map<core::int, core::int>? map = null;
core::print( block {
final core::Map<core::int, core::int> #t35 = <core::int, core::int>{};
- #t35.{core::Map::[]=}(1, 1);
- #t35.{core::Map::[]=}(2, 2);
+ #t35.{core::Map::[]=}{Invariant}(1, 1);
+ #t35.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t36 = map;
if(!#t36.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t37 in #t36{core::Map<core::int, core::int>}.{core::Map::entries})
- #t35.{core::Map::[]=}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
- #t35.{core::Map::[]=}(3, 3);
+ #t35.{core::Map::[]=}{Invariant}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
+ #t35.{core::Map::[]=}{Invariant}(3, 3);
} =>#t35);
core::print( block {
final core::Map<core::int, core::int> #t38 = <core::int, core::int>{};
- #t38.{core::Map::[]=}(1, 1);
- #t38.{core::Map::[]=}(2, 2);
+ #t38.{core::Map::[]=}{Invariant}(1, 1);
+ #t38.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t39 = null;
if(!#t39.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t40 in #t39{core::Map<core::int, core::int>}.{core::Map::entries})
- #t38.{core::Map::[]=}(#t40.{core::MapEntry::key}, #t40.{core::MapEntry::value});
- #t38.{core::Map::[]=}(3, 3);
+ #t38.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}, #t40.{core::MapEntry::value});
+ #t38.{core::Map::[]=}{Invariant}(3, 3);
} =>#t38);
core::Map<core::int, core::int> map1 = block {
final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t42 = map;
if(!#t42.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t43 in #t42{core::Map<core::int, core::int>}.{core::Map::entries})
- #t41.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t41.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
} =>#t41;
core::Map<core::int, core::int> map3 = block {
final core::Map<core::int, core::int> #t44 = <core::int, core::int>{};
- #t44.{core::Map::[]=}(1, 1);
- #t44.{core::Map::[]=}(2, 2);
+ #t44.{core::Map::[]=}{Invariant}(1, 1);
+ #t44.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t45 = map;
if(!#t45.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t46 in #t45{core::Map<core::int, core::int>}.{core::Map::entries})
- #t44.{core::Map::[]=}(#t46.{core::MapEntry::key}, #t46.{core::MapEntry::value});
- #t44.{core::Map::[]=}(3, 3);
+ #t44.{core::Map::[]=}{Invariant}(#t46.{core::MapEntry::key}, #t46.{core::MapEntry::value});
+ #t44.{core::Map::[]=}{Invariant}(3, 3);
} =>#t44;
core::Map<core::int, core::int> map4 = block {
final core::Map<core::int, core::int> #t47 = <core::int, core::int>{};
- #t47.{core::Map::[]=}(1, 1);
- #t47.{core::Map::[]=}(2, 2);
+ #t47.{core::Map::[]=}{Invariant}(1, 1);
+ #t47.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t48 = null;
if(!#t48.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t49 in #t48{core::Map<core::int, core::int>}.{core::Map::entries})
- #t47.{core::Map::[]=}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
- #t47.{core::Map::[]=}(3, 3);
+ #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
+ #t47.{core::Map::[]=}{Invariant}(3, 3);
} =>#t47;
}
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
index 80f3187..ba1a66c 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
@@ -7,31 +7,31 @@
core::List<core::int>? list = null;
core::print( block {
final core::List<core::int> #t1 = <core::int>[];
- #t1.{core::List::add}(1);
- #t1.{core::List::add}(2);
+ #t1.{core::List::add}{Invariant}(1);
+ #t1.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t2 = list;
if(!#t2.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t2{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t3 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t3);
+ #t1.{core::List::add}{Invariant}(#t3);
}
}
- #t1.{core::List::add}(3);
+ #t1.{core::List::add}{Invariant}(3);
} =>#t1);
core::print( block {
final core::List<core::int> #t4 = <core::int>[];
- #t4.{core::List::add}(1);
- #t4.{core::List::add}(2);
+ #t4.{core::List::add}{Invariant}(1);
+ #t4.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t5 = null;
if(!#t5.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t5{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t6 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::List::add}(#t6);
+ #t4.{core::List::add}{Invariant}(#t6);
}
}
- #t4.{core::List::add}(3);
+ #t4.{core::List::add}{Invariant}(3);
} =>#t4);
core::List<core::int> list1 = block {
final core::List<core::int> #t7 = <core::int>[];
@@ -40,7 +40,7 @@
core::Iterator<core::int> :sync-for-iterator = #t8{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t9 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::List::add}(#t9);
+ #t7.{core::List::add}{Invariant}(#t9);
}
}
} =>#t7;
@@ -51,66 +51,66 @@
core::Iterator<Never> :sync-for-iterator = #t11{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t12 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::List::add}(#t12);
+ #t10.{core::List::add}{Invariant}(#t12);
}
}
} =>#t10;
core::List<core::int> list3 = block {
final core::List<core::int> #t13 = <core::int>[];
- #t13.{core::List::add}(1);
- #t13.{core::List::add}(2);
+ #t13.{core::List::add}{Invariant}(1);
+ #t13.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t14 = list;
if(!#t14.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t14{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t15 = :sync-for-iterator.{core::Iterator::current};
- #t13.{core::List::add}(#t15);
+ #t13.{core::List::add}{Invariant}(#t15);
}
}
- #t13.{core::List::add}(3);
+ #t13.{core::List::add}{Invariant}(3);
} =>#t13;
core::List<core::int> list4 = block {
final core::List<core::int> #t16 = <core::int>[];
- #t16.{core::List::add}(1);
- #t16.{core::List::add}(2);
+ #t16.{core::List::add}{Invariant}(1);
+ #t16.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t17 = null;
if(!#t17.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t17{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t18 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::List::add}(#t18);
+ #t16.{core::List::add}{Invariant}(#t18);
}
}
- #t16.{core::List::add}(3);
+ #t16.{core::List::add}{Invariant}(3);
} =>#t16;
core::Set<core::int>? set = null;
core::print( block {
final core::Set<core::int> #t19 = new col::_CompactLinkedHashSet::•<core::int>();
- #t19.{core::Set::add}(1);
- #t19.{core::Set::add}(2);
+ #t19.{core::Set::add}{Invariant}(1);
+ #t19.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t20 = set;
if(!#t20.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t20{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t21 = :sync-for-iterator.{core::Iterator::current};
- #t19.{core::Set::add}(#t21);
+ #t19.{core::Set::add}{Invariant}(#t21);
}
}
- #t19.{core::Set::add}(3);
+ #t19.{core::Set::add}{Invariant}(3);
} =>#t19);
core::print( block {
final core::Set<core::int> #t22 = new col::_CompactLinkedHashSet::•<core::int>();
- #t22.{core::Set::add}(1);
- #t22.{core::Set::add}(2);
+ #t22.{core::Set::add}{Invariant}(1);
+ #t22.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t23 = null;
if(!#t23.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t23{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t24 = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::Set::add}(#t24);
+ #t22.{core::Set::add}{Invariant}(#t24);
}
}
- #t22.{core::Set::add}(3);
+ #t22.{core::Set::add}{Invariant}(3);
} =>#t22);
core::Set<core::int> set1 = block {
final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -121,67 +121,67 @@
final dynamic #t27 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}(#t28);
+ #t25.{core::Set::add}{Invariant}(#t28);
}
}
}
} =>#t25;
core::Set<core::int> set3 = block {
final core::Set<core::int> #t29 = new col::_CompactLinkedHashSet::•<core::int>();
- #t29.{core::Set::add}(1);
- #t29.{core::Set::add}(2);
+ #t29.{core::Set::add}{Invariant}(1);
+ #t29.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t30 = set;
if(!#t30.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t30{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t31 = :sync-for-iterator.{core::Iterator::current};
- #t29.{core::Set::add}(#t31);
+ #t29.{core::Set::add}{Invariant}(#t31);
}
}
- #t29.{core::Set::add}(3);
+ #t29.{core::Set::add}{Invariant}(3);
} =>#t29;
core::Set<core::int> set4 = block {
final core::Set<core::int> #t32 = new col::_CompactLinkedHashSet::•<core::int>();
- #t32.{core::Set::add}(1);
- #t32.{core::Set::add}(2);
+ #t32.{core::Set::add}{Invariant}(1);
+ #t32.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t33 = null;
if(!#t33.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t33{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t34 = :sync-for-iterator.{core::Iterator::current};
- #t32.{core::Set::add}(#t34);
+ #t32.{core::Set::add}{Invariant}(#t34);
}
}
- #t32.{core::Set::add}(3);
+ #t32.{core::Set::add}{Invariant}(3);
} =>#t32;
core::Map<core::int, core::int>? map = null;
core::print( block {
final core::Map<core::int, core::int> #t35 = <core::int, core::int>{};
- #t35.{core::Map::[]=}(1, 1);
- #t35.{core::Map::[]=}(2, 2);
+ #t35.{core::Map::[]=}{Invariant}(1, 1);
+ #t35.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t36 = map;
if(!#t36.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t36{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t37 = :sync-for-iterator.{core::Iterator::current};
- #t35.{core::Map::[]=}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
+ #t35.{core::Map::[]=}{Invariant}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
}
}
- #t35.{core::Map::[]=}(3, 3);
+ #t35.{core::Map::[]=}{Invariant}(3, 3);
} =>#t35);
core::print( block {
final core::Map<core::int, core::int> #t38 = <core::int, core::int>{};
- #t38.{core::Map::[]=}(1, 1);
- #t38.{core::Map::[]=}(2, 2);
+ #t38.{core::Map::[]=}{Invariant}(1, 1);
+ #t38.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t39 = null;
if(!#t39.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t39{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t40 = :sync-for-iterator.{core::Iterator::current};
- #t38.{core::Map::[]=}(#t40.{core::MapEntry::key}, #t40.{core::MapEntry::value});
+ #t38.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}, #t40.{core::MapEntry::value});
}
}
- #t38.{core::Map::[]=}(3, 3);
+ #t38.{core::Map::[]=}{Invariant}(3, 3);
} =>#t38);
core::Map<core::int, core::int> map1 = block {
final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
@@ -190,36 +190,36 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t42{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t43 = :sync-for-iterator.{core::Iterator::current};
- #t41.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t41.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
}
}
} =>#t41;
core::Map<core::int, core::int> map3 = block {
final core::Map<core::int, core::int> #t44 = <core::int, core::int>{};
- #t44.{core::Map::[]=}(1, 1);
- #t44.{core::Map::[]=}(2, 2);
+ #t44.{core::Map::[]=}{Invariant}(1, 1);
+ #t44.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t45 = map;
if(!#t45.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t45{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t46 = :sync-for-iterator.{core::Iterator::current};
- #t44.{core::Map::[]=}(#t46.{core::MapEntry::key}, #t46.{core::MapEntry::value});
+ #t44.{core::Map::[]=}{Invariant}(#t46.{core::MapEntry::key}, #t46.{core::MapEntry::value});
}
}
- #t44.{core::Map::[]=}(3, 3);
+ #t44.{core::Map::[]=}{Invariant}(3, 3);
} =>#t44;
core::Map<core::int, core::int> map4 = block {
final core::Map<core::int, core::int> #t47 = <core::int, core::int>{};
- #t47.{core::Map::[]=}(1, 1);
- #t47.{core::Map::[]=}(2, 2);
+ #t47.{core::Map::[]=}{Invariant}(1, 1);
+ #t47.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t48 = null;
if(!#t48.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t48{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t49 = :sync-for-iterator.{core::Iterator::current};
- #t47.{core::Map::[]=}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
+ #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
}
}
- #t47.{core::Map::[]=}(3, 3);
+ #t47.{core::Map::[]=}{Invariant}(3, 3);
} =>#t47;
}
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
index 04612a2..ffceca9 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
@@ -7,78 +7,78 @@
core::List<core::int>? list = null;
core::print( block {
final core::List<core::int> #t1 = <core::int>[];
- #t1.{core::List::add}(1);
- #t1.{core::List::add}(2);
+ #t1.{core::List::add}{Invariant}(1);
+ #t1.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t2 = list;
if(!#t2.{core::Object::==}(null))
for (final core::int #t3 in #t2{core::Iterable<core::int>})
- #t1.{core::List::add}(#t3);
- #t1.{core::List::add}(3);
+ #t1.{core::List::add}{Invariant}(#t3);
+ #t1.{core::List::add}{Invariant}(3);
} =>#t1);
core::print( block {
final core::List<core::int> #t4 = <core::int>[];
- #t4.{core::List::add}(1);
- #t4.{core::List::add}(2);
+ #t4.{core::List::add}{Invariant}(1);
+ #t4.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t5 = null;
if(!#t5.{core::Object::==}(null))
for (final core::int #t6 in #t5{core::Iterable<core::int>})
- #t4.{core::List::add}(#t6);
- #t4.{core::List::add}(3);
+ #t4.{core::List::add}{Invariant}(#t6);
+ #t4.{core::List::add}{Invariant}(3);
} =>#t4);
core::List<core::int> list1 = block {
final core::List<core::int> #t7 = <core::int>[];
final core::Iterable<core::int>? #t8 = list;
if(!#t8.{core::Object::==}(null))
for (final core::int #t9 in #t8{core::Iterable<core::int>})
- #t7.{core::List::add}(#t9);
+ #t7.{core::List::add}{Invariant}(#t9);
} =>#t7;
core::List<Never> list2 = block {
final core::List<Never> #t10 = <Never>[];
final core::Iterable<Never>? #t11 = null;
if(!#t11.{core::Object::==}(null))
for (final Never #t12 in #t11{core::Iterable<Never>})
- #t10.{core::List::add}(#t12);
+ #t10.{core::List::add}{Invariant}(#t12);
} =>#t10;
core::List<core::int> list3 = block {
final core::List<core::int> #t13 = <core::int>[];
- #t13.{core::List::add}(1);
- #t13.{core::List::add}(2);
+ #t13.{core::List::add}{Invariant}(1);
+ #t13.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t14 = list;
if(!#t14.{core::Object::==}(null))
for (final core::int #t15 in #t14{core::Iterable<core::int>})
- #t13.{core::List::add}(#t15);
- #t13.{core::List::add}(3);
+ #t13.{core::List::add}{Invariant}(#t15);
+ #t13.{core::List::add}{Invariant}(3);
} =>#t13;
core::List<core::int> list4 = block {
final core::List<core::int> #t16 = <core::int>[];
- #t16.{core::List::add}(1);
- #t16.{core::List::add}(2);
+ #t16.{core::List::add}{Invariant}(1);
+ #t16.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t17 = null;
if(!#t17.{core::Object::==}(null))
for (final core::int #t18 in #t17{core::Iterable<core::int>})
- #t16.{core::List::add}(#t18);
- #t16.{core::List::add}(3);
+ #t16.{core::List::add}{Invariant}(#t18);
+ #t16.{core::List::add}{Invariant}(3);
} =>#t16;
core::Set<core::int>? set = null;
core::print( block {
final core::Set<core::int> #t19 = col::LinkedHashSet::•<core::int>();
- #t19.{core::Set::add}(1);
- #t19.{core::Set::add}(2);
+ #t19.{core::Set::add}{Invariant}(1);
+ #t19.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t20 = set;
if(!#t20.{core::Object::==}(null))
for (final core::int #t21 in #t20{core::Iterable<core::int>})
- #t19.{core::Set::add}(#t21);
- #t19.{core::Set::add}(3);
+ #t19.{core::Set::add}{Invariant}(#t21);
+ #t19.{core::Set::add}{Invariant}(3);
} =>#t19);
core::print( block {
final core::Set<core::int> #t22 = col::LinkedHashSet::•<core::int>();
- #t22.{core::Set::add}(1);
- #t22.{core::Set::add}(2);
+ #t22.{core::Set::add}{Invariant}(1);
+ #t22.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t23 = null;
if(!#t23.{core::Object::==}(null))
for (final core::int #t24 in #t23{core::Iterable<core::int>})
- #t22.{core::Set::add}(#t24);
- #t22.{core::Set::add}(3);
+ #t22.{core::Set::add}{Invariant}(#t24);
+ #t22.{core::Set::add}{Invariant}(3);
} =>#t22);
core::Set<core::int> set1 = block {
final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
@@ -86,75 +86,75 @@
if(!#t26.{core::Object::==}(null))
for (final dynamic #t27 in #t26{core::Iterable<dynamic>}) {
final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}(#t28);
+ #t25.{core::Set::add}{Invariant}(#t28);
}
} =>#t25;
core::Set<core::int> set3 = block {
final core::Set<core::int> #t29 = col::LinkedHashSet::•<core::int>();
- #t29.{core::Set::add}(1);
- #t29.{core::Set::add}(2);
+ #t29.{core::Set::add}{Invariant}(1);
+ #t29.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t30 = set;
if(!#t30.{core::Object::==}(null))
for (final core::int #t31 in #t30{core::Iterable<core::int>})
- #t29.{core::Set::add}(#t31);
- #t29.{core::Set::add}(3);
+ #t29.{core::Set::add}{Invariant}(#t31);
+ #t29.{core::Set::add}{Invariant}(3);
} =>#t29;
core::Set<core::int> set4 = block {
final core::Set<core::int> #t32 = col::LinkedHashSet::•<core::int>();
- #t32.{core::Set::add}(1);
- #t32.{core::Set::add}(2);
+ #t32.{core::Set::add}{Invariant}(1);
+ #t32.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t33 = null;
if(!#t33.{core::Object::==}(null))
for (final core::int #t34 in #t33{core::Iterable<core::int>})
- #t32.{core::Set::add}(#t34);
- #t32.{core::Set::add}(3);
+ #t32.{core::Set::add}{Invariant}(#t34);
+ #t32.{core::Set::add}{Invariant}(3);
} =>#t32;
core::Map<core::int, core::int>? map = null;
core::print( block {
final core::Map<core::int, core::int> #t35 = <core::int, core::int>{};
- #t35.{core::Map::[]=}(1, 1);
- #t35.{core::Map::[]=}(2, 2);
+ #t35.{core::Map::[]=}{Invariant}(1, 1);
+ #t35.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t36 = map;
if(!#t36.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t37 in #t36{core::Map<core::int, core::int>}.{core::Map::entries})
- #t35.{core::Map::[]=}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
- #t35.{core::Map::[]=}(3, 3);
+ #t35.{core::Map::[]=}{Invariant}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
+ #t35.{core::Map::[]=}{Invariant}(3, 3);
} =>#t35);
core::print( block {
final core::Map<core::int, core::int> #t38 = <core::int, core::int>{};
- #t38.{core::Map::[]=}(1, 1);
- #t38.{core::Map::[]=}(2, 2);
+ #t38.{core::Map::[]=}{Invariant}(1, 1);
+ #t38.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t39 = null;
if(!#t39.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t40 in #t39{core::Map<core::int, core::int>}.{core::Map::entries})
- #t38.{core::Map::[]=}(#t40.{core::MapEntry::key}, #t40.{core::MapEntry::value});
- #t38.{core::Map::[]=}(3, 3);
+ #t38.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}, #t40.{core::MapEntry::value});
+ #t38.{core::Map::[]=}{Invariant}(3, 3);
} =>#t38);
core::Map<core::int, core::int> map1 = block {
final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t42 = map;
if(!#t42.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t43 in #t42{core::Map<core::int, core::int>}.{core::Map::entries})
- #t41.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t41.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
} =>#t41;
core::Map<core::int, core::int> map3 = block {
final core::Map<core::int, core::int> #t44 = <core::int, core::int>{};
- #t44.{core::Map::[]=}(1, 1);
- #t44.{core::Map::[]=}(2, 2);
+ #t44.{core::Map::[]=}{Invariant}(1, 1);
+ #t44.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t45 = map;
if(!#t45.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t46 in #t45{core::Map<core::int, core::int>}.{core::Map::entries})
- #t44.{core::Map::[]=}(#t46.{core::MapEntry::key}, #t46.{core::MapEntry::value});
- #t44.{core::Map::[]=}(3, 3);
+ #t44.{core::Map::[]=}{Invariant}(#t46.{core::MapEntry::key}, #t46.{core::MapEntry::value});
+ #t44.{core::Map::[]=}{Invariant}(3, 3);
} =>#t44;
core::Map<core::int, core::int> map4 = block {
final core::Map<core::int, core::int> #t47 = <core::int, core::int>{};
- #t47.{core::Map::[]=}(1, 1);
- #t47.{core::Map::[]=}(2, 2);
+ #t47.{core::Map::[]=}{Invariant}(1, 1);
+ #t47.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t48 = null;
if(!#t48.{core::Object::==}(null))
for (final core::MapEntry<core::int, core::int> #t49 in #t48{core::Map<core::int, core::int>}.{core::Map::entries})
- #t47.{core::Map::[]=}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
- #t47.{core::Map::[]=}(3, 3);
+ #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
+ #t47.{core::Map::[]=}{Invariant}(3, 3);
} =>#t47;
}
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
index 80f3187..ba1a66c 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
@@ -7,31 +7,31 @@
core::List<core::int>? list = null;
core::print( block {
final core::List<core::int> #t1 = <core::int>[];
- #t1.{core::List::add}(1);
- #t1.{core::List::add}(2);
+ #t1.{core::List::add}{Invariant}(1);
+ #t1.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t2 = list;
if(!#t2.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t2{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t3 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t3);
+ #t1.{core::List::add}{Invariant}(#t3);
}
}
- #t1.{core::List::add}(3);
+ #t1.{core::List::add}{Invariant}(3);
} =>#t1);
core::print( block {
final core::List<core::int> #t4 = <core::int>[];
- #t4.{core::List::add}(1);
- #t4.{core::List::add}(2);
+ #t4.{core::List::add}{Invariant}(1);
+ #t4.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t5 = null;
if(!#t5.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t5{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t6 = :sync-for-iterator.{core::Iterator::current};
- #t4.{core::List::add}(#t6);
+ #t4.{core::List::add}{Invariant}(#t6);
}
}
- #t4.{core::List::add}(3);
+ #t4.{core::List::add}{Invariant}(3);
} =>#t4);
core::List<core::int> list1 = block {
final core::List<core::int> #t7 = <core::int>[];
@@ -40,7 +40,7 @@
core::Iterator<core::int> :sync-for-iterator = #t8{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t9 = :sync-for-iterator.{core::Iterator::current};
- #t7.{core::List::add}(#t9);
+ #t7.{core::List::add}{Invariant}(#t9);
}
}
} =>#t7;
@@ -51,66 +51,66 @@
core::Iterator<Never> :sync-for-iterator = #t11{core::Iterable<Never>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final Never #t12 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::List::add}(#t12);
+ #t10.{core::List::add}{Invariant}(#t12);
}
}
} =>#t10;
core::List<core::int> list3 = block {
final core::List<core::int> #t13 = <core::int>[];
- #t13.{core::List::add}(1);
- #t13.{core::List::add}(2);
+ #t13.{core::List::add}{Invariant}(1);
+ #t13.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t14 = list;
if(!#t14.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t14{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t15 = :sync-for-iterator.{core::Iterator::current};
- #t13.{core::List::add}(#t15);
+ #t13.{core::List::add}{Invariant}(#t15);
}
}
- #t13.{core::List::add}(3);
+ #t13.{core::List::add}{Invariant}(3);
} =>#t13;
core::List<core::int> list4 = block {
final core::List<core::int> #t16 = <core::int>[];
- #t16.{core::List::add}(1);
- #t16.{core::List::add}(2);
+ #t16.{core::List::add}{Invariant}(1);
+ #t16.{core::List::add}{Invariant}(2);
final core::Iterable<core::int>? #t17 = null;
if(!#t17.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t17{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t18 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::List::add}(#t18);
+ #t16.{core::List::add}{Invariant}(#t18);
}
}
- #t16.{core::List::add}(3);
+ #t16.{core::List::add}{Invariant}(3);
} =>#t16;
core::Set<core::int>? set = null;
core::print( block {
final core::Set<core::int> #t19 = new col::_CompactLinkedHashSet::•<core::int>();
- #t19.{core::Set::add}(1);
- #t19.{core::Set::add}(2);
+ #t19.{core::Set::add}{Invariant}(1);
+ #t19.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t20 = set;
if(!#t20.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t20{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t21 = :sync-for-iterator.{core::Iterator::current};
- #t19.{core::Set::add}(#t21);
+ #t19.{core::Set::add}{Invariant}(#t21);
}
}
- #t19.{core::Set::add}(3);
+ #t19.{core::Set::add}{Invariant}(3);
} =>#t19);
core::print( block {
final core::Set<core::int> #t22 = new col::_CompactLinkedHashSet::•<core::int>();
- #t22.{core::Set::add}(1);
- #t22.{core::Set::add}(2);
+ #t22.{core::Set::add}{Invariant}(1);
+ #t22.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t23 = null;
if(!#t23.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t23{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t24 = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::Set::add}(#t24);
+ #t22.{core::Set::add}{Invariant}(#t24);
}
}
- #t22.{core::Set::add}(3);
+ #t22.{core::Set::add}{Invariant}(3);
} =>#t22);
core::Set<core::int> set1 = block {
final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -121,67 +121,67 @@
final dynamic #t27 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}(#t28);
+ #t25.{core::Set::add}{Invariant}(#t28);
}
}
}
} =>#t25;
core::Set<core::int> set3 = block {
final core::Set<core::int> #t29 = new col::_CompactLinkedHashSet::•<core::int>();
- #t29.{core::Set::add}(1);
- #t29.{core::Set::add}(2);
+ #t29.{core::Set::add}{Invariant}(1);
+ #t29.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t30 = set;
if(!#t30.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t30{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t31 = :sync-for-iterator.{core::Iterator::current};
- #t29.{core::Set::add}(#t31);
+ #t29.{core::Set::add}{Invariant}(#t31);
}
}
- #t29.{core::Set::add}(3);
+ #t29.{core::Set::add}{Invariant}(3);
} =>#t29;
core::Set<core::int> set4 = block {
final core::Set<core::int> #t32 = new col::_CompactLinkedHashSet::•<core::int>();
- #t32.{core::Set::add}(1);
- #t32.{core::Set::add}(2);
+ #t32.{core::Set::add}{Invariant}(1);
+ #t32.{core::Set::add}{Invariant}(2);
final core::Iterable<core::int>? #t33 = null;
if(!#t33.{core::Object::==}(null)) {
core::Iterator<core::int> :sync-for-iterator = #t33{core::Iterable<core::int>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::int #t34 = :sync-for-iterator.{core::Iterator::current};
- #t32.{core::Set::add}(#t34);
+ #t32.{core::Set::add}{Invariant}(#t34);
}
}
- #t32.{core::Set::add}(3);
+ #t32.{core::Set::add}{Invariant}(3);
} =>#t32;
core::Map<core::int, core::int>? map = null;
core::print( block {
final core::Map<core::int, core::int> #t35 = <core::int, core::int>{};
- #t35.{core::Map::[]=}(1, 1);
- #t35.{core::Map::[]=}(2, 2);
+ #t35.{core::Map::[]=}{Invariant}(1, 1);
+ #t35.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t36 = map;
if(!#t36.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t36{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t37 = :sync-for-iterator.{core::Iterator::current};
- #t35.{core::Map::[]=}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
+ #t35.{core::Map::[]=}{Invariant}(#t37.{core::MapEntry::key}, #t37.{core::MapEntry::value});
}
}
- #t35.{core::Map::[]=}(3, 3);
+ #t35.{core::Map::[]=}{Invariant}(3, 3);
} =>#t35);
core::print( block {
final core::Map<core::int, core::int> #t38 = <core::int, core::int>{};
- #t38.{core::Map::[]=}(1, 1);
- #t38.{core::Map::[]=}(2, 2);
+ #t38.{core::Map::[]=}{Invariant}(1, 1);
+ #t38.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t39 = null;
if(!#t39.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t39{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t40 = :sync-for-iterator.{core::Iterator::current};
- #t38.{core::Map::[]=}(#t40.{core::MapEntry::key}, #t40.{core::MapEntry::value});
+ #t38.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}, #t40.{core::MapEntry::value});
}
}
- #t38.{core::Map::[]=}(3, 3);
+ #t38.{core::Map::[]=}{Invariant}(3, 3);
} =>#t38);
core::Map<core::int, core::int> map1 = block {
final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
@@ -190,36 +190,36 @@
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t42{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t43 = :sync-for-iterator.{core::Iterator::current};
- #t41.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t41.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
}
}
} =>#t41;
core::Map<core::int, core::int> map3 = block {
final core::Map<core::int, core::int> #t44 = <core::int, core::int>{};
- #t44.{core::Map::[]=}(1, 1);
- #t44.{core::Map::[]=}(2, 2);
+ #t44.{core::Map::[]=}{Invariant}(1, 1);
+ #t44.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t45 = map;
if(!#t45.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t45{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t46 = :sync-for-iterator.{core::Iterator::current};
- #t44.{core::Map::[]=}(#t46.{core::MapEntry::key}, #t46.{core::MapEntry::value});
+ #t44.{core::Map::[]=}{Invariant}(#t46.{core::MapEntry::key}, #t46.{core::MapEntry::value});
}
}
- #t44.{core::Map::[]=}(3, 3);
+ #t44.{core::Map::[]=}{Invariant}(3, 3);
} =>#t44;
core::Map<core::int, core::int> map4 = block {
final core::Map<core::int, core::int> #t47 = <core::int, core::int>{};
- #t47.{core::Map::[]=}(1, 1);
- #t47.{core::Map::[]=}(2, 2);
+ #t47.{core::Map::[]=}{Invariant}(1, 1);
+ #t47.{core::Map::[]=}{Invariant}(2, 2);
final core::Map<core::int, core::int>? #t48 = null;
if(!#t48.{core::Object::==}(null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t48{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t49 = :sync-for-iterator.{core::Iterator::current};
- #t47.{core::Map::[]=}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
+ #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
}
}
- #t47.{core::Map::[]=}(3, 3);
+ #t47.{core::Map::[]=}{Invariant}(3, 3);
} =>#t47;
}
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
index dc3e70c..a97650d 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
@@ -142,7 +142,7 @@
final core::Iterable<core::String>? #t6 = l;
if(!#t6.{core::Object::==}(null))
for (final core::String #t7 in #t6{core::Iterable<core::String>})
- #t5.{core::List::add}(#t7);
+ #t5.{core::List::add}{Invariant}(#t7);
} =>#t5;
core::Set<core::String> a = block {
final core::Set<core::String> #t8 = col::LinkedHashSet::•<core::String>();
@@ -150,7 +150,7 @@
if(!#t9.{core::Object::==}(null))
for (final dynamic #t10 in #t9{core::Iterable<dynamic>}) {
final core::String #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::String;
- #t8.{core::Set::add}(#t11);
+ #t8.{core::Set::add}{Invariant}(#t11);
}
} =>#t8;
block {
@@ -158,21 +158,21 @@
final core::Iterable<core::String>? #t13 = l;
if(!#t13.{core::Object::==}(null))
for (final core::String #t14 in #t13{core::Iterable<core::String>})
- #t12.{core::Set::add}(#t14);
+ #t12.{core::Set::add}{Invariant}(#t14);
} =>#t12;
core::Map<core::String, core::int> b = block {
final core::Map<core::String, core::int> #t15 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t16 = m;
if(!#t16.{core::Object::==}(null))
for (final core::MapEntry<core::String, core::int> #t17 in #t16{core::Map<core::String, core::int>}.{core::Map::entries})
- #t15.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t15.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
} =>#t15;
block {
final core::Map<core::String, core::int> #t18 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t19 = m;
if(!#t19.{core::Object::==}(null))
for (final core::MapEntry<core::String, core::int> #t20 in #t19{core::Map<core::String, core::int>}.{core::Map::entries})
- #t18.{core::Map::[]=}(#t20.{core::MapEntry::key}, #t20.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t20.{core::MapEntry::key}, #t20.{core::MapEntry::value});
} =>#t18;
s!;
let final core::String #t21 = s in #t21.{core::String::==}(null) ?{core::String?} null : #t21.{core::String::substring}(0, 0);
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
index 87930a9..df0ca83 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
@@ -144,7 +144,7 @@
core::Iterator<core::String> :sync-for-iterator = #t6{core::Iterable<core::String>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String #t7 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::List::add}(#t7);
+ #t5.{core::List::add}{Invariant}(#t7);
}
}
} =>#t5;
@@ -157,7 +157,7 @@
final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
{
final core::String #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::String;
- #t8.{core::Set::add}(#t11);
+ #t8.{core::Set::add}{Invariant}(#t11);
}
}
}
@@ -169,7 +169,7 @@
core::Iterator<core::String> :sync-for-iterator = #t13{core::Iterable<core::String>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String #t14 = :sync-for-iterator.{core::Iterator::current};
- #t12.{core::Set::add}(#t14);
+ #t12.{core::Set::add}{Invariant}(#t14);
}
}
} =>#t12;
@@ -180,7 +180,7 @@
core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t16{core::Map<core::String, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String, core::int> #t17 = :sync-for-iterator.{core::Iterator::current};
- #t15.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t15.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
}
}
} =>#t15;
@@ -191,7 +191,7 @@
core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t19{core::Map<core::String, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String, core::int> #t20 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Map::[]=}(#t20.{core::MapEntry::key}, #t20.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t20.{core::MapEntry::key}, #t20.{core::MapEntry::value});
}
}
} =>#t18;
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
index dc3e70c..a97650d 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
@@ -142,7 +142,7 @@
final core::Iterable<core::String>? #t6 = l;
if(!#t6.{core::Object::==}(null))
for (final core::String #t7 in #t6{core::Iterable<core::String>})
- #t5.{core::List::add}(#t7);
+ #t5.{core::List::add}{Invariant}(#t7);
} =>#t5;
core::Set<core::String> a = block {
final core::Set<core::String> #t8 = col::LinkedHashSet::•<core::String>();
@@ -150,7 +150,7 @@
if(!#t9.{core::Object::==}(null))
for (final dynamic #t10 in #t9{core::Iterable<dynamic>}) {
final core::String #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::String;
- #t8.{core::Set::add}(#t11);
+ #t8.{core::Set::add}{Invariant}(#t11);
}
} =>#t8;
block {
@@ -158,21 +158,21 @@
final core::Iterable<core::String>? #t13 = l;
if(!#t13.{core::Object::==}(null))
for (final core::String #t14 in #t13{core::Iterable<core::String>})
- #t12.{core::Set::add}(#t14);
+ #t12.{core::Set::add}{Invariant}(#t14);
} =>#t12;
core::Map<core::String, core::int> b = block {
final core::Map<core::String, core::int> #t15 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t16 = m;
if(!#t16.{core::Object::==}(null))
for (final core::MapEntry<core::String, core::int> #t17 in #t16{core::Map<core::String, core::int>}.{core::Map::entries})
- #t15.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t15.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
} =>#t15;
block {
final core::Map<core::String, core::int> #t18 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t19 = m;
if(!#t19.{core::Object::==}(null))
for (final core::MapEntry<core::String, core::int> #t20 in #t19{core::Map<core::String, core::int>}.{core::Map::entries})
- #t18.{core::Map::[]=}(#t20.{core::MapEntry::key}, #t20.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t20.{core::MapEntry::key}, #t20.{core::MapEntry::value});
} =>#t18;
s!;
let final core::String #t21 = s in #t21.{core::String::==}(null) ?{core::String?} null : #t21.{core::String::substring}(0, 0);
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
index 87930a9..df0ca83 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
@@ -144,7 +144,7 @@
core::Iterator<core::String> :sync-for-iterator = #t6{core::Iterable<core::String>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String #t7 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::List::add}(#t7);
+ #t5.{core::List::add}{Invariant}(#t7);
}
}
} =>#t5;
@@ -157,7 +157,7 @@
final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
{
final core::String #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::String;
- #t8.{core::Set::add}(#t11);
+ #t8.{core::Set::add}{Invariant}(#t11);
}
}
}
@@ -169,7 +169,7 @@
core::Iterator<core::String> :sync-for-iterator = #t13{core::Iterable<core::String>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String #t14 = :sync-for-iterator.{core::Iterator::current};
- #t12.{core::Set::add}(#t14);
+ #t12.{core::Set::add}{Invariant}(#t14);
}
}
} =>#t12;
@@ -180,7 +180,7 @@
core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t16{core::Map<core::String, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String, core::int> #t17 = :sync-for-iterator.{core::Iterator::current};
- #t15.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t15.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
}
}
} =>#t15;
@@ -191,7 +191,7 @@
core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t19{core::Map<core::String, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String, core::int> #t20 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Map::[]=}(#t20.{core::MapEntry::key}, #t20.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t20.{core::MapEntry::key}, #t20.{core::MapEntry::value});
}
}
} =>#t18;
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.expect
index 94c1a96..e4cfa36 100644
--- a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.expect
@@ -37,83 +37,83 @@
core::List<Null>* local1i = <Null>[null];
core::Set<inf::C<dynamic>*>* local2a = block {
final core::Set<inf::C<dynamic>*>* #t1 = col::LinkedHashSet::•<inf::C<dynamic>*>();
- #t1.{core::Set::add}(inf::field1);
- #t1.{core::Set::add}(null);
+ #t1.{core::Set::add}{Invariant}(inf::field1);
+ #t1.{core::Set::add}{Invariant}(null);
} =>#t1;
core::Set<inf::C<dynamic>*>* local2b = block {
final core::Set<inf::C<dynamic>*>* #t2 = col::LinkedHashSet::•<inf::C<dynamic>*>();
- #t2.{core::Set::add}(inf::field2);
- #t2.{core::Set::add}(null);
+ #t2.{core::Set::add}{Invariant}(inf::field2);
+ #t2.{core::Set::add}{Invariant}(null);
} =>#t2;
core::Set<inf::C<core::int*>*>* local2c = block {
final core::Set<inf::C<core::int*>*>* #t3 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t3.{core::Set::add}(inf::field3);
- #t3.{core::Set::add}(null);
+ #t3.{core::Set::add}{Invariant}(inf::field3);
+ #t3.{core::Set::add}{Invariant}(null);
} =>#t3;
core::Set<inf::C<core::int*>*>* local2d = block {
final core::Set<inf::C<core::int*>*>* #t4 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t4.{core::Set::add}(inf::field4);
- #t4.{core::Set::add}(null);
+ #t4.{core::Set::add}{Invariant}(inf::field4);
+ #t4.{core::Set::add}{Invariant}(null);
} =>#t4;
core::Set<inf::C<core::int*>*>* local2e = block {
final core::Set<inf::C<core::int*>*>* #t5 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t5.{core::Set::add}(inf::field5);
- #t5.{core::Set::add}(null);
+ #t5.{core::Set::add}{Invariant}(inf::field5);
+ #t5.{core::Set::add}{Invariant}(null);
} =>#t5;
core::Set<inf::C<core::int*>*>* local2f = block {
final core::Set<inf::C<core::int*>*>* #t6 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t6.{core::Set::add}(inf::field6);
- #t6.{core::Set::add}(null);
+ #t6.{core::Set::add}{Invariant}(inf::field6);
+ #t6.{core::Set::add}{Invariant}(null);
} =>#t6;
core::Set<core::int*>* local2g = block {
final core::Set<core::int*>* #t7 = col::LinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}(inf::field7);
- #t7.{core::Set::add}(null);
+ #t7.{core::Set::add}{Invariant}(inf::field7);
+ #t7.{core::Set::add}{Invariant}(null);
} =>#t7;
core::Set<core::int*>* local2h = block {
final core::Set<core::int*>* #t8 = col::LinkedHashSet::•<core::int*>();
- #t8.{core::Set::add}(inf::field8);
- #t8.{core::Set::add}(null);
+ #t8.{core::Set::add}{Invariant}(inf::field8);
+ #t8.{core::Set::add}{Invariant}(null);
} =>#t8;
core::Set<inf::C<dynamic>*>* local3a = block {
final core::Set<inf::C<dynamic>*>* #t9 = col::LinkedHashSet::•<inf::C<dynamic>*>();
- #t9.{core::Set::add}(null);
- #t9.{core::Set::add}(inf::field1);
+ #t9.{core::Set::add}{Invariant}(null);
+ #t9.{core::Set::add}{Invariant}(inf::field1);
} =>#t9;
core::Set<inf::C<dynamic>*>* local3b = block {
final core::Set<inf::C<dynamic>*>* #t10 = col::LinkedHashSet::•<inf::C<dynamic>*>();
- #t10.{core::Set::add}(null);
- #t10.{core::Set::add}(inf::field2);
+ #t10.{core::Set::add}{Invariant}(null);
+ #t10.{core::Set::add}{Invariant}(inf::field2);
} =>#t10;
core::Set<inf::C<core::int*>*>* local3c = block {
final core::Set<inf::C<core::int*>*>* #t11 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t11.{core::Set::add}(null);
- #t11.{core::Set::add}(inf::field3);
+ #t11.{core::Set::add}{Invariant}(null);
+ #t11.{core::Set::add}{Invariant}(inf::field3);
} =>#t11;
core::Set<inf::C<core::int*>*>* local3d = block {
final core::Set<inf::C<core::int*>*>* #t12 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t12.{core::Set::add}(null);
- #t12.{core::Set::add}(inf::field4);
+ #t12.{core::Set::add}{Invariant}(null);
+ #t12.{core::Set::add}{Invariant}(inf::field4);
} =>#t12;
core::Set<inf::C<core::int*>*>* local3e = block {
final core::Set<inf::C<core::int*>*>* #t13 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t13.{core::Set::add}(null);
- #t13.{core::Set::add}(inf::field5);
+ #t13.{core::Set::add}{Invariant}(null);
+ #t13.{core::Set::add}{Invariant}(inf::field5);
} =>#t13;
core::Set<inf::C<core::int*>*>* local3f = block {
final core::Set<inf::C<core::int*>*>* #t14 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t14.{core::Set::add}(null);
- #t14.{core::Set::add}(inf::field6);
+ #t14.{core::Set::add}{Invariant}(null);
+ #t14.{core::Set::add}{Invariant}(inf::field6);
} =>#t14;
core::Set<core::int*>* local3g = block {
final core::Set<core::int*>* #t15 = col::LinkedHashSet::•<core::int*>();
- #t15.{core::Set::add}(null);
- #t15.{core::Set::add}(inf::field7);
+ #t15.{core::Set::add}{Invariant}(null);
+ #t15.{core::Set::add}{Invariant}(inf::field7);
} =>#t15;
core::Set<core::int*>* local3h = block {
final core::Set<core::int*>* #t16 = col::LinkedHashSet::•<core::int*>();
- #t16.{core::Set::add}(null);
- #t16.{core::Set::add}(inf::field8);
+ #t16.{core::Set::add}{Invariant}(null);
+ #t16.{core::Set::add}{Invariant}(inf::field8);
} =>#t16;
}
@@ -167,82 +167,82 @@
core::List<Null> local1i = <Null>[null];
core::Set<inf::C<dynamic>?> local2a = block {
final core::Set<inf::C<dynamic>?> #t17 = col::LinkedHashSet::•<inf::C<dynamic>?>();
- #t17.{core::Set::add}(inf::field1);
- #t17.{core::Set::add}(null);
+ #t17.{core::Set::add}{Invariant}(inf::field1);
+ #t17.{core::Set::add}{Invariant}(null);
} =>#t17;
core::Set<inf::C<dynamic>?> local2b = block {
final core::Set<inf::C<dynamic>?> #t18 = col::LinkedHashSet::•<inf::C<dynamic>?>();
- #t18.{core::Set::add}(inf::field2);
- #t18.{core::Set::add}(null);
+ #t18.{core::Set::add}{Invariant}(inf::field2);
+ #t18.{core::Set::add}{Invariant}(null);
} =>#t18;
core::Set<inf::C<core::int>?> local2c = block {
final core::Set<inf::C<core::int>?> #t19 = col::LinkedHashSet::•<inf::C<core::int>?>();
- #t19.{core::Set::add}(inf::field3);
- #t19.{core::Set::add}(null);
+ #t19.{core::Set::add}{Invariant}(inf::field3);
+ #t19.{core::Set::add}{Invariant}(null);
} =>#t19;
core::Set<inf::C<core::int>?> local2d = block {
final core::Set<inf::C<core::int>?> #t20 = col::LinkedHashSet::•<inf::C<core::int>?>();
- #t20.{core::Set::add}(inf::field4);
- #t20.{core::Set::add}(null);
+ #t20.{core::Set::add}{Invariant}(inf::field4);
+ #t20.{core::Set::add}{Invariant}(null);
} =>#t20;
core::Set<inf::C<core::int?>?> local2e = block {
final core::Set<inf::C<core::int?>?> #t21 = col::LinkedHashSet::•<inf::C<core::int?>?>();
- #t21.{core::Set::add}(inf::field5);
- #t21.{core::Set::add}(null);
+ #t21.{core::Set::add}{Invariant}(inf::field5);
+ #t21.{core::Set::add}{Invariant}(null);
} =>#t21;
core::Set<inf::C<core::int?>?> local2f = block {
final core::Set<inf::C<core::int?>?> #t22 = col::LinkedHashSet::•<inf::C<core::int?>?>();
- #t22.{core::Set::add}(inf::field6);
- #t22.{core::Set::add}(null);
+ #t22.{core::Set::add}{Invariant}(inf::field6);
+ #t22.{core::Set::add}{Invariant}(null);
} =>#t22;
core::Set<core::int?> local2g = block {
final core::Set<core::int?> #t23 = col::LinkedHashSet::•<core::int?>();
- #t23.{core::Set::add}(inf::field7);
- #t23.{core::Set::add}(null);
+ #t23.{core::Set::add}{Invariant}(inf::field7);
+ #t23.{core::Set::add}{Invariant}(null);
} =>#t23;
core::Set<core::int?> local2h = block {
final core::Set<core::int?> #t24 = col::LinkedHashSet::•<core::int?>();
- #t24.{core::Set::add}(inf::field8);
- #t24.{core::Set::add}(null);
+ #t24.{core::Set::add}{Invariant}(inf::field8);
+ #t24.{core::Set::add}{Invariant}(null);
} =>#t24;
core::Set<inf::C<dynamic>?> local3a = block {
final core::Set<inf::C<dynamic>?> #t25 = col::LinkedHashSet::•<inf::C<dynamic>?>();
- #t25.{core::Set::add}(null);
- #t25.{core::Set::add}(inf::field1);
+ #t25.{core::Set::add}{Invariant}(null);
+ #t25.{core::Set::add}{Invariant}(inf::field1);
} =>#t25;
core::Set<inf::C<dynamic>?> local3b = block {
final core::Set<inf::C<dynamic>?> #t26 = col::LinkedHashSet::•<inf::C<dynamic>?>();
- #t26.{core::Set::add}(null);
- #t26.{core::Set::add}(inf::field2);
+ #t26.{core::Set::add}{Invariant}(null);
+ #t26.{core::Set::add}{Invariant}(inf::field2);
} =>#t26;
core::Set<inf::C<core::int>?> local3c = block {
final core::Set<inf::C<core::int>?> #t27 = col::LinkedHashSet::•<inf::C<core::int>?>();
- #t27.{core::Set::add}(null);
- #t27.{core::Set::add}(inf::field3);
+ #t27.{core::Set::add}{Invariant}(null);
+ #t27.{core::Set::add}{Invariant}(inf::field3);
} =>#t27;
core::Set<inf::C<core::int>?> local3d = block {
final core::Set<inf::C<core::int>?> #t28 = col::LinkedHashSet::•<inf::C<core::int>?>();
- #t28.{core::Set::add}(null);
- #t28.{core::Set::add}(inf::field4);
+ #t28.{core::Set::add}{Invariant}(null);
+ #t28.{core::Set::add}{Invariant}(inf::field4);
} =>#t28;
core::Set<inf::C<core::int?>?> local3e = block {
final core::Set<inf::C<core::int?>?> #t29 = col::LinkedHashSet::•<inf::C<core::int?>?>();
- #t29.{core::Set::add}(null);
- #t29.{core::Set::add}(inf::field5);
+ #t29.{core::Set::add}{Invariant}(null);
+ #t29.{core::Set::add}{Invariant}(inf::field5);
} =>#t29;
core::Set<inf::C<core::int?>?> local3f = block {
final core::Set<inf::C<core::int?>?> #t30 = col::LinkedHashSet::•<inf::C<core::int?>?>();
- #t30.{core::Set::add}(null);
- #t30.{core::Set::add}(inf::field6);
+ #t30.{core::Set::add}{Invariant}(null);
+ #t30.{core::Set::add}{Invariant}(inf::field6);
} =>#t30;
core::Set<core::int?> local3g = block {
final core::Set<core::int?> #t31 = col::LinkedHashSet::•<core::int?>();
- #t31.{core::Set::add}(null);
- #t31.{core::Set::add}(inf::field7);
+ #t31.{core::Set::add}{Invariant}(null);
+ #t31.{core::Set::add}{Invariant}(inf::field7);
} =>#t31;
core::Set<core::int?> local3h = block {
final core::Set<core::int?> #t32 = col::LinkedHashSet::•<core::int?>();
- #t32.{core::Set::add}(null);
- #t32.{core::Set::add}(inf::field8);
+ #t32.{core::Set::add}{Invariant}(null);
+ #t32.{core::Set::add}{Invariant}(inf::field8);
} =>#t32;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.transformed.expect
index 8c3ed7b..267b93e 100644
--- a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.transformed.expect
@@ -37,83 +37,83 @@
core::List<Null>* local1i = <Null>[null];
core::Set<inf::C<dynamic>*>* local2a = block {
final core::Set<inf::C<dynamic>*>* #t1 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>*>();
- #t1.{core::Set::add}(inf::field1);
- #t1.{core::Set::add}(null);
+ #t1.{core::Set::add}{Invariant}(inf::field1);
+ #t1.{core::Set::add}{Invariant}(null);
} =>#t1;
core::Set<inf::C<dynamic>*>* local2b = block {
final core::Set<inf::C<dynamic>*>* #t2 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>*>();
- #t2.{core::Set::add}(inf::field2);
- #t2.{core::Set::add}(null);
+ #t2.{core::Set::add}{Invariant}(inf::field2);
+ #t2.{core::Set::add}{Invariant}(null);
} =>#t2;
core::Set<inf::C<core::int*>*>* local2c = block {
final core::Set<inf::C<core::int*>*>* #t3 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t3.{core::Set::add}(inf::field3);
- #t3.{core::Set::add}(null);
+ #t3.{core::Set::add}{Invariant}(inf::field3);
+ #t3.{core::Set::add}{Invariant}(null);
} =>#t3;
core::Set<inf::C<core::int*>*>* local2d = block {
final core::Set<inf::C<core::int*>*>* #t4 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t4.{core::Set::add}(inf::field4);
- #t4.{core::Set::add}(null);
+ #t4.{core::Set::add}{Invariant}(inf::field4);
+ #t4.{core::Set::add}{Invariant}(null);
} =>#t4;
core::Set<inf::C<core::int*>*>* local2e = block {
final core::Set<inf::C<core::int*>*>* #t5 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t5.{core::Set::add}(inf::field5);
- #t5.{core::Set::add}(null);
+ #t5.{core::Set::add}{Invariant}(inf::field5);
+ #t5.{core::Set::add}{Invariant}(null);
} =>#t5;
core::Set<inf::C<core::int*>*>* local2f = block {
final core::Set<inf::C<core::int*>*>* #t6 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t6.{core::Set::add}(inf::field6);
- #t6.{core::Set::add}(null);
+ #t6.{core::Set::add}{Invariant}(inf::field6);
+ #t6.{core::Set::add}{Invariant}(null);
} =>#t6;
core::Set<core::int*>* local2g = block {
final core::Set<core::int*>* #t7 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}(inf::field7);
- #t7.{core::Set::add}(null);
+ #t7.{core::Set::add}{Invariant}(inf::field7);
+ #t7.{core::Set::add}{Invariant}(null);
} =>#t7;
core::Set<core::int*>* local2h = block {
final core::Set<core::int*>* #t8 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t8.{core::Set::add}(inf::field8);
- #t8.{core::Set::add}(null);
+ #t8.{core::Set::add}{Invariant}(inf::field8);
+ #t8.{core::Set::add}{Invariant}(null);
} =>#t8;
core::Set<inf::C<dynamic>*>* local3a = block {
final core::Set<inf::C<dynamic>*>* #t9 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>*>();
- #t9.{core::Set::add}(null);
- #t9.{core::Set::add}(inf::field1);
+ #t9.{core::Set::add}{Invariant}(null);
+ #t9.{core::Set::add}{Invariant}(inf::field1);
} =>#t9;
core::Set<inf::C<dynamic>*>* local3b = block {
final core::Set<inf::C<dynamic>*>* #t10 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>*>();
- #t10.{core::Set::add}(null);
- #t10.{core::Set::add}(inf::field2);
+ #t10.{core::Set::add}{Invariant}(null);
+ #t10.{core::Set::add}{Invariant}(inf::field2);
} =>#t10;
core::Set<inf::C<core::int*>*>* local3c = block {
final core::Set<inf::C<core::int*>*>* #t11 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t11.{core::Set::add}(null);
- #t11.{core::Set::add}(inf::field3);
+ #t11.{core::Set::add}{Invariant}(null);
+ #t11.{core::Set::add}{Invariant}(inf::field3);
} =>#t11;
core::Set<inf::C<core::int*>*>* local3d = block {
final core::Set<inf::C<core::int*>*>* #t12 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t12.{core::Set::add}(null);
- #t12.{core::Set::add}(inf::field4);
+ #t12.{core::Set::add}{Invariant}(null);
+ #t12.{core::Set::add}{Invariant}(inf::field4);
} =>#t12;
core::Set<inf::C<core::int*>*>* local3e = block {
final core::Set<inf::C<core::int*>*>* #t13 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t13.{core::Set::add}(null);
- #t13.{core::Set::add}(inf::field5);
+ #t13.{core::Set::add}{Invariant}(null);
+ #t13.{core::Set::add}{Invariant}(inf::field5);
} =>#t13;
core::Set<inf::C<core::int*>*>* local3f = block {
final core::Set<inf::C<core::int*>*>* #t14 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t14.{core::Set::add}(null);
- #t14.{core::Set::add}(inf::field6);
+ #t14.{core::Set::add}{Invariant}(null);
+ #t14.{core::Set::add}{Invariant}(inf::field6);
} =>#t14;
core::Set<core::int*>* local3g = block {
final core::Set<core::int*>* #t15 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t15.{core::Set::add}(null);
- #t15.{core::Set::add}(inf::field7);
+ #t15.{core::Set::add}{Invariant}(null);
+ #t15.{core::Set::add}{Invariant}(inf::field7);
} =>#t15;
core::Set<core::int*>* local3h = block {
final core::Set<core::int*>* #t16 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t16.{core::Set::add}(null);
- #t16.{core::Set::add}(inf::field8);
+ #t16.{core::Set::add}{Invariant}(null);
+ #t16.{core::Set::add}{Invariant}(inf::field8);
} =>#t16;
}
@@ -167,82 +167,82 @@
core::List<Null> local1i = <Null>[null];
core::Set<inf::C<dynamic>?> local2a = block {
final core::Set<inf::C<dynamic>?> #t17 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>?>();
- #t17.{core::Set::add}(inf::field1);
- #t17.{core::Set::add}(null);
+ #t17.{core::Set::add}{Invariant}(inf::field1);
+ #t17.{core::Set::add}{Invariant}(null);
} =>#t17;
core::Set<inf::C<dynamic>?> local2b = block {
final core::Set<inf::C<dynamic>?> #t18 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>?>();
- #t18.{core::Set::add}(inf::field2);
- #t18.{core::Set::add}(null);
+ #t18.{core::Set::add}{Invariant}(inf::field2);
+ #t18.{core::Set::add}{Invariant}(null);
} =>#t18;
core::Set<inf::C<core::int>?> local2c = block {
final core::Set<inf::C<core::int>?> #t19 = new col::_CompactLinkedHashSet::•<inf::C<core::int>?>();
- #t19.{core::Set::add}(inf::field3);
- #t19.{core::Set::add}(null);
+ #t19.{core::Set::add}{Invariant}(inf::field3);
+ #t19.{core::Set::add}{Invariant}(null);
} =>#t19;
core::Set<inf::C<core::int>?> local2d = block {
final core::Set<inf::C<core::int>?> #t20 = new col::_CompactLinkedHashSet::•<inf::C<core::int>?>();
- #t20.{core::Set::add}(inf::field4);
- #t20.{core::Set::add}(null);
+ #t20.{core::Set::add}{Invariant}(inf::field4);
+ #t20.{core::Set::add}{Invariant}(null);
} =>#t20;
core::Set<inf::C<core::int?>?> local2e = block {
final core::Set<inf::C<core::int?>?> #t21 = new col::_CompactLinkedHashSet::•<inf::C<core::int?>?>();
- #t21.{core::Set::add}(inf::field5);
- #t21.{core::Set::add}(null);
+ #t21.{core::Set::add}{Invariant}(inf::field5);
+ #t21.{core::Set::add}{Invariant}(null);
} =>#t21;
core::Set<inf::C<core::int?>?> local2f = block {
final core::Set<inf::C<core::int?>?> #t22 = new col::_CompactLinkedHashSet::•<inf::C<core::int?>?>();
- #t22.{core::Set::add}(inf::field6);
- #t22.{core::Set::add}(null);
+ #t22.{core::Set::add}{Invariant}(inf::field6);
+ #t22.{core::Set::add}{Invariant}(null);
} =>#t22;
core::Set<core::int?> local2g = block {
final core::Set<core::int?> #t23 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t23.{core::Set::add}(inf::field7);
- #t23.{core::Set::add}(null);
+ #t23.{core::Set::add}{Invariant}(inf::field7);
+ #t23.{core::Set::add}{Invariant}(null);
} =>#t23;
core::Set<core::int?> local2h = block {
final core::Set<core::int?> #t24 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t24.{core::Set::add}(inf::field8);
- #t24.{core::Set::add}(null);
+ #t24.{core::Set::add}{Invariant}(inf::field8);
+ #t24.{core::Set::add}{Invariant}(null);
} =>#t24;
core::Set<inf::C<dynamic>?> local3a = block {
final core::Set<inf::C<dynamic>?> #t25 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>?>();
- #t25.{core::Set::add}(null);
- #t25.{core::Set::add}(inf::field1);
+ #t25.{core::Set::add}{Invariant}(null);
+ #t25.{core::Set::add}{Invariant}(inf::field1);
} =>#t25;
core::Set<inf::C<dynamic>?> local3b = block {
final core::Set<inf::C<dynamic>?> #t26 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>?>();
- #t26.{core::Set::add}(null);
- #t26.{core::Set::add}(inf::field2);
+ #t26.{core::Set::add}{Invariant}(null);
+ #t26.{core::Set::add}{Invariant}(inf::field2);
} =>#t26;
core::Set<inf::C<core::int>?> local3c = block {
final core::Set<inf::C<core::int>?> #t27 = new col::_CompactLinkedHashSet::•<inf::C<core::int>?>();
- #t27.{core::Set::add}(null);
- #t27.{core::Set::add}(inf::field3);
+ #t27.{core::Set::add}{Invariant}(null);
+ #t27.{core::Set::add}{Invariant}(inf::field3);
} =>#t27;
core::Set<inf::C<core::int>?> local3d = block {
final core::Set<inf::C<core::int>?> #t28 = new col::_CompactLinkedHashSet::•<inf::C<core::int>?>();
- #t28.{core::Set::add}(null);
- #t28.{core::Set::add}(inf::field4);
+ #t28.{core::Set::add}{Invariant}(null);
+ #t28.{core::Set::add}{Invariant}(inf::field4);
} =>#t28;
core::Set<inf::C<core::int?>?> local3e = block {
final core::Set<inf::C<core::int?>?> #t29 = new col::_CompactLinkedHashSet::•<inf::C<core::int?>?>();
- #t29.{core::Set::add}(null);
- #t29.{core::Set::add}(inf::field5);
+ #t29.{core::Set::add}{Invariant}(null);
+ #t29.{core::Set::add}{Invariant}(inf::field5);
} =>#t29;
core::Set<inf::C<core::int?>?> local3f = block {
final core::Set<inf::C<core::int?>?> #t30 = new col::_CompactLinkedHashSet::•<inf::C<core::int?>?>();
- #t30.{core::Set::add}(null);
- #t30.{core::Set::add}(inf::field6);
+ #t30.{core::Set::add}{Invariant}(null);
+ #t30.{core::Set::add}{Invariant}(inf::field6);
} =>#t30;
core::Set<core::int?> local3g = block {
final core::Set<core::int?> #t31 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t31.{core::Set::add}(null);
- #t31.{core::Set::add}(inf::field7);
+ #t31.{core::Set::add}{Invariant}(null);
+ #t31.{core::Set::add}{Invariant}(inf::field7);
} =>#t31;
core::Set<core::int?> local3h = block {
final core::Set<core::int?> #t32 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t32.{core::Set::add}(null);
- #t32.{core::Set::add}(inf::field8);
+ #t32.{core::Set::add}{Invariant}(null);
+ #t32.{core::Set::add}{Invariant}(inf::field8);
} =>#t32;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.expect
index b171e0f..4ca139e 100644
--- a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.expect
@@ -11,11 +11,11 @@
method method(core::String* node, core::Set<core::String*>* set) → core::List<core::String*>*
return set.{core::Set::add}(node) ?{core::List<core::String*>*} block {
final core::List<core::String*>* #t1 = <core::String*>[];
- #t1.{core::List::add}(node);
+ #t1.{core::List::add}{Invariant}(node);
final core::Iterable<core::String*>* #t2 = let final core::Iterable<core::String*>* #t3 = let final core::Set<core::String*>* #t4 = this.{self::Class::map}.{core::Map::[]}(node) in #t4.{core::Object::==}(null) ?{core::Iterable<core::String*>*} null : #t4.{core::Iterable::expand}<core::String*>((core::String* node) → core::List<core::String*>* => this.{self::Class::method}(node, set)) in #t3.{core::Object::==}(null) ?{core::List<core::String*>*} null : #t3.{core::Iterable::toList}();
if(!#t2.{core::Object::==}(null))
for (final core::String* #t5 in #t2)
- #t1.{core::List::add}(#t5);
+ #t1.{core::List::add}{Invariant}(#t5);
} =>#t1 : <core::String*>[];
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.transformed.expect
index 5dbea1b..32474f7 100644
--- a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.transformed.expect
@@ -11,13 +11,13 @@
method method(core::String* node, core::Set<core::String*>* set) → core::List<core::String*>*
return set.{core::Set::add}(node) ?{core::List<core::String*>*} block {
final core::List<core::String*>* #t1 = <core::String*>[];
- #t1.{core::List::add}(node);
+ #t1.{core::List::add}{Invariant}(node);
final core::Iterable<core::String*>* #t2 = let final core::Iterable<core::String*>* #t3 = let final core::Set<core::String*>* #t4 = this.{self::Class::map}.{core::Map::[]}(node) in #t4.{core::Object::==}(null) ?{core::Iterable<core::String*>*} null : #t4.{core::Iterable::expand}<core::String*>((core::String* node) → core::List<core::String*>* => this.{self::Class::method}(node, set)) in #t3.{core::Object::==}(null) ?{core::List<core::String*>*} null : #t3.{core::Iterable::toList}();
if(!#t2.{core::Object::==}(null)) {
core::Iterator<core::String*>* :sync-for-iterator = #t2.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::String* #t5 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}(#t5);
+ #t1.{core::List::add}{Invariant}(#t5);
}
}
} =>#t1 : <core::String*>[];
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.strong.expect b/pkg/front_end/testcases/regress/issue_42423.dart.strong.expect
index 4f27b66..f462ef4 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.strong.expect
@@ -13,7 +13,7 @@
if(!#t2.{core::Object::==}(null))
for (final dynamic #t3 in #t2) {
final core::int* #t4 = #t3 as{TypeError} core::int*;
- #t1.{core::Set::add}(#t4);
+ #t1.{core::Set::add}{Invariant}(#t4);
}
} =>#t1;
}
@@ -24,7 +24,7 @@
if(!#t6.{core::Object::==}(null))
for (final dynamic #t7 in #t6) {
final core::int* #t8 = #t7 as{TypeError} core::int*;
- #t5.{core::List::add}(#t8);
+ #t5.{core::List::add}{Invariant}(#t8);
}
} =>#t5;
}
@@ -36,7 +36,7 @@
for (final core::MapEntry<dynamic, dynamic>* #t11 in #t10.{core::Map::entries}) {
final core::int* #t12 = #t11.{core::MapEntry::key} as{TypeError} core::int*;
final core::int* #t13 = #t11.{core::MapEntry::value} as{TypeError} core::int*;
- #t9.{core::Map::[]=}(#t12, #t13);
+ #t9.{core::Map::[]=}{Invariant}(#t12, #t13);
}
} =>#t9;
}
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_42423.dart.strong.transformed.expect
index c5501c9..5913720 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.strong.transformed.expect
@@ -16,7 +16,7 @@
final dynamic #t3 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t4 = #t3 as{TypeError} core::int*;
- #t1.{core::Set::add}(#t4);
+ #t1.{core::Set::add}{Invariant}(#t4);
}
}
}
@@ -32,7 +32,7 @@
final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t8 = #t7 as{TypeError} core::int*;
- #t5.{core::List::add}(#t8);
+ #t5.{core::List::add}{Invariant}(#t8);
}
}
}
@@ -49,7 +49,7 @@
{
final core::int* #t12 = #t11.{core::MapEntry::key} as{TypeError} core::int*;
final core::int* #t13 = #t11.{core::MapEntry::value} as{TypeError} core::int*;
- #t9.{core::Map::[]=}(#t12, #t13);
+ #t9.{core::Map::[]=}{Invariant}(#t12, #t13);
}
}
}
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart b/pkg/front_end/testcases/unified_collections/invariance.dart
new file mode 100644
index 0000000..a22d3d3
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// @dart=2.9
+
+main() {
+ var list1 = <int>[0];
+ var list2 = <num>[0];
+ dynamic list3 = <int>[0];
+ var list = <int>[0, ...list1, ...list2, ...list3, if (true) 2];
+
+ var set1 = <int>{0};
+ var set2 = <num>{0};
+ dynamic set3 = <int>{0};
+ var set = <int>{0, ...set1, ...set2, ...set3, if (true) 2};
+
+ var map1 = <int, String>{0: 'foo'};
+ var map2 = <num, Object>{0: 'bar'};
+ dynamic map3 = <int, String>{0: 'baz'};
+ var map = <int, String>{
+ 0: 'foo',
+ ...map1,
+ ...map2,
+ ...map3,
+ if (true) 2: 'baz'
+ };
+}
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.outline.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.outline.expect
new file mode 100644
index 0000000..6a28c0d
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.outline.expect
@@ -0,0 +1,5 @@
+library;
+import self as self;
+
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.strong.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.strong.expect
new file mode 100644
index 0000000..ebbf96d
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.strong.expect
@@ -0,0 +1,75 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method main() → dynamic {
+ core::List<core::int*>* list1 = <core::int*>[0];
+ core::List<core::num*>* list2 = <core::num*>[0];
+ dynamic list3 = <core::int*>[0];
+ core::List<core::int*>* list = block {
+ final core::List<core::int*>* #t1 = <core::int*>[];
+ #t1.{core::List::add}{Invariant}(0);
+ for (final core::int* #t2 in list1)
+ #t1.{core::List::add}{Invariant}(#t2);
+ for (final dynamic #t3 in list2) {
+ final core::int* #t4 = #t3 as{TypeError} core::int*;
+ #t1.{core::List::add}{Invariant}(#t4);
+ }
+ for (final dynamic #t5 in list3 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+ final core::int* #t6 = #t5 as{TypeError} core::int*;
+ #t1.{core::List::add}{Invariant}(#t6);
+ }
+ if(true)
+ #t1.{core::List::add}{Invariant}(2);
+ } =>#t1;
+ core::Set<core::int*>* set1 = block {
+ final core::Set<core::int*>* #t7 = col::LinkedHashSet::•<core::int*>();
+ #t7.{core::Set::add}{Invariant}(0);
+ } =>#t7;
+ core::Set<core::num*>* set2 = block {
+ final core::Set<core::num*>* #t8 = col::LinkedHashSet::•<core::num*>();
+ #t8.{core::Set::add}{Invariant}(0);
+ } =>#t8;
+ dynamic set3 = block {
+ final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
+ #t9.{core::Set::add}{Invariant}(0);
+ } =>#t9;
+ core::Set<core::int*>* set = block {
+ final core::Set<core::int*>* #t10 = col::LinkedHashSet::•<core::int*>();
+ #t10.{core::Set::add}{Invariant}(0);
+ for (final core::int* #t11 in set1)
+ #t10.{core::Set::add}{Invariant}(#t11);
+ for (final dynamic #t12 in set2) {
+ final core::int* #t13 = #t12 as{TypeError} core::int*;
+ #t10.{core::Set::add}{Invariant}(#t13);
+ }
+ for (final dynamic #t14 in set3 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+ final core::int* #t15 = #t14 as{TypeError} core::int*;
+ #t10.{core::Set::add}{Invariant}(#t15);
+ }
+ if(true)
+ #t10.{core::Set::add}{Invariant}(2);
+ } =>#t10;
+ core::Map<core::int*, core::String*>* map1 = <core::int*, core::String*>{0: "foo"};
+ core::Map<core::num*, core::Object*>* map2 = <core::num*, core::Object*>{0: "bar"};
+ dynamic map3 = <core::int*, core::String*>{0: "baz"};
+ core::Map<core::int*, core::String*>* map = block {
+ final core::Map<core::int*, core::String*>* #t16 = <core::int*, core::String*>{};
+ #t16.{core::Map::[]=}{Invariant}(0, "foo");
+ for (final core::MapEntry<core::int*, core::String*>* #t17 in map1.{core::Map::entries})
+ #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ for (final core::MapEntry<dynamic, dynamic>* #t18 in map2.{core::Map::entries}) {
+ final core::int* #t19 = #t18.{core::MapEntry::key} as{TypeError} core::int*;
+ final core::String* #t20 = #t18.{core::MapEntry::value} as{TypeError} core::String*;
+ #t16.{core::Map::[]=}{Invariant}(#t19, #t20);
+ }
+ for (final core::MapEntry<dynamic, dynamic>* #t21 in (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
+ final core::int* #t22 = #t21.{core::MapEntry::key} as{TypeError} core::int*;
+ final core::String* #t23 = #t21.{core::MapEntry::value} as{TypeError} core::String*;
+ #t16.{core::Map::[]=}{Invariant}(#t22, #t23);
+ }
+ if(true)
+ #t16.{core::Map::[]=}{Invariant}(2, "baz");
+ } =>#t16;
+}
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.strong.transformed.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.strong.transformed.expect
new file mode 100644
index 0000000..a1ce6d8
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.strong.transformed.expect
@@ -0,0 +1,126 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method main() → dynamic {
+ core::List<core::int*>* list1 = <core::int*>[0];
+ core::List<core::num*>* list2 = <core::num*>[0];
+ dynamic list3 = <core::int*>[0];
+ core::List<core::int*>* list = block {
+ final core::List<core::int*>* #t1 = <core::int*>[];
+ #t1.{core::List::add}{Invariant}(0);
+ {
+ core::Iterator<core::int*>* :sync-for-iterator = list1.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final core::int* #t2 = :sync-for-iterator.{core::Iterator::current};
+ #t1.{core::List::add}{Invariant}(#t2);
+ }
+ }
+ {
+ core::Iterator<core::num*>* :sync-for-iterator = list2.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t3 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int* #t4 = #t3 as{TypeError} core::int*;
+ #t1.{core::List::add}{Invariant}(#t4);
+ }
+ }
+ }
+ {
+ core::Iterator<dynamic>* :sync-for-iterator = (list3 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int* #t6 = #t5 as{TypeError} core::int*;
+ #t1.{core::List::add}{Invariant}(#t6);
+ }
+ }
+ }
+ if(true)
+ #t1.{core::List::add}{Invariant}(2);
+ } =>#t1;
+ core::Set<core::int*>* set1 = block {
+ final core::Set<core::int*>* #t7 = new col::_CompactLinkedHashSet::•<core::int*>();
+ #t7.{core::Set::add}{Invariant}(0);
+ } =>#t7;
+ core::Set<core::num*>* set2 = block {
+ final core::Set<core::num*>* #t8 = new col::_CompactLinkedHashSet::•<core::num*>();
+ #t8.{core::Set::add}{Invariant}(0);
+ } =>#t8;
+ dynamic set3 = block {
+ final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
+ #t9.{core::Set::add}{Invariant}(0);
+ } =>#t9;
+ core::Set<core::int*>* set = block {
+ final core::Set<core::int*>* #t10 = new col::_CompactLinkedHashSet::•<core::int*>();
+ #t10.{core::Set::add}{Invariant}(0);
+ {
+ core::Iterator<core::int*>* :sync-for-iterator = set1.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final core::int* #t11 = :sync-for-iterator.{core::Iterator::current};
+ #t10.{core::Set::add}{Invariant}(#t11);
+ }
+ }
+ {
+ core::Iterator<core::num*>* :sync-for-iterator = set2.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int* #t13 = #t12 as{TypeError} core::int*;
+ #t10.{core::Set::add}{Invariant}(#t13);
+ }
+ }
+ }
+ {
+ core::Iterator<dynamic>* :sync-for-iterator = (set3 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int* #t15 = #t14 as{TypeError} core::int*;
+ #t10.{core::Set::add}{Invariant}(#t15);
+ }
+ }
+ }
+ if(true)
+ #t10.{core::Set::add}{Invariant}(2);
+ } =>#t10;
+ core::Map<core::int*, core::String*>* map1 = <core::int*, core::String*>{0: "foo"};
+ core::Map<core::num*, core::Object*>* map2 = <core::num*, core::Object*>{0: "bar"};
+ dynamic map3 = <core::int*, core::String*>{0: "baz"};
+ core::Map<core::int*, core::String*>* map = block {
+ final core::Map<core::int*, core::String*>* #t16 = <core::int*, core::String*>{};
+ #t16.{core::Map::[]=}{Invariant}(0, "foo");
+ {
+ core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = map1.{core::Map::entries}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final core::MapEntry<core::int*, core::String*>* #t17 = :sync-for-iterator.{core::Iterator::current};
+ #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ }
+ }
+ {
+ core::Iterator<core::MapEntry<core::num*, core::Object*>>* :sync-for-iterator = map2.{core::Map::entries}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final core::MapEntry<dynamic, dynamic>* #t18 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int* #t19 = #t18.{core::MapEntry::key} as{TypeError} core::int*;
+ final core::String* #t20 = #t18.{core::MapEntry::value} as{TypeError} core::String*;
+ #t16.{core::Map::[]=}{Invariant}(#t19, #t20);
+ }
+ }
+ }
+ {
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final core::MapEntry<dynamic, dynamic>* #t21 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int* #t22 = #t21.{core::MapEntry::key} as{TypeError} core::int*;
+ final core::String* #t23 = #t21.{core::MapEntry::value} as{TypeError} core::String*;
+ #t16.{core::Map::[]=}{Invariant}(#t22, #t23);
+ }
+ }
+ }
+ if(true)
+ #t16.{core::Map::[]=}{Invariant}(2, "baz");
+ } =>#t16;
+}
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.textual_outline.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.textual_outline.expect
new file mode 100644
index 0000000..7c126a2
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.textual_outline.expect
@@ -0,0 +1,2 @@
+// @dart = 2.9
+main() {}
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..7c126a2
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.textual_outline_modelled.expect
@@ -0,0 +1,2 @@
+// @dart = 2.9
+main() {}
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.strong.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.strong.expect
index 9a51fe1..1194246 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.strong.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.strong.expect
@@ -47,104 +47,104 @@
static field core::Map<dynamic, dynamic>* map1 = block {
final core::Map<dynamic, dynamic>* #t1 = <dynamic, dynamic>{};
if(self::b)
- #t1.{core::Map::[]=}(0, 1);
+ #t1.{core::Map::[]=}{Invariant}(0, 1);
else
for (final core::MapEntry<dynamic, dynamic>* #t2 in self::map0.{core::Map::entries})
- #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
} =>#t1;
static field core::Map<dynamic, dynamic>* map2 = block {
final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
if(self::b)
for (final core::MapEntry<dynamic, dynamic>* #t4 in self::map0.{core::Map::entries})
- #t3.{core::Map::[]=}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
+ #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
else
- #t3.{core::Map::[]=}(0, 1);
+ #t3.{core::Map::[]=}{Invariant}(0, 1);
} =>#t3;
static field core::Map<dynamic, dynamic>* map3 = block {
final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
if(self::b)
for (final core::MapEntry<dynamic, dynamic>* #t6 in self::map0.{core::Map::entries})
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
else
for (final core::MapEntry<dynamic, dynamic>* #t7 in self::map0.{core::Map::entries})
- #t5.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
} =>#t5;
static field core::Map<dynamic, core::int*>* map4 = block {
final core::Map<dynamic, core::int*>* #t8 = <dynamic, core::int*>{};
if(self::b)
- #t8.{core::Map::[]=}(0, 1);
+ #t8.{core::Map::[]=}{Invariant}(0, 1);
else
for (dynamic a in self::list)
- #t8.{core::Map::[]=}(a, 1);
+ #t8.{core::Map::[]=}{Invariant}(a, 1);
} =>#t8;
static field core::Map<dynamic, core::int*>* map5 = block {
final core::Map<dynamic, core::int*>* #t9 = <dynamic, core::int*>{};
if(self::b)
for (dynamic a in self::list)
- #t9.{core::Map::[]=}(a, 1);
+ #t9.{core::Map::[]=}{Invariant}(a, 1);
else
- #t9.{core::Map::[]=}(0, 1);
+ #t9.{core::Map::[]=}{Invariant}(0, 1);
} =>#t9;
static field core::Map<dynamic, core::int*>* map6 = block {
final core::Map<dynamic, core::int*>* #t10 = <dynamic, core::int*>{};
if(self::b)
- #t10.{core::Map::[]=}(0, 1);
+ #t10.{core::Map::[]=}{Invariant}(0, 1);
else
for (dynamic a in self::list)
for (final core::MapEntry<dynamic, core::int*>* #t11 in <dynamic, core::int*>{a: 1}.{core::Map::entries})
- #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
} =>#t10;
static field core::Map<dynamic, core::int*>* map7 = block {
final core::Map<dynamic, core::int*>* #t12 = <dynamic, core::int*>{};
if(self::b)
for (dynamic a in self::list)
for (final core::MapEntry<dynamic, core::int*>* #t13 in <dynamic, core::int*>{a: 1}.{core::Map::entries})
- #t12.{core::Map::[]=}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
+ #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
else
- #t12.{core::Map::[]=}(0, 1);
+ #t12.{core::Map::[]=}{Invariant}(0, 1);
} =>#t12;
static field core::Map<dynamic, core::int*>* map8 = block {
final core::Map<dynamic, core::int*>* #t14 = <dynamic, core::int*>{};
if(self::b)
- #t14.{core::Map::[]=}(0, 1);
+ #t14.{core::Map::[]=}{Invariant}(0, 1);
else
for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- #t14.{core::Map::[]=}(self::list.{core::List::[]}(i), 1);
+ #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i), 1);
} =>#t14;
static field core::Map<dynamic, core::int*>* map9 = block {
final core::Map<dynamic, core::int*>* #t15 = <dynamic, core::int*>{};
if(self::b)
for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- #t15.{core::Map::[]=}(self::list.{core::List::[]}(i), 1);
+ #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i), 1);
else
- #t15.{core::Map::[]=}(0, 1);
+ #t15.{core::Map::[]=}{Invariant}(0, 1);
} =>#t15;
static field core::Map<dynamic, core::int*>* map10 = block {
final core::Map<dynamic, core::int*>* #t16 = <dynamic, core::int*>{};
if(self::b)
- #t16.{core::Map::[]=}(0, 1);
+ #t16.{core::Map::[]=}{Invariant}(0, 1);
else
for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
for (final core::MapEntry<dynamic, core::int*>* #t17 in <dynamic, core::int*>{self::list.{core::List::[]}(i): 1}.{core::Map::entries})
- #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
} =>#t16;
static field core::Map<dynamic, core::int*>* map11 = block {
final core::Map<dynamic, core::int*>* #t18 = <dynamic, core::int*>{};
if(self::b)
for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
for (final core::MapEntry<dynamic, core::int*>* #t19 in <dynamic, core::int*>{self::list.{core::List::[]}(i): 1}.{core::Map::entries})
- #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
else
- #t18.{core::Map::[]=}(0, 1);
+ #t18.{core::Map::[]=}{Invariant}(0, 1);
} =>#t18;
static field core::Map<core::int*, core::int*>* map12 = block {
final core::Map<core::int*, core::int*>* #t20 = <core::int*, core::int*>{};
if(self::b)
- #t20.{core::Map::[]=}(0, 1);
+ #t20.{core::Map::[]=}{Invariant}(0, 1);
else
if(self::b)
for (final core::MapEntry<core::int*, core::int*>* #t21 in <core::int*, core::int*>{0: 1}.{core::Map::entries})
- #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
} =>#t20;
static field core::Map<dynamic, Null>* error4 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:33:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
var error4 = {if (b) 0: 1 else for (var a in list) a};
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.strong.transformed.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.strong.transformed.expect
index dd3b4fe..ff07e3e 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.strong.transformed.expect
@@ -47,12 +47,12 @@
static field core::Map<dynamic, dynamic>* map1 = block {
final core::Map<dynamic, dynamic>* #t1 = <dynamic, dynamic>{};
if(self::b)
- #t1.{core::Map::[]=}(0, 1);
+ #t1.{core::Map::[]=}{Invariant}(0, 1);
else {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
}
}
} =>#t1;
@@ -62,11 +62,11 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Map::[]=}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
+ #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
}
}
else
- #t3.{core::Map::[]=}(0, 1);
+ #t3.{core::Map::[]=}{Invariant}(0, 1);
} =>#t3;
static field core::Map<dynamic, dynamic>* map3 = block {
final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
@@ -74,26 +74,26 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
}
}
else {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t7 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
+ #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
}
}
} =>#t5;
static field core::Map<dynamic, core::int*>* map4 = block {
final core::Map<dynamic, core::int*>* #t8 = <dynamic, core::int*>{};
if(self::b)
- #t8.{core::Map::[]=}(0, 1);
+ #t8.{core::Map::[]=}{Invariant}(0, 1);
else {
core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic a = :sync-for-iterator.{core::Iterator::current};
- #t8.{core::Map::[]=}(a, 1);
+ #t8.{core::Map::[]=}{Invariant}(a, 1);
}
}
} =>#t8;
@@ -103,16 +103,16 @@
core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic a = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::Map::[]=}(a, 1);
+ #t9.{core::Map::[]=}{Invariant}(a, 1);
}
}
else
- #t9.{core::Map::[]=}(0, 1);
+ #t9.{core::Map::[]=}{Invariant}(0, 1);
} =>#t9;
static field core::Map<dynamic, core::int*>* map6 = block {
final core::Map<dynamic, core::int*>* #t10 = <dynamic, core::int*>{};
if(self::b)
- #t10.{core::Map::[]=}(0, 1);
+ #t10.{core::Map::[]=}{Invariant}(0, 1);
else {
core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
@@ -121,7 +121,7 @@
core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, core::int*>* #t11 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
+ #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
}
}
}
@@ -137,40 +137,40 @@
core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current};
- #t12.{core::Map::[]=}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
+ #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
}
}
}
}
else
- #t12.{core::Map::[]=}(0, 1);
+ #t12.{core::Map::[]=}{Invariant}(0, 1);
} =>#t12;
static field core::Map<dynamic, core::int*>* map8 = block {
final core::Map<dynamic, core::int*>* #t14 = <dynamic, core::int*>{};
if(self::b)
- #t14.{core::Map::[]=}(0, 1);
+ #t14.{core::Map::[]=}{Invariant}(0, 1);
else
for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- #t14.{core::Map::[]=}(self::list.{core::List::[]}(i), 1);
+ #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i), 1);
} =>#t14;
static field core::Map<dynamic, core::int*>* map9 = block {
final core::Map<dynamic, core::int*>* #t15 = <dynamic, core::int*>{};
if(self::b)
for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- #t15.{core::Map::[]=}(self::list.{core::List::[]}(i), 1);
+ #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i), 1);
else
- #t15.{core::Map::[]=}(0, 1);
+ #t15.{core::Map::[]=}{Invariant}(0, 1);
} =>#t15;
static field core::Map<dynamic, core::int*>* map10 = block {
final core::Map<dynamic, core::int*>* #t16 = <dynamic, core::int*>{};
if(self::b)
- #t16.{core::Map::[]=}(0, 1);
+ #t16.{core::Map::[]=}{Invariant}(0, 1);
else
for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1)) {
core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{self::list.{core::List::[]}(i): 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, core::int*>* #t17 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
}
}
} =>#t16;
@@ -181,22 +181,22 @@
core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{self::list.{core::List::[]}(i): 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, core::int*>* #t19 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
}
}
else
- #t18.{core::Map::[]=}(0, 1);
+ #t18.{core::Map::[]=}{Invariant}(0, 1);
} =>#t18;
static field core::Map<core::int*, core::int*>* map12 = block {
final core::Map<core::int*, core::int*>* #t20 = <core::int*, core::int*>{};
if(self::b)
- #t20.{core::Map::[]=}(0, 1);
+ #t20.{core::Map::[]=}{Invariant}(0, 1);
else
if(self::b) {
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{0: 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t21 = :sync-for-iterator.{core::Iterator::current};
- #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
}
}
} =>#t20;
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.strong.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.strong.expect
index 930929b..f3953a4 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.strong.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.strong.expect
@@ -6,8 +6,8 @@
core::bool* b = false;
block {
final core::List<core::String*>* #t1 = <core::String*>[];
- #t1.{core::List::add}("ab");
+ #t1.{core::List::add}{Invariant}("ab");
if(b)
- #t1.{core::List::add}("cd");
+ #t1.{core::List::add}{Invariant}("cd");
} =>#t1;
}
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.strong.transformed.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.strong.transformed.expect
index b5ffe41..44b114b 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.strong.transformed.expect
@@ -6,9 +6,9 @@
core::bool* b = false;
block {
final core::List<core::String*>* #t1 = <core::String*>[];
- #t1.{core::List::add}("ab");
+ #t1.{core::List::add}{Invariant}("ab");
if(b)
- #t1.{core::List::add}("cd");
+ #t1.{core::List::add}{Invariant}("cd");
} =>#t1;
}
diff --git a/pkg/kernel/binary.md b/pkg/kernel/binary.md
index 6a26a6d..cafad21 100644
--- a/pkg/kernel/binary.md
+++ b/pkg/kernel/binary.md
@@ -631,6 +631,7 @@
type MethodInvocation extends Expression {
Byte tag = 28;
+ Byte flags;
FileOffset fileOffset;
Expression receiver;
Name name;
@@ -1024,6 +1025,7 @@
type Block extends Statement {
Byte tag = 62;
FileOffset fileOffset;
+ FileOffset fileEndOffset;
List<Statement> statements;
}
diff --git a/pkg/kernel/lib/ast.dart b/pkg/kernel/lib/ast.dart
index 7df2713..ce1824e 100644
--- a/pkg/kernel/lib/ast.dart
+++ b/pkg/kernel/lib/ast.dart
@@ -3778,9 +3778,14 @@
/// Expression of form `x.foo(y)`.
class MethodInvocation extends InvocationExpression {
+ // Must match serialized bit positions.
+ static const int FlagInvariant = 1 << 0;
+ static const int FlagBoundsSafe = 1 << 1;
+
Expression receiver;
Name name;
Arguments arguments;
+ int flags = 0;
Reference interfaceTargetReference;
@@ -3806,6 +3811,41 @@
interfaceTargetReference = getMemberReferenceGetter(target);
}
+ /// If `true`, this call is known to be safe wrt. parameter covariance checks.
+ ///
+ /// This is for instance the case in code patterns like this
+ ///
+ /// List<int> list = <int>[];
+ /// list.add(0);
+ ///
+ /// where the `list` variable is known to hold a value of the same type as
+ /// the static type. In contrast the would not be the case in code patterns
+ /// like this
+ ///
+ /// List<num> list = <double>[];
+ /// list.add(0); // Runtime error `int` is not a subtype of `double`.
+ ///
+ bool get isInvariant => flags & FlagInvariant != 0;
+
+ void set isInvariant(bool value) {
+ flags = value ? (flags | FlagInvariant) : (flags & ~FlagInvariant);
+ }
+
+ /// If `true`, this call is known to be safe wrt. parameter covariance checks.
+ ///
+ /// This is for instance the case in code patterns like this
+ ///
+ /// List list = new List.filled(2, 0);
+ /// list[1] = 42;
+ ///
+ /// where the `list` is known to have a sufficient length for the update
+ /// in `list[1] = 42`.
+ bool get isBoundsSafe => flags & FlagBoundsSafe != 0;
+
+ void set isBoundsSafe(bool value) {
+ flags = value ? (flags | FlagBoundsSafe) : (flags & ~FlagBoundsSafe);
+ }
+
DartType getStaticTypeInternal(StaticTypeContext context) {
var interfaceTarget = this.interfaceTarget;
if (interfaceTarget != null) {
@@ -5879,6 +5919,11 @@
class Block extends Statement {
final List<Statement> statements;
+ /// End offset in the source file it comes from. Valid values are from 0 and
+ /// up, or -1 ([TreeNode.noOffset]) if the file end offset is not available
+ /// (this is the default if none is specifically set).
+ int fileEndOffset = TreeNode.noOffset;
+
Block(this.statements) {
// Ensure statements is mutable.
assert((statements
diff --git a/pkg/kernel/lib/binary/ast_from_binary.dart b/pkg/kernel/lib/binary/ast_from_binary.dart
index 97bda78..c0af19e 100644
--- a/pkg/kernel/lib/binary/ast_from_binary.dart
+++ b/pkg/kernel/lib/binary/ast_from_binary.dart
@@ -1711,10 +1711,12 @@
readMemberReference(), readExpression())
..fileOffset = offset;
case Tag.MethodInvocation:
+ int flags = readByte();
int offset = readOffset();
return new MethodInvocation.byReference(readExpression(), readName(),
readArguments(), readInstanceMemberReference(allowNull: true))
- ..fileOffset = offset;
+ ..fileOffset = offset
+ ..flags = flags;
case Tag.SuperMethodInvocation:
int offset = readOffset();
addTransformerFlag(TransformerFlag.superCalls);
@@ -2106,9 +2108,12 @@
Block readBlock() {
int stackHeight = variableStack.length;
var offset = readOffset();
+ var endOffset = readOffset();
var body = readStatementList();
variableStack.length = stackHeight;
- return new Block(body)..fileOffset = offset;
+ return new Block(body)
+ ..fileOffset = offset
+ ..fileEndOffset = endOffset;
}
AssertBlock readAssertBlock() {
diff --git a/pkg/kernel/lib/binary/ast_to_binary.dart b/pkg/kernel/lib/binary/ast_to_binary.dart
index a0940ff..e7bd343 100644
--- a/pkg/kernel/lib/binary/ast_to_binary.dart
+++ b/pkg/kernel/lib/binary/ast_to_binary.dart
@@ -1466,6 +1466,7 @@
@override
void visitMethodInvocation(MethodInvocation node) {
writeByte(Tag.MethodInvocation);
+ writeByte(node.flags);
writeOffset(node.fileOffset);
writeNode(node.receiver);
writeName(node.name);
@@ -1812,6 +1813,7 @@
_variableIndexer.pushScope();
writeByte(Tag.Block);
writeOffset(node.fileOffset);
+ writeOffset(node.fileEndOffset);
writeNodeList(node.statements);
_variableIndexer.popScope();
}
diff --git a/pkg/kernel/lib/clone.dart b/pkg/kernel/lib/clone.dart
index d70b550..c14b8d16 100644
--- a/pkg/kernel/lib/clone.dart
+++ b/pkg/kernel/lib/clone.dart
@@ -158,7 +158,8 @@
visitMethodInvocation(MethodInvocation node) {
return new MethodInvocation.byReference(clone(node.receiver), node.name,
- clone(node.arguments), node.interfaceTargetReference);
+ clone(node.arguments), node.interfaceTargetReference)
+ ..flags = node.flags;
}
visitSuperMethodInvocation(SuperMethodInvocation node) {
diff --git a/pkg/kernel/lib/text/ast_to_text.dart b/pkg/kernel/lib/text/ast_to_text.dart
index 1e05d07..e05a4b6 100644
--- a/pkg/kernel/lib/text/ast_to_text.dart
+++ b/pkg/kernel/lib/text/ast_to_text.dart
@@ -1349,6 +1349,16 @@
writeExpression(node.receiver, Precedence.PRIMARY);
writeSymbol('.');
writeInterfaceTarget(node.name, node.interfaceTargetReference);
+ List<String> flags = <String>[];
+ if (node.isInvariant) {
+ flags.add('Invariant');
+ }
+ if (node.isBoundsSafe) {
+ flags.add('BoundsSafe');
+ }
+ if (flags.isNotEmpty) {
+ write('{${flags.join(',')}}');
+ }
writeNode(node.arguments);
}
diff --git a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
index 75cb4a5..c5a05cd 100644
--- a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
+++ b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
@@ -2687,6 +2687,7 @@
Fragment StreamingFlowGraphBuilder::BuildMethodInvocation(TokenPosition* p) {
const intptr_t offset = ReaderOffset() - 1; // Include the tag.
+ ReadFlags(); // read flags.
const TokenPosition position = ReadPosition(); // read position.
if (p != NULL) *p = position;
@@ -3927,7 +3928,8 @@
Fragment instructions;
instructions += EnterScope(offset);
- ReadPosition();
+ ReadPosition(); // read file offset.
+ ReadPosition(); // read file end offset.
intptr_t list_length = ReadListLength(); // read number of statements.
for (intptr_t i = 0; i < list_length; ++i) {
if (instructions.is_open()) {
diff --git a/runtime/vm/compiler/frontend/kernel_fingerprints.cc b/runtime/vm/compiler/frontend/kernel_fingerprints.cc
index f42a953..0a40040 100644
--- a/runtime/vm/compiler/frontend/kernel_fingerprints.cc
+++ b/runtime/vm/compiler/frontend/kernel_fingerprints.cc
@@ -410,6 +410,7 @@
CalculateExpressionFingerprint(); // read expression.
return;
case kMethodInvocation:
+ ReadFlags(); // read flags.
ReadPosition(); // read position.
CalculateExpressionFingerprint(); // read receiver.
BuildHash(ReadNameAsMethodName().Hash()); // read name.
@@ -583,7 +584,8 @@
CalculateExpressionFingerprint(); // read expression.
return;
case kBlock:
- ReadPosition();
+ ReadPosition(); // read file offset.
+ ReadPosition(); // read file end offset.
CalculateStatementListFingerprint();
return;
case kEmptyStatement:
diff --git a/runtime/vm/compiler/frontend/kernel_translation_helper.cc b/runtime/vm/compiler/frontend/kernel_translation_helper.cc
index 3a626ba..5c28b56 100644
--- a/runtime/vm/compiler/frontend/kernel_translation_helper.cc
+++ b/runtime/vm/compiler/frontend/kernel_translation_helper.cc
@@ -2345,6 +2345,7 @@
SkipExpression(); // read expression.
return;
case kMethodInvocation:
+ ReadFlags(); // read flags.
ReadPosition(); // read position.
SkipExpression(); // read receiver.
SkipName(); // read name.
@@ -2513,7 +2514,8 @@
SkipExpression(); // read expression.
return;
case kBlock:
- ReadPosition();
+ ReadPosition(); // read file offset.
+ ReadPosition(); // read file end offset.
SkipStatementList();
return;
case kEmptyStatement:
diff --git a/runtime/vm/compiler/frontend/scope_builder.cc b/runtime/vm/compiler/frontend/scope_builder.cc
index aeed3f4..4470cee 100644
--- a/runtime/vm/compiler/frontend/scope_builder.cc
+++ b/runtime/vm/compiler/frontend/scope_builder.cc
@@ -805,6 +805,7 @@
VisitExpression(); // read expression.
return;
case kMethodInvocation:
+ helper_.ReadFlags(); // read flags.
helper_.ReadPosition(); // read position.
VisitExpression(); // read receiver.
helper_.SkipName(); // read name.
@@ -1021,6 +1022,7 @@
EnterScope(offset);
helper_.ReadPosition(); // read block start offset.
+ helper_.ReadPosition(); // read block end offset.
intptr_t list_length =
helper_.ReadListLength(); // read number of statements.
for (intptr_t i = 0; i < list_length; ++i) {