| 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 = core::List::of<Never>(n1); |
| } =>#t1; |
| core::List<Never> l2 = block { |
| final core::List<Never> #t2 = core::_GrowableList::•<Never>(0); |
| final core::Iterable<Never>? #t3 = n1; |
| if(!(#t3 == null)) |
| #t2.{core::List::addAll}(#t3{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| } =>#t2; |
| core::List<dynamic> l3 = core::_GrowableList::_literal1<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> #t4 = core::_GrowableList::•<Never>(0); |
| final core::Iterable<Never>? #t5 = n2; |
| if(!(#t5 == null)) |
| #t4.{core::List::addAll}(#t5{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| } =>#t4; |
| core::List<dynamic> l5 = core::_GrowableList::_literal1<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> #t6 = core::_GrowableList::•<Never>(0); |
| final core::Iterable<Never>? #t7 = n3; |
| if(!(#t7 == null)) |
| #t6.{core::List::addAll}(#t7{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| } =>#t6; |
| core::Set<Never> s1 = block { |
| final core::Set<Never> #t8 = col::LinkedHashSet::of<Never>(n1); |
| #t8.{core::Set::add}(n1){(Never) → core::bool}; |
| } =>#t8; |
| core::Set<Never> s2 = block { |
| final core::Set<Never> #t9 = new col::_CompactLinkedHashSet::•<Never>(); |
| final core::Iterable<Never>? #t10 = n1; |
| if(!(#t10 == null)) |
| #t9.{core::Set::addAll}(#t10{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| #t9.{core::Set::add}(n1){(Never) → core::bool}; |
| } =>#t9; |
| core::Set<dynamic> s3 = block { |
| final core::Set<dynamic> #t11 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t11.{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}; |
| ^"){(dynamic) → core::bool}; |
| #t11.{core::Set::add}(n1){(dynamic) → core::bool}; |
| } =>#t11; |
| core::Set<Never> s4 = block { |
| final core::Set<Never> #t12 = new col::_CompactLinkedHashSet::•<Never>(); |
| final core::Iterable<Never>? #t13 = n2; |
| if(!(#t13 == null)) |
| #t12.{core::Set::addAll}(#t13{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| #t12.{core::Set::add}(n1){(Never) → core::bool}; |
| } =>#t12; |
| core::Set<dynamic> s5 = block { |
| final core::Set<dynamic> #t14 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t14.{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}; |
| ^"){(dynamic) → core::bool}; |
| #t14.{core::Set::add}(n1){(dynamic) → core::bool}; |
| } =>#t14; |
| core::Set<Never> s6 = block { |
| final core::Set<Never> #t15 = new col::_CompactLinkedHashSet::•<Never>(); |
| final core::Iterable<Never>? #t16 = n3; |
| if(!(#t16 == null)) |
| #t15.{core::Set::addAll}(#t16{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| #t15.{core::Set::add}(n1){(Never) → core::bool}; |
| } =>#t15; |
| core::Map<Never, Never> m1 = block { |
| final core::Map<Never, Never> #t17 = <Never, Never>{}; |
| { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = n1.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t18 = :sync-for-iterator.{core::Iterator::current}; |
| #t17.{core::Map::[]=}(#t18.{core::MapEntry::key}{Never}, #t18.{core::MapEntry::value}{Never}){(Never, Never) → void}; |
| } |
| } |
| #t17.{core::Map::[]=}(n1, n1){(Never, Never) → void}; |
| } =>#t17; |
| core::Map<Never, Never> m2 = block { |
| final core::Map<Never, Never> #t19 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t20 = n1; |
| if(!(#t20 == null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t20{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t21 = :sync-for-iterator.{core::Iterator::current}; |
| #t19.{core::Map::[]=}(#t21.{core::MapEntry::key}{Never}, #t21.{core::MapEntry::value}{Never}){(Never, Never) → void}; |
| } |
| } |
| #t19.{core::Map::[]=}(n1, n1){(Never, Never) → void}; |
| } =>#t19; |
| 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> #t22 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t23 = n2; |
| if(!(#t23 == null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t23{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t24 = :sync-for-iterator.{core::Iterator::current}; |
| #t22.{core::Map::[]=}(#t24.{core::MapEntry::key}{Never}, #t24.{core::MapEntry::value}{Never}){(Never, Never) → void}; |
| } |
| } |
| #t22.{core::Map::[]=}(n1, n1){(Never, Never) → void}; |
| } =>#t22; |
| 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> #t25 = <Never, Never>{}; |
| final core::Map<Never, Never>? #t26 = n3; |
| if(!(#t26 == null)) { |
| core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t26{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<Never, Never> #t27 = :sync-for-iterator.{core::Iterator::current}; |
| #t25.{core::Map::[]=}(#t27.{core::MapEntry::key}{Never}, #t27.{core::MapEntry::value}{Never}){(Never, Never) → void}; |
| } |
| } |
| #t25.{core::Map::[]=}(n1, n1){(Never, Never) → void}; |
| } =>#t25; |
| } |
| static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic { |
| core::List<Never> l1 = block { |
| final core::List<Never> #t28 = core::List::of<Never>(n1); |
| } =>#t28; |
| core::List<Never> l2 = block { |
| final core::List<Never> #t29 = core::_GrowableList::•<Never>(0); |
| final core::Iterable<Never>? #t30 = n1; |
| if(!(#t30 == null)) |
| #t29.{core::List::addAll}(#t30{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| } =>#t29; |
| core::List<dynamic> l3 = core::_GrowableList::_literal1<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> #t31 = core::_GrowableList::•<Never>(0); |
| final core::Iterable<Never>? #t32 = n2; |
| if(!(#t32 == null)) |
| #t31.{core::List::addAll}(#t32{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| } =>#t31; |
| core::List<dynamic> l5 = core::_GrowableList::_literal1<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> #t33 = core::_GrowableList::•<Never>(0); |
| final core::Iterable<Never>? #t34 = n3; |
| if(!(#t34 == null)) |
| #t33.{core::List::addAll}(#t34{core::Iterable<Never>}){(core::Iterable<Never>) → void}; |
| } =>#t33; |
| core::Set<self::test2::N1> s1 = block { |
| final core::Set<self::test2::N1> #t35 = col::LinkedHashSet::of<self::test2::N1>(n1); |
| #t35.{core::Set::add}(n1){(self::test2::N1) → core::bool}; |
| } =>#t35; |
| core::Set<self::test2::N1> s2 = block { |
| final core::Set<self::test2::N1> #t36 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t37 = n1; |
| if(!(#t37 == null)) |
| #t36.{core::Set::addAll}(#t37{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void}; |
| #t36.{core::Set::add}(n1){(self::test2::N1) → core::bool}; |
| } =>#t36; |
| core::Set<dynamic> s3 = block { |
| final core::Set<dynamic> #t38 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t38.{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}; |
| ^"){(dynamic) → core::bool}; |
| #t38.{core::Set::add}(n1){(dynamic) → core::bool}; |
| } =>#t38; |
| core::Set<self::test2::N1> s4 = block { |
| final core::Set<self::test2::N1> #t39 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t40 = n2; |
| if(!(#t40 == null)) |
| #t39.{core::Set::addAll}(#t40{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void}; |
| #t39.{core::Set::add}(n1){(self::test2::N1) → core::bool}; |
| } =>#t39; |
| core::Set<dynamic> s5 = block { |
| final core::Set<dynamic> #t41 = new col::_CompactLinkedHashSet::•<dynamic>(); |
| #t41.{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}; |
| ^"){(dynamic) → core::bool}; |
| #t41.{core::Set::add}(n1){(dynamic) → core::bool}; |
| } =>#t41; |
| core::Set<self::test2::N1> s6 = block { |
| final core::Set<self::test2::N1> #t42 = new col::_CompactLinkedHashSet::•<self::test2::N1>(); |
| final core::Iterable<self::test2::N1>? #t43 = n3; |
| if(!(#t43 == null)) |
| #t42.{core::Set::addAll}(#t43{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void}; |
| #t42.{core::Set::add}(n1){(self::test2::N1) → core::bool}; |
| } =>#t42; |
| core::Map<self::test2::N1, self::test2::N1> m1 = block { |
| final core::Map<self::test2::N1, self::test2::N1> #t44 = <self::test2::N1, self::test2::N1>{}; |
| { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = n1.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<self::test2::N1, self::test2::N1> #t45 = :sync-for-iterator.{core::Iterator::current}; |
| #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}{self::test2::N1}, #t45.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void}; |
| } |
| } |
| #t44.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void}; |
| } =>#t44; |
| core::Map<self::test2::N1, self::test2::N1> m2 = block { |
| final core::Map<self::test2::N1, self::test2::N1> #t46 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t47 = n1; |
| if(!(#t47 == null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t47{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<self::test2::N1, self::test2::N1> #t48 = :sync-for-iterator.{core::Iterator::current}; |
| #t46.{core::Map::[]=}(#t48.{core::MapEntry::key}{self::test2::N1}, #t48.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void}; |
| } |
| } |
| #t46.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void}; |
| } =>#t46; |
| 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> #t49 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t50 = n2; |
| if(!(#t50 == null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t50{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<self::test2::N1, self::test2::N1> #t51 = :sync-for-iterator.{core::Iterator::current}; |
| #t49.{core::Map::[]=}(#t51.{core::MapEntry::key}{self::test2::N1}, #t51.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void}; |
| } |
| } |
| #t49.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void}; |
| } =>#t49; |
| 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> #t52 = <self::test2::N1, self::test2::N1>{}; |
| final core::Map<self::test2::N1, self::test2::N1>? #t53 = n3; |
| if(!(#t53 == null)) { |
| core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t53{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) { |
| final core::MapEntry<self::test2::N1, self::test2::N1> #t54 = :sync-for-iterator.{core::Iterator::current}; |
| #t52.{core::Map::[]=}(#t54.{core::MapEntry::key}{self::test2::N1}, #t54.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void}; |
| } |
| } |
| #t52.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void}; |
| } =>#t52; |
| } |
| static method main() → dynamic {} |