| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/patterns/pattern_assignment_declares.dart:12:11: Error: Variable 'b' can't be declared in a pattern assignment. |
| // Try using a preexisting variable or changing the assignment to a pattern variable declaration. |
| // (a, int b, final int c) = x; |
| // ^ |
| // |
| // pkg/front_end/testcases/patterns/pattern_assignment_declares.dart:12:24: Error: Variable 'c' can't be declared in a pattern assignment. |
| // Try using a preexisting variable or changing the assignment to a pattern variable declaration. |
| // (a, int b, final int c) = x; |
| // ^ |
| // |
| // pkg/front_end/testcases/patterns/pattern_assignment_declares.dart:13:13: Error: Variable 'd' can't be declared in a pattern assignment. |
| // Try using a preexisting variable or changing the assignment to a pattern variable declaration. |
| // [a, final d] = y; |
| // ^ |
| // |
| // pkg/front_end/testcases/patterns/pattern_assignment_declares.dart:14:34: Error: Variable 'e' can't be declared in a pattern assignment. |
| // Try using a preexisting variable or changing the assignment to a pattern variable declaration. |
| // Class(field1: a, field2: [[var e, _], [1, var f]]) = z; |
| // ^ |
| // |
| // pkg/front_end/testcases/patterns/pattern_assignment_declares.dart:14:49: Error: Variable 'f' can't be declared in a pattern assignment. |
| // Try using a preexisting variable or changing the assignment to a pattern variable declaration. |
| // Class(field1: a, field2: [[var e, _], [1, var f]]) = z; |
| // ^ |
| // |
| // pkg/front_end/testcases/patterns/pattern_assignment_declares.dart:14:42: Error: Refutable patterns can't be used in an irrefutable context. |
| // Try using an if-case, a 'switch' statement, or a 'switch' expression instead. |
| // Class(field1: a, field2: [[var e, _], [1, var f]]) = z; |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| class Class extends core::Object { |
| field dynamic field1 = null; |
| field dynamic field2 = null; |
| synthetic constructor •() → self::Class |
| : super core::Object::•() |
| ; |
| } |
| static method method(dynamic x, dynamic y, dynamic z) → dynamic { |
| dynamic a; |
| { |
| final synthesized dynamic #0#0 = x as{TypeError,ForDynamic} (dynamic, invalid-type, invalid-type); |
| if(!(#0#0 is (core::Object?, core::Object?, core::Object?) && (let final core::Object? #t1 = a = #0#0{(core::Object?, core::Object?, core::Object?)}.$1{core::Object?} in true) && invalid-expression "declared variable pattern in assignment" && invalid-expression "declared variable pattern in assignment")) |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); |
| } |
| { |
| final synthesized dynamic #1#0 = y as{TypeError,ForDynamic} core::List<invalid-type>; |
| if(!(#1#0 is core::List<dynamic> && #1#0{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && (let final dynamic #t2 = a = #1#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic} in true) && invalid-expression "declared variable pattern in assignment")) |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); |
| } |
| { |
| final synthesized dynamic #2#0 = z as{TypeError,ForDynamic} self::Class; |
| synthesized dynamic #2#3; |
| synthesized core::bool #2#3#isSet = false; |
| synthesized dynamic #2#9; |
| synthesized core::bool #2#9#isSet = false; |
| synthesized dynamic #2#16; |
| synthesized core::bool #2#16#isSet = false; |
| if(!(#2#0 is self::Class && (let final dynamic #t3 = a = #2#0{self::Class}.{self::Class::field1}{dynamic} in true) && ((#2#3#isSet ?{dynamic} #2#3{dynamic} : let final core::bool* #t4 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) is core::List<dynamic> && ((#2#3#isSet ?{dynamic} #2#3{dynamic} : let final core::bool* #t5 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && ((#2#9#isSet ?{dynamic} #2#9{dynamic} : let final core::bool* #t6 = #2#9#isSet = true in #2#9 = ((#2#3#isSet ?{dynamic} #2#3{dynamic} : let final core::bool* #t7 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(0){(core::int) → dynamic}) is core::List<dynamic> && ((#2#9#isSet ?{dynamic} #2#9{dynamic} : let final core::bool* #t8 = #2#9#isSet = true in #2#9 = ((#2#3#isSet ?{dynamic} #2#3{dynamic} : let final core::bool* #t9 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(0){(core::int) → dynamic}) as{Unchecked} core::List<dynamic>).{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && invalid-expression "declared variable pattern in assignment") && ((#2#16#isSet ?{dynamic} #2#16{dynamic} : let final core::bool* #t10 = #2#16#isSet = true in #2#16 = ((#2#3#isSet ?{dynamic} #2#3{dynamic} : let final core::bool* #t11 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(1){(core::int) → dynamic}) is core::List<dynamic> && ((#2#16#isSet ?{dynamic} #2#16{dynamic} : let final core::bool* #t12 = #2#16#isSet = true in #2#16 = ((#2#3#isSet ?{dynamic} #2#3{dynamic} : let final core::bool* #t13 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(1){(core::int) → dynamic}) as{Unchecked} core::List<dynamic>).{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && invalid-expression "pkg/front_end/testcases/patterns/pattern_assignment_declares.dart:14:42: Error: Refutable patterns can't be used in an irrefutable context. |
| Try using an if-case, a 'switch' statement, or a 'switch' expression instead. |
| Class(field1: a, field2: [[var e, _], [1, var f]]) = z; |
| ^" && invalid-expression "declared variable pattern in assignment")))) |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); |
| } |
| } |
| |
| constants { |
| #C1 = 2 |
| } |