| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/patterns/non_bool_guard.dart:7:28: Error: Conditions must have a static type of 'bool'. |
| // Try changing the condition. |
| // case [var a, _] when a - 1: |
| // ^ |
| // |
| // pkg/front_end/testcases/patterns/non_bool_guard.dart:15:32: Error: Conditions must have a static type of 'bool'. |
| // Try changing the condition. |
| // if (v case [var a, _] when a - 1) { |
| // ^ |
| // |
| // pkg/front_end/testcases/patterns/non_bool_guard.dart:23:23: Error: Conditions must have a static type of 'bool'. |
| // Try changing the condition. |
| // [var a, _] when a - 1 => "match", |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| static method test1(core::List<core::int> v) → core::String { |
| #L1: |
| { |
| final synthesized core::List<core::int> #0#0 = v; |
| { |
| hoisted core::int a; |
| if(#0#0.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && (let final dynamic #t1 = a = #0#0.{core::List::[]}(0){(core::int) → core::int} in true) && invalid-expression "pkg/front_end/testcases/patterns/non_bool_guard.dart:7:28: Error: Conditions must have a static type of 'bool'. |
| Try changing the condition. |
| case [var a, _] when a - 1: |
| ^") { |
| { |
| return "match"; |
| } |
| } |
| } |
| { |
| { |
| { |
| return "no match"; |
| } |
| } |
| } |
| } |
| } |
| static method test2(core::List<core::int> v) → core::String { |
| { |
| final synthesized core::List<core::int> #0#0 = v; |
| { |
| hoisted core::int a; |
| if(#0#0.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && (let final dynamic #t2 = a = #0#0.{core::List::[]}(0){(core::int) → core::int} in true) && invalid-expression "pkg/front_end/testcases/patterns/non_bool_guard.dart:15:32: Error: Conditions must have a static type of 'bool'. |
| Try changing the condition. |
| if (v case [var a, _] when a - 1) { |
| ^") { |
| return "match"; |
| } |
| } |
| } |
| return "no match"; |
| } |
| static method test3(core::List<core::int> v) → core::String |
| return block { |
| core::String #t3; |
| final synthesized core::List<core::int> #0#0 = v; |
| #L2: |
| { |
| { |
| hoisted core::int a; |
| if(#0#0.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && (let final dynamic #t4 = a = #0#0.{core::List::[]}(0){(core::int) → core::int} in true) && invalid-expression "pkg/front_end/testcases/patterns/non_bool_guard.dart:23:23: Error: Conditions must have a static type of 'bool'. |
| Try changing the condition. |
| [var a, _] when a - 1 => \"match\", |
| ^") { |
| #t3 = "match"; |
| break #L2; |
| } |
| } |
| { |
| if(true) { |
| #t3 = "no match"; |
| break #L2; |
| } |
| } |
| } |
| } =>#t3; |
| |
| constants { |
| #C1 = 2 |
| } |