blob: 091c5f8ee30b798f89954647cf33c620458a8ce1 [file] [log] [blame]
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;
block {
dynamic #t1;
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? #t2 = #t1 = #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 new core::StateError::•("Pattern matching error");
a = #t1;
} =>#0#0;
block {
dynamic #t3;
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 #t4 = #t3 = #1#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic} in true) && invalid-expression "declared variable pattern in assignment"))
throw new core::StateError::•("Pattern matching error");
a = #t3;
} =>#1#0;
block {
dynamic #t5;
final synthesized dynamic #2#0 = z as{TypeError,ForDynamic} self::Class;
function ##2#3#initializer() → dynamic
return (#2#0 as{Unchecked} self::Class).{self::Class::field2}{dynamic};
late final synthesized dynamic #2#3 = ##2#3#initializer(){() → dynamic};
function ##2#9#initializer() → dynamic
return (#2#3 as{Unchecked} core::List<dynamic>).{core::List::[]}(0){(core::int) → dynamic};
late final synthesized dynamic #2#9 = ##2#9#initializer(){() → dynamic};
function ##2#16#initializer() → dynamic
return (#2#3 as{Unchecked} core::List<dynamic>).{core::List::[]}(1){(core::int) → dynamic};
late final synthesized dynamic #2#16 = ##2#16#initializer(){() → dynamic};
if(!(#2#0 is self::Class && (let final dynamic #t6 = #t5 = #2#0{self::Class}.{self::Class::field1}{dynamic} in true) && (#2#3 is core::List<dynamic> && #2#3{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && (#2#9 is core::List<dynamic> && #2#9{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && invalid-expression "declared variable pattern in assignment") && (#2#16 is core::List<dynamic> && #2#16{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 new core::StateError::•("Pattern matching error");
a = #t5;
} =>#2#0;
}
constants {
#C1 = 2
}