[cfe] Improve switch encoding

Addresses https://github.com/dart-lang/sdk/issues/51554#issuecomment-1466946211

Closes #51391

TEST=existing

Change-Id: Idec105dcfde4a91d0a21a1907777d6c07e5f01b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/289224
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
This commit is contained in:
Johnni Winther
2023-03-20 15:21:52 +00:00
committed by Commit Queue
parent b2f4cf3e01
commit 6d2e6f9452
1092 changed files with 22558 additions and 14113 deletions
@@ -502,9 +502,6 @@ Field? getLateFieldTarget(Member node) {
///
/// The default value of this variable is `null`.
bool isLateLoweredLocal(VariableDeclaration node) {
assert(node.isLowered ||
node.name == null ||
!isLateLoweredLocalName(node.name!));
return node.isLowered && isLateLoweredLocalName(node.name!);
}
@@ -515,7 +512,8 @@ bool isLateLoweredLocalName(String name) {
name.startsWith(lateLocalPrefix) &&
!name.endsWith(lateIsSetSuffix) &&
!name.endsWith(lateLocalGetterSuffix) &&
!name.endsWith(lateLocalSetterSuffix);
!name.endsWith(lateLocalSetterSuffix) &&
!name.contains(joinedIntermediateInfix);
}
/// Returns the name of the original late local variable from the [name] of the
@@ -547,9 +545,6 @@ String extractLocalNameFromLateLoweredLocal(String name) {
///
/// The default value of this variable is `false`.
bool isLateLoweredIsSetLocal(VariableDeclaration node) {
assert(node.isLowered ||
node.name == null ||
!isLateLoweredIsSetLocalName(node.name!));
return node.isLowered && isLateLoweredIsSetLocalName(node.name!);
}
@@ -586,9 +581,6 @@ String extractLocalNameFromLateLoweredIsSet(String name) {
///
/// where '#local#get' is the local function for reading the variable.
bool isLateLoweredLocalGetter(VariableDeclaration node) {
assert(node.isLowered ||
node.name == null ||
!isLateLoweredLocalGetterName(node.name!));
return node.isLowered && isLateLoweredLocalGetterName(node.name!);
}
@@ -627,9 +619,6 @@ String extractLocalNameFromLateLoweredGetter(String name) {
/// where '#local#set' is the local function for setting the value of the
/// variable.
bool isLateLoweredLocalSetter(VariableDeclaration node) {
assert(node.isLowered ||
node.name == null ||
!isLateLoweredLocalSetterName(node.name!));
return node.isLowered && isLateLoweredLocalSetterName(node.name!);
}
@@ -737,6 +726,83 @@ String? _extractLocalName(String name) {
return extractLocalNameFromLateLoweredSetter(name);
} else if (isLateLoweredIsSetLocalName(name)) {
return extractLocalNameFromLateLoweredIsSet(name);
} else if (isJoinedIntermediateName(name)) {
return extractJoinedIntermediateName(name);
}
return null;
}
/// Infix used for the name of a joined intermediate variable.
///
/// See [isJoinedIntermediateName] for details.
const String joinedIntermediateInfix = "#case#";
/// Returns `true` if [node] is a joined intermediate variable.
///
/// See [isJoinedIntermediateName] for details.
bool isJoinedIntermediateVariable(VariableDeclaration node) {
return node.isLowered &&
node.name != null &&
isJoinedIntermediateName(node.name!);
}
/// Returns `true` if [name] is the name of the "joined intermediate" variable
/// for a "joined local variable".
///
/// A joined local variable occurs when variables of the same name are declared
/// in multiple switch cases for the same body. For instance
///
/// switch (o) {
/// case [var a, _] when a > 5:
/// case [_, var a] when a < 5:
/// print(a);
/// }
///
/// In this cases the 'a' in `print(a)` is a joined variable but the 'a'
/// variables used in the guards of the case are joined intermediate variables:
///
/// {
/// var a#case#0; // intermediate variable for the joined variable 'a'.
/// var a#case#1; // intermediate variable for the joined variable 'a'.
/// var #t1; // temporary variable for the joined variable 'a'.
/// if (o is List<dynamic> &&
/// o.length == 2 &&
/// let #1 in #t1 = a#case#0 = o[0] in true &&
/// a#case#0 > 5 ||
/// o is List<dynamic> &&
/// o.length == 2 &&
/// let #1 in #t1 = a#case#1 = o[1] in true &&
/// a#case#1 < 5) {
/// var a = #t1;
/// {
/// print(a);
/// }
/// }
/// }
///
bool isJoinedIntermediateName(String name) {
int index = name.indexOf(joinedIntermediateInfix);
if (index == -1) {
return false;
}
return int.tryParse(name.substring(index + joinedIntermediateInfix.length)) !=
null;
}
/// Returns the original name for a joined intermediate variable from the [name]
/// of the lowered variable.
///
/// This method assumes that `isJoinedIntermediateName(name)` is `true`.
///
/// See [isJoinedIntermediateName] for details.
String extractJoinedIntermediateName(String name) {
int index = name.indexOf(joinedIntermediateInfix);
return name.substring(0, index);
}
/// Infix used for the name of a joined intermediate variable.
///
/// See [isJoinedIntermediateName] for details.
String createJoinedIntermediateName(String variableName, int index) {
return '$variableName$joinedIntermediateInfix$index';
}
File diff suppressed because it is too large Load Diff
@@ -4,7 +4,6 @@
import 'package:_fe_analyzer_shared/src/testing/id.dart';
import 'package:kernel/ast.dart';
import '../api_prototype/lowering_predicates.dart';
/// Compute a canonical [Id] for kernel-based nodes.
MemberId computeMemberId(Member node) {
@@ -298,9 +297,9 @@ abstract class DataExtractor<T> extends Visitor<void>
computeForNode(
node,
computeDefaultNodeId(node,
// TODO(johnniwinther): Remove this when late lowered setter
// functions can have an offset.
skipNodeWithNoOffset: isLateLoweredLocalSetter(node.variable)));
// TODO(johnniwinther): Remove this when synthesized local functions
// can have (same) offsets without breaking the VM.
skipNodeWithNoOffset: true));
super.visitFunctionDeclaration(node);
}
@@ -3,11 +3,23 @@
// BSD-style license that can be found in the LICENSE file.
extension Extension on int {
int /*extensionThis*/ instanceMethod() => this;
int /*
extensionThis,
name=this
*/
instanceMethod() => this;
int get /*extensionThis*/ instanceGetter => this;
int get /*
extensionThis,
name=this
*/
instanceGetter => this;
void set /*extensionThis*/ instanceSetter(int value) {}
void set /*
extensionThis,
name=this
*/
instanceSetter(int value) {}
static int staticMethod() => 42;
+26 -14
View File
@@ -772,14 +772,16 @@ method() {
/*
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=localNonNullableWithoutInitializer
*/
localNonNullableWithoutInitializer;
late final int
/*
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=finalLocalNonNullableWithoutInitializer
*/
finalLocalNonNullableWithoutInitializer;
late int?
@@ -787,12 +789,14 @@ method() {
lateIsSetLocal,
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=localNullableWithoutInitializer
*/
/*sentinel.
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=localNullableWithoutInitializer
*/
localNullableWithoutInitializer;
late final int?
@@ -800,48 +804,56 @@ method() {
lateIsSetLocal,
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=finalLocalNullableWithoutInitializer
*/
/*sentinel.
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=finalLocalNullableWithoutInitializer
*/
finalLocalNullableWithoutInitializer;
late int
/*
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=localNonNullableWithInitializer
*/
localNonNullableWithInitializer = 21;
late final int /*
lateLocal,
lateLocalGetter
*/
lateLocal,
lateLocalGetter,
name=finalLocalNonNullableWithInitializer
*/
finalLocalNonNullableWithInitializer = 22;
late int?
/*is-null.
lateIsSetLocal,
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=localNullableWithInitializer
*/
/*sentinel.
lateLocal,
lateLocalGetter,
lateLocalSetter
lateLocalSetter,
name=localNullableWithInitializer
*/
localNullableWithInitializer = 23;
late final int?
/*is-null.
lateIsSetLocal,
lateLocal,
lateLocalGetter
lateLocalGetter,
name=finalLocalNullableWithInitializer
*/
/*sentinel.
lateLocal,
lateLocalGetter
lateLocalGetter,
name=finalLocalNullableWithInitializer
*/
finalLocalNullableWithInitializer = 24;
}
@@ -0,0 +1,17 @@
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
method(o) {
switch (o) {
case [var /*
joinedIntermediate,
name=a
*/a] when a > 5:
case [_, var /*
joinedIntermediate,
name=a
*/a] when a < 5:
print(a);
}
}
@@ -51,6 +51,8 @@ Future<void> main(List<String> args) async {
}
class Tags {
static const String name = 'name';
static const String lateField = 'lateField';
static const String lateFieldName = 'lateFieldName';
static const String lateIsSetField = 'lateIsSetField';
@@ -69,6 +71,8 @@ class Tags {
static const String tearoffLowering = 'tearoffLowering';
static const String tearoffConstructor = 'tearoffConstructor';
static const String tearoffTypedef = 'tearoffTypedef';
static const String joinedIntermediate = 'joinedIntermediate';
}
class PredicateDataComputer extends DataComputer<Features> {
@@ -99,8 +103,8 @@ class PredicateDataComputer extends DataComputer<Features> {
}
class PredicateDataExtractor extends CfeDataExtractor<Features> {
Map<String, Features> featureMap = {};
Map<String, NodeId> nodeIdMap = {};
Map<Object?, Features> featureMap = {};
Map<Object?, NodeId> nodeIdMap = {};
PredicateDataExtractor(InternalCompilerResult compilerResult,
Map<Id, ActualData<Features>> actualMap)
@@ -170,12 +174,12 @@ class PredicateDataExtractor extends CfeDataExtractor<Features> {
@override
void visitProcedure(Procedure node) {
super.visitProcedure(node);
nodeIdMap.forEach((String name, NodeId id) {
Features? features = featureMap[name];
nodeIdMap.forEach((Object? identity, NodeId id) {
Features? features = featureMap[identity];
if (features != null) {
TreeNode nodeWithOffset = computeTreeNodeWithOffset(node)!;
registerValue(
nodeWithOffset.location!.file, id.value, id, features, name);
nodeWithOffset.location!.file, id.value, id, features, '$identity');
}
});
nodeIdMap.clear();
@@ -184,33 +188,45 @@ class PredicateDataExtractor extends CfeDataExtractor<Features> {
@override
void visitVariableDeclaration(VariableDeclaration node) {
Object? identity;
String? name;
String? tag;
if (isLateLoweredLocal(node)) {
name = extractLocalNameFromLateLoweredLocal(node.name!);
tag = Tags.lateLocal;
identity = name;
} else if (isLateLoweredIsSetLocal(node)) {
name = extractLocalNameFromLateLoweredIsSet(node.name!);
tag = Tags.lateIsSetLocal;
identity = name;
} else if (isLateLoweredLocalGetter(node)) {
name = extractLocalNameFromLateLoweredGetter(node.name!);
tag = Tags.lateLocalGetter;
identity = name;
} else if (isLateLoweredLocalSetter(node)) {
name = extractLocalNameFromLateLoweredSetter(node.name!);
tag = Tags.lateLocalSetter;
identity = name;
} else if (isExtensionThis(node)) {
name = extractLocalNameForExtensionThis(node.name!);
tag = Tags.extensionThis;
identity = name;
} else if (isJoinedIntermediateVariable(node)) {
name = extractJoinedIntermediateName(node.name!);
tag = Tags.joinedIntermediate;
identity = node;
} else if (node.name != null) {
name = node.name;
identity = name;
}
if (name != null) {
if (node.fileOffset != TreeNode.noOffset) {
nodeIdMap[name] ??= new NodeId(node.fileOffset, IdKind.node);
nodeIdMap[identity] ??= new NodeId(node.fileOffset, IdKind.node);
}
if (tag != null) {
Features features = featureMap[name] ??= new Features();
Features features = featureMap[identity] ??= new Features();
features.add(tag);
features[Tags.name] = name;
}
}
super.visitVariableDeclaration(node);
@@ -1498,6 +1498,7 @@ supernode
supers
suppose
surprising
surrounded
suspended
svar
svg
@@ -16,76 +16,57 @@ static const field core::int var8 = #C6;
static const field core::int var9 = #C3;
static method basicSwitch(core::int x) → core::int {
#L1:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C7:
{
return 100;
}
}
else {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
}
return x;
}
static method multipleCaseSwitch(core::int x) → core::int {
#L2:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C8 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(x) {
#L5:
case #C7:
case #C8:
{
return 100;
}
}
else {
#L6:
default:
{
break #L2;
break #L4;
}
}
}
return 0;
}
static method continueLabelSwitch(core::int x) → core::int {
#L3:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C8 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 2;
switch(#t1) {
#L4:
case #C3:
{
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L5;
}
}
#L6:
case #C7:
{
{
continue #L4;
}
}
#L5:
case #C8:
{
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
}
#L7:
switch(x) {
#L8:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L9;
}
#L10:
case #C8:
{
continue #L8;
}
#L9:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
}
@@ -16,76 +16,57 @@ static const field core::int var8 = #C6;
static const field core::int var9 = #C3;
static method basicSwitch(core::int x) → core::int {
#L1:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C7:
{
return 100;
}
}
else {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
}
return x;
}
static method multipleCaseSwitch(core::int x) → core::int {
#L2:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C8 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(x) {
#L5:
case #C7:
case #C8:
{
return 100;
}
}
else {
#L6:
default:
{
break #L2;
break #L4;
}
}
}
return 0;
}
static method continueLabelSwitch(core::int x) → core::int {
#L3:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C8 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 2;
switch(#t1) {
#L4:
case #C3:
{
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L5;
}
}
#L6:
case #C7:
{
{
continue #L4;
}
}
#L5:
case #C8:
{
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
}
#L7:
switch(x) {
#L8:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L9;
}
#L10:
case #C8:
{
continue #L8;
}
#L9:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
}
@@ -16,76 +16,57 @@ static const field core::int var8 = #C6;
static const field core::int var9 = #C3;
static method basicSwitch(core::int x) → core::int {
#L1:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C7:
{
return 100;
}
}
else {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
}
return x;
}
static method multipleCaseSwitch(core::int x) → core::int {
#L2:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C8 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(x) {
#L5:
case #C7:
case #C8:
{
return 100;
}
}
else {
#L6:
default:
{
break #L2;
break #L4;
}
}
}
return 0;
}
static method continueLabelSwitch(core::int x) → core::int {
#L3:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C8 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 2;
switch(#t1) {
#L4:
case #C3:
{
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L5;
}
}
#L6:
case #C7:
{
{
continue #L4;
}
}
#L5:
case #C8:
{
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
}
#L7:
switch(x) {
#L8:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L9;
}
#L10:
case #C8:
{
continue #L8;
}
#L9:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
}
@@ -16,76 +16,57 @@ static const field core::int var8 = #C6;
static const field core::int var9 = #C3;
static method basicSwitch(core::int x) → core::int {
#L1:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C7:
{
return 100;
}
}
else {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
}
return x;
}
static method multipleCaseSwitch(core::int x) → core::int {
#L2:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C8 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(x) {
#L5:
case #C7:
case #C8:
{
return 100;
}
}
else {
#L6:
default:
{
break #L2;
break #L4;
}
}
}
return 0;
}
static method continueLabelSwitch(core::int x) → core::int {
#L3:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C8 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 2;
switch(#t1) {
#L4:
case #C3:
{
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L5;
}
}
#L6:
case #C7:
{
{
continue #L4;
}
}
#L5:
case #C8:
{
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
}
#L7:
switch(x) {
#L8:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L9;
}
#L10:
case #C8:
{
continue #L8;
}
#L9:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
}
@@ -16,76 +16,57 @@ static const field core::int var8 = #C6;
static const field core::int var9 = #C3;
static method basicSwitch(core::int x) → core::int {
#L1:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C7:
{
return 100;
}
}
else {
#L3:
default:
{
x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
}
return x;
}
static method multipleCaseSwitch(core::int x) → core::int {
#L2:
{
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C8 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(x) {
#L5:
case #C7:
case #C8:
{
return 100;
}
}
else {
#L6:
default:
{
break #L2;
break #L4;
}
}
}
return 0;
}
static method continueLabelSwitch(core::int x) → core::int {
#L3:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C7 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C8 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 2;
switch(#t1) {
#L4:
case #C3:
{
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L5;
}
}
#L6:
case #C7:
{
{
continue #L4;
}
}
#L5:
case #C8:
{
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
}
#L7:
switch(x) {
#L8:
case #C7:
{
x = x.{core::num::+}(100){(core::num) → core::int};
continue #L9;
}
#L10:
case #C8:
{
continue #L8;
}
#L9:
case #C2:
{
return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
}
@@ -191,18 +191,17 @@ static method controlFlow() → dynamic async /* futureValueType= dynamic */ {
self::expect(0, await func<core::int>(0){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ );
}
#L1:
{
final synthesized core::int #0#0 = await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
if(#C3 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ) {
#L2:
case #C3:
{
break #L1;
}
}
else {
#L3:
default:
{
throw "unreachable";
}
}
}
self::expect(42, await(() → asy::Future<core::int> async /* futureValueType= core::int */ {
return await func<core::int>(42){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
@@ -201,18 +201,17 @@ static method controlFlow() → dynamic async /* futureValueType= dynamic */ {
self::expect(0, await func<core::int>(0){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ );
}
#L1:
{
final synthesized core::int #0#0 = await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
if(#C3 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ) {
#L2:
case #C3:
{
break #L1;
}
}
else {
#L3:
default:
{
throw "unreachable";
}
}
}
self::expect(42, await(() → asy::Future<core::int> async /* futureValueType= core::int */ {
return await func<core::int>(42){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
@@ -192,18 +192,17 @@ static method controlFlow() → dynamic async /* futureValueType= dynamic */ {
self::expect(0, await func<core::int>(0){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ );
}
#L1:
{
final synthesized core::int #0#0 = await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
if(#C3 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ) {
#L2:
case #C3:
{
break #L1;
}
}
else {
#L3:
default:
{
throw "unreachable";
}
}
}
self::expect(42, await(() → asy::Future<core::int> async /* futureValueType= core::int */ {
return await func<core::int>(42){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
@@ -192,18 +192,17 @@ static method controlFlow() → dynamic async /* futureValueType= dynamic */ {
self::expect(0, await func<core::int>(0){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ );
}
#L1:
{
final synthesized core::int #0#0 = await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
if(#C3 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ) {
#L2:
case #C3:
{
break #L1;
}
}
else {
#L3:
default:
{
throw "unreachable";
}
}
}
self::expect(42, await(() → asy::Future<core::int> async /* futureValueType= core::int */ {
return await func<core::int>(42){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
@@ -202,18 +202,17 @@ static method controlFlow() → dynamic async /* futureValueType= dynamic */ {
self::expect(0, await func<core::int>(0){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ );
}
#L1:
{
final synthesized core::int #0#0 = await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
if(#C3 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(await func<core::int>(2){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ) {
#L2:
case #C3:
{
break #L1;
}
}
else {
#L3:
default:
{
throw "unreachable";
}
}
}
self::expect(42, await(() → asy::Future<core::int> async /* futureValueType= core::int */ {
return await func<core::int>(42){(core::int) → FutureOr<core::int>} /* runtimeCheckType= asy::Future<core::int> */ ;
@@ -3,5 +3,6 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
}
}
@@ -3,5 +3,6 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
}
}
@@ -3,5 +3,6 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
}
}
@@ -3,5 +3,6 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
}
}
@@ -3,5 +3,6 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
}
}
@@ -76,6 +76,7 @@ B get x => super.x;
^^^^^"{<invalid>}.x;
static method f() → void {
#L1:
{}
switch(self::x.{self::A::y}{invalid-type}{<invalid>}.z) {
}
}
static method main() → dynamic {}
@@ -76,6 +76,7 @@ B get x => super.x;
^^^^^"{<invalid>}.x;
static method f() → void {
#L1:
{}
switch(self::x.{self::A::y}{invalid-type}{<invalid>}.z) {
}
}
static method main() → dynamic {}
@@ -76,6 +76,7 @@ B get x => super.x;
^^^^^"{<invalid>}.x;
static method f() → void {
#L1:
{}
switch(self::x.{self::A::y}{invalid-type}{<invalid>}.z) {
}
}
static method main() → dynamic {}
@@ -76,6 +76,7 @@ B get x => super.x;
^^^^^"{<invalid>}.x;
static method f() → void {
#L1:
{}
switch(self::x.{self::A::y}{invalid-type}{<invalid>}.z) {
}
}
static method main() → dynamic {}
@@ -76,6 +76,7 @@ B get x => super.x;
^^^^^"{<invalid>}.x;
static method f() → void {
#L1:
{}
switch(self::x.{self::A::y}{invalid-type}{<invalid>}.z) {
}
}
static method main() → dynamic {}
@@ -67,125 +67,111 @@ class B extends core::_Enum /*isEnum*/ {
}
static method a1(self::A? a) → core::int? {
#L1:
{
final synthesized self::A? #0#0 = a;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(a) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return 0;
}
}
}
}
static method a2(self::A? a) → core::int? {
#L2:
{
final synthesized self::A? #0#0 = a;
if(#0#0 == null) {
#L3:
switch(a) /*isExplicitlyExhaustive*/ {
#L4:
case #C11:
{
return null;
}
}
else
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L5:
case #C3:
{
return 0;
}
}
}
static method b1(self::B b) → core::int {
#L3:
{
final synthesized self::B #0#0 = b;
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L6:
switch(b) /*isExplicitlyExhaustive*/ {
#L7:
case #C8:
{
return 0;
}
}
else
if(#C9 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L8:
case #C9:
{
return 1;
}
}
}
static method b2(self::B? b) → core::int? {
#L4:
{
final synthesized self::B? #0#0 = b;
if(#0#0 == null) {
#L9:
switch(b) /*isExplicitlyExhaustive*/ {
#L10:
case #C11:
{
return null;
}
}
else
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L11:
case #C8:
{
return 0;
}
}
}
static method c1(mai::C? c) → core::int? {
#L5:
{
final synthesized mai::C? #0#0 = c;
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L12:
switch(c) /*isExplicitlyExhaustive*/ {
#L13:
case #C12:
{
return 0;
}
}
}
}
static method c2(mai::C? c) → core::int? {
#L6:
{
final synthesized mai::C? #0#0 = c;
if(#0#0 == null) {
#L14:
switch(c) /*isExplicitlyExhaustive*/ {
#L15:
case #C11:
{
return null;
}
}
else
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L16:
case #C12:
{
return 0;
}
}
}
static method d1(mai::D d) → core::int {
#L7:
{
final synthesized mai::D #0#0 = d;
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L17:
switch(d) /*isExplicitlyExhaustive*/ {
#L18:
case #C13:
{
return 0;
}
}
else
if(#C13 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L19:
case #C14:
{
return 1;
}
}
}
static method d2(mai::D? d) → core::int? {
#L8:
{
final synthesized mai::D? #0#0 = d;
if(#0#0 == null) {
#L20:
switch(d) /*isExplicitlyExhaustive*/ {
#L21:
case #C11:
{
return null;
}
}
else
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L22:
case #C13:
{
return 0;
}
}
}
@@ -194,10 +180,10 @@ static method main() → void {
self::a2(#C6);
self::b1(#C9);
self::b2(#C9);
self::c1(#C14);
self::c2(#C14);
self::d1(#C13);
self::d2(#C13);
self::c1(#C15);
self::c2(#C15);
self::d1(#C14);
self::d2(#C14);
}
library /*isNonNullableByDefault*/;
@@ -205,9 +191,9 @@ import self as mai;
import "dart:core" as core;
class C extends core::_Enum /*isEnum*/ {
static const field core::List<mai::C> values = #C15;
enum-element static const field mai::C a = #C11;
enum-element static const field mai::C b = #C14;
static const field core::List<mai::C> values = #C16;
enum-element static const field mai::C a = #C12;
enum-element static const field mai::C b = #C15;
const constructor •(core::int #index, core::String #name) → mai::C
: super core::_Enum::•(#index, #name)
;
@@ -215,10 +201,10 @@ class C extends core::_Enum /*isEnum*/ {
return "C.${this.{core::_Enum::_name}{core::String}}";
}
class D extends core::_Enum /*isEnum*/ {
static const field core::List<mai::D> values = #C16;
static const field mai::D c = #C12;
enum-element static const field mai::D a = #C12;
enum-element static const field mai::D b = #C13;
static const field core::List<mai::D> values = #C17;
static const field mai::D c = #C13;
enum-element static const field mai::D a = #C13;
enum-element static const field mai::D b = #C14;
const constructor •(core::int #index, core::String #name) → mai::D
: super core::_Enum::•(#index, #name)
;
@@ -237,12 +223,13 @@ constants {
#C8 = self::B {index:#C1, _name:#C2}
#C9 = self::B {index:#C4, _name:#C5}
#C10 = <self::B>[#C8, #C9]
#C11 = mai::C {index:#C1, _name:#C2}
#C12 = mai::D {index:#C1, _name:#C2}
#C13 = mai::D {index:#C4, _name:#C5}
#C14 = mai::C {index:#C4, _name:#C5}
#C15 = <mai::C>[#C11, #C14]
#C16 = <mai::D>[#C12, #C13]
#C11 = null
#C12 = mai::C {index:#C1, _name:#C2}
#C13 = mai::D {index:#C1, _name:#C2}
#C14 = mai::D {index:#C4, _name:#C5}
#C15 = mai::C {index:#C4, _name:#C5}
#C16 = <mai::C>[#C12, #C15]
#C17 = <mai::D>[#C13, #C14]
}
@@ -67,125 +67,111 @@ class B extends core::_Enum /*isEnum*/ {
}
static method a1(self::A? a) → core::int? {
#L1:
{
final synthesized self::A? #0#0 = a;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(a) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return 0;
}
}
}
}
static method a2(self::A? a) → core::int? {
#L2:
{
final synthesized self::A? #0#0 = a;
if(#0#0 == null) {
#L3:
switch(a) /*isExplicitlyExhaustive*/ {
#L4:
case #C11:
{
return null;
}
}
else
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L5:
case #C3:
{
return 0;
}
}
}
static method b1(self::B b) → core::int {
#L3:
{
final synthesized self::B #0#0 = b;
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L6:
switch(b) /*isExplicitlyExhaustive*/ {
#L7:
case #C8:
{
return 0;
}
}
else
if(#C9 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L8:
case #C9:
{
return 1;
}
}
}
static method b2(self::B? b) → core::int? {
#L4:
{
final synthesized self::B? #0#0 = b;
if(#0#0 == null) {
#L9:
switch(b) /*isExplicitlyExhaustive*/ {
#L10:
case #C11:
{
return null;
}
}
else
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L11:
case #C8:
{
return 0;
}
}
}
static method c1(mai::C? c) → core::int? {
#L5:
{
final synthesized mai::C? #0#0 = c;
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L12:
switch(c) /*isExplicitlyExhaustive*/ {
#L13:
case #C12:
{
return 0;
}
}
}
}
static method c2(mai::C? c) → core::int? {
#L6:
{
final synthesized mai::C? #0#0 = c;
if(#0#0 == null) {
#L14:
switch(c) /*isExplicitlyExhaustive*/ {
#L15:
case #C11:
{
return null;
}
}
else
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L16:
case #C12:
{
return 0;
}
}
}
static method d1(mai::D d) → core::int {
#L7:
{
final synthesized mai::D #0#0 = d;
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L17:
switch(d) /*isExplicitlyExhaustive*/ {
#L18:
case #C13:
{
return 0;
}
}
else
if(#C13 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L19:
case #C14:
{
return 1;
}
}
}
static method d2(mai::D? d) → core::int? {
#L8:
{
final synthesized mai::D? #0#0 = d;
if(#0#0 == null) {
#L20:
switch(d) /*isExplicitlyExhaustive*/ {
#L21:
case #C11:
{
return null;
}
}
else
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L22:
case #C13:
{
return 0;
}
}
}
@@ -194,10 +180,10 @@ static method main() → void {
self::a2(#C6);
self::b1(#C9);
self::b2(#C9);
self::c1(#C14);
self::c2(#C14);
self::d1(#C13);
self::d2(#C13);
self::c1(#C15);
self::c2(#C15);
self::d1(#C14);
self::d2(#C14);
}
library /*isNonNullableByDefault*/;
@@ -205,9 +191,9 @@ import self as mai;
import "dart:core" as core;
class C extends core::_Enum /*isEnum*/ {
static const field core::List<mai::C> values = #C15;
enum-element static const field mai::C a = #C11;
enum-element static const field mai::C b = #C14;
static const field core::List<mai::C> values = #C16;
enum-element static const field mai::C a = #C12;
enum-element static const field mai::C b = #C15;
const constructor •(core::int #index, core::String #name) → mai::C
: super core::_Enum::•(#index, #name)
;
@@ -215,10 +201,10 @@ class C extends core::_Enum /*isEnum*/ {
return "C.${this.{core::_Enum::_name}{core::String}}";
}
class D extends core::_Enum /*isEnum*/ {
static const field core::List<mai::D> values = #C16;
static const field mai::D c = #C12;
enum-element static const field mai::D a = #C12;
enum-element static const field mai::D b = #C13;
static const field core::List<mai::D> values = #C17;
static const field mai::D c = #C13;
enum-element static const field mai::D a = #C13;
enum-element static const field mai::D b = #C14;
const constructor •(core::int #index, core::String #name) → mai::D
: super core::_Enum::•(#index, #name)
;
@@ -237,12 +223,13 @@ constants {
#C8 = self::B {index:#C1, _name:#C2}
#C9 = self::B {index:#C4, _name:#C5}
#C10 = <self::B>[#C8, #C9]
#C11 = mai::C {index:#C1, _name:#C2}
#C12 = mai::D {index:#C1, _name:#C2}
#C13 = mai::D {index:#C4, _name:#C5}
#C14 = mai::C {index:#C4, _name:#C5}
#C15 = <mai::C>[#C11, #C14]
#C16 = <mai::D>[#C12, #C13]
#C11 = null
#C12 = mai::C {index:#C1, _name:#C2}
#C13 = mai::D {index:#C1, _name:#C2}
#C14 = mai::D {index:#C4, _name:#C5}
#C15 = mai::C {index:#C4, _name:#C5}
#C16 = <mai::C>[#C12, #C15]
#C17 = <mai::D>[#C13, #C14]
}
@@ -67,125 +67,111 @@ class B extends core::_Enum /*isEnum*/ {
}
static method a1(self::A? a) → core::int? {
#L1:
{
final synthesized self::A? #0#0 = a;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(a) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return 0;
}
}
}
}
static method a2(self::A? a) → core::int? {
#L2:
{
final synthesized self::A? #0#0 = a;
if(#0#0 == null) {
#L3:
switch(a) /*isExplicitlyExhaustive*/ {
#L4:
case #C11:
{
return null;
}
}
else
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L5:
case #C3:
{
return 0;
}
}
}
static method b1(self::B b) → core::int {
#L3:
{
final synthesized self::B #0#0 = b;
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L6:
switch(b) /*isExplicitlyExhaustive*/ {
#L7:
case #C8:
{
return 0;
}
}
else
if(#C9 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L8:
case #C9:
{
return 1;
}
}
}
static method b2(self::B? b) → core::int? {
#L4:
{
final synthesized self::B? #0#0 = b;
if(#0#0 == null) {
#L9:
switch(b) /*isExplicitlyExhaustive*/ {
#L10:
case #C11:
{
return null;
}
}
else
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L11:
case #C8:
{
return 0;
}
}
}
static method c1(mai::C? c) → core::int? {
#L5:
{
final synthesized mai::C? #0#0 = c;
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L12:
switch(c) /*isExplicitlyExhaustive*/ {
#L13:
case #C12:
{
return 0;
}
}
}
}
static method c2(mai::C? c) → core::int? {
#L6:
{
final synthesized mai::C? #0#0 = c;
if(#0#0 == null) {
#L14:
switch(c) /*isExplicitlyExhaustive*/ {
#L15:
case #C11:
{
return null;
}
}
else
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L16:
case #C12:
{
return 0;
}
}
}
static method d1(mai::D d) → core::int {
#L7:
{
final synthesized mai::D #0#0 = d;
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L17:
switch(d) /*isExplicitlyExhaustive*/ {
#L18:
case #C13:
{
return 0;
}
}
else
if(#C13 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L19:
case #C14:
{
return 1;
}
}
}
static method d2(mai::D? d) → core::int? {
#L8:
{
final synthesized mai::D? #0#0 = d;
if(#0#0 == null) {
#L20:
switch(d) /*isExplicitlyExhaustive*/ {
#L21:
case #C11:
{
return null;
}
}
else
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L22:
case #C13:
{
return 0;
}
}
}
@@ -194,10 +180,10 @@ static method main() → void {
self::a2(#C6);
self::b1(#C9);
self::b2(#C9);
self::c1(#C14);
self::c2(#C14);
self::d1(#C13);
self::d2(#C13);
self::c1(#C15);
self::c2(#C15);
self::d1(#C14);
self::d2(#C14);
}
library /*isNonNullableByDefault*/;
@@ -205,9 +191,9 @@ import self as mai;
import "dart:core" as core;
class C extends core::_Enum /*isEnum*/ {
static const field core::List<mai::C> values = #C15;
enum-element static const field mai::C a = #C11;
enum-element static const field mai::C b = #C14;
static const field core::List<mai::C> values = #C16;
enum-element static const field mai::C a = #C12;
enum-element static const field mai::C b = #C15;
const constructor •(core::int #index, core::String #name) → mai::C
: super core::_Enum::•(#index, #name)
;
@@ -215,10 +201,10 @@ class C extends core::_Enum /*isEnum*/ {
return "C.${this.{core::_Enum::_name}{core::String}}";
}
class D extends core::_Enum /*isEnum*/ {
static const field core::List<mai::D> values = #C16;
static const field mai::D c = #C12;
enum-element static const field mai::D a = #C12;
enum-element static const field mai::D b = #C13;
static const field core::List<mai::D> values = #C17;
static const field mai::D c = #C13;
enum-element static const field mai::D a = #C13;
enum-element static const field mai::D b = #C14;
const constructor •(core::int #index, core::String #name) → mai::D
: super core::_Enum::•(#index, #name)
;
@@ -237,12 +223,13 @@ constants {
#C8 = self::B {index:#C1, _name:#C2}
#C9 = self::B {index:#C4, _name:#C5}
#C10 = <self::B*>[#C8, #C9]
#C11 = mai::C {index:#C1, _name:#C2}
#C12 = mai::D {index:#C1, _name:#C2}
#C13 = mai::D {index:#C4, _name:#C5}
#C14 = mai::C {index:#C4, _name:#C5}
#C15 = <mai::C*>[#C11, #C14]
#C16 = <mai::D*>[#C12, #C13]
#C11 = null
#C12 = mai::C {index:#C1, _name:#C2}
#C13 = mai::D {index:#C1, _name:#C2}
#C14 = mai::D {index:#C4, _name:#C5}
#C15 = mai::C {index:#C4, _name:#C5}
#C16 = <mai::C*>[#C12, #C15]
#C17 = <mai::D*>[#C13, #C14]
}
@@ -67,125 +67,111 @@ class B extends core::_Enum /*isEnum*/ {
}
static method a1(self::A? a) → core::int? {
#L1:
{
final synthesized self::A? #0#0 = a;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(a) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return 0;
}
}
}
}
static method a2(self::A? a) → core::int? {
#L2:
{
final synthesized self::A? #0#0 = a;
if(#0#0 == null) {
#L3:
switch(a) /*isExplicitlyExhaustive*/ {
#L4:
case #C11:
{
return null;
}
}
else
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L5:
case #C3:
{
return 0;
}
}
}
static method b1(self::B b) → core::int {
#L3:
{
final synthesized self::B #0#0 = b;
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L6:
switch(b) /*isExplicitlyExhaustive*/ {
#L7:
case #C8:
{
return 0;
}
}
else
if(#C9 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L8:
case #C9:
{
return 1;
}
}
}
static method b2(self::B? b) → core::int? {
#L4:
{
final synthesized self::B? #0#0 = b;
if(#0#0 == null) {
#L9:
switch(b) /*isExplicitlyExhaustive*/ {
#L10:
case #C11:
{
return null;
}
}
else
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L11:
case #C8:
{
return 0;
}
}
}
static method c1(mai::C? c) → core::int? {
#L5:
{
final synthesized mai::C? #0#0 = c;
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L12:
switch(c) /*isExplicitlyExhaustive*/ {
#L13:
case #C12:
{
return 0;
}
}
}
}
static method c2(mai::C? c) → core::int? {
#L6:
{
final synthesized mai::C? #0#0 = c;
if(#0#0 == null) {
#L14:
switch(c) /*isExplicitlyExhaustive*/ {
#L15:
case #C11:
{
return null;
}
}
else
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L16:
case #C12:
{
return 0;
}
}
}
static method d1(mai::D d) → core::int {
#L7:
{
final synthesized mai::D #0#0 = d;
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L17:
switch(d) /*isExplicitlyExhaustive*/ {
#L18:
case #C13:
{
return 0;
}
}
else
if(#C13 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L19:
case #C14:
{
return 1;
}
}
}
static method d2(mai::D? d) → core::int? {
#L8:
{
final synthesized mai::D? #0#0 = d;
if(#0#0 == null) {
#L20:
switch(d) /*isExplicitlyExhaustive*/ {
#L21:
case #C11:
{
return null;
}
}
else
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L22:
case #C13:
{
return 0;
}
}
}
@@ -194,10 +180,10 @@ static method main() → void {
self::a2(#C6);
self::b1(#C9);
self::b2(#C9);
self::c1(#C14);
self::c2(#C14);
self::d1(#C13);
self::d2(#C13);
self::c1(#C15);
self::c2(#C15);
self::d1(#C14);
self::d2(#C14);
}
constants {
@@ -211,10 +197,11 @@ constants {
#C8 = self::B {index:#C1, _name:#C2}
#C9 = self::B {index:#C4, _name:#C5}
#C10 = <self::B*>[#C8, #C9]
#C11 = mai::C {index:#C1, _name:#C2}
#C12 = mai::D {index:#C1, _name:#C2}
#C13 = mai::D {index:#C4, _name:#C5}
#C14 = mai::C {index:#C4, _name:#C5}
#C11 = null
#C12 = mai::C {index:#C1, _name:#C2}
#C13 = mai::D {index:#C1, _name:#C2}
#C14 = mai::D {index:#C4, _name:#C5}
#C15 = mai::C {index:#C4, _name:#C5}
}
@@ -67,125 +67,111 @@ class B extends core::_Enum /*isEnum*/ {
}
static method a1(self::A? a) → core::int? {
#L1:
{
final synthesized self::A? #0#0 = a;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(a) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return 0;
}
}
}
}
static method a2(self::A? a) → core::int? {
#L2:
{
final synthesized self::A? #0#0 = a;
if(#0#0 == null) {
#L3:
switch(a) /*isExplicitlyExhaustive*/ {
#L4:
case #C11:
{
return null;
}
}
else
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L5:
case #C3:
{
return 0;
}
}
}
static method b1(self::B b) → core::int {
#L3:
{
final synthesized self::B #0#0 = b;
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L6:
switch(b) /*isExplicitlyExhaustive*/ {
#L7:
case #C8:
{
return 0;
}
}
else
if(#C9 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L8:
case #C9:
{
return 1;
}
}
}
static method b2(self::B? b) → core::int? {
#L4:
{
final synthesized self::B? #0#0 = b;
if(#0#0 == null) {
#L9:
switch(b) /*isExplicitlyExhaustive*/ {
#L10:
case #C11:
{
return null;
}
}
else
if(#C8 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L11:
case #C8:
{
return 0;
}
}
}
static method c1(mai::C? c) → core::int? {
#L5:
{
final synthesized mai::C? #0#0 = c;
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L12:
switch(c) /*isExplicitlyExhaustive*/ {
#L13:
case #C12:
{
return 0;
}
}
}
}
static method c2(mai::C? c) → core::int? {
#L6:
{
final synthesized mai::C? #0#0 = c;
if(#0#0 == null) {
#L14:
switch(c) /*isExplicitlyExhaustive*/ {
#L15:
case #C11:
{
return null;
}
}
else
if(#C11 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L16:
case #C12:
{
return 0;
}
}
}
static method d1(mai::D d) → core::int {
#L7:
{
final synthesized mai::D #0#0 = d;
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L17:
switch(d) /*isExplicitlyExhaustive*/ {
#L18:
case #C13:
{
return 0;
}
}
else
if(#C13 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
#L19:
case #C14:
{
return 1;
}
}
}
static method d2(mai::D? d) → core::int? {
#L8:
{
final synthesized mai::D? #0#0 = d;
if(#0#0 == null) {
#L20:
switch(d) /*isExplicitlyExhaustive*/ {
#L21:
case #C11:
{
return null;
}
}
else
if(#C12 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return 0;
}
#L22:
case #C13:
{
return 0;
}
}
}
@@ -194,10 +180,10 @@ static method main() → void {
self::a2(#C6);
self::b1(#C9);
self::b2(#C9);
self::c1(#C14);
self::c2(#C14);
self::d1(#C13);
self::d2(#C13);
self::c1(#C15);
self::c2(#C15);
self::d1(#C14);
self::d2(#C14);
}
library /*isNonNullableByDefault*/;
@@ -205,9 +191,9 @@ import self as mai;
import "dart:core" as core;
class C extends core::_Enum /*isEnum*/ {
static const field core::List<mai::C> values = #C15;
enum-element static const field mai::C a = #C11;
enum-element static const field mai::C b = #C14;
static const field core::List<mai::C> values = #C16;
enum-element static const field mai::C a = #C12;
enum-element static const field mai::C b = #C15;
const constructor •(core::int #index, core::String #name) → mai::C
: super core::_Enum::•(#index, #name)
;
@@ -215,10 +201,10 @@ class C extends core::_Enum /*isEnum*/ {
return "C.${this.{core::_Enum::_name}{core::String}}";
}
class D extends core::_Enum /*isEnum*/ {
static const field core::List<mai::D> values = #C16;
static const field mai::D c = #C12;
enum-element static const field mai::D a = #C12;
enum-element static const field mai::D b = #C13;
static const field core::List<mai::D> values = #C17;
static const field mai::D c = #C13;
enum-element static const field mai::D a = #C13;
enum-element static const field mai::D b = #C14;
const constructor •(core::int #index, core::String #name) → mai::D
: super core::_Enum::•(#index, #name)
;
@@ -237,12 +223,13 @@ constants {
#C8 = self::B {index:#C1, _name:#C2}
#C9 = self::B {index:#C4, _name:#C5}
#C10 = <self::B*>[#C8, #C9]
#C11 = mai::C {index:#C1, _name:#C2}
#C12 = mai::D {index:#C1, _name:#C2}
#C13 = mai::D {index:#C4, _name:#C5}
#C14 = mai::C {index:#C4, _name:#C5}
#C15 = <mai::C*>[#C11, #C14]
#C16 = <mai::D*>[#C12, #C13]
#C11 = null
#C12 = mai::C {index:#C1, _name:#C2}
#C13 = mai::D {index:#C1, _name:#C2}
#C14 = mai::D {index:#C4, _name:#C5}
#C15 = mai::C {index:#C4, _name:#C5}
#C16 = <mai::C*>[#C12, #C15]
#C17 = <mai::D*>[#C13, #C14]
}
@@ -3,5 +3,9 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
#L2:
default:
{}
}
}
@@ -3,5 +3,9 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
#L2:
default:
{}
}
}
@@ -3,5 +3,9 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
#L2:
default:
{}
}
}
@@ -3,5 +3,9 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
#L2:
default:
{}
}
}
@@ -3,5 +3,9 @@ import self as self;
static method main() → dynamic {
#L1:
{}
switch(1) {
#L2:
default:
{}
}
}
@@ -68,127 +68,86 @@ static method main() → dynamic {
core::print(e);
}
#L1:
{
final synthesized core::int #0#0 = 1;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C2 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(1) {
#L2:
case #C1:
case #C2:
{
core::print("Hello from switch case!");
break #L1;
}
}
else {
#L3:
default:
{
break #L1;
}
}
}
#L2:
{
core::int #t3 = -1;
final synthesized core::int #1#0 = 4;
if(#C2 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 0;
else
if(#C1 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 1;
else
if(#C3 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 3;
else
#t3 = 4;
switch(#t3) {
#L3:
case #C3:
{
{
core::print("Hello from case 2!");
break #L2;
}
}
#L4:
case #C1:
{
{
core::print("Hello from case 1!");
continue #L3;
}
}
#L5:
case #C2:
{
{
core::print("Hello from case 0!");
continue #L4;
}
}
#L6:
case #C5:
{
{
core::print("Hello from case 4!");
continue #L7;
}
}
#L7:
case #C4:
default:
{
{
continue #L5;
}
}
}
#L4:
switch(4) {
#L5:
case #C2:
{
core::print("Hello from case 2!");
break #L4;
}
#L6:
case #C1:
{
core::print("Hello from case 1!");
continue #L5;
}
#L7:
case #C3:
{
core::print("Hello from case 0!");
continue #L6;
}
#L8:
case #C4:
{
core::print("Hello from case 4!");
continue #L9;
}
#L9:
default:
{
continue #L7;
}
}
#L8:
{
core::int #t4 = -1;
final synthesized core::int #2#0 = 4;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #2#0)
#t4 = 0;
else
#t4 = 1;
switch(#t4) {
#L9:
case #C3:
{
{
core::print("Hello from next case 1");
break #L8;
}
}
#L10:
case #C1:
default:
{
{
continue #L9;
}
}
}
#L10:
switch(4) {
#L11:
case #C1:
{
core::print("Hello from next case 1");
break #L10;
}
#L12:
default:
{
continue #L11;
}
}
core::int i = 0;
#L11:
#L13:
do
#L12:
#L14:
{
core::print("Hello from do-while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L12;
break #L11;
break #L14;
break #L13;
}
while (true)
i = 0;
#L13:
#L15:
while (true)
#L14:
#L16:
{
core::print("Hello from while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L14;
break #L13;
break #L16;
break #L15;
}
}
@@ -197,5 +156,4 @@ constants {
#C2 = 2
#C3 = 0
#C4 = 4
#C5 = 3
}
@@ -102,127 +102,86 @@ static method main() → dynamic {
core::print(e);
}
#L1:
{
final synthesized core::int #0#0 = 1;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C2 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(1) {
#L2:
case #C1:
case #C2:
{
core::print("Hello from switch case!");
break #L1;
}
}
else {
#L3:
default:
{
break #L1;
}
}
}
#L2:
{
core::int #t4 = -1;
final synthesized core::int #1#0 = 4;
if(#C2 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t4 = 0;
else
if(#C1 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t4 = 1;
else
if(#C3 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t4 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t4 = 3;
else
#t4 = 4;
switch(#t4) {
#L3:
case #C3:
{
{
core::print("Hello from case 2!");
break #L2;
}
}
#L4:
case #C1:
{
{
core::print("Hello from case 1!");
continue #L3;
}
}
#L5:
case #C2:
{
{
core::print("Hello from case 0!");
continue #L4;
}
}
#L6:
case #C5:
{
{
core::print("Hello from case 4!");
continue #L7;
}
}
#L7:
case #C4:
default:
{
{
continue #L5;
}
}
}
#L4:
switch(4) {
#L5:
case #C2:
{
core::print("Hello from case 2!");
break #L4;
}
#L6:
case #C1:
{
core::print("Hello from case 1!");
continue #L5;
}
#L7:
case #C3:
{
core::print("Hello from case 0!");
continue #L6;
}
#L8:
case #C4:
{
core::print("Hello from case 4!");
continue #L9;
}
#L9:
default:
{
continue #L7;
}
}
#L8:
{
core::int #t5 = -1;
final synthesized core::int #2#0 = 4;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #2#0)
#t5 = 0;
else
#t5 = 1;
switch(#t5) {
#L9:
case #C3:
{
{
core::print("Hello from next case 1");
break #L8;
}
}
#L10:
case #C1:
default:
{
{
continue #L9;
}
}
}
#L10:
switch(4) {
#L11:
case #C1:
{
core::print("Hello from next case 1");
break #L10;
}
#L12:
default:
{
continue #L11;
}
}
core::int i = 0;
#L11:
#L13:
do
#L12:
#L14:
{
core::print("Hello from do-while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L12;
break #L11;
break #L14;
break #L13;
}
while (true)
i = 0;
#L13:
#L15:
while (true)
#L14:
#L16:
{
core::print("Hello from while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L14;
break #L13;
break #L16;
break #L15;
}
}
@@ -231,5 +190,4 @@ constants {
#C2 = 2
#C3 = 0
#C4 = 4
#C5 = 3
}
@@ -68,127 +68,86 @@ static method main() → dynamic {
core::print(e);
}
#L1:
{
final synthesized core::int #0#0 = 1;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C2 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(1) {
#L2:
case #C1:
case #C2:
{
core::print("Hello from switch case!");
break #L1;
}
}
else {
#L3:
default:
{
break #L1;
}
}
}
#L2:
{
core::int #t3 = -1;
final synthesized core::int #1#0 = 4;
if(#C2 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 0;
else
if(#C1 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 1;
else
if(#C3 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 3;
else
#t3 = 4;
switch(#t3) {
#L3:
case #C3:
{
{
core::print("Hello from case 2!");
break #L2;
}
}
#L4:
case #C1:
{
{
core::print("Hello from case 1!");
continue #L3;
}
}
#L5:
case #C2:
{
{
core::print("Hello from case 0!");
continue #L4;
}
}
#L6:
case #C5:
{
{
core::print("Hello from case 4!");
continue #L7;
}
}
#L7:
case #C4:
default:
{
{
continue #L5;
}
}
}
#L4:
switch(4) {
#L5:
case #C2:
{
core::print("Hello from case 2!");
break #L4;
}
#L6:
case #C1:
{
core::print("Hello from case 1!");
continue #L5;
}
#L7:
case #C3:
{
core::print("Hello from case 0!");
continue #L6;
}
#L8:
case #C4:
{
core::print("Hello from case 4!");
continue #L9;
}
#L9:
default:
{
continue #L7;
}
}
#L8:
{
core::int #t4 = -1;
final synthesized core::int #2#0 = 4;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #2#0)
#t4 = 0;
else
#t4 = 1;
switch(#t4) {
#L9:
case #C3:
{
{
core::print("Hello from next case 1");
break #L8;
}
}
#L10:
case #C1:
default:
{
{
continue #L9;
}
}
}
#L10:
switch(4) {
#L11:
case #C1:
{
core::print("Hello from next case 1");
break #L10;
}
#L12:
default:
{
continue #L11;
}
}
core::int i = 0;
#L11:
#L13:
do
#L12:
#L14:
{
core::print("Hello from do-while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L12;
break #L11;
break #L14;
break #L13;
}
while (true)
i = 0;
#L13:
#L15:
while (true)
#L14:
#L16:
{
core::print("Hello from while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L14;
break #L13;
break #L16;
break #L15;
}
}
@@ -197,5 +156,4 @@ constants {
#C2 = 2
#C3 = 0
#C4 = 4
#C5 = 3
}
@@ -68,127 +68,86 @@ static method main() → dynamic {
core::print(e);
}
#L1:
{
final synthesized core::int #0#0 = 1;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C2 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(1) {
#L2:
case #C1:
case #C2:
{
core::print("Hello from switch case!");
break #L1;
}
}
else {
#L3:
default:
{
break #L1;
}
}
}
#L2:
{
core::int #t3 = -1;
final synthesized core::int #1#0 = 4;
if(#C2 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 0;
else
if(#C1 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 1;
else
if(#C3 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t3 = 3;
else
#t3 = 4;
switch(#t3) {
#L3:
case #C3:
{
{
core::print("Hello from case 2!");
break #L2;
}
}
#L4:
case #C1:
{
{
core::print("Hello from case 1!");
continue #L3;
}
}
#L5:
case #C2:
{
{
core::print("Hello from case 0!");
continue #L4;
}
}
#L6:
case #C5:
{
{
core::print("Hello from case 4!");
continue #L7;
}
}
#L7:
case #C4:
default:
{
{
continue #L5;
}
}
}
#L4:
switch(4) {
#L5:
case #C2:
{
core::print("Hello from case 2!");
break #L4;
}
#L6:
case #C1:
{
core::print("Hello from case 1!");
continue #L5;
}
#L7:
case #C3:
{
core::print("Hello from case 0!");
continue #L6;
}
#L8:
case #C4:
{
core::print("Hello from case 4!");
continue #L9;
}
#L9:
default:
{
continue #L7;
}
}
#L8:
{
core::int #t4 = -1;
final synthesized core::int #2#0 = 4;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #2#0)
#t4 = 0;
else
#t4 = 1;
switch(#t4) {
#L9:
case #C3:
{
{
core::print("Hello from next case 1");
break #L8;
}
}
#L10:
case #C1:
default:
{
{
continue #L9;
}
}
}
#L10:
switch(4) {
#L11:
case #C1:
{
core::print("Hello from next case 1");
break #L10;
}
#L12:
default:
{
continue #L11;
}
}
core::int i = 0;
#L11:
#L13:
do
#L12:
#L14:
{
core::print("Hello from do-while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L12;
break #L11;
break #L14;
break #L13;
}
while (true)
i = 0;
#L13:
#L15:
while (true)
#L14:
#L16:
{
core::print("Hello from while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L14;
break #L13;
break #L16;
break #L15;
}
}
@@ -197,5 +156,4 @@ constants {
#C2 = 2
#C3 = 0
#C4 = 4
#C5 = 3
}
@@ -102,127 +102,86 @@ static method main() → dynamic {
core::print(e);
}
#L1:
{
final synthesized core::int #0#0 = 1;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C2 =={core::num::==}{(core::Object) → core::bool} #0#0) {
switch(1) {
#L2:
case #C1:
case #C2:
{
core::print("Hello from switch case!");
break #L1;
}
}
else {
#L3:
default:
{
break #L1;
}
}
}
#L2:
{
core::int #t4 = -1;
final synthesized core::int #1#0 = 4;
if(#C2 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t4 = 0;
else
if(#C1 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t4 = 1;
else
if(#C3 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t4 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #1#0)
#t4 = 3;
else
#t4 = 4;
switch(#t4) {
#L3:
case #C3:
{
{
core::print("Hello from case 2!");
break #L2;
}
}
#L4:
case #C1:
{
{
core::print("Hello from case 1!");
continue #L3;
}
}
#L5:
case #C2:
{
{
core::print("Hello from case 0!");
continue #L4;
}
}
#L6:
case #C5:
{
{
core::print("Hello from case 4!");
continue #L7;
}
}
#L7:
case #C4:
default:
{
{
continue #L5;
}
}
}
#L4:
switch(4) {
#L5:
case #C2:
{
core::print("Hello from case 2!");
break #L4;
}
#L6:
case #C1:
{
core::print("Hello from case 1!");
continue #L5;
}
#L7:
case #C3:
{
core::print("Hello from case 0!");
continue #L6;
}
#L8:
case #C4:
{
core::print("Hello from case 4!");
continue #L9;
}
#L9:
default:
{
continue #L7;
}
}
#L8:
{
core::int #t5 = -1;
final synthesized core::int #2#0 = 4;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #2#0)
#t5 = 0;
else
#t5 = 1;
switch(#t5) {
#L9:
case #C3:
{
{
core::print("Hello from next case 1");
break #L8;
}
}
#L10:
case #C1:
default:
{
{
continue #L9;
}
}
}
#L10:
switch(4) {
#L11:
case #C1:
{
core::print("Hello from next case 1");
break #L10;
}
#L12:
default:
{
continue #L11;
}
}
core::int i = 0;
#L11:
#L13:
do
#L12:
#L14:
{
core::print("Hello from do-while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L12;
break #L11;
break #L14;
break #L13;
}
while (true)
i = 0;
#L13:
#L15:
while (true)
#L14:
#L16:
{
core::print("Hello from while!");
if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L14;
break #L13;
break #L16;
break #L15;
}
}
@@ -231,5 +190,4 @@ constants {
#C2 = 2
#C3 = 0
#C4 = 4
#C5 = 3
}
@@ -16,5 +16,8 @@ class C<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> ex
}
static method main() → void {
#L1:
{}
switch(1) {
#L2:
{}
}
}
@@ -16,5 +16,8 @@ class C<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> ex
}
static method main() → void {
#L1:
{}
switch(1) {
#L2:
{}
}
}
@@ -16,5 +16,8 @@ class C<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> ex
}
static method main() → void {
#L1:
{}
switch(1) {
#L2:
{}
}
}
@@ -16,5 +16,8 @@ class C<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> ex
}
static method main() → void {
#L1:
{}
switch(1) {
#L2:
{}
}
}
@@ -16,5 +16,8 @@ class C<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> ex
}
static method main() → void {
#L1:
{}
switch(1) {
#L2:
{}
}
}
@@ -48,13 +48,12 @@ library from "org-dartlang-test:///main.dart" as main {
}
static method method(dynamic o) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = o;
if(#C7 =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} #0#0) {
switch(o) {
#L2:
case #C7:
{
return new main::Foo::•($creationLocationd_0dea112b090073317d4: #C10);
}
}
}
return null;
}
@@ -48,13 +48,12 @@ library from "org-dartlang-test:///main.dart" as main {
}
static method method(dynamic o) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = o;
if(#C7 =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} #0#0) {
switch(o) {
#L2:
case #C7:
{
return new main::Foo::•($creationLocationd_0dea112b090073317d4: #C10);
}
}
}
return null;
}
@@ -4,32 +4,19 @@ import "dart:core" as core;
static method test(core::int x, () → void f) → void {
#L1:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
switch(#t1) {
#L2:
case #C1:
{
{
f(){() → void};
continue #L3;
}
}
#L3:
case #C2:
{
{
f(){() → void};
break #L1;
}
}
}
switch(x) {
#L2:
case #C1:
{
f(){() → void};
continue #L3;
}
#L3:
case #C2:
{
f(){() → void};
break #L1;
}
}
}
static method main() → dynamic {}
@@ -4,32 +4,19 @@ import "dart:core" as core;
static method test(core::int x, () → void f) → void {
#L1:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
switch(#t1) {
#L2:
case #C1:
{
{
f(){() → void};
continue #L3;
}
}
#L3:
case #C2:
{
{
f(){() → void};
break #L1;
}
}
}
switch(x) {
#L2:
case #C1:
{
f(){() → void};
continue #L3;
}
#L3:
case #C2:
{
f(){() → void};
break #L1;
}
}
}
static method main() → dynamic {}
@@ -4,32 +4,19 @@ import "dart:core" as core;
static method test(core::int x, () → void f) → void {
#L1:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
switch(#t1) {
#L2:
case #C1:
{
{
f(){() → void};
continue #L3;
}
}
#L3:
case #C2:
{
{
f(){() → void};
break #L1;
}
}
}
switch(x) {
#L2:
case #C1:
{
f(){() → void};
continue #L3;
}
#L3:
case #C2:
{
f(){() → void};
break #L1;
}
}
}
static method main() → dynamic {}
@@ -4,32 +4,19 @@ import "dart:core" as core;
static method test(core::int x, () → void f) → void {
#L1:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
switch(#t1) {
#L2:
case #C1:
{
{
f(){() → void};
continue #L3;
}
}
#L3:
case #C2:
{
{
f(){() → void};
break #L1;
}
}
}
switch(x) {
#L2:
case #C1:
{
f(){() → void};
continue #L3;
}
#L3:
case #C2:
{
f(){() → void};
break #L1;
}
}
}
static method main() → dynamic {}
@@ -4,32 +4,19 @@ import "dart:core" as core;
static method test(core::int x, () → void f) → void {
#L1:
{
core::int #t1 = -1;
final synthesized core::int #0#0 = x;
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 0;
else
if(#C2 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t1 = 1;
switch(#t1) {
#L2:
case #C1:
{
{
f(){() → void};
continue #L3;
}
}
#L3:
case #C2:
{
{
f(){() → void};
break #L1;
}
}
}
switch(x) {
#L2:
case #C1:
{
f(){() → void};
continue #L3;
}
#L3:
case #C2:
{
f(){() → void};
break #L1;
}
}
}
static method main() → dynamic {}
@@ -11,20 +11,19 @@ static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "";
static method test(self::C<core::int> x) → void {
#L1:
{
final synthesized self::C<core::int> #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
core::int y = 0;
break #L1;
}
}
else {
#L3:
default:
{
core::int y = 0;
break #L1;
}
}
}
}
static method main() → dynamic {}
@@ -11,20 +11,19 @@ static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "";
static method test(self::C<core::int> x) → void {
#L1:
{
final synthesized self::C<core::int> #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
core::int y = 0;
break #L1;
}
}
else {
#L3:
default:
{
core::int y = 0;
break #L1;
}
}
}
}
static method main() → dynamic {}
@@ -11,20 +11,19 @@ static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "";
static method test(self::C<core::int> x) → void {
#L1:
{
final synthesized self::C<core::int> #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
core::int y = 0;
break #L1;
}
}
else {
#L3:
default:
{
core::int y = 0;
break #L1;
}
}
}
}
static method main() → dynamic {}
@@ -11,20 +11,19 @@ static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "";
static method test(self::C<core::int> x) → void {
#L1:
{
final synthesized self::C<core::int> #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
core::int y = 0;
break #L1;
}
}
else {
#L3:
default:
{
core::int y = 0;
break #L1;
}
}
}
}
static method main() → dynamic {}
@@ -11,20 +11,19 @@ static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "";
static method test(self::C<core::int> x) → void {
#L1:
{
final synthesized self::C<core::int> #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
core::int y = 0;
break #L1;
}
}
else {
#L3:
default:
{
core::int y = 0;
break #L1;
}
}
}
}
static method main() → dynamic {}
@@ -457,10 +457,6 @@ static method switchStatement(dynamic o) → core::int {
core::print("o = ${o}");
#L1:
{
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -530,188 +526,219 @@ static method switchStatement(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final dynamic #t67 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
}
}
else
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t68 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t69 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
{
return 2;
}
}
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t70 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t71 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t72 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t73 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t74 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t75 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t76 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t77 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t78 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t80 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t82 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t83 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t84 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t85 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t86 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t89 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t90 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t92 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t93 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t94 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t95 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t96 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t97 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
else {
{
return 0;
}
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t70 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t71 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t72 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t73 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t74 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t75 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t76 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t77 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t78 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t80 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t82 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t83 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t84 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t85 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t86 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t89 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t90 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t92 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t93 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t94 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t95 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t96 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t97 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
}
{
{
{
return 0;
}
}
}
}
}
static method switchExpression(dynamic o) → core::int {
core::print("o = ${o}");
return block {
core::int #t98;
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -781,92 +808,187 @@ static method switchExpression(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final dynamic #t117 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t98 = 1;
else
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t118 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t119 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool})))
#t98 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0)
#L2:
{
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t98 = 1;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t118 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t119 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
#t98 = 2;
break #L2;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t98 = 3;
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t120 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int))
#t98 = 4;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t121 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t122 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true))
#t98 = 5;
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t123 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false))
#t98 = 6;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t124 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t98 = 7;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t98 = 8;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t98 = 9;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t125 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t126 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})))
#t98 = 10;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t127 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t128 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t98 = 11;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int})
#t98 = 12;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int})
#t98 = 13;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int})
#t98 = 14;
else
if(#0#0 is{ForNonNullableByDefault} self::Class)
#t98 = 15;
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9)
#t98 = 16;
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10))
#t98 = 17;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t129 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t130 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool})
#t98 = 18;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t131 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t132 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t133 = #0#30#func(){() → dynamic} in true))
#t98 = 19;
else
if(#0#0 is{ForNonNullableByDefault} core::bool)
#t98 = 20;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t134 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12)
#t98 = 21;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t136 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int)
#t98 = 22;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t137 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String)
#t98 = 23;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t138 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t139 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t140 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true))
#t98 = 24;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t141 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t142 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t143 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true)))
#t98 = 25;
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?})
#t98 = 26;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t144 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t145 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t146 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true))
#t98 = 27;
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t147 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int)
#t98 = 28;
else
if(true)
#t98 = 0;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t120 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
#t98 = 4;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t121 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t122 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
#t98 = 5;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t123 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
#t98 = 6;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t124 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t98 = 7;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t98 = 8;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t98 = 9;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t125 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t126 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
#t98 = 10;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t127 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t128 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t98 = 11;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
#t98 = 12;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
#t98 = 13;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
#t98 = 14;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
#t98 = 15;
break #L2;
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
#t98 = 16;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
#t98 = 17;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t129 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t130 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
#t98 = 18;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t131 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t132 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t133 = #0#30#func(){() → dynamic} in true)) {
#t98 = 19;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
#t98 = 20;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t134 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
#t98 = 21;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t136 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
#t98 = 22;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t137 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
#t98 = 23;
break #L2;
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t138 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t139 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t140 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
#t98 = 24;
break #L2;
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t141 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t142 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t143 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
#t98 = 25;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
#t98 = 26;
break #L2;
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t144 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t145 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t146 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
#t98 = 27;
break #L2;
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t147 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
#t98 = 28;
break #L2;
}
}
{
if(true) {
#t98 = 0;
break #L2;
}
}
}
} =>#t98;
}
static method test(dynamic expected, dynamic value) → dynamic {
@@ -457,10 +457,6 @@ static method switchStatement(dynamic o) → core::int {
core::print("o = ${o}");
#L1:
{
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -530,188 +526,219 @@ static method switchStatement(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final core::bool* #t69 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
}
}
else
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t70 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t71 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
{
return 2;
}
}
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t72 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t73 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t74 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t75 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t76 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t77 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t78 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t79 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t80 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t82 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let core::int? #t83 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} in #t83 == null ?{core::int} #t83 as{ForNonNullableByDefault} core::int : #t83{core::int}).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t84 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t85 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t86 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t89 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t90 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t92 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t93 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t94 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t95 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final core::int #t96 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t97 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t98 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t99 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t100 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
else {
{
return 0;
}
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t72 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t73 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t74 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t75 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t76 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t77 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t78 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t79 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t80 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t82 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let core::int? #t83 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} in #t83 == null ?{core::int} #t83 as{ForNonNullableByDefault} core::int : #t83{core::int}).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t84 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t85 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t86 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t89 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t90 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t92 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t93 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t94 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t95 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final core::int #t96 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t97 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t98 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t99 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t100 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
}
{
{
{
return 0;
}
}
}
}
}
static method switchExpression(dynamic o) → core::int {
core::print("o = ${o}");
return block {
core::int #t101;
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -781,92 +808,187 @@ static method switchExpression(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final core::bool* #t120 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t101 = 1;
else
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t121 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t122 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool})))
#t101 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0)
#L2:
{
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t101 = 1;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t121 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t122 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
#t101 = 2;
break #L2;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t101 = 3;
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t123 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int))
#t101 = 4;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t124 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t125 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true))
#t101 = 5;
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t126 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false))
#t101 = 6;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t127 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t101 = 7;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t101 = 8;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t101 = 9;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t128 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t129 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})))
#t101 = 10;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t130 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t131 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t101 = 11;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int})
#t101 = 12;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int})
#t101 = 13;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int})
#t101 = 14;
else
if(#0#0 is{ForNonNullableByDefault} self::Class)
#t101 = 15;
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9)
#t101 = 16;
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10))
#t101 = 17;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t132 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t133 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let core::int? #t134 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} in #t134 == null ?{core::int} #t134 as{ForNonNullableByDefault} core::int : #t134{core::int}).{core::num::>=}(#C11){(core::num) → core::bool})
#t101 = 18;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t136 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t137 = #0#30#func(){() → dynamic} in true))
#t101 = 19;
else
if(#0#0 is{ForNonNullableByDefault} core::bool)
#t101 = 20;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t138 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12)
#t101 = 21;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t139 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t140 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int)
#t101 = 22;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t141 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String)
#t101 = 23;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t142 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t143 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t144 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true))
#t101 = 24;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t145 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t146 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final core::int #t147 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true)))
#t101 = 25;
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?})
#t101 = 26;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t148 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t149 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t150 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true))
#t101 = 27;
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t151 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int)
#t101 = 28;
else
if(true)
#t101 = 0;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t123 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
#t101 = 4;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t124 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t125 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
#t101 = 5;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t126 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
#t101 = 6;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t127 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t101 = 7;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t101 = 8;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t101 = 9;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t128 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t129 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
#t101 = 10;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t130 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t131 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t101 = 11;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
#t101 = 12;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
#t101 = 13;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
#t101 = 14;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
#t101 = 15;
break #L2;
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
#t101 = 16;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
#t101 = 17;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t132 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t133 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let core::int? #t134 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} in #t134 == null ?{core::int} #t134 as{ForNonNullableByDefault} core::int : #t134{core::int}).{core::num::>=}(#C11){(core::num) → core::bool}) {
#t101 = 18;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t136 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t137 = #0#30#func(){() → dynamic} in true)) {
#t101 = 19;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
#t101 = 20;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t138 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
#t101 = 21;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t139 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t140 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
#t101 = 22;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t141 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
#t101 = 23;
break #L2;
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t142 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t143 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t144 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
#t101 = 24;
break #L2;
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t145 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t146 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final core::int #t147 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
#t101 = 25;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
#t101 = 26;
break #L2;
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t148 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t149 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t150 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
#t101 = 27;
break #L2;
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t151 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
#t101 = 28;
break #L2;
}
}
{
if(true) {
#t101 = 0;
break #L2;
}
}
}
} =>#t101;
}
static method test(dynamic expected, dynamic value) → dynamic {
@@ -457,10 +457,6 @@ static method switchStatement(dynamic o) → core::int {
core::print("o = ${o}");
#L1:
{
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -530,188 +526,219 @@ static method switchStatement(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final dynamic #t67 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
}
}
else
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t68 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t69 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
{
return 2;
}
}
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t70 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t71 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t72 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t73 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t74 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t75 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t76 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t77 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t78 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t80 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t82 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t83 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t84 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t85 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t86 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t89 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t90 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t92 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t93 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t94 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t95 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t96 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t97 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
else {
{
return 0;
}
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t70 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t71 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t72 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t73 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t74 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t75 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t76 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t77 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t78 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t80 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t82 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t83 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t84 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t85 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t86 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t89 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t90 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t92 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t93 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t94 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t95 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t96 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t97 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
}
{
{
{
return 0;
}
}
}
}
}
static method switchExpression(dynamic o) → core::int {
core::print("o = ${o}");
return block {
core::int #t98;
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -781,92 +808,187 @@ static method switchExpression(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final dynamic #t117 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t98 = 1;
else
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t118 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t119 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool})))
#t98 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0)
#L2:
{
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t98 = 1;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t118 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t119 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
#t98 = 2;
break #L2;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t98 = 3;
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t120 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int))
#t98 = 4;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t121 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t122 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true))
#t98 = 5;
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t123 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false))
#t98 = 6;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t124 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t98 = 7;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t98 = 8;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t98 = 9;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t125 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t126 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})))
#t98 = 10;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t127 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t128 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t98 = 11;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int})
#t98 = 12;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int})
#t98 = 13;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int})
#t98 = 14;
else
if(#0#0 is{ForNonNullableByDefault} self::Class)
#t98 = 15;
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9)
#t98 = 16;
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10))
#t98 = 17;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t129 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t130 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool})
#t98 = 18;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t131 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t132 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t133 = #0#30#func(){() → dynamic} in true))
#t98 = 19;
else
if(#0#0 is{ForNonNullableByDefault} core::bool)
#t98 = 20;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t134 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12)
#t98 = 21;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t136 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int)
#t98 = 22;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t137 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String)
#t98 = 23;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t138 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t139 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t140 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true))
#t98 = 24;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t141 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t142 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t143 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true)))
#t98 = 25;
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?})
#t98 = 26;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t144 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t145 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t146 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true))
#t98 = 27;
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t147 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int)
#t98 = 28;
else
if(true)
#t98 = 0;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t120 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
#t98 = 4;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t121 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t122 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
#t98 = 5;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t123 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
#t98 = 6;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t124 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t98 = 7;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t98 = 8;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t98 = 9;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t125 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t126 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
#t98 = 10;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t127 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t128 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t98 = 11;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
#t98 = 12;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
#t98 = 13;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
#t98 = 14;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
#t98 = 15;
break #L2;
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
#t98 = 16;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
#t98 = 17;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t129 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t130 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
#t98 = 18;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t131 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t132 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t133 = #0#30#func(){() → dynamic} in true)) {
#t98 = 19;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
#t98 = 20;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t134 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
#t98 = 21;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t136 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
#t98 = 22;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t137 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
#t98 = 23;
break #L2;
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t138 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t139 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t140 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
#t98 = 24;
break #L2;
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t141 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t142 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t143 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
#t98 = 25;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
#t98 = 26;
break #L2;
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t144 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t145 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t146 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
#t98 = 27;
break #L2;
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t147 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
#t98 = 28;
break #L2;
}
}
{
if(true) {
#t98 = 0;
break #L2;
}
}
}
} =>#t98;
}
static method test(dynamic expected, dynamic value) → dynamic {
@@ -457,10 +457,6 @@ static method switchStatement(dynamic o) → core::int {
core::print("o = ${o}");
#L1:
{
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -530,188 +526,219 @@ static method switchStatement(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final dynamic #t67 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
}
}
else
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t68 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t69 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
{
return 2;
}
}
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t70 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t71 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t72 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t73 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t74 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t75 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t76 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t77 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t78 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t80 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t82 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t83 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t84 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t85 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t86 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t89 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t90 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t92 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t93 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t94 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t95 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t96 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t97 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
else {
{
return 0;
}
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t70 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t71 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t72 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t73 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t74 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t75 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t76 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t77 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t78 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t80 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t82 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t83 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t84 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t85 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t86 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t89 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t90 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t92 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t93 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t94 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t95 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t96 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t97 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
}
{
{
{
return 0;
}
}
}
}
}
static method switchExpression(dynamic o) → core::int {
core::print("o = ${o}");
return block {
core::int #t98;
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -781,92 +808,187 @@ static method switchExpression(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final dynamic #t117 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t98 = 1;
else
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t118 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t119 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool})))
#t98 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0)
#L2:
{
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t98 = 1;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t118 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t119 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
#t98 = 2;
break #L2;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t98 = 3;
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t120 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int))
#t98 = 4;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t121 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t122 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true))
#t98 = 5;
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t123 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false))
#t98 = 6;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t124 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t98 = 7;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t98 = 8;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t98 = 9;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t125 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t126 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})))
#t98 = 10;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t127 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t128 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t98 = 11;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int})
#t98 = 12;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int})
#t98 = 13;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int})
#t98 = 14;
else
if(#0#0 is{ForNonNullableByDefault} self::Class)
#t98 = 15;
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9)
#t98 = 16;
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10))
#t98 = 17;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t129 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t130 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool})
#t98 = 18;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t131 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t132 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t133 = #0#30#func(){() → dynamic} in true))
#t98 = 19;
else
if(#0#0 is{ForNonNullableByDefault} core::bool)
#t98 = 20;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t134 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12)
#t98 = 21;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t136 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int)
#t98 = 22;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t137 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String)
#t98 = 23;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t138 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t139 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t140 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true))
#t98 = 24;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t141 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t142 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t143 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true)))
#t98 = 25;
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?})
#t98 = 26;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t144 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t145 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t146 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true))
#t98 = 27;
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t147 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int)
#t98 = 28;
else
if(true)
#t98 = 0;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t120 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
#t98 = 4;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t121 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t122 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
#t98 = 5;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t123 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
#t98 = 6;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t124 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t98 = 7;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t98 = 8;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t98 = 9;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t125 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t126 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
#t98 = 10;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t127 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t128 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t98 = 11;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
#t98 = 12;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
#t98 = 13;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
#t98 = 14;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
#t98 = 15;
break #L2;
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
#t98 = 16;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
#t98 = 17;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t129 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t130 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
#t98 = 18;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t131 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t132 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t133 = #0#30#func(){() → dynamic} in true)) {
#t98 = 19;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
#t98 = 20;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t134 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
#t98 = 21;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t136 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
#t98 = 22;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t137 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
#t98 = 23;
break #L2;
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t138 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t139 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t140 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
#t98 = 24;
break #L2;
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t141 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t142 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final dynamic #t143 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
#t98 = 25;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
#t98 = 26;
break #L2;
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t144 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t145 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t146 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
#t98 = 27;
break #L2;
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t147 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
#t98 = 28;
break #L2;
}
}
{
if(true) {
#t98 = 0;
break #L2;
}
}
}
} =>#t98;
}
static method test(dynamic expected, dynamic value) → dynamic {
@@ -457,10 +457,6 @@ static method switchStatement(dynamic o) → core::int {
core::print("o = ${o}");
#L1:
{
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -530,188 +526,219 @@ static method switchStatement(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final core::bool* #t67 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
}
}
else
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t68 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t69 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
{
return 2;
}
}
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t70 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t71 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t72 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t73 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t74 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t75 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t76 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t77 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t78 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t80 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?}.{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t82 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t83 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t84 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t85 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t86 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t89 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t90 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t92 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final core::int #t93 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t94 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t95 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t96 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t97 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
else {
{
return 0;
}
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t70 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t71 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t72 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t73 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t74 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 7;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
{
return 8;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 9;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t75 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t76 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t77 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t78 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
{
return 11;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
{
return 12;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t80 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?}.{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t81 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t82 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t83 = #0#30#func(){() → dynamic} in true)) {
{
return 19;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t84 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t85 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t86 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t87 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t88 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t89 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t90 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t91 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t92 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final core::int #t93 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
{
return 25;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t94 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t95 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t96 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t97 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
}
{
{
{
return 0;
}
}
}
}
}
static method switchExpression(dynamic o) → core::int {
core::print("o = ${o}");
return block {
core::int #t98;
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
synthesized core::Object? #0#4;
synthesized core::bool #0#4#isSet = false;
@@ -781,92 +808,187 @@ static method switchExpression(dynamic o) → core::int {
synthesized core::bool #0#104#isSet = false;
function #0#104#func() → dynamic
return #0#104#isSet ?{dynamic} #0#104 : let final core::bool* #t117 = #0#104#isSet = true in #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t98 = 1;
else
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t118 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t119 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool})))
#t98 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0)
#L2:
{
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t98 = 1;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t118 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t119 = #0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in (#0#4#func(){() → core::Object?} as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
#t98 = 2;
break #L2;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t98 = 3;
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t120 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int))
#t98 = 4;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t121 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t122 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true))
#t98 = 5;
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t123 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false))
#t98 = 6;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t124 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t98 = 7;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic})
#t98 = 8;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t98 = 9;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t125 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t126 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})))
#t98 = 10;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t127 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t128 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic})
#t98 = 11;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int})
#t98 = 12;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int})
#t98 = 13;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int})
#t98 = 14;
else
if(#0#0 is{ForNonNullableByDefault} self::Class)
#t98 = 15;
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9)
#t98 = 16;
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10))
#t98 = 17;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t129 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t130 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?}.{core::num::>=}(#C11){(core::num) → core::bool})
#t98 = 18;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t131 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t132 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t133 = #0#30#func(){() → dynamic} in true))
#t98 = 19;
else
if(#0#0 is{ForNonNullableByDefault} core::bool)
#t98 = 20;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t134 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12)
#t98 = 21;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t136 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int)
#t98 = 22;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t137 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String)
#t98 = 23;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t138 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t139 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t140 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true))
#t98 = 24;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t141 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t142 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final core::int #t143 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true)))
#t98 = 25;
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?})
#t98 = 26;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t144 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t145 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t146 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true))
#t98 = 27;
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t147 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int)
#t98 = 28;
else
if(true)
#t98 = 0;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t120 = #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15#func(){() → core::Object?} as{ForNonNullableByDefault} core::int)) {
#t98 = 4;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t121 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t122 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
#t98 = 5;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t123 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
#t98 = 6;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t124 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t98 = 7;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic}) {
#t98 = 8;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t98 = 9;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34#func(){() → core::bool} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#47#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t125 = #0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#50#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t126 = #0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#53#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
#t98 = 10;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38#func(){() → core::bool} && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30#func(){() → dynamic} && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32#func(){() → dynamic} && (#0#58#func(){() → core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t127 = #0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#61#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t128 = #0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int in (#0#64#func(){() → dynamic} as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43#func(){() → dynamic}) {
#t98 = 11;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int}) {
#t98 = 12;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
#t98 = 13;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69#func(){() → core::int} && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
#t98 = 14;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
#t98 = 15;
break #L2;
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
#t98 = 16;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
#t98 = 17;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t129 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t130 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?}.{core::num::>=}(#C11){(core::num) → core::bool}) {
#t98 = 18;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t131 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t132 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t133 = #0#30#func(){() → dynamic} in true)) {
#t98 = 19;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
#t98 = 20;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t134 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
#t98 = 21;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t135 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t136 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
#t98 = 22;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t137 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
#t98 = 23;
break #L2;
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t138 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t139 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t140 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
#t98 = 24;
break #L2;
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t141 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t142 = #0#26#isSet = true in #0#26 = #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} && (#0#104#func(){() → dynamic} is{ForNonNullableByDefault} core::int && (let final core::int #t143 = b = #0#104#func(){() → dynamic} as{ForNonNullableByDefault} core::int in true))) {
#t98 = 25;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
#t98 = 26;
break #L2;
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t144 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t145 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t146 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
#t98 = 27;
break #L2;
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t147 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
#t98 = 28;
break #L2;
}
}
{
if(true) {
#t98 = 0;
break #L2;
}
}
}
} =>#t98;
}
static method test(dynamic expected, dynamic value) → dynamic {
@@ -108,32 +108,30 @@ static method yieldSync() → core::Iterable<dynamic> sync* {}
static method yieldAsync() → asy::Stream<dynamic> async* {}
static method caseReturn1(self::Enum e) → self::Enum {
#L1:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(e) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L3:
case #C6:
{
return e;
}
}
}
static method caseReturn2(self::Enum e) → self::Enum {
#L2:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(e) {
#L5:
case #C3:
{
return e;
}
}
else {
}
#L6:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:54:6: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -180,33 +178,31 @@ static method localFunctions() → dynamic {
function yieldSync() → core::Iterable<dynamic> sync* {}
function yieldAsync() → asy::Stream<dynamic> async* {}
function caseReturn1(self::Enum e) → self::Enum {
#L3:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L7:
switch(e) /*isExplicitlyExhaustive*/ {
#L8:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L9:
case #C6:
{
return e;
}
}
}
function caseReturn2(self::Enum e) → self::Enum {
#L4:
{
final synthesized self::Enum #1#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #1#0) {
#L10:
switch(e) {
#L11:
case #C3:
{
return e;
}
}
else {
}
#L12:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:108:3: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -108,32 +108,30 @@ static method yieldSync() → core::Iterable<dynamic> sync* {}
static method yieldAsync() → asy::Stream<dynamic> async* {}
static method caseReturn1(self::Enum e) → self::Enum {
#L1:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(e) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L3:
case #C6:
{
return e;
}
}
}
static method caseReturn2(self::Enum e) → self::Enum {
#L2:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(e) {
#L5:
case #C3:
{
return e;
}
}
else {
}
#L6:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:54:6: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -180,33 +178,31 @@ static method localFunctions() → dynamic {
function yieldSync() → core::Iterable<dynamic> sync* {}
function yieldAsync() → asy::Stream<dynamic> async* {}
function caseReturn1(self::Enum e) → self::Enum {
#L3:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L7:
switch(e) /*isExplicitlyExhaustive*/ {
#L8:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L9:
case #C6:
{
return e;
}
}
}
function caseReturn2(self::Enum e) → self::Enum {
#L4:
{
final synthesized self::Enum #1#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #1#0) {
#L10:
switch(e) {
#L11:
case #C3:
{
return e;
}
}
else {
}
#L12:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:108:3: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -108,32 +108,30 @@ static method yieldSync() → core::Iterable<dynamic> sync* {}
static method yieldAsync() → asy::Stream<dynamic> async* {}
static method caseReturn1(self::Enum e) → self::Enum {
#L1:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(e) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L3:
case #C6:
{
return e;
}
}
}
static method caseReturn2(self::Enum e) → self::Enum {
#L2:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(e) {
#L5:
case #C3:
{
return e;
}
}
else {
}
#L6:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:54:6: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -180,33 +178,31 @@ static method localFunctions() → dynamic {
function yieldSync() → core::Iterable<dynamic> sync* {}
function yieldAsync() → asy::Stream<dynamic> async* {}
function caseReturn1(self::Enum e) → self::Enum {
#L3:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L7:
switch(e) /*isExplicitlyExhaustive*/ {
#L8:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L9:
case #C6:
{
return e;
}
}
}
function caseReturn2(self::Enum e) → self::Enum {
#L4:
{
final synthesized self::Enum #1#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #1#0) {
#L10:
switch(e) {
#L11:
case #C3:
{
return e;
}
}
else {
}
#L12:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:108:3: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -108,32 +108,30 @@ static method yieldSync() → core::Iterable<dynamic> sync* {}
static method yieldAsync() → asy::Stream<dynamic> async* {}
static method caseReturn1(self::Enum e) → self::Enum {
#L1:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(e) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L3:
case #C6:
{
return e;
}
}
}
static method caseReturn2(self::Enum e) → self::Enum {
#L2:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(e) {
#L5:
case #C3:
{
return e;
}
}
else {
}
#L6:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:54:6: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -180,33 +178,31 @@ static method localFunctions() → dynamic {
function yieldSync() → core::Iterable<dynamic> sync* {}
function yieldAsync() → asy::Stream<dynamic> async* {}
function caseReturn1(self::Enum e) → self::Enum {
#L3:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L7:
switch(e) /*isExplicitlyExhaustive*/ {
#L8:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L9:
case #C6:
{
return e;
}
}
}
function caseReturn2(self::Enum e) → self::Enum {
#L4:
{
final synthesized self::Enum #1#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #1#0) {
#L10:
switch(e) {
#L11:
case #C3:
{
return e;
}
}
else {
}
#L12:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:108:3: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -108,32 +108,30 @@ static method yieldSync() → core::Iterable<dynamic> sync* {}
static method yieldAsync() → asy::Stream<dynamic> async* {}
static method caseReturn1(self::Enum e) → self::Enum {
#L1:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(e) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L3:
case #C6:
{
return e;
}
}
}
static method caseReturn2(self::Enum e) → self::Enum {
#L2:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(e) {
#L5:
case #C3:
{
return e;
}
}
else {
}
#L6:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:54:6: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -180,33 +178,31 @@ static method localFunctions() → dynamic {
function yieldSync() → core::Iterable<dynamic> sync* {}
function yieldAsync() → asy::Stream<dynamic> async* {}
function caseReturn1(self::Enum e) → self::Enum {
#L3:
{
final synthesized self::Enum #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L7:
switch(e) /*isExplicitlyExhaustive*/ {
#L8:
case #C3:
{
return e;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return e;
}
#L9:
case #C6:
{
return e;
}
}
}
function caseReturn2(self::Enum e) → self::Enum {
#L4:
{
final synthesized self::Enum #1#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #1#0) {
#L10:
switch(e) {
#L11:
case #C3:
{
return e;
}
}
else {
}
#L12:
default:
{}
}
return invalid-expression "pkg/front_end/testcases/nnbd/return_null.dart:108:3: Error: A non-null value must be returned since the return type 'Enum' doesn't allow null.
- 'Enum' is from 'pkg/front_end/testcases/nnbd/return_null.dart'.
@@ -524,58 +524,54 @@ static method callReturningNever(() → Never f) → dynamic {
}
static method switchOnEnum(uns::E e) → dynamic {
#L1:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(e) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return;
}
#L3:
case #C6:
{
return;
}
}
}
static method switchOnEnumWithBreak(uns::E e) → dynamic {
#L2:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(e) /*isExplicitlyExhaustive*/ {
#L5:
case #C3:
{
break #L2;
break #L4;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
break #L2;
}
#L6:
case #C6:
{
break #L4;
}
}
}
static method switchOnEnumWithFallThrough1(uns::E e) → dynamic {
#L3:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L7:
switch(e) /*isExplicitlyExhaustive*/ {
#L8:
case #C3:
{
break #L3;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
break #L7;
}
#L9:
case #C6:
{}
}
}
static method switchOnEnumWithFallThrough2(uns::E e) → dynamic {
#L4:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0 || #C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
}
#L10:
switch(e) /*isExplicitlyExhaustive*/ {
#L11:
case #C3:
case #C6:
{}
}
}
static method handleThrow() → dynamic {
@@ -524,58 +524,54 @@ static method callReturningNever(() → Never f) → dynamic {
}
static method switchOnEnum(uns::E e) → dynamic {
#L1:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(e) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return;
}
#L3:
case #C6:
{
return;
}
}
}
static method switchOnEnumWithBreak(uns::E e) → dynamic {
#L2:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(e) /*isExplicitlyExhaustive*/ {
#L5:
case #C3:
{
break #L2;
break #L4;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
break #L2;
}
#L6:
case #C6:
{
break #L4;
}
}
}
static method switchOnEnumWithFallThrough1(uns::E e) → dynamic {
#L3:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L7:
switch(e) /*isExplicitlyExhaustive*/ {
#L8:
case #C3:
{
break #L3;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
break #L7;
}
#L9:
case #C6:
{}
}
}
static method switchOnEnumWithFallThrough2(uns::E e) → dynamic {
#L4:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0 || #C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
}
#L10:
switch(e) /*isExplicitlyExhaustive*/ {
#L11:
case #C3:
case #C6:
{}
}
}
static method handleThrow() → dynamic {
@@ -524,58 +524,54 @@ static method callReturningNever(() → Never f) → dynamic {
}
static method switchOnEnum(uns::E e) → dynamic {
#L1:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(e) /*isExplicitlyExhaustive*/ {
#L2:
case #C3:
{
return;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
return;
}
#L3:
case #C6:
{
return;
}
}
}
static method switchOnEnumWithBreak(uns::E e) → dynamic {
#L2:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L4:
switch(e) /*isExplicitlyExhaustive*/ {
#L5:
case #C3:
{
break #L2;
break #L4;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
break #L2;
}
#L6:
case #C6:
{
break #L4;
}
}
}
static method switchOnEnumWithFallThrough1(uns::E e) → dynamic {
#L3:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
#L7:
switch(e) /*isExplicitlyExhaustive*/ {
#L8:
case #C3:
{
break #L3;
}
}
else
if(#C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
break #L7;
}
#L9:
case #C6:
{}
}
}
static method switchOnEnumWithFallThrough2(uns::E e) → dynamic {
#L4:
{
final synthesized uns::E #0#0 = e;
if(#C3 =={core::Object::==}{(core::Object) → core::bool} #0#0 || #C6 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
}
#L10:
switch(e) /*isExplicitlyExhaustive*/ {
#L11:
case #C3:
case #C6:
{}
}
}
static method handleThrow() → dynamic {
@@ -626,7 +622,7 @@ Evaluated: VariableGet @ org-dartlang-testcase:///unsound_checks_lib.dart:39:56
Evaluated: VariableGet @ org-dartlang-testcase:///unsound_checks_lib.dart:39:56 -> IntConstant(42)
Evaluated: VariableGet @ org-dartlang-testcase:///unsound_checks_lib.dart:134:5 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///unsound_checks_lib.dart:134:5 -> IntConstant(0)
Extra constant evaluation: evaluated: 729, effectively constant: 18
Extra constant evaluation: evaluated: 712, effectively constant: 18
Constructor coverage from constants:
@@ -4,13 +4,12 @@ import "dart:core" as core;
static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
break #L1;
}
}
}
}
@@ -4,13 +4,12 @@ import "dart:core" as core;
static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
break #L1;
}
}
}
}
@@ -4,13 +4,12 @@ import "dart:core" as core;
static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
break #L1;
}
}
}
}
@@ -4,13 +4,12 @@ import "dart:core" as core;
static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
break #L1;
}
}
}
}
@@ -4,13 +4,12 @@ import "dart:core" as core;
static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(#C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
switch(x) {
#L2:
case #C1:
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final dynamic #t1 = #0#0 as{ForNonNullableByDefault} core::Object in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} core::Object) {
{
break #L1;
{
if(let final dynamic #t1 = #0#0 as{ForNonNullableByDefault} core::Object in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} core::Object) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final core::Object #t1 = let dynamic #t2 = #0#0 in #t2 == null ?{core::Object} #t2 as{ForNonNullableByDefault} core::Object : #t2{core::Object} in #C1 =={core::Object::==}{(core::Object) → core::bool} (let dynamic #t3 = #0#0 in #t3 == null ?{core::Object} #t3 as{ForNonNullableByDefault} core::Object : #t3{core::Object})) {
{
break #L1;
{
if(let final core::Object #t1 = let dynamic #t2 = #0#0 in #t2 == null ?{core::Object} #t2 as{ForNonNullableByDefault} core::Object : #t2{core::Object} in #C1 =={core::Object::==}{(core::Object) → core::bool} (let dynamic #t3 = #0#0 in #t3 == null ?{core::Object} #t3 as{ForNonNullableByDefault} core::Object : #t3{core::Object})) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final dynamic #t1 = #0#0 as{ForNonNullableByDefault} core::Object in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} core::Object) {
{
break #L1;
{
if(let final dynamic #t1 = #0#0 as{ForNonNullableByDefault} core::Object in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} core::Object) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final dynamic #t1 = #0#0 as{ForNonNullableByDefault} core::Object in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} core::Object) {
{
break #L1;
{
if(let final dynamic #t1 = #0#0 as{ForNonNullableByDefault} core::Object in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} core::Object) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final core::Object #t1 = #0#0 in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
break #L1;
{
if(let final core::Object #t1 = #0#0 in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
{
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
{
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
{
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
{
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
{
if(let final dynamic #t1 = #0#0! in #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0!) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
{
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
{
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
{
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
{
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
}
}
}
}
@@ -6,9 +6,11 @@ static method test(dynamic x) → dynamic {
#L1:
{
final synthesized dynamic #0#0 = x;
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
{
if(!(#0#0 == null) ?{core::bool} #C1 =={core::Object::==}{(core::Object) → core::bool} #0#0 : false) {
{
break #L1;
}
}
}
}
@@ -18,24 +18,27 @@ static field core::int counter = 0;
static method test(dynamic o) → dynamic {
#L1:
{
core::int a;
final synthesized dynamic #0#0 = o;
late final synthesized core::int #0#2 = #0#0{self::Class}.{self::Class::field}{core::int};
late final synthesized core::bool #0#10 = #0#0{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1;
late final synthesized dynamic #0#12 = #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic};
late final synthesized dynamic #0#13 = #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic};
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
}
}
}
else
{
core::int a;
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final dynamic #t1 = a = #0#12{core::int} in true)) && #C3 =={core::num::==}{(core::Object) → core::bool} #0#13 || #0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final dynamic #t2 = a = #0#12{core::int} in true)) && #C1 =={core::num::==}{(core::Object) → core::bool} #0#13) {
{
core::print("List");
}
}
}
}
}
static method main() → dynamic {
@@ -18,7 +18,6 @@ static field core::int counter = 0;
static method test(dynamic o) → dynamic {
#L1:
{
core::int a;
final synthesized dynamic #0#0 = o;
function ##0#2#initializer() → core::int
return #0#0{self::Class}.{self::Class::field}{core::int};
@@ -32,18 +31,22 @@ static method test(dynamic o) → dynamic {
function ##0#13#initializer() → dynamic
return #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic};
late final synthesized dynamic #0#13 = ##0#13#initializer(){() → dynamic};
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
}
}
}
else
{
core::int a;
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final core::int #t1 = a = #0#12{core::int} in true)) && #C3 =={core::num::==}{(core::Object) → core::bool} #0#13 || #0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final core::int #t2 = a = #0#12{core::int} in true)) && #C1 =={core::num::==}{(core::Object) → core::bool} #0#13) {
{
core::print("List");
}
}
}
}
}
static method main() → dynamic {
@@ -18,24 +18,27 @@ static field core::int counter = 0;
static method test(dynamic o) → dynamic {
#L1:
{
core::int a;
final synthesized dynamic #0#0 = o;
late final synthesized core::int #0#2 = #0#0{self::Class}.{self::Class::field}{core::int};
late final synthesized core::bool #0#10 = #0#0{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1;
late final synthesized dynamic #0#12 = #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic};
late final synthesized dynamic #0#13 = #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic};
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
}
}
}
else
{
core::int a;
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final dynamic #t1 = a = #0#12{core::int} in true)) && #C3 =={core::num::==}{(core::Object) → core::bool} #0#13 || #0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final dynamic #t2 = a = #0#12{core::int} in true)) && #C1 =={core::num::==}{(core::Object) → core::bool} #0#13) {
{
core::print("List");
}
}
}
}
}
static method main() → dynamic {
@@ -18,24 +18,27 @@ static field core::int counter = 0;
static method test(dynamic o) → dynamic {
#L1:
{
core::int a;
final synthesized dynamic #0#0 = o;
late final synthesized core::int #0#2 = #0#0{self::Class}.{self::Class::field}{core::int};
late final synthesized core::bool #0#10 = #0#0{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1;
late final synthesized dynamic #0#12 = #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic};
late final synthesized dynamic #0#13 = #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic};
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
}
}
}
else
{
core::int a;
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final dynamic #t1 = a = #0#12{core::int} in true)) && #C3 =={core::num::==}{(core::Object) → core::bool} #0#13 || #0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final dynamic #t2 = a = #0#12{core::int} in true)) && #C1 =={core::num::==}{(core::Object) → core::bool} #0#13) {
{
core::print("List");
}
}
}
}
}
static method main() → dynamic {
@@ -18,7 +18,6 @@ static field core::int counter = 0;
static method test(dynamic o) → dynamic {
#L1:
{
core::int a;
final synthesized dynamic #0#0 = o;
function ##0#2#initializer() → core::int
return #0#0{self::Class}.{self::Class::field}{core::int};
@@ -32,18 +31,22 @@ static method test(dynamic o) → dynamic {
function ##0#13#initializer() → dynamic
return #0#0{core::List<dynamic>}.{core::List::[]}(1){(core::int) → dynamic};
late final synthesized dynamic #0#13 = ##0#13#initializer(){() → dynamic};
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#2 || #0#0 is{ForNonNullableByDefault} self::Class && #C3 =={core::num::==}{(core::Object) → core::bool} #0#2) {
{
core::print("Class");
break #L1;
}
}
}
else
{
core::int a;
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final core::int #t1 = a = #0#12{core::int} in true)) && #C3 =={core::num::==}{(core::Object) → core::bool} #0#13 || #0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#10 && (#0#12 is{ForNonNullableByDefault} core::int && (let final core::int #t2 = a = #0#12{core::int} in true)) && #C1 =={core::num::==}{(core::Object) → core::bool} #0#13) {
{
core::print("List");
}
}
}
}
}
static method main() → dynamic {
@@ -391,10 +391,6 @@ static method switchStatement(dynamic o) → core::int {
core::print("o = ${o}");
#L1:
{
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
late final synthesized core::Object? #0#4 = #0#0{({f: core::Object?})}.f{core::Object?};
late final synthesized core::Object? #0#15 = #0#0{({g: core::Object?})}.g{core::Object?};
@@ -419,188 +415,219 @@ static method switchStatement(dynamic o) → core::int {
synthesized core::bool #0#83;
synthesized core::bool #0#83#isSet = false;
late final synthesized dynamic #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
}
}
else
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t31 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t32 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
{
return 2;
}
}
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t33 = #0#15 as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15 as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t34 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t35 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t36 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t37 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32) {
{
return 7;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32) {
{
return 8;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43) {
{
return 9;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#47.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t38 = #0#50 as{ForNonNullableByDefault} core::int in (#0#50 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t39 = #0#53 as{ForNonNullableByDefault} core::int in (#0#53 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#58.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t40 = #0#61 as{ForNonNullableByDefault} core::int in (#0#61 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t41 = #0#64 as{ForNonNullableByDefault} core::int in (#0#64 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43) {
{
return 11;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69) {
{
return 12;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t42 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t43 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t44 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t45 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t46 = #0#30 in true)) {
{
return 19;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t47 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t48 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t49 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t50 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t51 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t52 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t53 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t54 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t55 = #0#26#isSet = true in #0#26 = #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} && (#0#104 is{ForNonNullableByDefault} core::int && (let final dynamic #t56 = b = #0#104{core::int} in true))) {
{
return 25;
}
}
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t57 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t58 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t59 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t60 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
else {
{
return 0;
}
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t33 = #0#15 as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15 as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t34 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t35 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t36 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t37 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32) {
{
return 7;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32) {
{
return 8;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43) {
{
return 9;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#47.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t38 = #0#50 as{ForNonNullableByDefault} core::int in (#0#50 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t39 = #0#53 as{ForNonNullableByDefault} core::int in (#0#53 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#58.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t40 = #0#61 as{ForNonNullableByDefault} core::int in (#0#61 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t41 = #0#64 as{ForNonNullableByDefault} core::int in (#0#64 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43) {
{
return 11;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69) {
{
return 12;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t42 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t43 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t44 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t45 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t46 = #0#30 in true)) {
{
return 19;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t47 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t48 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t49 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t50 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t51 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t52 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t53 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t54 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t55 = #0#26#isSet = true in #0#26 = #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} && (#0#104 is{ForNonNullableByDefault} core::int && (let final dynamic #t56 = b = #0#104{core::int} in true))) {
{
return 25;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t57 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t58 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t59 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t60 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
}
{
{
{
return 0;
}
}
}
}
}
static method switchExpression(dynamic o) → core::int {
core::print("o = ${o}");
return block {
core::int #t61;
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
late final synthesized core::Object? #0#4 = #0#0{({f: core::Object?})}.f{core::Object?};
late final synthesized core::Object? #0#15 = #0#0{({g: core::Object?})}.g{core::Object?};
@@ -625,92 +652,187 @@ static method switchExpression(dynamic o) → core::int {
synthesized core::bool #0#83;
synthesized core::bool #0#83#isSet = false;
late final synthesized dynamic #0#104 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t61 = 1;
else
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t66 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t67 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool})))
#t61 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0)
#L2:
{
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t61 = 1;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final dynamic #t66 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final dynamic #t67 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
#t61 = 2;
break #L2;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t61 = 3;
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t68 = #0#15 as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15 as{ForNonNullableByDefault} core::int))
#t61 = 4;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t69 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t70 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true))
#t61 = 5;
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t71 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false))
#t61 = 6;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t72 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32)
#t61 = 7;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32)
#t61 = 8;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43)
#t61 = 9;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#47.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t73 = #0#50 as{ForNonNullableByDefault} core::int in (#0#50 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t74 = #0#53 as{ForNonNullableByDefault} core::int in (#0#53 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})))
#t61 = 10;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#58.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t75 = #0#61 as{ForNonNullableByDefault} core::int in (#0#61 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t76 = #0#64 as{ForNonNullableByDefault} core::int in (#0#64 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43)
#t61 = 11;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69)
#t61 = 12;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int})
#t61 = 13;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int})
#t61 = 14;
else
if(#0#0 is{ForNonNullableByDefault} self::Class)
#t61 = 15;
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9)
#t61 = 16;
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10))
#t61 = 17;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t77 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t78 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool})
#t61 = 18;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t80 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t81 = #0#30 in true))
#t61 = 19;
else
if(#0#0 is{ForNonNullableByDefault} core::bool)
#t61 = 20;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t82 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12)
#t61 = 21;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t83 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t84 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int)
#t61 = 22;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t85 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String)
#t61 = 23;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t86 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t87 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t88 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true))
#t61 = 24;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t89 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t90 = #0#26#isSet = true in #0#26 = #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} && (#0#104 is{ForNonNullableByDefault} core::int && (let final dynamic #t91 = b = #0#104{core::int} in true)))
#t61 = 25;
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?})
#t61 = 26;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t92 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t93 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t94 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true))
#t61 = 27;
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t95 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int)
#t61 = 28;
else
if(true)
#t61 = 0;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final dynamic #t68 = #0#15 as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15 as{ForNonNullableByDefault} core::int)) {
#t61 = 4;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final dynamic #t69 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t70 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
#t61 = 5;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t71 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
#t61 = 6;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t72 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32) {
#t61 = 7;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32) {
#t61 = 8;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43) {
#t61 = 9;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#47.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t73 = #0#50 as{ForNonNullableByDefault} core::int in (#0#50 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t74 = #0#53 as{ForNonNullableByDefault} core::int in (#0#53 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
#t61 = 10;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#58.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final dynamic #t75 = #0#61 as{ForNonNullableByDefault} core::int in (#0#61 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final dynamic #t76 = #0#64 as{ForNonNullableByDefault} core::int in (#0#64 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43) {
#t61 = 11;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69) {
#t61 = 12;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
#t61 = 13;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
#t61 = 14;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
#t61 = 15;
break #L2;
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
#t61 = 16;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
#t61 = 17;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t77 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t78 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (#0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} as{ForNonNullableByDefault} core::int).{core::num::>=}(#C11){(core::num) → core::bool}) {
#t61 = 18;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t79 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t80 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t81 = #0#30 in true)) {
#t61 = 19;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
#t61 = 20;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t82 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
#t61 = 21;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t83 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t84 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
#t61 = 22;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t85 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
#t61 = 23;
break #L2;
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t86 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t87 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t88 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
#t61 = 24;
break #L2;
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final dynamic #t89 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final dynamic #t90 = #0#26#isSet = true in #0#26 = #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} && (#0#104 is{ForNonNullableByDefault} core::int && (let final dynamic #t91 = b = #0#104{core::int} in true))) {
#t61 = 25;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
#t61 = 26;
break #L2;
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final dynamic #t92 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final dynamic #t93 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final dynamic #t94 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
#t61 = 27;
break #L2;
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final dynamic #t95 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
#t61 = 28;
break #L2;
}
}
{
if(true) {
#t61 = 0;
break #L2;
}
}
}
} =>#t61;
}
static method test(dynamic expected, dynamic value) → dynamic {
@@ -435,10 +435,6 @@ static method switchStatement(dynamic o) → core::int {
core::print("o = ${o}");
#L1:
{
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
function ##0#4#initializer() → core::Object?
return #0#0{({f: core::Object?})}.f{core::Object?};
@@ -493,188 +489,219 @@ static method switchStatement(dynamic o) → core::int {
function ##0#104#initializer() → dynamic
return #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
late final synthesized dynamic #0#104 = ##0#104#initializer(){() → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 1;
}
}
}
else
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t33 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t34 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
{
return 2;
}
}
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
{
return 3;
}
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t35 = #0#15 as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15 as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t36 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t37 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t38 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t39 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32) {
{
return 7;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32) {
{
return 8;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43) {
{
return 9;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#47.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t40 = #0#50 as{ForNonNullableByDefault} core::int in (#0#50 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t41 = #0#53 as{ForNonNullableByDefault} core::int in (#0#53 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#58.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t42 = #0#61 as{ForNonNullableByDefault} core::int in (#0#61 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t43 = #0#64 as{ForNonNullableByDefault} core::int in (#0#64 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43) {
{
return 11;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69) {
{
return 12;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
else
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t44 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t45 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let core::int? #t46 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} in #t46 == null ?{core::int} #t46 as{ForNonNullableByDefault} core::int : #t46{core::int}).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t47 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t48 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t49 = #0#30 in true)) {
{
return 19;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t50 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t51 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t52 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t53 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t54 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t55 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t56 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t57 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t58 = #0#26#isSet = true in #0#26 = #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} && (#0#104 is{ForNonNullableByDefault} core::int && (let final core::int #t59 = b = #0#104{core::int} in true))) {
{
return 25;
}
}
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t60 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t61 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t62 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t63 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
else {
{
return 0;
}
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t35 = #0#15 as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15 as{ForNonNullableByDefault} core::int)) {
{
return 4;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t36 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t37 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
{
return 5;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t38 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
{
return 6;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t39 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32) {
{
return 7;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32) {
{
return 8;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43) {
{
return 9;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#47.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t40 = #0#50 as{ForNonNullableByDefault} core::int in (#0#50 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t41 = #0#53 as{ForNonNullableByDefault} core::int in (#0#53 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
{
return 10;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#58.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t42 = #0#61 as{ForNonNullableByDefault} core::int in (#0#61 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t43 = #0#64 as{ForNonNullableByDefault} core::int in (#0#64 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43) {
{
return 11;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69) {
{
return 12;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
{
return 13;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
{
return 14;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
{
return 15;
}
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
{
return 16;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
{
return 17;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t44 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t45 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let core::int? #t46 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} in #t46 == null ?{core::int} #t46 as{ForNonNullableByDefault} core::int : #t46{core::int}).{core::num::>=}(#C11){(core::num) → core::bool}) {
{
return 18;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t47 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t48 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t49 = #0#30 in true)) {
{
return 19;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
{
return 20;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t50 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
{
return 21;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t51 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t52 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
{
return 22;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t53 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
{
return 23;
}
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t54 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t55 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t56 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
{
return 24;
}
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t57 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t58 = #0#26#isSet = true in #0#26 = #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} && (#0#104 is{ForNonNullableByDefault} core::int && (let final core::int #t59 = b = #0#104{core::int} in true))) {
{
return 25;
}
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
{
return 26;
}
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t60 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t61 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t62 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
{
return 27;
}
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t63 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
{
return 28;
}
}
}
{
{
{
return 0;
}
}
}
}
}
static method switchExpression(dynamic o) → core::int {
core::print("o = ${o}");
return block {
core::int #t64;
dynamic a;
core::int b;
dynamic c;
dynamic d;
final synthesized dynamic #0#0 = o;
function ##0#4#initializer() → core::Object?
return #0#0{({f: core::Object?})}.f{core::Object?};
@@ -729,92 +756,187 @@ static method switchExpression(dynamic o) → core::int {
function ##0#104#initializer() → dynamic
return #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic};
late final synthesized dynamic #0#104 = ##0#104#initializer(){() → dynamic};
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0)
#t64 = 1;
else
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t69 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t70 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool})))
#t64 = 2;
else
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0)
#L2:
{
{
if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t64 = 1;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({f: core::Object?}) && ((let final core::int #t69 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::>=}(#C2){(core::num) → core::bool}) && (let final core::int #t70 = #0#4 as{ForNonNullableByDefault} core::int in (#0#4 as{ForNonNullableByDefault} core::int).{core::num::<}(#C3){(core::num) → core::bool}))) {
#t64 = 2;
break #L2;
}
}
{
if(#C4 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C5 =={core::num::==}{(core::Object) → core::bool} #0#0) {
#t64 = 3;
else
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t71 = #0#15 as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15 as{ForNonNullableByDefault} core::int))
#t64 = 4;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t72 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t73 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true))
#t64 = 5;
else
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t74 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false))
#t64 = 6;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t75 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32)
#t64 = 7;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32)
#t64 = 8;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43)
#t64 = 9;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#47.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t76 = #0#50 as{ForNonNullableByDefault} core::int in (#0#50 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t77 = #0#53 as{ForNonNullableByDefault} core::int in (#0#53 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})))
#t64 = 10;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#58.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t78 = #0#61 as{ForNonNullableByDefault} core::int in (#0#61 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t79 = #0#64 as{ForNonNullableByDefault} core::int in (#0#64 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43)
#t64 = 11;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69)
#t64 = 12;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int})
#t64 = 13;
else
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int})
#t64 = 14;
else
if(#0#0 is{ForNonNullableByDefault} self::Class)
#t64 = 15;
else
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9)
#t64 = 16;
else
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10))
#t64 = 17;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t80 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t81 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let core::int? #t82 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} in #t82 == null ?{core::int} #t82 as{ForNonNullableByDefault} core::int : #t82{core::int}).{core::num::>=}(#C11){(core::num) → core::bool})
#t64 = 18;
else
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t83 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t84 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t85 = #0#30 in true))
#t64 = 19;
else
if(#0#0 is{ForNonNullableByDefault} core::bool)
#t64 = 20;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t86 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12)
#t64 = 21;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t87 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t88 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int)
#t64 = 22;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t89 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String)
#t64 = 23;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t90 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t91 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t92 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true))
#t64 = 24;
else
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t93 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t94 = #0#26#isSet = true in #0#26 = #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} && (#0#104 is{ForNonNullableByDefault} core::int && (let final core::int #t95 = b = #0#104{core::int} in true)))
#t64 = 25;
else
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?})
#t64 = 26;
else
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t96 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t97 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t98 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true))
#t64 = 27;
else
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t99 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int)
#t64 = 28;
else
if(true)
#t64 = 0;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({g: core::Object?}) && (let final core::int #t71 = #0#15 as{ForNonNullableByDefault} core::int in #C6 =={core::num::==}{(core::Object) → core::bool} #0#15 as{ForNonNullableByDefault} core::int)) {
#t64 = 4;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?}) && (let final core::Object? #t72 = (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t73 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?})}.a{core::Object?})! in true)) {
#t64 = 5;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({b: core::Object?}) && (!((#0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t74 = #0#23#isSet = true in #0#23 = #0#0{({b: core::Object?})}.b{core::Object?}) == null) ?{core::bool} true : false)) {
#t64 = 6;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t75 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C7 && #C1 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#32) {
#t64 = 7;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C7 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#32) {
#t64 = 8;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#32 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#43) {
#t64 = 9;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#34 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#47.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t76 = #0#50 as{ForNonNullableByDefault} core::int in (#0#50 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t77 = #0#53 as{ForNonNullableByDefault} core::int in (#0#53 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool}))) {
#t64 = 10;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && #0#38 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#30 && #C4 =={core::num::==}{(core::Object) → core::bool} #0#32 && (#0#58.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C7 && (let final core::int #t78 = #0#61 as{ForNonNullableByDefault} core::int in (#0#61 as{ForNonNullableByDefault} core::int).{core::num::<}(#C1){(core::num) → core::bool}) && (let final core::int #t79 = #0#64 as{ForNonNullableByDefault} core::int in (#0#64 as{ForNonNullableByDefault} core::int).{core::num::>}(#C7){(core::num) → core::bool})) && #C5 =={core::num::==}{(core::Object) → core::bool} #0#43) {
#t64 = 11;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C1 =={core::num::==}{(core::Object) → core::bool} #0#69) {
#t64 = 12;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C7 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::finalField}{core::int}) {
#t64 = 13;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class && #C2 =={core::num::==}{(core::Object) → core::bool} #0#69 && #C8 =={core::num::==}{(core::Object) → core::bool} #0#0{self::Class}.{self::Class::getter}{core::int}) {
#t64 = 14;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} self::Class) {
#t64 = 15;
break #L2;
}
}
{
if(#0#0 =={core::Object::==}{(core::Object) → core::bool} #C9) {
#t64 = 16;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} ({e: core::Object?}) && !(#0#0{({e: core::Object?})}.e{core::Object?} =={core::Object::==}{(core::Object) → core::bool} #C10)) {
#t64 = 17;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<core::int, core::int> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t80 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t81 = #0#26#isSet = true in #0#26 = #0#0{core::Map<core::int, core::int>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let core::int? #t82 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C3){(core::Object?) → core::int?} in #t82 == null ?{core::int} #t82 as{ForNonNullableByDefault} core::int : #t82{core::int}).{core::num::>=}(#C11){(core::num) → core::bool}) {
#t64 = 18;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::List<dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t83 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t84 = #0#26#isSet = true in #0#26 = #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C1) && (let final dynamic #t85 = #0#30 in true)) {
#t64 = 19;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::bool) {
#t64 = 20;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t86 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} #C12) {
#t64 = 21;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t87 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t88 = #0#26#isSet = true in #0#26 = #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}(#C12){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::int) {
#t64 = 22;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t89 = #0#26#isSet = true in #0#26 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::length}{core::int}).{core::num::>=}(#C1){(core::num) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool} && #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic} is{ForNonNullableByDefault} core::String) {
#t64 = 23;
break #L2;
}
}
{
dynamic a;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t90 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t91 = #0#26#isSet = true in #0#26 = #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}(#C7){(core::Object?) → core::bool} && (let final dynamic #t92 = a = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C7){(core::Object?) → dynamic} in true)) {
#t64 = 24;
break #L2;
}
}
{
core::int b;
if(#0#0 is{ForNonNullableByDefault} core::Map<dynamic, dynamic> && (#0#83#isSet ?{core::bool} #0#83{core::bool} : let final core::bool* #t93 = #0#83#isSet = true in #0#83 = (#0#26#isSet ?{core::int} #0#26{core::int} : let final core::bool* #t94 = #0#26#isSet = true in #0#26 = #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} && (#0#104 is{ForNonNullableByDefault} core::int && (let final core::int #t95 = b = #0#104{core::int} in true))) {
#t64 = 25;
break #L2;
}
}
{
if(#0#0 is{ForNonNullableByDefault} (core::Object?, core::Object?) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$1{core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{(core::Object?, core::Object?)}.$2{core::Object?}) {
#t64 = 26;
break #L2;
}
}
{
dynamic c;
if(#0#0 is{ForNonNullableByDefault} ({a: core::Object?, b: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} (#0#20#isSet ?{core::Object?} #0#20{core::Object?} : let final core::bool* #t96 = #0#20#isSet = true in #0#20 = #0#0{({a: core::Object?, b: core::Object?})}.a{core::Object?}) && (let final core::Object? #t97 = c = #0#23#isSet ?{core::Object?} #0#23{core::Object?} : let final core::bool* #t98 = #0#23#isSet = true in #0#23 = #0#0{({a: core::Object?, b: core::Object?})}.b{core::Object?} in true)) {
#t64 = 27;
break #L2;
}
}
{
dynamic d;
if(#0#0 is{ForNonNullableByDefault} ({c: core::Object?, d: core::Object?}) && #C12 =={core::num::==}{(core::Object) → core::bool} #0#0{({c: core::Object?, d: core::Object?})}.c{core::Object?} && (let final core::Object? #t99 = d = #0#0{({c: core::Object?, d: core::Object?})}.d{core::Object?} in true) && d is{ForNonNullableByDefault} core::int) {
#t64 = 28;
break #L2;
}
}
{
if(true) {
#t64 = 0;
break #L2;
}
}
}
} =>#t64;
}
static method test(dynamic expected, dynamic value) → dynamic {

Some files were not shown because too many files have changed in this diff Show More