| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:7:17: Warning: Operand of null-aware operation '...?' has type 'Never' which excludes null. |
| // var l2 = [...?n1]; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:8:16: Error: Can't spread a value with static type 'Never?'. |
| // var l3 = [...n2]; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:10:16: Error: Can't spread a value with static type 'Null'. |
| // var l5 = [...n3]; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:13:17: Warning: Operand of null-aware operation '...?' has type 'Never' which excludes null. |
| // var s2 = {...?n1, n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'. |
| // var s3 = {...n2, n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'. |
| // var s5 = {...n3, n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:19:17: Warning: Operand of null-aware operation '...?' has type 'Never' which excludes null. |
| // var m2 = {...?n1, n1: n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'. |
| // var m3 = {...n2, n1: n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'. |
| // var m5 = {...n3, n1: n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:29:17: Warning: Operand of null-aware operation '...?' has type 'N1' which excludes null. |
| // var l2 = [...?n1]; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'. |
| // var l3 = [...n2]; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'. |
| // var l5 = [...n3]; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:35:17: Warning: Operand of null-aware operation '...?' has type 'N1' which excludes null. |
| // var s2 = {...?n1, n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'. |
| // var s3 = {...n2, n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'. |
| // var s5 = {...n3, n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:41:17: Warning: Operand of null-aware operation '...?' has type 'N1' which excludes null. |
| // var m2 = {...?n1, n1: n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'. |
| // var m3 = {...n2, n1: n1}; |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'. |
| // var m5 = {...n3, n1: n1}; |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| import "dart:collection" as col; |
| |
| static method test1(Never n1, Never? n2, Null n3) → dynamic { |
| core::List<Never> l1 = block { |
| final core::List<Never> #t1 = <Never>[]; |
| for (final Never #t2 in n1) |
| #t1.{core::List::add}{Invariant}(#t2); |
| } =>#t1; |
| core::List<Never> l2 = block { |
| final core::List<Never> #t3 = <Never>[]; |
| final core::Iterable<Never>? #t4 = n1; |
| if(!#t4.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t4{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t5 = :sync-for-iterator.{core::Iterator::current}; |
| #t3.{core::List::add}{Invariant}(#t5); |
| } |
| } |
| } =>#t3; |
| core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:8:16: Error: Can't spread a value with static type 'Never?'. |
| var l3 = [...n2]; |
| ^"]; |
| core::List<Never> l4 = block { |
| final core::List<Never> #t6 = <Never>[]; |
| final core::Iterable<Never>? #t7 = n2; |
| if(!#t7.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t7{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t8 = :sync-for-iterator.{core::Iterator::current}; |
| #t6.{core::List::add}{Invariant}(#t8); |
| } |
| } |
| } =>#t6; |
| core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:10:16: Error: Can't spread a value with static type 'Null'. |
| var l5 = [...n3]; |
| ^"]; |
| core::List<Never> l6 = block { |
| final core::List<Never> #t9 = <Never>[]; |
| final core::Iterable<Never>? #t10 = n3; |
| if(!#t10.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t10{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t11 = :sync-for-iterator.{core::Iterator::current}; |
| #t9.{core::List::add}{Invariant}(#t11); |
| } |
| } |
| } =>#t9; |
| core::Set<Never> s1 = block { |
| final core::Set<Never> #t12 = new col::_CompactLinkedHashSet::•<Never>(); |
| for (final Never #t13 in n1) |
| #t12.{core::Set::add}{Invariant}(#t13); |
| #t12.{core::Set::add}{Invariant}(n1); |
| } =>#t12; |
| core::Set<Never> s2 = block { |
| final core::Set<Never> #t14 = new col::_CompactLinkedHashSet::•<Never>(); |
| final core::Iterable<Never>? #t15 = n1; |
| if(!#t15.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t15{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t16 = :sync-for-iterator.{core::Iterator::current}; |
| #t14.{core::Set::add}{Invariant}(#t16); |
| } |
| } |
| #t14.{core::Set::add}{Invariant}(n1); |
| } =>#t14; |
| core::Set<dynamic> s3 = block { |
| final core::Set<dynamic> #t17 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t17.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'. |
| var s3 = {...n2, n1}; |
| ^"); |
| #t17.{core::Set::add}{Invariant}(n1); |
| } =>#t17; |
| core::Set<Never> s4 = block { |
| final core::Set<Never> #t18 = new col::_CompactLinkedHashSet::•<Never>(); |
| final core::Iterable<Never>? #t19 = n2; |
| if(!#t19.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t19{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t20 = :sync-for-iterator.{core::Iterator::current}; |
| #t18.{core::Set::add}{Invariant}(#t20); |
| } |
| } |
| #t18.{core::Set::add}{Invariant}(n1); |
| } =>#t18; |
| core::Set<dynamic> s5 = block { |
| final core::Set<dynamic> #t21 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t21.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'. |
| var s5 = {...n3, n1}; |
| ^"); |
| #t21.{core::Set::add}{Invariant}(n1); |
| } =>#t21; |
| core::Set<Never> s6 = block { |
| final core::Set<Never> #t22 = new col::_CompactLinkedHashSet::•<Never>(); |
| final core::Iterable<Never>? #t23 = n3; |
| if(!#t23.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t23{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t24 = :sync-for-iterator.{core::Iterator::current}; |
| #t22.{core::Set::add}{Invariant}(#t24); |
| } |
| } |
| #t22.{core::Set::add}{Invariant}(n1); |
| } =>#t22; |
| core::Map<Never, Never> m1 = block { |
| final core::Map<Never, Never> #t25 = <Never, Never>{}; |
| { |
| core::Iterator<core::MapEntry<<BottomType>, <BottomType>>> :sync-for-iterator = n1.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t26 = :sync-for-iterator.{core::Iterator::current}; |
| #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value}); |
| } |
| } |
| #t25.{core::Map::[]=}{Invariant}(n1, n1); |
| } =>#t25; |
| core::Map<Never, Never> m2 = block { |
| final core::Map<Never, Never> #t27 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t28 = n1; |
| if(!#t28.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t28{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t29 = :sync-for-iterator.{core::Iterator::current}; |
| #t27.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value}); |
| } |
| } |
| #t27.{core::Map::[]=}{Invariant}(n1, n1); |
| } =>#t27; |
| core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'. |
| var m3 = {...n2, n1: n1}; |
| ^": null, n1: n1}; |
| core::Map<Never, Never> m4 = block { |
| final core::Map<Never, Never> #t30 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t31 = n2; |
| if(!#t31.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t31{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t32 = :sync-for-iterator.{core::Iterator::current}; |
| #t30.{core::Map::[]=}{Invariant}(#t32.{core::MapEntry::key}, #t32.{core::MapEntry::value}); |
| } |
| } |
| #t30.{core::Map::[]=}{Invariant}(n1, n1); |
| } =>#t30; |
| core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'. |
| var m5 = {...n3, n1: n1}; |
| ^": null, n1: n1}; |
| core::Map<Never, Never> m6 = block { |
| final core::Map<Never, Never> #t33 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t34 = n3; |
| if(!#t34.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t34{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t35 = :sync-for-iterator.{core::Iterator::current}; |
| #t33.{core::Map::[]=}{Invariant}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value}); |
| } |
| } |
| #t33.{core::Map::[]=}{Invariant}(n1, n1); |
| } =>#t33; |
| } |
| static method test2<N1 extends Never = Never, N2 extends Never? = Never?, N3 extends Null = Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic { |
| core::List<Never> l1 = block { |
| final core::List<Never> #t36 = <Never>[]; |
| for (final Never #t37 in n1) |
| #t36.{core::List::add}{Invariant}(#t37); |
| } =>#t36; |
| core::List<Never> l2 = block { |
| final core::List<Never> #t38 = <Never>[]; |
| final core::Iterable<Never>? #t39 = n1; |
| if(!#t39.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t39{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t40 = :sync-for-iterator.{core::Iterator::current}; |
| #t38.{core::List::add}{Invariant}(#t40); |
| } |
| } |
| } =>#t38; |
| core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'. |
| var l3 = [...n2]; |
| ^"]; |
| core::List<Never> l4 = block { |
| final core::List<Never> #t41 = <Never>[]; |
| final core::Iterable<Never>? #t42 = n2; |
| if(!#t42.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t42{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t43 = :sync-for-iterator.{core::Iterator::current}; |
| #t41.{core::List::add}{Invariant}(#t43); |
| } |
| } |
| } =>#t41; |
| core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'. |
| var l5 = [...n3]; |
| ^"]; |
| core::List<Never> l6 = block { |
| final core::List<Never> #t44 = <Never>[]; |
| final core::Iterable<Never>? #t45 = n3; |
| if(!#t45.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t45{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t46 = :sync-for-iterator.{core::Iterator::current}; |
| #t44.{core::List::add}{Invariant}(#t46); |
| } |
| } |
| } =>#t44; |
| core::Set<self::test2::N1> s1 = block { |
| final core::Set<self::test2::N1> #t47 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| for (final self::test2::N1 #t48 in n1) |
| #t47.{core::Set::add}{Invariant}(#t48); |
| #t47.{core::Set::add}{Invariant}(n1); |
| } =>#t47; |
| core::Set<self::test2::N1> s2 = block { |
| final core::Set<self::test2::N1> #t49 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t50 = n1; |
| if(!#t50.{core::Object::==}(null)) { |
| core::Iterator<self::test2::N1> :sync-for-iterator = #t50{core::Iterable<self::test2::N1>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final self::test2::N1 #t51 = :sync-for-iterator.{core::Iterator::current}; |
| #t49.{core::Set::add}{Invariant}(#t51); |
| } |
| } |
| #t49.{core::Set::add}{Invariant}(n1); |
| } =>#t49; |
| core::Set<dynamic> s3 = block { |
| final core::Set<dynamic> #t52 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t52.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'. |
| var s3 = {...n2, n1}; |
| ^"); |
| #t52.{core::Set::add}{Invariant}(n1); |
| } =>#t52; |
| core::Set<self::test2::N1> s4 = block { |
| final core::Set<self::test2::N1> #t53 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t54 = n2; |
| if(!#t54.{core::Object::==}(null)) { |
| core::Iterator<self::test2::N1> :sync-for-iterator = #t54{core::Iterable<self::test2::N1>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final self::test2::N1 #t55 = :sync-for-iterator.{core::Iterator::current}; |
| #t53.{core::Set::add}{Invariant}(#t55); |
| } |
| } |
| #t53.{core::Set::add}{Invariant}(n1); |
| } =>#t53; |
| core::Set<dynamic> s5 = block { |
| final core::Set<dynamic> #t56 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t56.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'. |
| var s5 = {...n3, n1}; |
| ^"); |
| #t56.{core::Set::add}{Invariant}(n1); |
| } =>#t56; |
| core::Set<self::test2::N1> s6 = block { |
| final core::Set<self::test2::N1> #t57 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t58 = n3; |
| if(!#t58.{core::Object::==}(null)) { |
| core::Iterator<self::test2::N1> :sync-for-iterator = #t58{core::Iterable<self::test2::N1>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final self::test2::N1 #t59 = :sync-for-iterator.{core::Iterator::current}; |
| #t57.{core::Set::add}{Invariant}(#t59); |
| } |
| } |
| #t57.{core::Set::add}{Invariant}(n1); |
| } =>#t57; |
| core::Map<self::test2::N1, self::test2::N1> m1 = block { |
| final core::Map<self::test2::N1, self::test2::N1> #t60 = <self::test2::N1, self::test2::N1>{}; |
| { |
| core::Iterator<core::MapEntry<<BottomType>, <BottomType>>> :sync-for-iterator = n1.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<self::test2::N1, self::test2::N1> #t61 = :sync-for-iterator.{core::Iterator::current}; |
| #t60.{core::Map::[]=}{Invariant}(#t61.{core::MapEntry::key}, #t61.{core::MapEntry::value}); |
| } |
| } |
| #t60.{core::Map::[]=}{Invariant}(n1, n1); |
| } =>#t60; |
| core::Map<self::test2::N1, self::test2::N1> m2 = block { |
| final core::Map<self::test2::N1, self::test2::N1> #t62 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t63 = n1; |
| if(!#t63.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t63{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<self::test2::N1, self::test2::N1> #t64 = :sync-for-iterator.{core::Iterator::current}; |
| #t62.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}, #t64.{core::MapEntry::value}); |
| } |
| } |
| #t62.{core::Map::[]=}{Invariant}(n1, n1); |
| } =>#t62; |
| core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'. |
| var m3 = {...n2, n1: n1}; |
| ^": null, n1: n1}; |
| core::Map<self::test2::N1, self::test2::N1> m4 = block { |
| final core::Map<self::test2::N1, self::test2::N1> #t65 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t66 = n2; |
| if(!#t66.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t66{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<self::test2::N1, self::test2::N1> #t67 = :sync-for-iterator.{core::Iterator::current}; |
| #t65.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value}); |
| } |
| } |
| #t65.{core::Map::[]=}{Invariant}(n1, n1); |
| } =>#t65; |
| core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'. |
| var m5 = {...n3, n1: n1}; |
| ^": null, n1: n1}; |
| core::Map<self::test2::N1, self::test2::N1> m6 = block { |
| final core::Map<self::test2::N1, self::test2::N1> #t68 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t69 = n3; |
| if(!#t69.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t69{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<self::test2::N1, self::test2::N1> #t70 = :sync-for-iterator.{core::Iterator::current}; |
| #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value}); |
| } |
| } |
| #t68.{core::Map::[]=}{Invariant}(n1, n1); |
| } =>#t68; |
| } |
| static method main() → dynamic {} |