| 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, core::Null? n3) → dynamic { |
| core::List<Never> l1 = block { |
| final core::List<Never> #t1 = <Never>[]; |
| for (final Never #t2 in n1) |
| #t1.{core::List::add}(#t2); |
| } =>#t1; |
| core::List<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}(#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}(#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}(#t11); |
| } |
| } |
| } =>#t9; |
| core::Set<Never> s1 = block { |
| final core::Set<Never> #t12 = new col::_CompactLinkedHashSet::•<Never>(); |
| for (final Never #t13 in n1) |
| #t12.{core::Set::add}(#t13); |
| #t12.{core::Set::add}(n1); |
| } =>#t12; |
| core::Set<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}(#t16); |
| } |
| } |
| #t14.{core::Set::add}(n1); |
| } =>#t14; |
| core::Set<dynamic> s3 = let final core::Set<dynamic> #t17 = new col::_CompactLinkedHashSet::•<dynamic>() in let final core::bool #t18 = #t17.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'. |
| var s3 = {...n2, n1}; |
| ^") in let final core::bool #t19 = #t17.{core::Set::add}(n1) in #t17; |
| core::Set<Never> s4 = block { |
| final core::Set<Never> #t20 = new col::_CompactLinkedHashSet::•<Never>(); |
| final core::Iterable<Never>? #t21 = n2; |
| if(!#t21.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t21{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t22 = :sync-for-iterator.{core::Iterator::current}; |
| #t20.{core::Set::add}(#t22); |
| } |
| } |
| #t20.{core::Set::add}(n1); |
| } =>#t20; |
| core::Set<dynamic> s5 = let final core::Set<dynamic> #t23 = new col::_CompactLinkedHashSet::•<dynamic>() in let final core::bool #t24 = #t23.{core::Set::add}(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}; |
| ^") in let final core::bool #t25 = #t23.{core::Set::add}(n1) in #t23; |
| core::Set<Never> s6 = block { |
| final core::Set<Never> #t26 = new col::_CompactLinkedHashSet::•<Never>(); |
| final core::Iterable<Never>? #t27 = n3; |
| if(!#t27.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t27{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t28 = :sync-for-iterator.{core::Iterator::current}; |
| #t26.{core::Set::add}(#t28); |
| } |
| } |
| #t26.{core::Set::add}(n1); |
| } =>#t26; |
| core::Map<Never, Never> m1 = block { |
| final core::Map<Never, Never> #t29 = <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> #t30 = :sync-for-iterator.{core::Iterator::current}; |
| #t29.{core::Map::[]=}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value}); |
| } |
| } |
| #t29.{core::Map::[]=}(n1, n1); |
| } =>#t29; |
| core::Map<Never, Never> m2 = block { |
| final core::Map<Never, Never> #t31 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t32 = n1; |
| if(!#t32.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t32{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t33 = :sync-for-iterator.{core::Iterator::current}; |
| #t31.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}); |
| } |
| } |
| #t31.{core::Map::[]=}(n1, n1); |
| } =>#t31; |
| 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> #t34 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t35 = n2; |
| if(!#t35.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t35{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t36 = :sync-for-iterator.{core::Iterator::current}; |
| #t34.{core::Map::[]=}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value}); |
| } |
| } |
| #t34.{core::Map::[]=}(n1, n1); |
| } =>#t34; |
| 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> #t37 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t38 = n3; |
| if(!#t38.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t38{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t39 = :sync-for-iterator.{core::Iterator::current}; |
| #t37.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value}); |
| } |
| } |
| #t37.{core::Map::[]=}(n1, n1); |
| } =>#t37; |
| } |
| static method test2<N1 extends Never = Never, N2 extends Never? = Never?, N3 extends core::Null? = core::Null?>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic { |
| core::List<Never> l1 = block { |
| final core::List<Never> #t40 = <Never>[]; |
| for (final Never #t41 in n1) |
| #t40.{core::List::add}(#t41); |
| } =>#t40; |
| core::List<Never> l2 = block { |
| final core::List<Never> #t42 = <Never>[]; |
| final core::Iterable<Never>? #t43 = n1; |
| if(!#t43.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t43{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t44 = :sync-for-iterator.{core::Iterator::current}; |
| #t42.{core::List::add}(#t44); |
| } |
| } |
| } =>#t42; |
| 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> #t45 = <Never>[]; |
| final core::Iterable<Never>? #t46 = n2; |
| if(!#t46.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t46{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t47 = :sync-for-iterator.{core::Iterator::current}; |
| #t45.{core::List::add}(#t47); |
| } |
| } |
| } =>#t45; |
| 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> #t48 = <Never>[]; |
| final core::Iterable<Never>? #t49 = n3; |
| if(!#t49.{core::Object::==}(null)) { |
| core::Iterator<Never> :sync-for-iterator = #t49{core::Iterable<Never>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final Never #t50 = :sync-for-iterator.{core::Iterator::current}; |
| #t48.{core::List::add}(#t50); |
| } |
| } |
| } =>#t48; |
| core::Set<self::test2::N1> s1 = block { |
| final core::Set<self::test2::N1> #t51 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| for (final self::test2::N1 #t52 in n1) |
| #t51.{core::Set::add}(#t52); |
| #t51.{core::Set::add}(n1); |
| } =>#t51; |
| core::Set<self::test2::N1> s2 = block { |
| final core::Set<self::test2::N1> #t53 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t54 = n1; |
| 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}(#t55); |
| } |
| } |
| #t53.{core::Set::add}(n1); |
| } =>#t53; |
| core::Set<dynamic> s3 = let final core::Set<dynamic> #t56 = new col::_CompactLinkedHashSet::•<dynamic>() in let final core::bool #t57 = #t56.{core::Set::add}(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}; |
| ^") in let final core::bool #t58 = #t56.{core::Set::add}(n1) in #t56; |
| core::Set<self::test2::N1> s4 = block { |
| final core::Set<self::test2::N1> #t59 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t60 = n2; |
| if(!#t60.{core::Object::==}(null)) { |
| core::Iterator<self::test2::N1> :sync-for-iterator = #t60{core::Iterable<self::test2::N1>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final self::test2::N1 #t61 = :sync-for-iterator.{core::Iterator::current}; |
| #t59.{core::Set::add}(#t61); |
| } |
| } |
| #t59.{core::Set::add}(n1); |
| } =>#t59; |
| core::Set<dynamic> s5 = let final core::Set<dynamic> #t62 = new col::_CompactLinkedHashSet::•<dynamic>() in let final core::bool #t63 = #t62.{core::Set::add}(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}; |
| ^") in let final core::bool #t64 = #t62.{core::Set::add}(n1) in #t62; |
| core::Set<self::test2::N1> s6 = block { |
| final core::Set<self::test2::N1> #t65 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t66 = n3; |
| if(!#t66.{core::Object::==}(null)) { |
| core::Iterator<self::test2::N1> :sync-for-iterator = #t66{core::Iterable<self::test2::N1>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final self::test2::N1 #t67 = :sync-for-iterator.{core::Iterator::current}; |
| #t65.{core::Set::add}(#t67); |
| } |
| } |
| #t65.{core::Set::add}(n1); |
| } =>#t65; |
| core::Map<self::test2::N1, self::test2::N1> m1 = block { |
| final core::Map<self::test2::N1, self::test2::N1> #t68 = <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> #t69 = :sync-for-iterator.{core::Iterator::current}; |
| #t68.{core::Map::[]=}(#t69.{core::MapEntry::key}, #t69.{core::MapEntry::value}); |
| } |
| } |
| #t68.{core::Map::[]=}(n1, n1); |
| } =>#t68; |
| core::Map<self::test2::N1, self::test2::N1> m2 = block { |
| final core::Map<self::test2::N1, self::test2::N1> #t70 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t71 = n1; |
| if(!#t71.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t71{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> #t72 = :sync-for-iterator.{core::Iterator::current}; |
| #t70.{core::Map::[]=}(#t72.{core::MapEntry::key}, #t72.{core::MapEntry::value}); |
| } |
| } |
| #t70.{core::Map::[]=}(n1, n1); |
| } =>#t70; |
| 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> #t73 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t74 = n2; |
| if(!#t74.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t74{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> #t75 = :sync-for-iterator.{core::Iterator::current}; |
| #t73.{core::Map::[]=}(#t75.{core::MapEntry::key}, #t75.{core::MapEntry::value}); |
| } |
| } |
| #t73.{core::Map::[]=}(n1, n1); |
| } =>#t73; |
| 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> #t76 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t77 = n3; |
| if(!#t77.{core::Object::==}(null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t77{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> #t78 = :sync-for-iterator.{core::Iterator::current}; |
| #t76.{core::Map::[]=}(#t78.{core::MapEntry::key}, #t78.{core::MapEntry::value}); |
| } |
| } |
| #t76.{core::Map::[]=}(n1, n1); |
| } =>#t76; |
| } |
| static method main() → dynamic {} |