Files
sdk/pkg/front_end/testcases/patterns/map_pattern_inside_case.dart.weak.expect
T
Johnni Winther 5d44b804cd [cfe] Avoid unnecessary switch statements
This changes the lowering of switch expressions and pattern switch
statements without continue to only use if-then-else

Change-Id: I3bcbb634ec3153a117c4bd6692a276c1c26e648d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279964
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
2023-01-31 18:12:44 +00:00

23 lines
946 B
Plaintext

library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method test(dynamic x) → dynamic {
#L1:
{
final dynamic #0#0 = x;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C2){(core::Object?) → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C4){(core::Object?) → core::bool} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C4){(core::Object?) → dynamic}) {
{
break #L1;
}
}
}
}
constants {
#C1 = 2
#C2 = "a"
#C3 = 1
#C4 = "b"
}