blob: 32845fea5fb05b3bc0476d85d2cc32f05c3684e1 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
import "dart:_internal" as _in;
[222]class E extends core::_Enum /*isEnum*/ {
[222] static const field core::List<self::E> values = [-1] [-1] #C10;
[226] enum-element static const field self::E a = [226] [226] #C3;
[229] enum-element static const field self::E b = [229] [229] #C6;
[232] enum-element static const field self::E c = [232] [232] #C9;
[222] const synthetic constructor •([222] core::int #index, [222] core::String #name) → self::E
: [-1] super core::_Enum::• [-1]([-1] #index, [-1] #name)
[-1] ;
[222] method _enumToString() core::String
[-1] return [-1] [-1] "E.${[-1] [-1] [-1] [-1] this.{core::_Enum::_name}{core::String}}";
}
[243]class PrimitiveEquals extends core::Object /*hasConstConstructor*/ {
[273] final field core::int field;
[289] const constructor •([310] core::int field) self::PrimitiveEquals
: [310] self::PrimitiveEquals::field = [-1] [-1] field, [289] super core::Object::• [-1]()
[-1] ;
}
[327]class NonPrimitiveEquals extends core::Object /*hasConstConstructor*/ {
[360] final field core::int field;
[376] const constructor •([400] core::int field) self::NonPrimitiveEquals
: [400] self::NonPrimitiveEquals::field = [-1] [-1] field, [376] super core::Object::• [-1]()
[-1] ;
[419] get hashCode() core::int
[431] return [437] [437] [431] [431] [431] [431] this.{self::NonPrimitiveEquals::field}{core::int}.{core::num::hashCode}{core::int};
[464] operator ==([474] core::Object other) core::bool {
[487] if([491] [491] core::identical [500]([501] this, [507] other))
[515] return [522] [522] true;
[532] return [567] [567] [545] [545] [539] [539] other is self::NonPrimitiveEquals && [576] [576] [570] [570] [570] [570] this.{self::NonPrimitiveEquals::field}{core::int} =={core::num::==}{(core::Object) core::bool} [585] [585] [579] [579] other{self::NonPrimitiveEquals}.{self::NonPrimitiveEquals::field}{core::int};
}
}
[599]static method switchStatement([615] dynamic o) dynamic {
[622] #L1:
[622] {
[630] [630] final synthesized dynamic #0#0 = [630] [630] o;
[-1] [-1] synthesized core::int #0#2;
[-1] [-1] synthesized core::bool #0#2#isSet = [644] [644] false;
[-1] [-1] dynamic #t1;
[639] {
[649] [649] lowered hoisted dynamic a#case#0;
[681] [681] lowered hoisted dynamic a#case#1;
[639] if([622] [622] [649] [649] [-1] [-1] [644] [644] [644] [644] [644] [644] [-1] [-1] #0#0 is core::List<dynamic> && [644] [644] [644]([644] [-1] [-1] #0#2#isSet ?{core::int} [-1] [-1] #0#2{core::int} : [644] [644] let [644] final core::bool #t2 = [644] [644] #0#2#isSet = [644] [644] true in [644] [644] #0#2 = [644] [644] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C4 && [649]([649] let [649] final dynamic #t3 = [649] [649] a#case#0 = [644] [644] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[644]([644] 0){(core::int) → dynamic} in [-1] [-1] true) && [659] [659] [659] [659] [657] [657] a#case#0{dynamic}.> [659]([661] 5) as{TypeError} core::bool && [622]([622] let [622] final dynamic #t4 = [622] [622] #t1 = [649] [649] a#case#0 in [649] [649] true) || [681] [681] [-1] [-1] [673] [673] [673] [673] [673] [673] [-1] [-1] #0#0 is core::List<dynamic> && [673] [673] [644]([644] [-1] [-1] #0#2#isSet ?{core::int} [-1] [-1] #0#2{core::int} : [644] [644] let [644] final core::bool #t5 = [644] [644] #0#2#isSet = [644] [644] true in [644] [644] #0#2 = [644] [644] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C7 && [681]([681] let [681] final dynamic #t6 = [681] [681] a#case#1 = [673] [673] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[673]([673] 1){(core::int) → dynamic} in [-1] [-1] true) && [691] [691] [691] [691] [689] [689] a#case#1{dynamic}.< [691]([693] 5) as{TypeError} core::bool && [622]([622] let [622] final dynamic #t7 = [622] [622] #t1 = [681] [681] a#case#1 in [681] [681] true)) {
[649] [649] dynamic a = [-1] [-1] #t1{dynamic};
[639] {
[702] [702] [702] core::print [707]([708] a);
[-1] break #L1;
}
}
}
[716] {
[729] [729] hoisted dynamic a;
[716] if([721] [721] [723] [723] [721] [721] [-1] [-1] #0#0 is core::Map<dynamic, dynamic> && [723] [723] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}[723]([-1] #C4){(core::Object?) → core::bool} && [729]([729] let [729] final dynamic #t8 = [729] [729] a = [723] [723] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}[723]([-1] #C4){(core::Object?) → dynamic} in [-1] [-1] true)) {
[716] {
[739] [739] [739] core::print [744]([745] a);
}
}
}
}
}
[756]static method switchStatementWithLabel([781] dynamic o) dynamic {
[788] #L2:
[788] {
[796] [796] final synthesized dynamic #0#0 = [796] [796] o;
[-1] [-1] synthesized core::int #0#2;
[-1] [-1] synthesized core::bool #0#2#isSet = [810] [810] false;
[-1] [-1] dynamic #t9;
[805] {
[815] [815] lowered hoisted dynamic a#case#0;
[847] [847] lowered hoisted dynamic a#case#1;
[805] if([788] [788] [815] [815] [-1] [-1] [810] [810] [810] [810] [810] [810] [-1] [-1] #0#0 is core::List<dynamic> && [810] [810] [810]([810] [-1] [-1] #0#2#isSet ?{core::int} [-1] [-1] #0#2{core::int} : [810] [810] let [810] final core::bool #t10 = [810] [810] #0#2#isSet = [810] [810] true in [810] [810] #0#2 = [810] [810] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C4 && [815]([815] let [815] final dynamic #t11 = [815] [815] a#case#0 = [810] [810] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[810]([810] 0){(core::int) → dynamic} in [-1] [-1] true) && [825] [825] [825] [825] [823] [823] a#case#0{dynamic}.> [825]([827] 5) as{TypeError} core::bool && [788]([788] let [788] final dynamic #t12 = [788] [788] #t9 = [815] [815] a#case#0 in [815] [815] true) || [847] [847] [-1] [-1] [839] [839] [839] [839] [839] [839] [-1] [-1] #0#0 is core::List<dynamic> && [839] [839] [810]([810] [-1] [-1] #0#2#isSet ?{core::int} [-1] [-1] #0#2{core::int} : [810] [810] let [810] final core::bool #t13 = [810] [810] #0#2#isSet = [810] [810] true in [810] [810] #0#2 = [810] [810] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C7 && [847]([847] let [847] final dynamic #t14 = [847] [847] a#case#1 = [839] [839] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[839]([839] 1){(core::int) → dynamic} in [-1] [-1] true) && [857] [857] [857] [857] [855] [855] a#case#1{dynamic}.< [857]([859] 5) as{TypeError} core::bool && [788]([788] let [788] final dynamic #t15 = [788] [788] #t9 = [847] [847] a#case#1 in [847] [847] true)) {
[815] [815] dynamic a = [-1] [-1] #t9{dynamic};
[805] {
[868] [868] [868] core::print [873]([874] a);
[-1] break #L2;
}
}
}
[882] {
[895] [895] hoisted dynamic a;
[882] if([887] [887] [889] [889] [887] [887] [-1] [-1] #0#0 is core::Map<dynamic, dynamic> && [889] [889] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}[889]([-1] #C4){(core::Object?) → core::bool} && [895]([895] let [895] final dynamic #t16 = [895] [895] a = [889] [889] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}[889]([-1] #C4){(core::Object?) → dynamic} in [-1] [-1] true)) {
[882] {
[905] [905] [905] core::print [910]([911] a);
[-1] break #L2;
}
}
}
[919] {
[919] if([935] [935] [-1] [-1] #C4 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[919] {
[944] [944] [944] core::print [949]([950] 1);
}
}
}
}
}
[961]static method switchStatementWithContinue([989] dynamic o) dynamic {
[996] #L3:
[996] {
[996] [996] core::int #t17 = [996] [996] [996] [996] 1.{core::int::unary-}[996](){() → core::int};
[1004] [1004] final synthesized dynamic #0#0 = [1004] [1004] o;
[-1] [-1] synthesized core::int #0#2;
[-1] [-1] synthesized core::bool #0#2#isSet = [1018] [1018] false;
[-1] [-1] dynamic #t18;
[996] #L4:
[996] {
[1013] {
[1023] [1023] lowered hoisted dynamic a#case#0;
[1055] [1055] lowered hoisted dynamic a#case#1;
[1013] if([996] [996] [1023] [1023] [-1] [-1] [1018] [1018] [1018] [1018] [1018] [1018] [-1] [-1] #0#0 is core::List<dynamic> && [1018] [1018] [1018]([1018] [-1] [-1] #0#2#isSet ?{core::int} [-1] [-1] #0#2{core::int} : [1018] [1018] let [1018] final core::bool #t19 = [1018] [1018] #0#2#isSet = [1018] [1018] true in [1018] [1018] #0#2 = [1018] [1018] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C4 && [1023]([1023] let [1023] final dynamic #t20 = [1023] [1023] a#case#0 = [1018] [1018] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[1018]([1018] 0){(core::int) → dynamic} in [-1] [-1] true) && [1033] [1033] [1033] [1033] [1031] [1031] a#case#0{dynamic}.> [1033]([1035] 5) as{TypeError} core::bool && [996]([996] let [996] final dynamic #t21 = [996] [996] #t18 = [1023] [1023] a#case#0 in [1023] [1023] true) || [1055] [1055] [-1] [-1] [1047] [1047] [1047] [1047] [1047] [1047] [-1] [-1] #0#0 is core::List<dynamic> && [1047] [1047] [1018]([1018] [-1] [-1] #0#2#isSet ?{core::int} [-1] [-1] #0#2{core::int} : [1018] [1018] let [1018] final core::bool #t22 = [1018] [1018] #0#2#isSet = [1018] [1018] true in [1018] [1018] #0#2 = [1018] [1018] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C7 && [1055]([1055] let [1055] final dynamic #t23 = [1055] [1055] a#case#1 = [1047] [1047] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[1047]([1047] 1){(core::int) → dynamic} in [-1] [-1] true) && [1065] [1065] [1065] [1065] [1063] [1063] a#case#1{dynamic}.< [1065]([1067] 5) as{TypeError} core::bool && [996]([996] let [996] final dynamic #t24 = [996] [996] #t18 = [1055] [1055] a#case#1 in [1055] [1055] true)) {
[1023] [1023] dynamic a = [-1] [-1] #t18{dynamic};
[1013] {
[1076] [1076] [1076] core::print [1081]([1082] a);
[-1] break #L3;
}
}
}
[1090] {
[1103] [1103] hoisted dynamic a;
[1090] if([1095] [1095] [1097] [1097] [1095] [1095] [-1] [-1] #0#0 is core::Map<dynamic, dynamic> && [1097] [1097] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}[1097]([-1] #C4){(core::Object?) → core::bool} && [1103]([1103] let [1103] final dynamic #t25 = [1103] [1103] a = [1097] [1097] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}[1097]([-1] #C4){(core::Object?) → dynamic} in [-1] [-1] true)) {
[1090] {
[1113] [1113] [1113] core::print [1118]([1119] a);
[1129] [1129] [1129] #t17 = [1129] [1129] 0;
[1129] break #L4;
}
}
}
[1150] {
[1150] if([1155] [1155] [-1] [-1] #C1 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[1150] {
[1164] [1164] [1164] core::print [1169]([1170] o);
[-1] break #L3;
}
}
}
[1178] {
[1178] if([1195] [1195] [-1] [-1] #C4 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[996] [996] [996] #t17 = [996] [996] 0;
[1178] break #L4;
}
}
[1241] {
[1241] if([1258] [1258] [-1] [-1] #C7 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[996] [996] [996] #t17 = [996] [996] 1;
[1241] break #L4;
}
}
}
[996] switch([996] [996] #t17) /* dynamic */ {
[996] #L5:
case [996] [996] #C1:
[996] {
[1178] {
[1204] [1204] [1204] core::print [1209]([1210] 1);
[1220] continue #L6;
}
}
[996] #L6:
case [996] [996] #C4:
[996] {
[1241] {
[1267] [1267] [1267] core::print [1272]([1273] 2);
}
}
}
}
}
[1284]static method switchStatementWithContinueNested([1318] dynamic o1, [1322] dynamic o2) dynamic {
[1330] #L7:
[1330] {
[1330] [1330] core::int #t26 = [1330] [1330] [1330] [1330] 1.{core::int::unary-}[1330](){() → core::int};
[1338] [1338] final synthesized dynamic #2#0 = [1338] [1338] o1;
[1330] #L8:
[1330] {
[1348] {
[1358] [1358] hoisted dynamic a;
[1348] if([1353] [1353] [1353] [1353] [1353] [1353] [-1] [-1] #2#0 is core::List<dynamic> && [1353] [1353] [1353] [1353] [-1] [-1] #2#0{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C4 && [1358]([1358] let [1358] final dynamic #t27 = [1358] [1358] a = [1353] [1353] [-1] [-1] #2#0{core::List<dynamic>}.{core::List::[]}[1353]([1353] 0){(core::int) → dynamic} in [-1] [-1] true)) {
[1348] {
[1368] [1368] [1368] core::print [1373]([1374] a);
[-1] break #L7;
}
}
}
[1382] {
[1395] [1395] hoisted dynamic a;
[1382] if([1387] [1387] [1389] [1389] [1387] [1387] [-1] [-1] #2#0 is core::Map<dynamic, dynamic> && [1389] [1389] [-1] [-1] #2#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}[1389]([-1] #C4){(core::Object?) → core::bool} && [1395]([1395] let [1395] final dynamic #t28 = [1395] [1395] a = [1389] [1389] [-1] [-1] #2#0{core::Map<dynamic, dynamic>}.{core::Map::[]}[1389]([-1] #C4){(core::Object?) → dynamic} in [-1] [-1] true)) {
[1382] {
[1405] [1405] [1405] core::print [1410]([1411] a);
[1421] #L9:
[1421] {
[1421] [1421] core::int #t29 = [1421] [1421] [1421] [1421] 1.{core::int::unary-}[1421](){() → core::int};
[1429] [1429] final synthesized dynamic #0#0 = [1429] [1429] o2;
[-1] [-1] synthesized core::int #0#2;
[-1] [-1] synthesized core::bool #0#2#isSet = [1448] [1448] false;
[-1] [-1] dynamic #t30;
[1421] #L10:
[1421] {
[1443] {
[1453] [1453] lowered hoisted dynamic a#case#0;
[1489] [1489] lowered hoisted dynamic a#case#1;
[1443] if([1421] [1421] [1453] [1453] [-1] [-1] [1448] [1448] [1448] [1448] [1448] [1448] [-1] [-1] #0#0 is core::List<dynamic> && [1448] [1448] [1448]([1448] [-1] [-1] #0#2#isSet ?{core::int} [-1] [-1] #0#2{core::int} : [1448] [1448] let [1448] final core::bool #t31 = [1448] [1448] #0#2#isSet = [1448] [1448] true in [1448] [1448] #0#2 = [1448] [1448] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C4 && [1453]([1453] let [1453] final dynamic #t32 = [1453] [1453] a#case#0 = [1448] [1448] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[1448]([1448] 0){(core::int) → dynamic} in [-1] [-1] true) && [1463] [1463] [1463] [1463] [1461] [1461] a#case#0{dynamic}.> [1463]([1465] 5) as{TypeError} core::bool && [1421]([1421] let [1421] final dynamic #t33 = [1421] [1421] #t30 = [1453] [1453] a#case#0 in [1453] [1453] true) || [1489] [1489] [-1] [-1] [1481] [1481] [1481] [1481] [1481] [1481] [-1] [-1] #0#0 is core::List<dynamic> && [1481] [1481] [1448]([1448] [-1] [-1] #0#2#isSet ?{core::int} [-1] [-1] #0#2{core::int} : [1448] [1448] let [1448] final core::bool #t34 = [1448] [1448] #0#2#isSet = [1448] [1448] true in [1448] [1448] #0#2 = [1448] [1448] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C7 && [1489]([1489] let [1489] final dynamic #t35 = [1489] [1489] a#case#1 = [1481] [1481] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[1481]([1481] 1){(core::int) → dynamic} in [-1] [-1] true) && [1499] [1499] [1499] [1499] [1497] [1497] a#case#1{dynamic}.< [1499]([1501] 5) as{TypeError} core::bool && [1421]([1421] let [1421] final dynamic #t36 = [1421] [1421] #t30 = [1489] [1489] a#case#1 in [1489] [1489] true)) {
[1453] [1453] dynamic a = [-1] [-1] #t30{dynamic};
[1443] {
[1514] [1514] [1514] core::print [1519]([1520] a);
[-1] break #L9;
}
}
}
[1532] {
[1545] [1545] hoisted dynamic a;
[1532] if([1537] [1537] [1539] [1539] [1537] [1537] [-1] [-1] #0#0 is core::Map<dynamic, dynamic> && [1539] [1539] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}[1539]([-1] #C4){(core::Object?) → core::bool} && [1545]([1545] let [1545] final dynamic #t37 = [1545] [1545] a = [1539] [1539] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}[1539]([-1] #C4){(core::Object?) → dynamic} in [-1] [-1] true)) {
[1532] {
[1559] [1559] [1559] core::print [1564]([1565] a);
[1579] [1579] [1579] #t26 = [1579] [1579] 1;
[1579] break #L8;
}
}
}
[1605] {
[1605] if([1610] [1610] [-1] [-1] #C1 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[1605] {
[1623] [1623] [1623] core::print [1628]([1629] o2);
[1644] [1644] [1644] #t29 = [1644] [1644] 0;
[1644] break #L10;
}
}
}
[1670] {
[1670] if([1692] [1692] [-1] [-1] #C4 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[1421] [1421] [1421] #t29 = [1421] [1421] 0;
[1670] break #L10;
}
}
[1751] {
[1751] if([1773] [1773] [-1] [-1] #C7 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[1421] [1421] [1421] #t29 = [1421] [1421] 1;
[1751] break #L10;
}
}
}
[1421] switch([1421] [1421] #t29) /* dynamic */ {
[1421] #L11:
case [1421] [1421] #C1:
[1421] {
[1670] {
[1705] [1705] [1705] core::print [1710]([1711] 1);
[1725] continue #L12;
}
}
[1421] #L12:
case [1421] [1421] #C4:
[1421] {
[1751] {
[1786] [1786] [1786] core::print [1791]([1792] 2);
[1806] [1806] [1806] #t26 = [1806] [1806] 0;
[1806] break #L8;
}
}
}
}
[-1] break #L7;
}
}
}
[1836] {
[1836] if([1841] [1841] [-1] [-1] #C1 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #2#0) {
[1836] {
[1850] [1850] [1850] core::print [1855]([1856] o1);
[-1] break #L7;
}
}
}
[1865] {
[1865] if([1883] [1883] [-1] [-1] #C4 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #2#0) {
[1330] [1330] [1330] #t26 = [1330] [1330] 0;
[1865] break #L8;
}
}
[1930] {
[1930] if([1948] [1948] [-1] [-1] #C7 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #2#0) {
[1330] [1330] [1330] #t26 = [1330] [1330] 1;
[1930] break #L8;
}
}
}
[1330] switch([1330] [1330] #t26) /* dynamic */ {
[1330] #L13:
case [1330] [1330] #C1:
[1330] {
[1865] {
[1892] [1892] [1892] core::print [1897]([1898] 1);
[1908] continue #L14;
}
}
[1330] #L14:
case [1330] [1330] #C4:
[1330] {
[1930] {
[1957] [1957] [1957] core::print [1962]([1963] 2);
[1973] #L15:
[1973] {
[1973] [1973] core::int #t38 = [1973] [1973] [1973] [1973] 1.{core::int::unary-}[1973](){() → core::int};
[1981] [1981] final synthesized dynamic #1#0 = [1981] [1981] o2;
[-1] [-1] synthesized core::int #1#2;
[-1] [-1] synthesized core::bool #1#2#isSet = [2000] [2000] false;
[-1] [-1] dynamic #t39;
[1973] #L16:
[1973] {
[1995] {
[2005] [2005] lowered hoisted dynamic a#case#0;
[2041] [2041] lowered hoisted dynamic a#case#1;
[1995] if([1973] [1973] [2005] [2005] [-1] [-1] [2000] [2000] [2000] [2000] [2000] [2000] [-1] [-1] #1#0 is core::List<dynamic> && [2000] [2000] [2000]([2000] [-1] [-1] #1#2#isSet ?{core::int} [-1] [-1] #1#2{core::int} : [2000] [2000] let [2000] final core::bool #t40 = [2000] [2000] #1#2#isSet = [2000] [2000] true in [2000] [2000] #1#2 = [2000] [2000] [-1] [-1] #1#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C4 && [2005]([2005] let [2005] final dynamic #t41 = [2005] [2005] a#case#0 = [2000] [2000] [-1] [-1] #1#0{core::List<dynamic>}.{core::List::[]}[2000]([2000] 0){(core::int) → dynamic} in [-1] [-1] true) && [2015] [2015] [2015] [2015] [2013] [2013] a#case#0{dynamic}.> [2015]([2017] 5) as{TypeError} core::bool && [1973]([1973] let [1973] final dynamic #t42 = [1973] [1973] #t39 = [2005] [2005] a#case#0 in [2005] [2005] true) || [2041] [2041] [-1] [-1] [2033] [2033] [2033] [2033] [2033] [2033] [-1] [-1] #1#0 is core::List<dynamic> && [2033] [2033] [2000]([2000] [-1] [-1] #1#2#isSet ?{core::int} [-1] [-1] #1#2{core::int} : [2000] [2000] let [2000] final core::bool #t43 = [2000] [2000] #1#2#isSet = [2000] [2000] true in [2000] [2000] #1#2 = [2000] [2000] [-1] [-1] #1#0{core::List<dynamic>}.{core::List::length}{core::int}) =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C7 && [2041]([2041] let [2041] final dynamic #t44 = [2041] [2041] a#case#1 = [2033] [2033] [-1] [-1] #1#0{core::List<dynamic>}.{core::List::[]}[2033]([2033] 1){(core::int) → dynamic} in [-1] [-1] true) && [2051] [2051] [2051] [2051] [2049] [2049] a#case#1{dynamic}.< [2051]([2053] 5) as{TypeError} core::bool && [1973]([1973] let [1973] final dynamic #t45 = [1973] [1973] #t39 = [2041] [2041] a#case#1 in [2041] [2041] true)) {
[2005] [2005] dynamic a = [-1] [-1] #t39{dynamic};
[1995] {
[2066] [2066] [2066] core::print [2071]([2072] a);
[-1] break #L15;
}
}
}
[2084] {
[2097] [2097] hoisted dynamic a;
[2084] if([2089] [2089] [2091] [2091] [2089] [2089] [-1] [-1] #1#0 is core::Map<dynamic, dynamic> && [2091] [2091] [-1] [-1] #1#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}[2091]([-1] #C4){(core::Object?) → core::bool} && [2097]([2097] let [2097] final dynamic #t46 = [2097] [2097] a = [2091] [2091] [-1] [-1] #1#0{core::Map<dynamic, dynamic>}.{core::Map::[]}[2091]([-1] #C4){(core::Object?) → dynamic} in [-1] [-1] true)) {
[2084] {
[2111] [2111] [2111] core::print [2116]([2117] a);
[2131] continue #L14;
}
}
}
[2157] {
[2157] if([2162] [2162] [-1] [-1] #C1 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #1#0) {
[2157] {
[2175] [2175] [2175] core::print [2180]([2181] o2);
[2196] [2196] [2196] #t38 = [2196] [2196] 0;
[2196] break #L16;
}
}
}
[2222] {
[2222] if([2244] [2244] [-1] [-1] #C4 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #1#0) {
[1973] [1973] [1973] #t38 = [1973] [1973] 0;
[2222] break #L16;
}
}
[2303] {
[2303] if([2325] [2325] [-1] [-1] #C7 =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #1#0) {
[1973] [1973] [1973] #t38 = [1973] [1973] 1;
[2303] break #L16;
}
}
}
[1973] switch([1973] [1973] #t38) /* dynamic */ {
[1973] #L17:
case [1973] [1973] #C1:
[1973] {
[2222] {
[2257] [2257] [2257] core::print [2262]([2263] 1);
[2277] continue #L18;
}
}
[1973] #L18:
case [1973] [1973] #C4:
[1973] {
[2303] {
[2338] [2338] [2338] core::print [2343]([2344] 2);
[2358] continue #L13;
}
}
}
}
}
}
}
}
}
[2391]static method switchStatementEnum([2413] self::E o) dynamic {
[2420] #L19:
[2420] switch([2428] [2428] o) /* isExplicitlyExhaustive, self::E */ {
[2437] #L20:
case [2444] [2444] #C3:
[2437] {
[2453] [2453] [2453] core::print [2458]([2459] "a");
[-1] break #L19;
}
[2469] #L21:
case [2476] [2476] #C6:
[2469] {
[2485] [2485] [2485] core::print [2490]([2491] "b");
[-1] break #L19;
}
[2501] #L22:
case [2508] [2508] #C9:
[2501] {
[2517] [2517] [2517] core::print [2522]([2523] "c");
[2501] break #L19;
}
[2420] #L23:
default:
[2420] [2420] [2420] throw{for-error-handling} [2420] [2420] new _in::ReachabilityError::• [2420]([2420] "`null` encountered as case in a switch statement with a non-nullable type.");
}
}
[2536]static method switchStatementEnumWithGuard([2567] self::E o) dynamic {
[2574] #L24:
[2574] {
[2582] [2582] final synthesized self::E #0#0 = [2582] [2582] o;
[2591] {
[2591] if([-1] [-1] [2598] [2598] [-1] [-1] #C3 =={core::Object::==}{(core::Object) → core::bool} [-1] [-1] #0#0 && [2605] [2605] true) {
[2591] {
[2617] [2617] [2617] core::print [2622]([2623] "a");
[-1] break #L24;
}
}
}
[2633] {
[2633] if([2640] [2640] [-1] [-1] #C6 =={core::Object::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[2633] {
[2649] [2649] [2649] core::print [2654]([2655] "b");
[-1] break #L24;
}
}
}
[2665] {
[2665] if([2670] [2670] true) {
}
[2665] break #L24;
}
[2574] [2574] [2574] throw{for-error-handling} [2574] [2574] new _in::ReachabilityError::• [2574]([2574] "`null` encountered as case in a switch statement with a non-nullable type.");
}
}
[2680]static method switchStatementEnumWithLabel([2711] self::E o) dynamic {
[2718] #L25:
[2718] switch([2726] [2726] o) /* isExplicitlyExhaustive, self::E */ {
[2735] #L26:
case [2742] [2742] #C3:
[2735] {
[2751] [2751] [2751] core::print [2756]([2757] "a");
[-1] break #L25;
}
[2767] #L27:
case [2785] [2785] #C6:
[2767] {
[2794] [2794] [2794] core::print [2799]([2800] "b");
[-1] break #L25;
}
[2810] #L28:
case [2817] [2817] #C9:
[2810] {
[2826] [2826] [2826] core::print [2831]([2832] "c");
[2810] break #L25;
}
[2718] #L29:
default:
[2718] [2718] [2718] throw{for-error-handling} [2718] [2718] new _in::ReachabilityError::• [2718]([2718] "`null` encountered as case in a switch statement with a non-nullable type.");
}
}
[2845]static method switchStatementEnumWithContinue([2879] self::E o) dynamic {
[2886] #L30:
[2886] switch([2894] [2894] o) /* isExplicitlyExhaustive, self::E */ {
[2903] #L31:
case [2910] [2910] #C3:
[2903] {
[2919] [2919] [2919] core::print [2924]([2925] "a");
[2937] continue #L32;
}
[2958] #L32:
case [2977] [2977] #C6:
[2958] {
[2986] [2986] [2986] core::print [2991]([2992] "b");
[3004] continue #L33;
}
[3025] #L33:
case [3044] [3044] #C9:
[3025] {
[3053] [3053] [3053] core::print [3058]([3059] "c");
[3025] break #L30;
}
[2886] #L34:
default:
[2886] [2886] [2886] throw{for-error-handling} [2886] [2886] new _in::ReachabilityError::• [2886]([2886] "`null` encountered as case in a switch statement with a non-nullable type.");
}
}
[3072]static method switchStatementPrimitiveEquals([3103] dynamic o) dynamic {
[3110] #L35:
[3110] switch([3118] [3118] o) /* dynamic */ {
[3127] #L36:
case [3138] [3138] #C11:
[3127] {
[3164] [3164] [3164] core::print [3169]([3170] "a");
[-1] break #L35;
}
[3180] #L37:
case [3191] [3191] #C12:
[3180] {
[3217] [3217] [3217] core::print [3222]([3223] "b");
}
}
}
[3236]static method switchStatementNonPrimitiveEquals([3270] dynamic o) dynamic {
[3277] #L38:
[3277] {
[3285] [3285] final synthesized dynamic #0#0 = [3285] [3285] o;
[3294] {
[3294] if([3305] [3305] [-1] [-1] #C13 =={self::NonPrimitiveEquals::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[3294] {
[3334] [3334] [3334] core::print [3339]([3340] "a");
[-1] break #L38;
}
}
}
[3350] {
[3350] if([3361] [3361] [-1] [-1] #C14 =={self::NonPrimitiveEquals::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[3350] {
[3390] [3390] [3390] core::print [3395]([3396] "b");
}
}
}
}
}
[3409]static method switchExpression([3426] dynamic o) dynamic {
[3433] return [3440] [3440] block {
[-1] [-1] dynamic #t47;
[3448] [3448] final synthesized dynamic #0#0 = [3448] [3448] o;
[3440] #L39:
[3440] {
[3465] {
[3462] [3462] hoisted dynamic a;
[3465] if([3457] [3457] [3457] [3457] [-1] [-1] #0#0 is core::List<dynamic> && [3457] [3457] [3457] [3457] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} [-1] [-1] #C4) {
[3462] [3462] [3462] a = [3457] [3457] [-1] [-1] #0#0{core::List<dynamic>}.{core::List::[]}[3457]([3457] 0){(core::int) → dynamic};
[-1] [-1] [-1] #t47 = [3468] [3468] a;
[3465] break #L39;
}
}
[3486] {
[3483] [3483] hoisted dynamic a;
[3486] if([3477] [3477] [3475] [3475] [-1] [-1] #0#0 is core::Map<dynamic, dynamic> && [3477] [3477] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}[3477]([-1] #C4){(core::Object?) → core::bool}) {
[3483] [3483] [3483] a = [3477] [3477] [-1] [-1] #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}[3477]([-1] #C4){(core::Object?) → dynamic};
[-1] [-1] [-1] #t47 = [3489] [3489] a;
[3486] break #L39;
}
}
[3498] {
[3498] if([3496] [3496] true) {
[-1] [-1] [-1] #t47 = [3501] [3501] null;
[3498] break #L39;
}
}
[3440] [3440] [3440] throw{for-error-handling} [3440] [3440] new _in::ReachabilityError::• [3440]([3440] "`null` encountered as case in a switch expression with a non-nullable type.");
}
} =>[-1] [-1] #t47;
}
[3515]static method switchExpressionEnum([3538] self::E o) dynamic {
[3545] return [3552] [3552] block {
[-1] [-1] core::int #t48;
[3552] #L40:
[3552] switch([3560] [3560] o) /* isExplicitlyExhaustive, self::E */ {
[3573] #L41:
case [3571] [3571] #C3:
[3573] {
[3576] [3576] [3576] #t48 = [3576] [3576] 0;
[3576] break #L40;
}
[3587] #L42:
case [3585] [3585] #C6:
[3587] {
[3590] [3590] [3590] #t48 = [3590] [3590] 1;
[3590] break #L40;
}
[3601] #L43:
case [3599] [3599] #C9:
[3601] {
[3604] [3604] [3604] #t48 = [3604] [3604] 2;
[3604] break #L40;
}
[3552] #L44:
default:
[3552] [3552] [3552] throw{for-error-handling} [3552] [3552] new _in::ReachabilityError::• [3552]([3552] "`null` encountered as case in a switch expression with a non-nullable type.");
}
} =>[-1] [-1] #t48;
}
[3615]static method switchExpressionEnumWithGuard([3647] self::E o) dynamic {
[3654] return [3661] [3661] block {
[-1] [-1] core::int #t49;
[3669] [3669] final synthesized self::E #0#0 = [3669] [3669] o;
[3661] #L45:
[3661] {
[3692] {
[3692] if([-1] [-1] [3680] [3680] [-1] [-1] #C3 =={core::Object::==}{(core::Object) → core::bool} [-1] [-1] #0#0 && [3687] [3687] true) {
[-1] [-1] [-1] #t49 = [3695] [3695] 0;
[3692] break #L45;
}
}
[3706] {
[3706] if([3704] [3704] [-1] [-1] #C6 =={core::Object::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[-1] [-1] [-1] #t49 = [3709] [3709] 1;
[3706] break #L45;
}
}
[3718] {
[3718] if([3716] [3716] true) {
[-1] [-1] [-1] #t49 = [3721] [3721] 2;
[3718] break #L45;
}
}
[3661] [3661] [3661] throw{for-error-handling} [3661] [3661] new _in::ReachabilityError::• [3661]([3661] "`null` encountered as case in a switch expression with a non-nullable type.");
}
} =>[-1] [-1] #t49;
}
[3732]static method switchExpressionPrimitiveEquals([3764] dynamic o) dynamic {
[3771] return [3778] [3778] block {
[-1] [-1] core::int #t50;
[3786] [3786] final synthesized dynamic #0#0 = [3786] [3786] o;
[3778] #L46:
[3778] {
[3820] {
[3820] if([3801] [3801] [-1] [-1] #C11 =={core::Object::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[-1] [-1] [-1] #t50 = [3823] [3823] 0;
[3820] break #L46;
}
}
[3855] {
[3855] if([3836] [3836] [-1] [-1] #C12 =={core::Object::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[-1] [-1] [-1] #t50 = [3858] [3858] 1;
[3855] break #L46;
}
}
[3867] {
[3867] if([3865] [3865] true) {
[-1] [-1] [-1] #t50 = [3870] [3870] 2;
[3867] break #L46;
}
}
[3778] [3778] [3778] throw{for-error-handling} [3778] [3778] new _in::ReachabilityError::• [3778]([3778] "`null` encountered as case in a switch expression with a non-nullable type.");
}
} =>[-1] [-1] #t50;
}
[3881]static method switchExpressionNonPrimitiveEquals([3916] dynamic o) dynamic {
[3923] return [3930] [3930] block {
[-1] [-1] core::int #t51;
[3938] [3938] final synthesized dynamic #0#0 = [3938] [3938] o;
[3930] #L47:
[3930] {
[3975] {
[3975] if([3953] [3953] [-1] [-1] #C13 =={self::NonPrimitiveEquals::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[-1] [-1] [-1] #t51 = [3978] [3978] 0;
[3975] break #L47;
}
}
[4013] {
[4013] if([3991] [3991] [-1] [-1] #C14 =={self::NonPrimitiveEquals::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[-1] [-1] [-1] #t51 = [4016] [4016] 1;
[4013] break #L47;
}
}
[4025] {
[4025] if([4023] [4023] true) {
[-1] [-1] [-1] #t51 = [4028] [4028] 2;
[4025] break #L47;
}
}
[3930] [3930] [3930] throw{for-error-handling} [3930] [3930] new _in::ReachabilityError::• [3930]([3930] "`null` encountered as case in a switch expression with a non-nullable type.");
}
} =>[-1] [-1] #t51;
}
[4039]static method switchStatementSymbol([4068] core::Symbol s) dynamic {
[4075] #L48:
[4075] {
[4083] [4083] final synthesized core::Symbol #0#0 = [4083] [4083] s;
[4092] {
[4092] if([4097] [4097] [-1] [-1] #C15 =={core::Symbol::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[4092] {
[4107] return [4114] [4114] 0;
}
}
}
[4121] {
[4121] if([4132] [4132] [-1] [-1] #C16 =={core::Symbol::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[4121] {
[4151] return [4158] [4158] 1;
}
}
}
[4165] {
[4165] {
[4165] {
[4180] return [4187] [4187] 2;
}
}
}
}
}
[4197]static method switchExpressionSymbol([4227] core::Symbol s) dynamic {
[4234] return [4241] [4241] block {
[-1] [-1] core::int #t52;
[4249] [4249] final synthesized core::Symbol #0#0 = [4249] [4249] s;
[4241] #L49:
[4241] {
[4261] {
[4261] if([4258] [4258] [-1] [-1] #C15 =={core::Symbol::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[-1] [-1] [-1] #t52 = [4264] [4264] 0;
[4261] break #L49;
}
}
[4289] {
[4289] if([4277] [4277] [-1] [-1] #C16 =={core::Symbol::==}{(core::Object) → core::bool} [-1] [-1] #0#0) {
[-1] [-1] [-1] #t52 = [4292] [4292] 1;
[4289] break #L49;
}
}
[4301] {
[4301] if([4299] [4299] true) {
[-1] [-1] [-1] #t52 = [4304] [4304] 2;
[4301] break #L49;
}
}
[4241] [4241] [4241] throw{for-error-handling} [4241] [4241] new _in::ReachabilityError::• [4241]([4241] "`null` encountered as case in a switch expression with a non-nullable type.");
}
} =>[-1] [-1] #t52;
}
constants {
#C1 = 0
#C2 = "a"
#C3 = self::E {index:#C1, _name:#C2}
#C4 = 1
#C5 = "b"
#C6 = self::E {index:#C4, _name:#C5}
#C7 = 2
#C8 = "c"
#C9 = self::E {index:#C7, _name:#C8}
#C10 = <self::E*>[#C3, #C6, #C9]
#C11 = self::PrimitiveEquals {field:#C1}
#C12 = self::PrimitiveEquals {field:#C4}
#C13 = self::NonPrimitiveEquals {field:#C1}
#C14 = self::NonPrimitiveEquals {field:#C4}
#C15 = #a
#C16 = #b
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///switch_encoding.dart:50:3 -> IntConstant(-1)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///switch_encoding.dart:70:3 -> IntConstant(-1)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///switch_encoding.dart:75:7 -> IntConstant(-1)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///switch_encoding.dart:103:7 -> IntConstant(-1)
Extra constant evaluation: evaluated: 573, effectively constant: 4
Constructor coverage from constants:
org-dartlang-testcase:///switch_encoding.dart:
- E. (from org-dartlang-testcase:///switch_encoding.dart:5:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- PrimitiveEquals. (from org-dartlang-testcase:///switch_encoding.dart:10:9)
- NonPrimitiveEquals. (from org-dartlang-testcase:///switch_encoding.dart:16:9)