| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| // if (i > 0) ...nullableMap, // error |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| // if (i > 0) ...nullableList, // error |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| // if (i > 0) ...nullableList, // error |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map. |
| // if (i > 0) ...x, // error |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| // if (i > 0) ...y, // error |
| // ^ |
| // |
| // 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 |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| // if (i > 0) ...y, // error |
| // ^ |
| // |
| // 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 |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| // if (i > 0) ...y, // error |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| import "dart:collection" as col; |
| |
| static field core::int i = 1; |
| static field core::Map<core::int, core::String>? nullableMap = <core::int, core::String>{1: "Let", 2: "it", 3: "be"}; |
| static field core::List<core::int>? nullableList = <core::int>[1, 2, 3]; |
| static field dynamic dynamicMap = <core::int, core::String>{1: "Let", 2: "it", 3: "be"}; |
| static field dynamic dynamicList = <core::int>[1, 2, 3]; |
| static field core::Map<dynamic, dynamic> map1 = block { |
| final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{}; |
| if(self::i.{core::num::>}(0)) |
| #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| if (i > 0) ...nullableMap, // error |
| ^", null); |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current}; |
| #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value}); |
| } |
| } |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current}; |
| #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value}); |
| } |
| } |
| } =>#t1; |
| static field core::Set<dynamic> set1 = block { |
| final core::Set<dynamic> #t4 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t4.{core::Set::add}(0); |
| if(self::i.{core::num::>}(0)) |
| #t4.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| if (i > 0) ...nullableList, // error |
| ^"); |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<dynamic> :sync-for-iterator = (self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}; |
| #t4.{core::Set::add}(#t5); |
| } |
| } |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<core::int> :sync-for-iterator = self::nullableList!.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}; |
| #t4.{core::Set::add}(#t6); |
| } |
| } |
| } =>#t4; |
| static field core::List<dynamic> list1 = block { |
| final core::List<dynamic> #t7 = <dynamic>[]; |
| if(self::i.{core::num::>}(0)) |
| #t7.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| if (i > 0) ...nullableList, // error |
| ^"); |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<dynamic> :sync-for-iterator = (self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}; |
| #t7.{core::List::add}(#t8); |
| } |
| } |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<core::int> :sync-for-iterator = self::nullableList!.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}; |
| #t7.{core::List::add}(#t9); |
| } |
| } |
| } =>#t7; |
| static method testMap<X extends dynamic = dynamic, Y extends core::Map<core::int, core::String>? = core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String> = core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic { |
| core::Map<dynamic, dynamic> map2 = block { |
| final core::Map<dynamic, dynamic> #t10 = <dynamic, dynamic>{}; |
| if(self::i.{core::num::>}(0)) |
| #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map. |
| if (i > 0) ...x, // error |
| ^", null); |
| if(self::i.{core::num::>}(0)) |
| #t10.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| if (i > 0) ...y, // error |
| ^", null); |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = z.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<dynamic, dynamic> #t11 = :sync-for-iterator.{core::Iterator::current}; |
| #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value}); |
| } |
| } |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = y!.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<dynamic, dynamic> #t12 = :sync-for-iterator.{core::Iterator::current}; |
| #t10.{core::Map::[]=}(#t12.{core::MapEntry::key}, #t12.{core::MapEntry::value}); |
| } |
| } |
| } =>#t10; |
| } |
| static method testIterables<X extends dynamic = dynamic, Y extends core::List<core::int>? = core::List<core::int>?, Z extends core::List<core::int> = core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic { |
| core::Set<dynamic> set2 = block { |
| final core::Set<dynamic> #t13 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t13.{core::Set::add}(0); |
| if(self::i.{core::num::>}(0)) |
| #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable. |
| if (i > 0) ...x, // error |
| ^"); |
| if(self::i.{core::num::>}(0)) |
| #t13.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| if (i > 0) ...y, // error |
| ^"); |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<core::int> :sync-for-iterator = z.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final dynamic #t14 = :sync-for-iterator.{core::Iterator::current}; |
| #t13.{core::Set::add}(#t14); |
| } |
| } |
| } =>#t13; |
| core::List<dynamic> list2 = block { |
| final core::List<dynamic> #t15 = <dynamic>[]; |
| if(self::i.{core::num::>}(0)) |
| #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable. |
| if (i > 0) ...x, // error |
| ^"); |
| if(self::i.{core::num::>}(0)) |
| #t15.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. |
| if (i > 0) ...y, // error |
| ^"); |
| if(self::i.{core::num::>}(0)) { |
| core::Iterator<core::int> :sync-for-iterator = z.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}; |
| #t15.{core::List::add}(#t16); |
| } |
| } |
| } =>#t15; |
| } |
| static method main() → dynamic {} |