[cfe] Report error on spreading a potentially nullable value
Closes #43495.
Bug: https://github.com/dart-lang/sdk/issues/43495
Change-Id: Ic3ed18b8242a69dd35cf2e862d00e129274f46b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164561
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
diff --git a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
index 52fae8a..878aad2 100644
--- a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
@@ -1382,8 +1382,7 @@
spreadType, spreadTypeBound, element.isNullAware);
if (typeChecksNeeded) {
if (spreadElementType == null) {
- if (inferrer.coreTypes
- .isNull(inferrer.resolveTypeParameter(spreadType)) &&
+ if (inferrer.coreTypes.isNull(spreadTypeBound) &&
!element.isNullAware) {
replacement = inferrer.helper.buildProblem(
templateNonNullAwareSpreadIsNull.withArguments(
@@ -1391,6 +1390,15 @@
element.expression.fileOffset,
1);
} else {
+ if (inferrer.isNonNullableByDefault &&
+ spreadType.isPotentiallyNullable &&
+ spreadType is! DynamicType &&
+ spreadType != inferrer.coreTypes.nullType &&
+ !element.isNullAware) {
+ replacement = inferrer.helper.buildProblem(
+ messageNullableSpreadError, element.expression.fileOffset, 1);
+ }
+
replacement = inferrer.helper.buildProblem(
templateSpreadTypeMismatch.withArguments(
spreadType, inferrer.isNonNullableByDefault),
@@ -1406,7 +1414,8 @@
inferrer.isNonNullableByDefault),
element.expression.fileOffset,
1);
- } else if (inferrer.isNonNullableByDefault &&
+ }
+ if (inferrer.isNonNullableByDefault &&
spreadType.isPotentiallyNullable &&
spreadType is! DynamicType &&
spreadType != inferrer.coreTypes.nullType &&
@@ -1815,8 +1824,7 @@
MapEntry replacement = entry;
if (typeChecksNeeded) {
if (actualKeyType == null) {
- if (inferrer.coreTypes
- .isNull(inferrer.resolveTypeParameter(spreadType)) &&
+ if (inferrer.coreTypes.isNull(spreadTypeBound) &&
!entry.isNullAware) {
replacement = new MapEntry(
inferrer.helper.buildProblem(
@@ -1827,6 +1835,18 @@
new NullLiteral())
..fileOffset = entry.fileOffset;
} else if (actualElementType != null) {
+ if (inferrer.isNonNullableByDefault &&
+ spreadType.isPotentiallyNullable &&
+ spreadType is! DynamicType &&
+ spreadType != inferrer.coreTypes.nullType &&
+ !entry.isNullAware) {
+ replacement = new SpreadMapEntry(
+ inferrer.helper.buildProblem(messageNullableSpreadError,
+ entry.expression.fileOffset, 1),
+ false)
+ ..fileOffset = entry.fileOffset;
+ }
+
// Don't report the error here, it might be an ambiguous Set. The
// error is reported in checkMapEntry if it's disambiguated as map.
iterableSpreadType = spreadType;
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
index 0d7d725..c66b4918 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
@@ -22,6 +22,10 @@
// if (i > 0) ...y, // error
// ^
//
+// pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// if (i > 0) ...x, // error
+// ^
+//
// 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
// ^
@@ -30,6 +34,10 @@
// if (i > 0) ...y, // error
// ^
//
+// pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// if (i > 0) ...x, // error
+// ^
+//
// 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
// ^
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 ef9e80c..32a8e8e 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
@@ -22,6 +22,10 @@
// if (i > 0) ...y, // error
// ^
//
+// pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// if (i > 0) ...x, // error
+// ^
+//
// 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
// ^
@@ -30,6 +34,10 @@
// if (i > 0) ...y, // error
// ^
//
+// pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// if (i > 0) ...x, // error
+// ^
+//
// 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
// ^
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
index 0d7d725..c66b4918 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
@@ -22,6 +22,10 @@
// if (i > 0) ...y, // error
// ^
//
+// pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// if (i > 0) ...x, // error
+// ^
+//
// 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
// ^
@@ -30,6 +34,10 @@
// if (i > 0) ...y, // error
// ^
//
+// pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// if (i > 0) ...x, // error
+// ^
+//
// 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
// ^
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 ef9e80c..32a8e8e 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
@@ -22,6 +22,10 @@
// if (i > 0) ...y, // error
// ^
//
+// pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// if (i > 0) ...x, // error
+// ^
+//
// 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
// ^
@@ -30,6 +34,10 @@
// if (i > 0) ...y, // error
// ^
//
+// pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// if (i > 0) ...x, // error
+// ^
+//
// 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
// ^
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart b/pkg/front_end/testcases/nnbd/issue43495.dart
new file mode 100644
index 0000000..993306d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart
@@ -0,0 +1,88 @@
+// 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.
+
+foo(bool condition, Iterable<dynamic> iterable, List<int>? a, Set<int>? b,
+ Iterable<int>? c, Map<int, int>? d) {
+ return [
+ {...a}, // Error.
+ {...b}, // Error.
+ {...c}, // Error.
+ {...d}, // Error.
+ <int, int>{...a}, // Error.
+ <int>{...d}, // Error.
+ {if (condition) ...a}, // Error.
+ {if (condition) ...b}, // Error.
+ {if (condition) ...c}, // Error.
+ {if (condition) ...d}, // Error.
+ {for (dynamic e in iterable) ...a}, // Error.
+ {for (dynamic e in iterable) ...b}, // Error.
+ {for (dynamic e in iterable) ...c}, // Error.
+ {for (dynamic e in iterable) ...d}, // Error.
+ {for (int i = 0; i < 42; ++i) ...a}, // Error.
+ {for (int i = 0; i < 42; ++i) ...b}, // Error.
+ {for (int i = 0; i < 42; ++i) ...c}, // Error.
+ {for (int i = 0; i < 42; ++i) ...d}, // Error.
+
+ {...?a}, // Ok.
+ {...?b}, // Ok.
+ {...?c}, // Ok.
+ {...?d}, // Ok.
+ {if (condition) ...?a}, // Ok.
+ {if (condition) ...?b}, // Ok.
+ {if (condition) ...?c}, // Ok.
+ {if (condition) ...?d}, // Ok.
+ {for (dynamic e in iterable) ...?a}, // Ok.
+ {for (dynamic e in iterable) ...?b}, // Ok.
+ {for (dynamic e in iterable) ...?c}, // Ok.
+ {for (dynamic e in iterable) ...?d}, // Ok.
+ {for (int i = 0; i < 42; ++i) ...?a}, // Ok.
+ {for (int i = 0; i < 42; ++i) ...?b}, // Ok.
+ {for (int i = 0; i < 42; ++i) ...?c}, // Ok.
+ {for (int i = 0; i < 42; ++i) ...?d}, // Ok.
+ ];
+}
+
+bar<X extends List<int>?, Y extends Set<int>?, Z extends Iterable<int>?,
+ W extends Map<int, int>?>(
+ bool condition, Iterable<dynamic> iterable, X x, Y y, Z z, W w) {
+ return [
+ {...x}, // Error.
+ {...y}, // Error.
+ {...z}, // Error.
+ {...w}, // Error.
+ <int, int>{...x}, // Error.
+ <int>{...w}, // Error.
+ {if (condition) ...x}, // Error.
+ {if (condition) ...y}, // Error.
+ {if (condition) ...z}, // Error.
+ {if (condition) ...w}, // Error.
+ {for (dynamic e in iterable) ...x}, // Error.
+ {for (dynamic e in iterable) ...y}, // Error.
+ {for (dynamic e in iterable) ...z}, // Error.
+ {for (dynamic e in iterable) ...w}, // Error.
+ {for (int i = 0; i < 42; ++i) ...x}, // Error.
+ {for (int i = 0; i < 42; ++i) ...y}, // Error.
+ {for (int i = 0; i < 42; ++i) ...z}, // Error.
+ {for (int i = 0; i < 42; ++i) ...w}, // Error.
+
+ {...?x}, // Ok.
+ {...?y}, // Ok.
+ {...?z}, // Ok.
+ {...?w}, // Ok.
+ {if (condition) ...?x}, // Ok.
+ {if (condition) ...?y}, // Ok.
+ {if (condition) ...?z}, // Ok.
+ {if (condition) ...?w}, // Ok.
+ {for (dynamic e in iterable) ...?x}, // Ok.
+ {for (dynamic e in iterable) ...?y}, // Ok.
+ {for (dynamic e in iterable) ...?z}, // Ok.
+ {for (dynamic e in iterable) ...?w}, // Ok.
+ {for (int i = 0; i < 42; ++i) ...?x}, // Ok.
+ {for (int i = 0; i < 42; ++i) ...?y}, // Ok.
+ {for (int i = 0; i < 42; ++i) ...?z}, // Ok.
+ {for (int i = 0; i < 42; ++i) ...?w}, // Ok.
+ ];
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.outline.expect
new file mode 100644
index 0000000..89dfdbb
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.outline.expect
@@ -0,0 +1,10 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic
+ ;
+static method bar<X extends core::List<core::int>? = core::List<core::int>?, Y extends core::Set<core::int>? = core::Set<core::int>?, Z extends core::Iterable<core::int>? = core::Iterable<core::int>?, W extends core::Map<core::int, core::int>? = core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
new file mode 100644
index 0000000..e89957c
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
@@ -0,0 +1,725 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int, int>{...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry. Expected 'dynamic' or a Map.
+// - 'List' is from 'dart:core'.
+// <int, int>{...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int>{...d}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int, int>{...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+// <int, int>{...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int>{...w}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+// <int>{...w}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
+ return <core::Object>[ block {
+ final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t2 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...a}, // Error.
+ ^") {
+ final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
+ #t1.{core::Set::add}(#t3);
+ }
+ } =>#t1, block {
+ final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t5 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...b}, // Error.
+ ^") {
+ final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
+ #t4.{core::Set::add}(#t6);
+ }
+ } =>#t4, block {
+ final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t8 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...c}, // Error.
+ ^") {
+ final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
+ #t7.{core::Set::add}(#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.
+ ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry. Expected 'dynamic' or a Map.
+ - 'List' is from 'dart:core'.
+ <int, int>{...a}, // Error.
+ ^": null}, let final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>() in let final dynamic #t11 = #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.
+ - 'Map' is from 'dart:core'.
+ <int>{...d}, // Error.
+ ^") in #t10, block {
+ final core::Set<core::int> #t12 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t13 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...a}, // Error.
+ ^") {
+ final core::int #t14 = #t13 as{TypeError,ForNonNullableByDefault} core::int;
+ #t12.{core::Set::add}(#t14);
+ }
+ } =>#t12, block {
+ final core::Set<core::int> #t15 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t16 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...b}, // Error.
+ ^") {
+ final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+ #t15.{core::Set::add}(#t17);
+ }
+ } =>#t15, block {
+ final core::Set<core::int> #t18 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t19 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...c}, // Error.
+ ^") {
+ final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+ #t18.{core::Set::add}(#t20);
+ }
+ } =>#t18, block {
+ final core::Map<core::int, core::int> #t21 = <core::int, core::int>{};
+ if(condition)
+ #t21.{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.
+ {if (condition) ...d}, // Error.
+ ^", null);
+ } =>#t21, block {
+ final core::Set<core::int> #t22 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t23 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...a}, // Error.
+ ^") {
+ final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+ #t22.{core::Set::add}(#t24);
+ }
+ } =>#t22, block {
+ final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t26 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...b}, // Error.
+ ^") {
+ final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+ #t25.{core::Set::add}(#t27);
+ }
+ } =>#t25, block {
+ final core::Set<core::int> #t28 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t29 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...c}, // Error.
+ ^") {
+ final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+ #t28.{core::Set::add}(#t30);
+ }
+ } =>#t28, block {
+ final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+ for (dynamic e in iterable)
+ #t31.{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.
+ {for (dynamic e in iterable) ...d}, // Error.
+ ^", null);
+ } =>#t31, block {
+ final core::Set<core::int> #t32 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t33 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...a}, // Error.
+ ^") {
+ final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
+ #t32.{core::Set::add}(#t34);
+ }
+ } =>#t32, block {
+ final core::Set<core::int> #t35 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t36 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...b}, // Error.
+ ^") {
+ final core::int #t37 = #t36 as{TypeError,ForNonNullableByDefault} core::int;
+ #t35.{core::Set::add}(#t37);
+ }
+ } =>#t35, block {
+ final core::Set<core::int> #t38 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t39 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...c}, // Error.
+ ^") {
+ final core::int #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::int;
+ #t38.{core::Set::add}(#t40);
+ }
+ } =>#t38, block {
+ final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ #t41.{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.
+ {for (int i = 0; i < 42; ++i) ...d}, // Error.
+ ^", null);
+ } =>#t41, block {
+ final core::Set<core::int> #t42 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t43 = a;
+ if(!#t43.{core::Object::==}(null))
+ for (final dynamic #t44 in #t43{core::Iterable<dynamic>}) {
+ final core::int #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::int;
+ #t42.{core::Set::add}(#t45);
+ }
+ } =>#t42, block {
+ final core::Set<core::int> #t46 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t47 = b;
+ if(!#t47.{core::Object::==}(null))
+ for (final dynamic #t48 in #t47{core::Iterable<dynamic>}) {
+ final core::int #t49 = #t48 as{TypeError,ForNonNullableByDefault} core::int;
+ #t46.{core::Set::add}(#t49);
+ }
+ } =>#t46, block {
+ final core::Set<core::int> #t50 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t51 = c;
+ if(!#t51.{core::Object::==}(null))
+ for (final dynamic #t52 in #t51{core::Iterable<dynamic>}) {
+ final core::int #t53 = #t52 as{TypeError,ForNonNullableByDefault} core::int;
+ #t50.{core::Set::add}(#t53);
+ }
+ } =>#t50, block {
+ final core::Map<core::int, core::int> #t54 = <core::int, core::int>{};
+ final core::Map<core::int, core::int>? #t55 = d;
+ if(!#t55.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t56 in #t55{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t54.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
+ } =>#t54, block {
+ final core::Set<core::int> #t57 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t58 = a;
+ if(!#t58.{core::Object::==}(null))
+ for (final dynamic #t59 in #t58{core::Iterable<dynamic>}) {
+ final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+ #t57.{core::Set::add}(#t60);
+ }
+ }
+ } =>#t57, block {
+ final core::Set<core::int> #t61 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t62 = b;
+ if(!#t62.{core::Object::==}(null))
+ for (final dynamic #t63 in #t62{core::Iterable<dynamic>}) {
+ final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+ #t61.{core::Set::add}(#t64);
+ }
+ }
+ } =>#t61, block {
+ final core::Set<core::int> #t65 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t66 = c;
+ if(!#t66.{core::Object::==}(null))
+ for (final dynamic #t67 in #t66{core::Iterable<dynamic>}) {
+ final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+ #t65.{core::Set::add}(#t68);
+ }
+ }
+ } =>#t65, block {
+ final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+ if(condition) {
+ final core::Map<core::int, core::int>? #t70 = d;
+ if(!#t70.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t71 in #t70{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t69.{core::Map::[]=}(#t71.{core::MapEntry::key}, #t71.{core::MapEntry::value});
+ }
+ } =>#t69, block {
+ final core::Set<core::int> #t72 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t73 = a;
+ if(!#t73.{core::Object::==}(null))
+ for (final dynamic #t74 in #t73{core::Iterable<dynamic>}) {
+ final core::int #t75 = #t74 as{TypeError,ForNonNullableByDefault} core::int;
+ #t72.{core::Set::add}(#t75);
+ }
+ }
+ } =>#t72, block {
+ final core::Set<core::int> #t76 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t77 = b;
+ if(!#t77.{core::Object::==}(null))
+ for (final dynamic #t78 in #t77{core::Iterable<dynamic>}) {
+ final core::int #t79 = #t78 as{TypeError,ForNonNullableByDefault} core::int;
+ #t76.{core::Set::add}(#t79);
+ }
+ }
+ } =>#t76, block {
+ final core::Set<core::int> #t80 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t81 = c;
+ if(!#t81.{core::Object::==}(null))
+ for (final dynamic #t82 in #t81{core::Iterable<dynamic>}) {
+ final core::int #t83 = #t82 as{TypeError,ForNonNullableByDefault} core::int;
+ #t80.{core::Set::add}(#t83);
+ }
+ }
+ } =>#t80, block {
+ final core::Map<core::int, core::int> #t84 = <core::int, core::int>{};
+ for (dynamic e in iterable) {
+ final core::Map<core::int, core::int>? #t85 = d;
+ if(!#t85.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t86 in #t85{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t84.{core::Map::[]=}(#t86.{core::MapEntry::key}, #t86.{core::MapEntry::value});
+ }
+ } =>#t84, block {
+ final core::Set<core::int> #t87 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t88 = a;
+ if(!#t88.{core::Object::==}(null))
+ for (final dynamic #t89 in #t88{core::Iterable<dynamic>}) {
+ final core::int #t90 = #t89 as{TypeError,ForNonNullableByDefault} core::int;
+ #t87.{core::Set::add}(#t90);
+ }
+ }
+ } =>#t87, block {
+ final core::Set<core::int> #t91 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t92 = b;
+ if(!#t92.{core::Object::==}(null))
+ for (final dynamic #t93 in #t92{core::Iterable<dynamic>}) {
+ final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+ #t91.{core::Set::add}(#t94);
+ }
+ }
+ } =>#t91, block {
+ final core::Set<core::int> #t95 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t96 = c;
+ if(!#t96.{core::Object::==}(null))
+ for (final dynamic #t97 in #t96{core::Iterable<dynamic>}) {
+ final core::int #t98 = #t97 as{TypeError,ForNonNullableByDefault} core::int;
+ #t95.{core::Set::add}(#t98);
+ }
+ }
+ } =>#t95, block {
+ final core::Map<core::int, core::int> #t99 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Map<core::int, core::int>? #t100 = d;
+ if(!#t100.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t101 in #t100{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t99.{core::Map::[]=}(#t101.{core::MapEntry::key}, #t101.{core::MapEntry::value});
+ }
+ } =>#t99];
+}
+static method bar<X extends core::List<core::int>? = core::List<core::int>?, Y extends core::Set<core::int>? = core::Set<core::int>?, Z extends core::Iterable<core::int>? = core::Iterable<core::int>?, W extends core::Map<core::int, core::int>? = core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
+ return <core::Object>[ block {
+ final core::Set<core::int> #t102 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t103 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...x}, // Error.
+ ^") {
+ final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+ #t102.{core::Set::add}(#t104);
+ }
+ } =>#t102, block {
+ final core::Set<core::int> #t105 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t106 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...y}, // Error.
+ ^") {
+ final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+ #t105.{core::Set::add}(#t107);
+ }
+ } =>#t105, block {
+ final core::Set<core::int> #t108 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t109 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...z}, // Error.
+ ^") {
+ final core::int #t110 = #t109 as{TypeError,ForNonNullableByDefault} core::int;
+ #t108.{core::Set::add}(#t110);
+ }
+ } =>#t108, <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.
+ ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ <int, int>{...x}, // Error.
+ ^": null}, let final core::Set<core::int> #t111 = col::LinkedHashSet::•<core::int>() in let final dynamic #t112 = #t111.{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.
+ <int>{...w}, // Error.
+ ^") in #t111, block {
+ final core::Set<core::int> #t113 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t114 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...x}, // Error.
+ ^") {
+ final core::int #t115 = #t114 as{TypeError,ForNonNullableByDefault} core::int;
+ #t113.{core::Set::add}(#t115);
+ }
+ } =>#t113, block {
+ final core::Set<core::int> #t116 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t117 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...y}, // Error.
+ ^") {
+ final core::int #t118 = #t117 as{TypeError,ForNonNullableByDefault} core::int;
+ #t116.{core::Set::add}(#t118);
+ }
+ } =>#t116, block {
+ final core::Set<core::int> #t119 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t120 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...z}, // Error.
+ ^") {
+ final core::int #t121 = #t120 as{TypeError,ForNonNullableByDefault} core::int;
+ #t119.{core::Set::add}(#t121);
+ }
+ } =>#t119, block {
+ final core::Map<core::int, core::int> #t122 = <core::int, core::int>{};
+ if(condition)
+ #t122.{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.
+ {if (condition) ...w}, // Error.
+ ^", null);
+ } =>#t122, block {
+ final core::Set<core::int> #t123 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t124 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...x}, // Error.
+ ^") {
+ final core::int #t125 = #t124 as{TypeError,ForNonNullableByDefault} core::int;
+ #t123.{core::Set::add}(#t125);
+ }
+ } =>#t123, block {
+ final core::Set<core::int> #t126 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t127 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...y}, // Error.
+ ^") {
+ final core::int #t128 = #t127 as{TypeError,ForNonNullableByDefault} core::int;
+ #t126.{core::Set::add}(#t128);
+ }
+ } =>#t126, block {
+ final core::Set<core::int> #t129 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t130 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...z}, // Error.
+ ^") {
+ final core::int #t131 = #t130 as{TypeError,ForNonNullableByDefault} core::int;
+ #t129.{core::Set::add}(#t131);
+ }
+ } =>#t129, block {
+ final core::Map<core::int, core::int> #t132 = <core::int, core::int>{};
+ for (dynamic e in iterable)
+ #t132.{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.
+ {for (dynamic e in iterable) ...w}, // Error.
+ ^", null);
+ } =>#t132, block {
+ final core::Set<core::int> #t133 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t134 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...x}, // Error.
+ ^") {
+ final core::int #t135 = #t134 as{TypeError,ForNonNullableByDefault} core::int;
+ #t133.{core::Set::add}(#t135);
+ }
+ } =>#t133, block {
+ final core::Set<core::int> #t136 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t137 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...y}, // Error.
+ ^") {
+ final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+ #t136.{core::Set::add}(#t138);
+ }
+ } =>#t136, block {
+ final core::Set<core::int> #t139 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t140 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...z}, // Error.
+ ^") {
+ final core::int #t141 = #t140 as{TypeError,ForNonNullableByDefault} core::int;
+ #t139.{core::Set::add}(#t141);
+ }
+ } =>#t139, block {
+ final core::Map<core::int, core::int> #t142 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ #t142.{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.
+ {for (int i = 0; i < 42; ++i) ...w}, // Error.
+ ^", null);
+ } =>#t142, block {
+ final core::Set<core::int> #t143 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t144 = x;
+ if(!#t144.{core::Object::==}(null))
+ for (final dynamic #t145 in #t144{core::Iterable<dynamic>}) {
+ final core::int #t146 = #t145 as{TypeError,ForNonNullableByDefault} core::int;
+ #t143.{core::Set::add}(#t146);
+ }
+ } =>#t143, block {
+ final core::Set<core::int> #t147 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t148 = y;
+ if(!#t148.{core::Object::==}(null))
+ for (final dynamic #t149 in #t148{core::Iterable<dynamic>}) {
+ final core::int #t150 = #t149 as{TypeError,ForNonNullableByDefault} core::int;
+ #t147.{core::Set::add}(#t150);
+ }
+ } =>#t147, block {
+ final core::Set<core::int> #t151 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t152 = z;
+ if(!#t152.{core::Object::==}(null))
+ for (final dynamic #t153 in #t152{core::Iterable<dynamic>}) {
+ final core::int #t154 = #t153 as{TypeError,ForNonNullableByDefault} core::int;
+ #t151.{core::Set::add}(#t154);
+ }
+ } =>#t151, block {
+ final core::Map<core::int, core::int> #t155 = <core::int, core::int>{};
+ final core::Map<core::int, core::int>? #t156 = w;
+ if(!#t156.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t157 in #t156{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t155.{core::Map::[]=}(#t157.{core::MapEntry::key}, #t157.{core::MapEntry::value});
+ } =>#t155, block {
+ final core::Set<core::int> #t158 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t159 = x;
+ if(!#t159.{core::Object::==}(null))
+ for (final dynamic #t160 in #t159{core::Iterable<dynamic>}) {
+ final core::int #t161 = #t160 as{TypeError,ForNonNullableByDefault} core::int;
+ #t158.{core::Set::add}(#t161);
+ }
+ }
+ } =>#t158, block {
+ final core::Set<core::int> #t162 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t163 = y;
+ if(!#t163.{core::Object::==}(null))
+ for (final dynamic #t164 in #t163{core::Iterable<dynamic>}) {
+ final core::int #t165 = #t164 as{TypeError,ForNonNullableByDefault} core::int;
+ #t162.{core::Set::add}(#t165);
+ }
+ }
+ } =>#t162, block {
+ final core::Set<core::int> #t166 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t167 = z;
+ if(!#t167.{core::Object::==}(null))
+ for (final dynamic #t168 in #t167{core::Iterable<dynamic>}) {
+ final core::int #t169 = #t168 as{TypeError,ForNonNullableByDefault} core::int;
+ #t166.{core::Set::add}(#t169);
+ }
+ }
+ } =>#t166, block {
+ final core::Map<core::int, core::int> #t170 = <core::int, core::int>{};
+ if(condition) {
+ final core::Map<core::int, core::int>? #t171 = w;
+ if(!#t171.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t172 in #t171{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t170.{core::Map::[]=}(#t172.{core::MapEntry::key}, #t172.{core::MapEntry::value});
+ }
+ } =>#t170, block {
+ final core::Set<core::int> #t173 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t174 = x;
+ if(!#t174.{core::Object::==}(null))
+ for (final dynamic #t175 in #t174{core::Iterable<dynamic>}) {
+ final core::int #t176 = #t175 as{TypeError,ForNonNullableByDefault} core::int;
+ #t173.{core::Set::add}(#t176);
+ }
+ }
+ } =>#t173, block {
+ final core::Set<core::int> #t177 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t178 = y;
+ if(!#t178.{core::Object::==}(null))
+ for (final dynamic #t179 in #t178{core::Iterable<dynamic>}) {
+ final core::int #t180 = #t179 as{TypeError,ForNonNullableByDefault} core::int;
+ #t177.{core::Set::add}(#t180);
+ }
+ }
+ } =>#t177, block {
+ final core::Set<core::int> #t181 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t182 = z;
+ if(!#t182.{core::Object::==}(null))
+ for (final dynamic #t183 in #t182{core::Iterable<dynamic>}) {
+ final core::int #t184 = #t183 as{TypeError,ForNonNullableByDefault} core::int;
+ #t181.{core::Set::add}(#t184);
+ }
+ }
+ } =>#t181, block {
+ final core::Map<core::int, core::int> #t185 = <core::int, core::int>{};
+ for (dynamic e in iterable) {
+ final core::Map<core::int, core::int>? #t186 = w;
+ if(!#t186.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t187 in #t186{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t185.{core::Map::[]=}(#t187.{core::MapEntry::key}, #t187.{core::MapEntry::value});
+ }
+ } =>#t185, block {
+ final core::Set<core::int> #t188 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t189 = x;
+ if(!#t189.{core::Object::==}(null))
+ for (final dynamic #t190 in #t189{core::Iterable<dynamic>}) {
+ final core::int #t191 = #t190 as{TypeError,ForNonNullableByDefault} core::int;
+ #t188.{core::Set::add}(#t191);
+ }
+ }
+ } =>#t188, block {
+ final core::Set<core::int> #t192 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t193 = y;
+ if(!#t193.{core::Object::==}(null))
+ for (final dynamic #t194 in #t193{core::Iterable<dynamic>}) {
+ final core::int #t195 = #t194 as{TypeError,ForNonNullableByDefault} core::int;
+ #t192.{core::Set::add}(#t195);
+ }
+ }
+ } =>#t192, block {
+ final core::Set<core::int> #t196 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t197 = z;
+ if(!#t197.{core::Object::==}(null))
+ for (final dynamic #t198 in #t197{core::Iterable<dynamic>}) {
+ final core::int #t199 = #t198 as{TypeError,ForNonNullableByDefault} core::int;
+ #t196.{core::Set::add}(#t199);
+ }
+ }
+ } =>#t196, block {
+ final core::Map<core::int, core::int> #t200 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Map<core::int, core::int>? #t201 = w;
+ if(!#t201.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t202 in #t201{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t200.{core::Map::[]=}(#t202.{core::MapEntry::key}, #t202.{core::MapEntry::value});
+ }
+ } =>#t200];
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
new file mode 100644
index 0000000..84cd03a
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
@@ -0,0 +1,965 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int, int>{...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry. Expected 'dynamic' or a Map.
+// - 'List' is from 'dart:core'.
+// <int, int>{...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int>{...d}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int, int>{...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+// <int, int>{...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int>{...w}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+// <int>{...w}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
+ return <core::Object>[ block {
+ final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t2 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...a}, // Error.
+ ^") {
+ final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
+ #t1.{core::Set::add}(#t3);
+ }
+ } =>#t1, block {
+ final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t5 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...b}, // Error.
+ ^") {
+ final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
+ #t4.{core::Set::add}(#t6);
+ }
+ } =>#t4, block {
+ final core::Set<core::int> #t7 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t8 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...c}, // Error.
+ ^") {
+ final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
+ #t7.{core::Set::add}(#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.
+ ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry. Expected 'dynamic' or a Map.
+ - 'List' is from 'dart:core'.
+ <int, int>{...a}, // Error.
+ ^": null}, let final core::Set<core::int> #t10 = new col::_CompactLinkedHashSet::•<core::int>() in let final core::bool #t11 = #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.
+ - 'Map' is from 'dart:core'.
+ <int>{...d}, // Error.
+ ^") in #t10, block {
+ final core::Set<core::int> #t12 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t13 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...a}, // Error.
+ ^") {
+ final core::int #t14 = #t13 as{TypeError,ForNonNullableByDefault} core::int;
+ #t12.{core::Set::add}(#t14);
+ }
+ } =>#t12, block {
+ final core::Set<core::int> #t15 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t16 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...b}, // Error.
+ ^") {
+ final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+ #t15.{core::Set::add}(#t17);
+ }
+ } =>#t15, block {
+ final core::Set<core::int> #t18 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t19 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...c}, // Error.
+ ^") {
+ final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+ #t18.{core::Set::add}(#t20);
+ }
+ } =>#t18, block {
+ final core::Map<core::int, core::int> #t21 = <core::int, core::int>{};
+ if(condition)
+ #t21.{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.
+ {if (condition) ...d}, // Error.
+ ^", null);
+ } =>#t21, block {
+ final core::Set<core::int> #t22 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t23 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...a}, // Error.
+ ^") {
+ final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+ #t22.{core::Set::add}(#t24);
+ }
+ }
+ }
+ } =>#t22, block {
+ final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t26 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...b}, // Error.
+ ^") {
+ final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+ #t25.{core::Set::add}(#t27);
+ }
+ }
+ }
+ } =>#t25, block {
+ final core::Set<core::int> #t28 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t29 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...c}, // Error.
+ ^") {
+ final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+ #t28.{core::Set::add}(#t30);
+ }
+ }
+ }
+ } =>#t28, block {
+ final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+ {
+ 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};
+ #t31.{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.
+ {for (dynamic e in iterable) ...d}, // Error.
+ ^", null);
+ }
+ }
+ } =>#t31, block {
+ final core::Set<core::int> #t32 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t33 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...a}, // Error.
+ ^") {
+ final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
+ #t32.{core::Set::add}(#t34);
+ }
+ } =>#t32, block {
+ final core::Set<core::int> #t35 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t36 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...b}, // Error.
+ ^") {
+ final core::int #t37 = #t36 as{TypeError,ForNonNullableByDefault} core::int;
+ #t35.{core::Set::add}(#t37);
+ }
+ } =>#t35, block {
+ final core::Set<core::int> #t38 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t39 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...c}, // Error.
+ ^") {
+ final core::int #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::int;
+ #t38.{core::Set::add}(#t40);
+ }
+ } =>#t38, block {
+ final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ #t41.{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.
+ {for (int i = 0; i < 42; ++i) ...d}, // Error.
+ ^", null);
+ } =>#t41, block {
+ final core::Set<core::int> #t42 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t43 = a;
+ if(!#t43.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t43{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t44 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::int;
+ #t42.{core::Set::add}(#t45);
+ }
+ }
+ }
+ } =>#t42, block {
+ final core::Set<core::int> #t46 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t47 = b;
+ if(!#t47.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t47{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t48 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t49 = #t48 as{TypeError,ForNonNullableByDefault} core::int;
+ #t46.{core::Set::add}(#t49);
+ }
+ }
+ }
+ } =>#t46, block {
+ final core::Set<core::int> #t50 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t51 = c;
+ if(!#t51.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t51{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t52 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t53 = #t52 as{TypeError,ForNonNullableByDefault} core::int;
+ #t50.{core::Set::add}(#t53);
+ }
+ }
+ }
+ } =>#t50, block {
+ final core::Map<core::int, core::int> #t54 = <core::int, core::int>{};
+ final core::Map<core::int, core::int>? #t55 = d;
+ if(!#t55.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t55{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> #t56 = :sync-for-iterator.{core::Iterator::current};
+ #t54.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
+ }
+ }
+ } =>#t54, block {
+ final core::Set<core::int> #t57 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t58 = a;
+ if(!#t58.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t58{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t59 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+ #t57.{core::Set::add}(#t60);
+ }
+ }
+ }
+ }
+ } =>#t57, block {
+ final core::Set<core::int> #t61 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t62 = b;
+ if(!#t62.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t62{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t63 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+ #t61.{core::Set::add}(#t64);
+ }
+ }
+ }
+ }
+ } =>#t61, block {
+ final core::Set<core::int> #t65 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t66 = c;
+ if(!#t66.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t66{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t67 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+ #t65.{core::Set::add}(#t68);
+ }
+ }
+ }
+ }
+ } =>#t65, block {
+ final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+ if(condition) {
+ final core::Map<core::int, core::int>? #t70 = d;
+ if(!#t70.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t70{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> #t71 = :sync-for-iterator.{core::Iterator::current};
+ #t69.{core::Map::[]=}(#t71.{core::MapEntry::key}, #t71.{core::MapEntry::value});
+ }
+ }
+ }
+ } =>#t69, block {
+ final core::Set<core::int> #t72 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t73 = a;
+ if(!#t73.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t73{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t74 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t75 = #t74 as{TypeError,ForNonNullableByDefault} core::int;
+ #t72.{core::Set::add}(#t75);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t72, block {
+ final core::Set<core::int> #t76 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t77 = b;
+ if(!#t77.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t77{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t78 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t79 = #t78 as{TypeError,ForNonNullableByDefault} core::int;
+ #t76.{core::Set::add}(#t79);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t76, block {
+ final core::Set<core::int> #t80 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t81 = c;
+ if(!#t81.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t81{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t82 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t83 = #t82 as{TypeError,ForNonNullableByDefault} core::int;
+ #t80.{core::Set::add}(#t83);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t80, block {
+ final core::Map<core::int, core::int> #t84 = <core::int, core::int>{};
+ {
+ 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};
+ {
+ final core::Map<core::int, core::int>? #t85 = d;
+ if(!#t85.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t85{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> #t86 = :sync-for-iterator.{core::Iterator::current};
+ #t84.{core::Map::[]=}(#t86.{core::MapEntry::key}, #t86.{core::MapEntry::value});
+ }
+ }
+ }
+ }
+ }
+ } =>#t84, block {
+ final core::Set<core::int> #t87 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t88 = a;
+ if(!#t88.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t88{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t89 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t90 = #t89 as{TypeError,ForNonNullableByDefault} core::int;
+ #t87.{core::Set::add}(#t90);
+ }
+ }
+ }
+ }
+ } =>#t87, block {
+ final core::Set<core::int> #t91 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t92 = b;
+ if(!#t92.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t92{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t93 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+ #t91.{core::Set::add}(#t94);
+ }
+ }
+ }
+ }
+ } =>#t91, block {
+ final core::Set<core::int> #t95 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t96 = c;
+ if(!#t96.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t96{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t97 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t98 = #t97 as{TypeError,ForNonNullableByDefault} core::int;
+ #t95.{core::Set::add}(#t98);
+ }
+ }
+ }
+ }
+ } =>#t95, block {
+ final core::Map<core::int, core::int> #t99 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Map<core::int, core::int>? #t100 = d;
+ if(!#t100.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t100{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> #t101 = :sync-for-iterator.{core::Iterator::current};
+ #t99.{core::Map::[]=}(#t101.{core::MapEntry::key}, #t101.{core::MapEntry::value});
+ }
+ }
+ }
+ } =>#t99];
+}
+static method bar<X extends core::List<core::int>? = core::List<core::int>?, Y extends core::Set<core::int>? = core::Set<core::int>?, Z extends core::Iterable<core::int>? = core::Iterable<core::int>?, W extends core::Map<core::int, core::int>? = core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
+ return <core::Object>[ block {
+ final core::Set<core::int> #t102 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t103 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...x}, // Error.
+ ^") {
+ final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+ #t102.{core::Set::add}(#t104);
+ }
+ } =>#t102, block {
+ final core::Set<core::int> #t105 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t106 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...y}, // Error.
+ ^") {
+ final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+ #t105.{core::Set::add}(#t107);
+ }
+ } =>#t105, block {
+ final core::Set<core::int> #t108 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t109 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...z}, // Error.
+ ^") {
+ final core::int #t110 = #t109 as{TypeError,ForNonNullableByDefault} core::int;
+ #t108.{core::Set::add}(#t110);
+ }
+ } =>#t108, <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.
+ ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ <int, int>{...x}, // Error.
+ ^": null}, let final core::Set<core::int> #t111 = new col::_CompactLinkedHashSet::•<core::int>() in let final core::bool #t112 = #t111.{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.
+ <int>{...w}, // Error.
+ ^") in #t111, block {
+ final core::Set<core::int> #t113 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t114 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...x}, // Error.
+ ^") {
+ final core::int #t115 = #t114 as{TypeError,ForNonNullableByDefault} core::int;
+ #t113.{core::Set::add}(#t115);
+ }
+ } =>#t113, block {
+ final core::Set<core::int> #t116 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t117 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...y}, // Error.
+ ^") {
+ final core::int #t118 = #t117 as{TypeError,ForNonNullableByDefault} core::int;
+ #t116.{core::Set::add}(#t118);
+ }
+ } =>#t116, block {
+ final core::Set<core::int> #t119 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t120 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...z}, // Error.
+ ^") {
+ final core::int #t121 = #t120 as{TypeError,ForNonNullableByDefault} core::int;
+ #t119.{core::Set::add}(#t121);
+ }
+ } =>#t119, block {
+ final core::Map<core::int, core::int> #t122 = <core::int, core::int>{};
+ if(condition)
+ #t122.{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.
+ {if (condition) ...w}, // Error.
+ ^", null);
+ } =>#t122, block {
+ final core::Set<core::int> #t123 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t124 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...x}, // Error.
+ ^") {
+ final core::int #t125 = #t124 as{TypeError,ForNonNullableByDefault} core::int;
+ #t123.{core::Set::add}(#t125);
+ }
+ }
+ }
+ } =>#t123, block {
+ final core::Set<core::int> #t126 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t127 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...y}, // Error.
+ ^") {
+ final core::int #t128 = #t127 as{TypeError,ForNonNullableByDefault} core::int;
+ #t126.{core::Set::add}(#t128);
+ }
+ }
+ }
+ } =>#t126, block {
+ final core::Set<core::int> #t129 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t130 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...z}, // Error.
+ ^") {
+ final core::int #t131 = #t130 as{TypeError,ForNonNullableByDefault} core::int;
+ #t129.{core::Set::add}(#t131);
+ }
+ }
+ }
+ } =>#t129, block {
+ final core::Map<core::int, core::int> #t132 = <core::int, core::int>{};
+ {
+ 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};
+ #t132.{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.
+ {for (dynamic e in iterable) ...w}, // Error.
+ ^", null);
+ }
+ }
+ } =>#t132, block {
+ final core::Set<core::int> #t133 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t134 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...x}, // Error.
+ ^") {
+ final core::int #t135 = #t134 as{TypeError,ForNonNullableByDefault} core::int;
+ #t133.{core::Set::add}(#t135);
+ }
+ } =>#t133, block {
+ final core::Set<core::int> #t136 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t137 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...y}, // Error.
+ ^") {
+ final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+ #t136.{core::Set::add}(#t138);
+ }
+ } =>#t136, block {
+ final core::Set<core::int> #t139 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t140 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...z}, // Error.
+ ^") {
+ final core::int #t141 = #t140 as{TypeError,ForNonNullableByDefault} core::int;
+ #t139.{core::Set::add}(#t141);
+ }
+ } =>#t139, block {
+ final core::Map<core::int, core::int> #t142 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ #t142.{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.
+ {for (int i = 0; i < 42; ++i) ...w}, // Error.
+ ^", null);
+ } =>#t142, block {
+ final core::Set<core::int> #t143 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t144 = x;
+ if(!#t144.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t144{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t145 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t146 = #t145 as{TypeError,ForNonNullableByDefault} core::int;
+ #t143.{core::Set::add}(#t146);
+ }
+ }
+ }
+ } =>#t143, block {
+ final core::Set<core::int> #t147 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t148 = y;
+ if(!#t148.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t148{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t149 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t150 = #t149 as{TypeError,ForNonNullableByDefault} core::int;
+ #t147.{core::Set::add}(#t150);
+ }
+ }
+ }
+ } =>#t147, block {
+ final core::Set<core::int> #t151 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t152 = z;
+ if(!#t152.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t152{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t153 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t154 = #t153 as{TypeError,ForNonNullableByDefault} core::int;
+ #t151.{core::Set::add}(#t154);
+ }
+ }
+ }
+ } =>#t151, block {
+ final core::Map<core::int, core::int> #t155 = <core::int, core::int>{};
+ final core::Map<core::int, core::int>? #t156 = w;
+ if(!#t156.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t156{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> #t157 = :sync-for-iterator.{core::Iterator::current};
+ #t155.{core::Map::[]=}(#t157.{core::MapEntry::key}, #t157.{core::MapEntry::value});
+ }
+ }
+ } =>#t155, block {
+ final core::Set<core::int> #t158 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t159 = x;
+ if(!#t159.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t159{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t160 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t161 = #t160 as{TypeError,ForNonNullableByDefault} core::int;
+ #t158.{core::Set::add}(#t161);
+ }
+ }
+ }
+ }
+ } =>#t158, block {
+ final core::Set<core::int> #t162 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t163 = y;
+ if(!#t163.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t163{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t164 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t165 = #t164 as{TypeError,ForNonNullableByDefault} core::int;
+ #t162.{core::Set::add}(#t165);
+ }
+ }
+ }
+ }
+ } =>#t162, block {
+ final core::Set<core::int> #t166 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t167 = z;
+ if(!#t167.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t167{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t168 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t169 = #t168 as{TypeError,ForNonNullableByDefault} core::int;
+ #t166.{core::Set::add}(#t169);
+ }
+ }
+ }
+ }
+ } =>#t166, block {
+ final core::Map<core::int, core::int> #t170 = <core::int, core::int>{};
+ if(condition) {
+ final core::Map<core::int, core::int>? #t171 = w;
+ if(!#t171.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t171{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> #t172 = :sync-for-iterator.{core::Iterator::current};
+ #t170.{core::Map::[]=}(#t172.{core::MapEntry::key}, #t172.{core::MapEntry::value});
+ }
+ }
+ }
+ } =>#t170, block {
+ final core::Set<core::int> #t173 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t174 = x;
+ if(!#t174.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t174{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t175 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t176 = #t175 as{TypeError,ForNonNullableByDefault} core::int;
+ #t173.{core::Set::add}(#t176);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t173, block {
+ final core::Set<core::int> #t177 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t178 = y;
+ if(!#t178.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t178{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t179 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t180 = #t179 as{TypeError,ForNonNullableByDefault} core::int;
+ #t177.{core::Set::add}(#t180);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t177, block {
+ final core::Set<core::int> #t181 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t182 = z;
+ if(!#t182.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t182{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t183 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t184 = #t183 as{TypeError,ForNonNullableByDefault} core::int;
+ #t181.{core::Set::add}(#t184);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t181, block {
+ final core::Map<core::int, core::int> #t185 = <core::int, core::int>{};
+ {
+ 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};
+ {
+ final core::Map<core::int, core::int>? #t186 = w;
+ if(!#t186.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t186{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> #t187 = :sync-for-iterator.{core::Iterator::current};
+ #t185.{core::Map::[]=}(#t187.{core::MapEntry::key}, #t187.{core::MapEntry::value});
+ }
+ }
+ }
+ }
+ }
+ } =>#t185, block {
+ final core::Set<core::int> #t188 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t189 = x;
+ if(!#t189.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t189{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t190 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t191 = #t190 as{TypeError,ForNonNullableByDefault} core::int;
+ #t188.{core::Set::add}(#t191);
+ }
+ }
+ }
+ }
+ } =>#t188, block {
+ final core::Set<core::int> #t192 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t193 = y;
+ if(!#t193.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t193{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t194 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t195 = #t194 as{TypeError,ForNonNullableByDefault} core::int;
+ #t192.{core::Set::add}(#t195);
+ }
+ }
+ }
+ }
+ } =>#t192, block {
+ final core::Set<core::int> #t196 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t197 = z;
+ if(!#t197.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t197{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t198 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t199 = #t198 as{TypeError,ForNonNullableByDefault} core::int;
+ #t196.{core::Set::add}(#t199);
+ }
+ }
+ }
+ }
+ } =>#t196, block {
+ final core::Map<core::int, core::int> #t200 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Map<core::int, core::int>? #t201 = w;
+ if(!#t201.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t201{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> #t202 = :sync-for-iterator.{core::Iterator::current};
+ #t200.{core::Map::[]=}(#t202.{core::MapEntry::key}, #t202.{core::MapEntry::value});
+ }
+ }
+ }
+ } =>#t200];
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.textual_outline.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.textual_outline.expect
new file mode 100644
index 0000000..92ee2bc
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.textual_outline.expect
@@ -0,0 +1,6 @@
+foo(bool condition, Iterable<dynamic> iterable, List<int>? a, Set<int>? b,
+ Iterable<int>? c, Map<int, int>? d) {}
+bar<X extends List<int>?, Y extends Set<int>?, Z extends Iterable<int>?,
+ W extends Map<int, int>?>(
+ bool condition, Iterable<dynamic> iterable, X x, Y y, Z z, W w) {}
+main() {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..b5153b9
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.textual_outline_modelled.expect
@@ -0,0 +1,6 @@
+bar<X extends List<int>?, Y extends Set<int>?, Z extends Iterable<int>?,
+ W extends Map<int, int>?>(
+ bool condition, Iterable<dynamic> iterable, X x, Y y, Z z, W w) {}
+foo(bool condition, Iterable<dynamic> iterable, List<int>? a, Set<int>? b,
+ Iterable<int>? c, Map<int, int>? d) {}
+main() {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
new file mode 100644
index 0000000..e89957c
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
@@ -0,0 +1,725 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int, int>{...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry. Expected 'dynamic' or a Map.
+// - 'List' is from 'dart:core'.
+// <int, int>{...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int>{...d}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int, int>{...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+// <int, int>{...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int>{...w}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+// <int>{...w}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
+ return <core::Object>[ block {
+ final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t2 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...a}, // Error.
+ ^") {
+ final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
+ #t1.{core::Set::add}(#t3);
+ }
+ } =>#t1, block {
+ final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t5 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...b}, // Error.
+ ^") {
+ final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
+ #t4.{core::Set::add}(#t6);
+ }
+ } =>#t4, block {
+ final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t8 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...c}, // Error.
+ ^") {
+ final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
+ #t7.{core::Set::add}(#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.
+ ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry. Expected 'dynamic' or a Map.
+ - 'List' is from 'dart:core'.
+ <int, int>{...a}, // Error.
+ ^": null}, let final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>() in let final dynamic #t11 = #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.
+ - 'Map' is from 'dart:core'.
+ <int>{...d}, // Error.
+ ^") in #t10, block {
+ final core::Set<core::int> #t12 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t13 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...a}, // Error.
+ ^") {
+ final core::int #t14 = #t13 as{TypeError,ForNonNullableByDefault} core::int;
+ #t12.{core::Set::add}(#t14);
+ }
+ } =>#t12, block {
+ final core::Set<core::int> #t15 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t16 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...b}, // Error.
+ ^") {
+ final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+ #t15.{core::Set::add}(#t17);
+ }
+ } =>#t15, block {
+ final core::Set<core::int> #t18 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t19 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...c}, // Error.
+ ^") {
+ final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+ #t18.{core::Set::add}(#t20);
+ }
+ } =>#t18, block {
+ final core::Map<core::int, core::int> #t21 = <core::int, core::int>{};
+ if(condition)
+ #t21.{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.
+ {if (condition) ...d}, // Error.
+ ^", null);
+ } =>#t21, block {
+ final core::Set<core::int> #t22 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t23 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...a}, // Error.
+ ^") {
+ final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+ #t22.{core::Set::add}(#t24);
+ }
+ } =>#t22, block {
+ final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t26 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...b}, // Error.
+ ^") {
+ final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+ #t25.{core::Set::add}(#t27);
+ }
+ } =>#t25, block {
+ final core::Set<core::int> #t28 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t29 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...c}, // Error.
+ ^") {
+ final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+ #t28.{core::Set::add}(#t30);
+ }
+ } =>#t28, block {
+ final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+ for (dynamic e in iterable)
+ #t31.{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.
+ {for (dynamic e in iterable) ...d}, // Error.
+ ^", null);
+ } =>#t31, block {
+ final core::Set<core::int> #t32 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t33 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...a}, // Error.
+ ^") {
+ final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
+ #t32.{core::Set::add}(#t34);
+ }
+ } =>#t32, block {
+ final core::Set<core::int> #t35 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t36 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...b}, // Error.
+ ^") {
+ final core::int #t37 = #t36 as{TypeError,ForNonNullableByDefault} core::int;
+ #t35.{core::Set::add}(#t37);
+ }
+ } =>#t35, block {
+ final core::Set<core::int> #t38 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t39 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...c}, // Error.
+ ^") {
+ final core::int #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::int;
+ #t38.{core::Set::add}(#t40);
+ }
+ } =>#t38, block {
+ final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ #t41.{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.
+ {for (int i = 0; i < 42; ++i) ...d}, // Error.
+ ^", null);
+ } =>#t41, block {
+ final core::Set<core::int> #t42 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t43 = a;
+ if(!#t43.{core::Object::==}(null))
+ for (final dynamic #t44 in #t43{core::Iterable<dynamic>}) {
+ final core::int #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::int;
+ #t42.{core::Set::add}(#t45);
+ }
+ } =>#t42, block {
+ final core::Set<core::int> #t46 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t47 = b;
+ if(!#t47.{core::Object::==}(null))
+ for (final dynamic #t48 in #t47{core::Iterable<dynamic>}) {
+ final core::int #t49 = #t48 as{TypeError,ForNonNullableByDefault} core::int;
+ #t46.{core::Set::add}(#t49);
+ }
+ } =>#t46, block {
+ final core::Set<core::int> #t50 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t51 = c;
+ if(!#t51.{core::Object::==}(null))
+ for (final dynamic #t52 in #t51{core::Iterable<dynamic>}) {
+ final core::int #t53 = #t52 as{TypeError,ForNonNullableByDefault} core::int;
+ #t50.{core::Set::add}(#t53);
+ }
+ } =>#t50, block {
+ final core::Map<core::int, core::int> #t54 = <core::int, core::int>{};
+ final core::Map<core::int, core::int>? #t55 = d;
+ if(!#t55.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t56 in #t55{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t54.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
+ } =>#t54, block {
+ final core::Set<core::int> #t57 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t58 = a;
+ if(!#t58.{core::Object::==}(null))
+ for (final dynamic #t59 in #t58{core::Iterable<dynamic>}) {
+ final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+ #t57.{core::Set::add}(#t60);
+ }
+ }
+ } =>#t57, block {
+ final core::Set<core::int> #t61 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t62 = b;
+ if(!#t62.{core::Object::==}(null))
+ for (final dynamic #t63 in #t62{core::Iterable<dynamic>}) {
+ final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+ #t61.{core::Set::add}(#t64);
+ }
+ }
+ } =>#t61, block {
+ final core::Set<core::int> #t65 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t66 = c;
+ if(!#t66.{core::Object::==}(null))
+ for (final dynamic #t67 in #t66{core::Iterable<dynamic>}) {
+ final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+ #t65.{core::Set::add}(#t68);
+ }
+ }
+ } =>#t65, block {
+ final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+ if(condition) {
+ final core::Map<core::int, core::int>? #t70 = d;
+ if(!#t70.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t71 in #t70{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t69.{core::Map::[]=}(#t71.{core::MapEntry::key}, #t71.{core::MapEntry::value});
+ }
+ } =>#t69, block {
+ final core::Set<core::int> #t72 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t73 = a;
+ if(!#t73.{core::Object::==}(null))
+ for (final dynamic #t74 in #t73{core::Iterable<dynamic>}) {
+ final core::int #t75 = #t74 as{TypeError,ForNonNullableByDefault} core::int;
+ #t72.{core::Set::add}(#t75);
+ }
+ }
+ } =>#t72, block {
+ final core::Set<core::int> #t76 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t77 = b;
+ if(!#t77.{core::Object::==}(null))
+ for (final dynamic #t78 in #t77{core::Iterable<dynamic>}) {
+ final core::int #t79 = #t78 as{TypeError,ForNonNullableByDefault} core::int;
+ #t76.{core::Set::add}(#t79);
+ }
+ }
+ } =>#t76, block {
+ final core::Set<core::int> #t80 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t81 = c;
+ if(!#t81.{core::Object::==}(null))
+ for (final dynamic #t82 in #t81{core::Iterable<dynamic>}) {
+ final core::int #t83 = #t82 as{TypeError,ForNonNullableByDefault} core::int;
+ #t80.{core::Set::add}(#t83);
+ }
+ }
+ } =>#t80, block {
+ final core::Map<core::int, core::int> #t84 = <core::int, core::int>{};
+ for (dynamic e in iterable) {
+ final core::Map<core::int, core::int>? #t85 = d;
+ if(!#t85.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t86 in #t85{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t84.{core::Map::[]=}(#t86.{core::MapEntry::key}, #t86.{core::MapEntry::value});
+ }
+ } =>#t84, block {
+ final core::Set<core::int> #t87 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t88 = a;
+ if(!#t88.{core::Object::==}(null))
+ for (final dynamic #t89 in #t88{core::Iterable<dynamic>}) {
+ final core::int #t90 = #t89 as{TypeError,ForNonNullableByDefault} core::int;
+ #t87.{core::Set::add}(#t90);
+ }
+ }
+ } =>#t87, block {
+ final core::Set<core::int> #t91 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t92 = b;
+ if(!#t92.{core::Object::==}(null))
+ for (final dynamic #t93 in #t92{core::Iterable<dynamic>}) {
+ final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+ #t91.{core::Set::add}(#t94);
+ }
+ }
+ } =>#t91, block {
+ final core::Set<core::int> #t95 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t96 = c;
+ if(!#t96.{core::Object::==}(null))
+ for (final dynamic #t97 in #t96{core::Iterable<dynamic>}) {
+ final core::int #t98 = #t97 as{TypeError,ForNonNullableByDefault} core::int;
+ #t95.{core::Set::add}(#t98);
+ }
+ }
+ } =>#t95, block {
+ final core::Map<core::int, core::int> #t99 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Map<core::int, core::int>? #t100 = d;
+ if(!#t100.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t101 in #t100{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t99.{core::Map::[]=}(#t101.{core::MapEntry::key}, #t101.{core::MapEntry::value});
+ }
+ } =>#t99];
+}
+static method bar<X extends core::List<core::int>? = core::List<core::int>?, Y extends core::Set<core::int>? = core::Set<core::int>?, Z extends core::Iterable<core::int>? = core::Iterable<core::int>?, W extends core::Map<core::int, core::int>? = core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
+ return <core::Object>[ block {
+ final core::Set<core::int> #t102 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t103 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...x}, // Error.
+ ^") {
+ final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+ #t102.{core::Set::add}(#t104);
+ }
+ } =>#t102, block {
+ final core::Set<core::int> #t105 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t106 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...y}, // Error.
+ ^") {
+ final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+ #t105.{core::Set::add}(#t107);
+ }
+ } =>#t105, block {
+ final core::Set<core::int> #t108 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t109 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...z}, // Error.
+ ^") {
+ final core::int #t110 = #t109 as{TypeError,ForNonNullableByDefault} core::int;
+ #t108.{core::Set::add}(#t110);
+ }
+ } =>#t108, <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.
+ ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ <int, int>{...x}, // Error.
+ ^": null}, let final core::Set<core::int> #t111 = col::LinkedHashSet::•<core::int>() in let final dynamic #t112 = #t111.{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.
+ <int>{...w}, // Error.
+ ^") in #t111, block {
+ final core::Set<core::int> #t113 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t114 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...x}, // Error.
+ ^") {
+ final core::int #t115 = #t114 as{TypeError,ForNonNullableByDefault} core::int;
+ #t113.{core::Set::add}(#t115);
+ }
+ } =>#t113, block {
+ final core::Set<core::int> #t116 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t117 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...y}, // Error.
+ ^") {
+ final core::int #t118 = #t117 as{TypeError,ForNonNullableByDefault} core::int;
+ #t116.{core::Set::add}(#t118);
+ }
+ } =>#t116, block {
+ final core::Set<core::int> #t119 = col::LinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t120 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...z}, // Error.
+ ^") {
+ final core::int #t121 = #t120 as{TypeError,ForNonNullableByDefault} core::int;
+ #t119.{core::Set::add}(#t121);
+ }
+ } =>#t119, block {
+ final core::Map<core::int, core::int> #t122 = <core::int, core::int>{};
+ if(condition)
+ #t122.{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.
+ {if (condition) ...w}, // Error.
+ ^", null);
+ } =>#t122, block {
+ final core::Set<core::int> #t123 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t124 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...x}, // Error.
+ ^") {
+ final core::int #t125 = #t124 as{TypeError,ForNonNullableByDefault} core::int;
+ #t123.{core::Set::add}(#t125);
+ }
+ } =>#t123, block {
+ final core::Set<core::int> #t126 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t127 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...y}, // Error.
+ ^") {
+ final core::int #t128 = #t127 as{TypeError,ForNonNullableByDefault} core::int;
+ #t126.{core::Set::add}(#t128);
+ }
+ } =>#t126, block {
+ final core::Set<core::int> #t129 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable)
+ for (final dynamic #t130 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...z}, // Error.
+ ^") {
+ final core::int #t131 = #t130 as{TypeError,ForNonNullableByDefault} core::int;
+ #t129.{core::Set::add}(#t131);
+ }
+ } =>#t129, block {
+ final core::Map<core::int, core::int> #t132 = <core::int, core::int>{};
+ for (dynamic e in iterable)
+ #t132.{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.
+ {for (dynamic e in iterable) ...w}, // Error.
+ ^", null);
+ } =>#t132, block {
+ final core::Set<core::int> #t133 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t134 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...x}, // Error.
+ ^") {
+ final core::int #t135 = #t134 as{TypeError,ForNonNullableByDefault} core::int;
+ #t133.{core::Set::add}(#t135);
+ }
+ } =>#t133, block {
+ final core::Set<core::int> #t136 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t137 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...y}, // Error.
+ ^") {
+ final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+ #t136.{core::Set::add}(#t138);
+ }
+ } =>#t136, block {
+ final core::Set<core::int> #t139 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t140 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...z}, // Error.
+ ^") {
+ final core::int #t141 = #t140 as{TypeError,ForNonNullableByDefault} core::int;
+ #t139.{core::Set::add}(#t141);
+ }
+ } =>#t139, block {
+ final core::Map<core::int, core::int> #t142 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ #t142.{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.
+ {for (int i = 0; i < 42; ++i) ...w}, // Error.
+ ^", null);
+ } =>#t142, block {
+ final core::Set<core::int> #t143 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t144 = x;
+ if(!#t144.{core::Object::==}(null))
+ for (final dynamic #t145 in #t144{core::Iterable<dynamic>}) {
+ final core::int #t146 = #t145 as{TypeError,ForNonNullableByDefault} core::int;
+ #t143.{core::Set::add}(#t146);
+ }
+ } =>#t143, block {
+ final core::Set<core::int> #t147 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t148 = y;
+ if(!#t148.{core::Object::==}(null))
+ for (final dynamic #t149 in #t148{core::Iterable<dynamic>}) {
+ final core::int #t150 = #t149 as{TypeError,ForNonNullableByDefault} core::int;
+ #t147.{core::Set::add}(#t150);
+ }
+ } =>#t147, block {
+ final core::Set<core::int> #t151 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t152 = z;
+ if(!#t152.{core::Object::==}(null))
+ for (final dynamic #t153 in #t152{core::Iterable<dynamic>}) {
+ final core::int #t154 = #t153 as{TypeError,ForNonNullableByDefault} core::int;
+ #t151.{core::Set::add}(#t154);
+ }
+ } =>#t151, block {
+ final core::Map<core::int, core::int> #t155 = <core::int, core::int>{};
+ final core::Map<core::int, core::int>? #t156 = w;
+ if(!#t156.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t157 in #t156{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t155.{core::Map::[]=}(#t157.{core::MapEntry::key}, #t157.{core::MapEntry::value});
+ } =>#t155, block {
+ final core::Set<core::int> #t158 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t159 = x;
+ if(!#t159.{core::Object::==}(null))
+ for (final dynamic #t160 in #t159{core::Iterable<dynamic>}) {
+ final core::int #t161 = #t160 as{TypeError,ForNonNullableByDefault} core::int;
+ #t158.{core::Set::add}(#t161);
+ }
+ }
+ } =>#t158, block {
+ final core::Set<core::int> #t162 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t163 = y;
+ if(!#t163.{core::Object::==}(null))
+ for (final dynamic #t164 in #t163{core::Iterable<dynamic>}) {
+ final core::int #t165 = #t164 as{TypeError,ForNonNullableByDefault} core::int;
+ #t162.{core::Set::add}(#t165);
+ }
+ }
+ } =>#t162, block {
+ final core::Set<core::int> #t166 = col::LinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t167 = z;
+ if(!#t167.{core::Object::==}(null))
+ for (final dynamic #t168 in #t167{core::Iterable<dynamic>}) {
+ final core::int #t169 = #t168 as{TypeError,ForNonNullableByDefault} core::int;
+ #t166.{core::Set::add}(#t169);
+ }
+ }
+ } =>#t166, block {
+ final core::Map<core::int, core::int> #t170 = <core::int, core::int>{};
+ if(condition) {
+ final core::Map<core::int, core::int>? #t171 = w;
+ if(!#t171.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t172 in #t171{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t170.{core::Map::[]=}(#t172.{core::MapEntry::key}, #t172.{core::MapEntry::value});
+ }
+ } =>#t170, block {
+ final core::Set<core::int> #t173 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t174 = x;
+ if(!#t174.{core::Object::==}(null))
+ for (final dynamic #t175 in #t174{core::Iterable<dynamic>}) {
+ final core::int #t176 = #t175 as{TypeError,ForNonNullableByDefault} core::int;
+ #t173.{core::Set::add}(#t176);
+ }
+ }
+ } =>#t173, block {
+ final core::Set<core::int> #t177 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t178 = y;
+ if(!#t178.{core::Object::==}(null))
+ for (final dynamic #t179 in #t178{core::Iterable<dynamic>}) {
+ final core::int #t180 = #t179 as{TypeError,ForNonNullableByDefault} core::int;
+ #t177.{core::Set::add}(#t180);
+ }
+ }
+ } =>#t177, block {
+ final core::Set<core::int> #t181 = col::LinkedHashSet::•<core::int>();
+ for (dynamic e in iterable) {
+ final core::Iterable<dynamic>? #t182 = z;
+ if(!#t182.{core::Object::==}(null))
+ for (final dynamic #t183 in #t182{core::Iterable<dynamic>}) {
+ final core::int #t184 = #t183 as{TypeError,ForNonNullableByDefault} core::int;
+ #t181.{core::Set::add}(#t184);
+ }
+ }
+ } =>#t181, block {
+ final core::Map<core::int, core::int> #t185 = <core::int, core::int>{};
+ for (dynamic e in iterable) {
+ final core::Map<core::int, core::int>? #t186 = w;
+ if(!#t186.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t187 in #t186{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t185.{core::Map::[]=}(#t187.{core::MapEntry::key}, #t187.{core::MapEntry::value});
+ }
+ } =>#t185, block {
+ final core::Set<core::int> #t188 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t189 = x;
+ if(!#t189.{core::Object::==}(null))
+ for (final dynamic #t190 in #t189{core::Iterable<dynamic>}) {
+ final core::int #t191 = #t190 as{TypeError,ForNonNullableByDefault} core::int;
+ #t188.{core::Set::add}(#t191);
+ }
+ }
+ } =>#t188, block {
+ final core::Set<core::int> #t192 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t193 = y;
+ if(!#t193.{core::Object::==}(null))
+ for (final dynamic #t194 in #t193{core::Iterable<dynamic>}) {
+ final core::int #t195 = #t194 as{TypeError,ForNonNullableByDefault} core::int;
+ #t192.{core::Set::add}(#t195);
+ }
+ }
+ } =>#t192, block {
+ final core::Set<core::int> #t196 = col::LinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t197 = z;
+ if(!#t197.{core::Object::==}(null))
+ for (final dynamic #t198 in #t197{core::Iterable<dynamic>}) {
+ final core::int #t199 = #t198 as{TypeError,ForNonNullableByDefault} core::int;
+ #t196.{core::Set::add}(#t199);
+ }
+ }
+ } =>#t196, block {
+ final core::Map<core::int, core::int> #t200 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Map<core::int, core::int>? #t201 = w;
+ if(!#t201.{core::Object::==}(null))
+ for (final core::MapEntry<core::int, core::int> #t202 in #t201{core::Map<core::int, core::int>}.{core::Map::entries})
+ #t200.{core::Map::[]=}(#t202.{core::MapEntry::key}, #t202.{core::MapEntry::value});
+ }
+ } =>#t200];
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
new file mode 100644
index 0000000..84cd03a
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
@@ -0,0 +1,965 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int, int>{...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry. Expected 'dynamic' or a Map.
+// - 'List' is from 'dart:core'.
+// <int, int>{...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int>{...d}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...a}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...b}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...c}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int, int>{...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+// <int, int>{...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// <int>{...w}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+// <int>{...w}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {if (condition) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (dynamic e in iterable) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...x}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...y}, // Error.
+// ^
+//
+// pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// {for (int i = 0; i < 42; ++i) ...z}, // Error.
+// ^
+//
+// 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.
+// ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
+ return <core::Object>[ block {
+ final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t2 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...a}, // Error.
+ ^") {
+ final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
+ #t1.{core::Set::add}(#t3);
+ }
+ } =>#t1, block {
+ final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t5 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...b}, // Error.
+ ^") {
+ final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
+ #t4.{core::Set::add}(#t6);
+ }
+ } =>#t4, block {
+ final core::Set<core::int> #t7 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t8 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...c}, // Error.
+ ^") {
+ final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
+ #t7.{core::Set::add}(#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.
+ ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry. Expected 'dynamic' or a Map.
+ - 'List' is from 'dart:core'.
+ <int, int>{...a}, // Error.
+ ^": null}, let final core::Set<core::int> #t10 = new col::_CompactLinkedHashSet::•<core::int>() in let final core::bool #t11 = #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.
+ - 'Map' is from 'dart:core'.
+ <int>{...d}, // Error.
+ ^") in #t10, block {
+ final core::Set<core::int> #t12 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t13 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...a}, // Error.
+ ^") {
+ final core::int #t14 = #t13 as{TypeError,ForNonNullableByDefault} core::int;
+ #t12.{core::Set::add}(#t14);
+ }
+ } =>#t12, block {
+ final core::Set<core::int> #t15 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t16 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...b}, // Error.
+ ^") {
+ final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+ #t15.{core::Set::add}(#t17);
+ }
+ } =>#t15, block {
+ final core::Set<core::int> #t18 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t19 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...c}, // Error.
+ ^") {
+ final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+ #t18.{core::Set::add}(#t20);
+ }
+ } =>#t18, block {
+ final core::Map<core::int, core::int> #t21 = <core::int, core::int>{};
+ if(condition)
+ #t21.{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.
+ {if (condition) ...d}, // Error.
+ ^", null);
+ } =>#t21, block {
+ final core::Set<core::int> #t22 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t23 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...a}, // Error.
+ ^") {
+ final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+ #t22.{core::Set::add}(#t24);
+ }
+ }
+ }
+ } =>#t22, block {
+ final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t26 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...b}, // Error.
+ ^") {
+ final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+ #t25.{core::Set::add}(#t27);
+ }
+ }
+ }
+ } =>#t25, block {
+ final core::Set<core::int> #t28 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t29 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...c}, // Error.
+ ^") {
+ final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+ #t28.{core::Set::add}(#t30);
+ }
+ }
+ }
+ } =>#t28, block {
+ final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+ {
+ 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};
+ #t31.{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.
+ {for (dynamic e in iterable) ...d}, // Error.
+ ^", null);
+ }
+ }
+ } =>#t31, block {
+ final core::Set<core::int> #t32 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t33 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...a}, // Error.
+ ^") {
+ final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
+ #t32.{core::Set::add}(#t34);
+ }
+ } =>#t32, block {
+ final core::Set<core::int> #t35 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t36 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...b}, // Error.
+ ^") {
+ final core::int #t37 = #t36 as{TypeError,ForNonNullableByDefault} core::int;
+ #t35.{core::Set::add}(#t37);
+ }
+ } =>#t35, block {
+ final core::Set<core::int> #t38 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t39 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...c}, // Error.
+ ^") {
+ final core::int #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::int;
+ #t38.{core::Set::add}(#t40);
+ }
+ } =>#t38, block {
+ final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ #t41.{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.
+ {for (int i = 0; i < 42; ++i) ...d}, // Error.
+ ^", null);
+ } =>#t41, block {
+ final core::Set<core::int> #t42 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t43 = a;
+ if(!#t43.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t43{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t44 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::int;
+ #t42.{core::Set::add}(#t45);
+ }
+ }
+ }
+ } =>#t42, block {
+ final core::Set<core::int> #t46 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t47 = b;
+ if(!#t47.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t47{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t48 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t49 = #t48 as{TypeError,ForNonNullableByDefault} core::int;
+ #t46.{core::Set::add}(#t49);
+ }
+ }
+ }
+ } =>#t46, block {
+ final core::Set<core::int> #t50 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t51 = c;
+ if(!#t51.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t51{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t52 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t53 = #t52 as{TypeError,ForNonNullableByDefault} core::int;
+ #t50.{core::Set::add}(#t53);
+ }
+ }
+ }
+ } =>#t50, block {
+ final core::Map<core::int, core::int> #t54 = <core::int, core::int>{};
+ final core::Map<core::int, core::int>? #t55 = d;
+ if(!#t55.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t55{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> #t56 = :sync-for-iterator.{core::Iterator::current};
+ #t54.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
+ }
+ }
+ } =>#t54, block {
+ final core::Set<core::int> #t57 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t58 = a;
+ if(!#t58.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t58{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t59 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+ #t57.{core::Set::add}(#t60);
+ }
+ }
+ }
+ }
+ } =>#t57, block {
+ final core::Set<core::int> #t61 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t62 = b;
+ if(!#t62.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t62{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t63 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+ #t61.{core::Set::add}(#t64);
+ }
+ }
+ }
+ }
+ } =>#t61, block {
+ final core::Set<core::int> #t65 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t66 = c;
+ if(!#t66.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t66{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t67 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+ #t65.{core::Set::add}(#t68);
+ }
+ }
+ }
+ }
+ } =>#t65, block {
+ final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+ if(condition) {
+ final core::Map<core::int, core::int>? #t70 = d;
+ if(!#t70.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t70{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> #t71 = :sync-for-iterator.{core::Iterator::current};
+ #t69.{core::Map::[]=}(#t71.{core::MapEntry::key}, #t71.{core::MapEntry::value});
+ }
+ }
+ }
+ } =>#t69, block {
+ final core::Set<core::int> #t72 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t73 = a;
+ if(!#t73.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t73{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t74 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t75 = #t74 as{TypeError,ForNonNullableByDefault} core::int;
+ #t72.{core::Set::add}(#t75);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t72, block {
+ final core::Set<core::int> #t76 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t77 = b;
+ if(!#t77.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t77{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t78 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t79 = #t78 as{TypeError,ForNonNullableByDefault} core::int;
+ #t76.{core::Set::add}(#t79);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t76, block {
+ final core::Set<core::int> #t80 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t81 = c;
+ if(!#t81.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t81{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t82 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t83 = #t82 as{TypeError,ForNonNullableByDefault} core::int;
+ #t80.{core::Set::add}(#t83);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t80, block {
+ final core::Map<core::int, core::int> #t84 = <core::int, core::int>{};
+ {
+ 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};
+ {
+ final core::Map<core::int, core::int>? #t85 = d;
+ if(!#t85.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t85{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> #t86 = :sync-for-iterator.{core::Iterator::current};
+ #t84.{core::Map::[]=}(#t86.{core::MapEntry::key}, #t86.{core::MapEntry::value});
+ }
+ }
+ }
+ }
+ }
+ } =>#t84, block {
+ final core::Set<core::int> #t87 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t88 = a;
+ if(!#t88.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t88{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t89 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t90 = #t89 as{TypeError,ForNonNullableByDefault} core::int;
+ #t87.{core::Set::add}(#t90);
+ }
+ }
+ }
+ }
+ } =>#t87, block {
+ final core::Set<core::int> #t91 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t92 = b;
+ if(!#t92.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t92{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t93 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+ #t91.{core::Set::add}(#t94);
+ }
+ }
+ }
+ }
+ } =>#t91, block {
+ final core::Set<core::int> #t95 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t96 = c;
+ if(!#t96.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t96{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t97 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t98 = #t97 as{TypeError,ForNonNullableByDefault} core::int;
+ #t95.{core::Set::add}(#t98);
+ }
+ }
+ }
+ }
+ } =>#t95, block {
+ final core::Map<core::int, core::int> #t99 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Map<core::int, core::int>? #t100 = d;
+ if(!#t100.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t100{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> #t101 = :sync-for-iterator.{core::Iterator::current};
+ #t99.{core::Map::[]=}(#t101.{core::MapEntry::key}, #t101.{core::MapEntry::value});
+ }
+ }
+ }
+ } =>#t99];
+}
+static method bar<X extends core::List<core::int>? = core::List<core::int>?, Y extends core::Set<core::int>? = core::Set<core::int>?, Z extends core::Iterable<core::int>? = core::Iterable<core::int>?, W extends core::Map<core::int, core::int>? = core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
+ return <core::Object>[ block {
+ final core::Set<core::int> #t102 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t103 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...x}, // Error.
+ ^") {
+ final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+ #t102.{core::Set::add}(#t104);
+ }
+ } =>#t102, block {
+ final core::Set<core::int> #t105 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t106 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...y}, // Error.
+ ^") {
+ final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+ #t105.{core::Set::add}(#t107);
+ }
+ } =>#t105, block {
+ final core::Set<core::int> #t108 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (final dynamic #t109 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {...z}, // Error.
+ ^") {
+ final core::int #t110 = #t109 as{TypeError,ForNonNullableByDefault} core::int;
+ #t108.{core::Set::add}(#t110);
+ }
+ } =>#t108, <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.
+ ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ <int, int>{...x}, // Error.
+ ^": null}, let final core::Set<core::int> #t111 = new col::_CompactLinkedHashSet::•<core::int>() in let final core::bool #t112 = #t111.{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.
+ <int>{...w}, // Error.
+ ^") in #t111, block {
+ final core::Set<core::int> #t113 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t114 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...x}, // Error.
+ ^") {
+ final core::int #t115 = #t114 as{TypeError,ForNonNullableByDefault} core::int;
+ #t113.{core::Set::add}(#t115);
+ }
+ } =>#t113, block {
+ final core::Set<core::int> #t116 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t117 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...y}, // Error.
+ ^") {
+ final core::int #t118 = #t117 as{TypeError,ForNonNullableByDefault} core::int;
+ #t116.{core::Set::add}(#t118);
+ }
+ } =>#t116, block {
+ final core::Set<core::int> #t119 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition)
+ for (final dynamic #t120 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {if (condition) ...z}, // Error.
+ ^") {
+ final core::int #t121 = #t120 as{TypeError,ForNonNullableByDefault} core::int;
+ #t119.{core::Set::add}(#t121);
+ }
+ } =>#t119, block {
+ final core::Map<core::int, core::int> #t122 = <core::int, core::int>{};
+ if(condition)
+ #t122.{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.
+ {if (condition) ...w}, // Error.
+ ^", null);
+ } =>#t122, block {
+ final core::Set<core::int> #t123 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t124 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...x}, // Error.
+ ^") {
+ final core::int #t125 = #t124 as{TypeError,ForNonNullableByDefault} core::int;
+ #t123.{core::Set::add}(#t125);
+ }
+ }
+ }
+ } =>#t123, block {
+ final core::Set<core::int> #t126 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t127 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...y}, // Error.
+ ^") {
+ final core::int #t128 = #t127 as{TypeError,ForNonNullableByDefault} core::int;
+ #t126.{core::Set::add}(#t128);
+ }
+ }
+ }
+ } =>#t126, block {
+ final core::Set<core::int> #t129 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ for (final dynamic #t130 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (dynamic e in iterable) ...z}, // Error.
+ ^") {
+ final core::int #t131 = #t130 as{TypeError,ForNonNullableByDefault} core::int;
+ #t129.{core::Set::add}(#t131);
+ }
+ }
+ }
+ } =>#t129, block {
+ final core::Map<core::int, core::int> #t132 = <core::int, core::int>{};
+ {
+ 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};
+ #t132.{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.
+ {for (dynamic e in iterable) ...w}, // Error.
+ ^", null);
+ }
+ }
+ } =>#t132, block {
+ final core::Set<core::int> #t133 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t134 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...x}, // Error.
+ ^") {
+ final core::int #t135 = #t134 as{TypeError,ForNonNullableByDefault} core::int;
+ #t133.{core::Set::add}(#t135);
+ }
+ } =>#t133, block {
+ final core::Set<core::int> #t136 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t137 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...y}, // Error.
+ ^") {
+ final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+ #t136.{core::Set::add}(#t138);
+ }
+ } =>#t136, block {
+ final core::Set<core::int> #t139 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (final dynamic #t140 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ {for (int i = 0; i < 42; ++i) ...z}, // Error.
+ ^") {
+ final core::int #t141 = #t140 as{TypeError,ForNonNullableByDefault} core::int;
+ #t139.{core::Set::add}(#t141);
+ }
+ } =>#t139, block {
+ final core::Map<core::int, core::int> #t142 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ #t142.{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.
+ {for (int i = 0; i < 42; ++i) ...w}, // Error.
+ ^", null);
+ } =>#t142, block {
+ final core::Set<core::int> #t143 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t144 = x;
+ if(!#t144.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t144{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t145 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t146 = #t145 as{TypeError,ForNonNullableByDefault} core::int;
+ #t143.{core::Set::add}(#t146);
+ }
+ }
+ }
+ } =>#t143, block {
+ final core::Set<core::int> #t147 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t148 = y;
+ if(!#t148.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t148{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t149 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t150 = #t149 as{TypeError,ForNonNullableByDefault} core::int;
+ #t147.{core::Set::add}(#t150);
+ }
+ }
+ }
+ } =>#t147, block {
+ final core::Set<core::int> #t151 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<dynamic>? #t152 = z;
+ if(!#t152.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t152{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t153 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t154 = #t153 as{TypeError,ForNonNullableByDefault} core::int;
+ #t151.{core::Set::add}(#t154);
+ }
+ }
+ }
+ } =>#t151, block {
+ final core::Map<core::int, core::int> #t155 = <core::int, core::int>{};
+ final core::Map<core::int, core::int>? #t156 = w;
+ if(!#t156.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t156{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> #t157 = :sync-for-iterator.{core::Iterator::current};
+ #t155.{core::Map::[]=}(#t157.{core::MapEntry::key}, #t157.{core::MapEntry::value});
+ }
+ }
+ } =>#t155, block {
+ final core::Set<core::int> #t158 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t159 = x;
+ if(!#t159.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t159{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t160 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t161 = #t160 as{TypeError,ForNonNullableByDefault} core::int;
+ #t158.{core::Set::add}(#t161);
+ }
+ }
+ }
+ }
+ } =>#t158, block {
+ final core::Set<core::int> #t162 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t163 = y;
+ if(!#t163.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t163{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t164 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t165 = #t164 as{TypeError,ForNonNullableByDefault} core::int;
+ #t162.{core::Set::add}(#t165);
+ }
+ }
+ }
+ }
+ } =>#t162, block {
+ final core::Set<core::int> #t166 = new col::_CompactLinkedHashSet::•<core::int>();
+ if(condition) {
+ final core::Iterable<dynamic>? #t167 = z;
+ if(!#t167.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t167{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t168 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t169 = #t168 as{TypeError,ForNonNullableByDefault} core::int;
+ #t166.{core::Set::add}(#t169);
+ }
+ }
+ }
+ }
+ } =>#t166, block {
+ final core::Map<core::int, core::int> #t170 = <core::int, core::int>{};
+ if(condition) {
+ final core::Map<core::int, core::int>? #t171 = w;
+ if(!#t171.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t171{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> #t172 = :sync-for-iterator.{core::Iterator::current};
+ #t170.{core::Map::[]=}(#t172.{core::MapEntry::key}, #t172.{core::MapEntry::value});
+ }
+ }
+ }
+ } =>#t170, block {
+ final core::Set<core::int> #t173 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t174 = x;
+ if(!#t174.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t174{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t175 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t176 = #t175 as{TypeError,ForNonNullableByDefault} core::int;
+ #t173.{core::Set::add}(#t176);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t173, block {
+ final core::Set<core::int> #t177 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t178 = y;
+ if(!#t178.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t178{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t179 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t180 = #t179 as{TypeError,ForNonNullableByDefault} core::int;
+ #t177.{core::Set::add}(#t180);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t177, block {
+ final core::Set<core::int> #t181 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ 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};
+ {
+ final core::Iterable<dynamic>? #t182 = z;
+ if(!#t182.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t182{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t183 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t184 = #t183 as{TypeError,ForNonNullableByDefault} core::int;
+ #t181.{core::Set::add}(#t184);
+ }
+ }
+ }
+ }
+ }
+ }
+ } =>#t181, block {
+ final core::Map<core::int, core::int> #t185 = <core::int, core::int>{};
+ {
+ 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};
+ {
+ final core::Map<core::int, core::int>? #t186 = w;
+ if(!#t186.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t186{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> #t187 = :sync-for-iterator.{core::Iterator::current};
+ #t185.{core::Map::[]=}(#t187.{core::MapEntry::key}, #t187.{core::MapEntry::value});
+ }
+ }
+ }
+ }
+ }
+ } =>#t185, block {
+ final core::Set<core::int> #t188 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t189 = x;
+ if(!#t189.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t189{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t190 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t191 = #t190 as{TypeError,ForNonNullableByDefault} core::int;
+ #t188.{core::Set::add}(#t191);
+ }
+ }
+ }
+ }
+ } =>#t188, block {
+ final core::Set<core::int> #t192 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t193 = y;
+ if(!#t193.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t193{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t194 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t195 = #t194 as{TypeError,ForNonNullableByDefault} core::int;
+ #t192.{core::Set::add}(#t195);
+ }
+ }
+ }
+ }
+ } =>#t192, block {
+ final core::Set<core::int> #t196 = new col::_CompactLinkedHashSet::•<core::int>();
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Iterable<dynamic>? #t197 = z;
+ if(!#t197.{core::Object::==}(null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t197{core::Iterable<dynamic>}.{core::Iterable::iterator};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+ final dynamic #t198 = :sync-for-iterator.{core::Iterator::current};
+ {
+ final core::int #t199 = #t198 as{TypeError,ForNonNullableByDefault} core::int;
+ #t196.{core::Set::add}(#t199);
+ }
+ }
+ }
+ }
+ } =>#t196, block {
+ final core::Map<core::int, core::int> #t200 = <core::int, core::int>{};
+ for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ final core::Map<core::int, core::int>? #t201 = w;
+ if(!#t201.{core::Object::==}(null)) {
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t201{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> #t202 = :sync-for-iterator.{core::Iterator::current};
+ #t200.{core::Map::[]=}(#t202.{core::MapEntry::key}, #t202.{core::MapEntry::value});
+ }
+ }
+ }
+ } =>#t200];
+}
+static method main() → dynamic {}