Files
sdk/pkg/front_end/testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.strong.expect
T
Johnni Winther 23f09803e2 [cfe] Mark pattern variables as having a declared initializer
Closes #51710

Change-Id: I204ec4b671835b8d51056871ab89365d9afb78b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292702
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
2023-04-03 10:08:46 +00:00

18 lines
802 B
Plaintext

library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method f(dynamic x) → dynamic {
hoisted has-declared-initializer dynamic a;
{
final synthesized dynamic #0#0 = x as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>;
late final synthesized dynamic #0#4 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic};
if(!(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (!(#0#4 == null) || null is{ForNonNullableByDefault} dynamic && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool}) && (let final dynamic #t1 = a = #0#4 in true)))
throw new core::StateError::•("Pattern matching error");
}
}
constants {
#C1 = "a"
}