[CFE] Add more offset testcases wrt switch cases

Change-Id: I54208edcc4679ac0c36a248feae25f1b4e35a7d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/338320
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
Jens Johansen 2023-11-27 13:49:47 +00:00 committed by Commit Queue
parent 9c3f921c3f
commit 91a4759721
28 changed files with 985 additions and 0 deletions

View file

@ -0,0 +1,28 @@
void method(o) {
switch (o) {
case X1(
:var s,
:var i,
:var d,
):
print("hello X1($s, $i, $d)");
case X2(
:var s2,
:var i,
:var d,
):
print("hello X2($s2, $i, $d)");
}
}
class X1 {
String? s;
int? i;
double? d;
}
class X2 {
String? s2;
int? i;
double? d;
}

View file

@ -0,0 +1,51 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final dynamic #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final dynamic #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final dynamic #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final dynamic #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final dynamic #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final dynamic #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,51 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final core::String? #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final core::int? #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final core::bool* #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final core::double? #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final core::bool* #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final core::String? #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final core::int? #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final core::bool* #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final core::double? #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final core::bool* #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,13 @@
void method(o) {}
class X1 {
String? s;
int? i;
double? d;
}
class X2 {
String? s2;
int? i;
double? d;
}

View file

@ -0,0 +1,13 @@
class X1 {
String? s;
double? d;
int? i;
}
class X2 {
String? s2;
double? d;
int? i;
}
void method(o) {}

View file

@ -0,0 +1,51 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final dynamic #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final dynamic #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final dynamic #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final dynamic #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final dynamic #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final dynamic #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,51 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final dynamic #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final dynamic #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final dynamic #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final dynamic #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final dynamic #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final dynamic #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,20 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s;
[286] field core::int? i;
[299] field core::double? d;
[261] synthetic constructor •() → self::X1
[-1] ;
}
[311]class X2 extends core::Object {
[326] field core::String? s2;
[337] field core::int? i;
[350] field core::double? d;
[311] synthetic constructor •() → self::X2
[-1] ;
}
[5]static method method([12] dynamic o) → void
[-1] ;

View file

@ -0,0 +1,51 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final core::String? #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final core::int? #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final core::bool* #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final core::double? #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final core::bool* #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final core::String? #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final core::int? #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final core::bool* #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final core::double? #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final core::bool* #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,28 @@
void method(o) {
switch (o) {
case X1(
:var s,
:var i,
:var d,
):
print("hello X1($s, $i, $d)");
case X2(
:var s2,
:var i,
:var d,
):
print("hello X2($s2, $i, $d)");
}
}
class X1 {
String? s;
int? i;
double? d;
}
class X2 {
String? s2;
int? i;
double? d;
}

View file

@ -0,0 +1,55 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
[261] static method _#new#tearOff() → self::X1
[261] return [261] [261] new self::X1::• [261]();
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
[311] static method _#new#tearOff() → self::X2
[311] return [311] [311] new self::X2::• [311]();
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final dynamic #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final dynamic #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final dynamic #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final dynamic #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final dynamic #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final dynamic #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,55 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
[261] static method _#new#tearOff() → self::X1
[261] return [261] [261] new self::X1::• [261]();
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
[311] static method _#new#tearOff() → self::X2
[311] return [311] [311] new self::X2::• [311]();
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final core::String? #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final core::int? #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final core::bool* #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final core::double? #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final core::bool* #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final core::String? #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final core::int? #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final core::bool* #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final core::double? #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final core::bool* #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,13 @@
void method(o) {}
class X1 {
String? s;
int? i;
double? d;
}
class X2 {
String? s2;
int? i;
double? d;
}

View file

@ -0,0 +1,13 @@
class X1 {
String? s;
double? d;
int? i;
}
class X2 {
String? s2;
double? d;
int? i;
}
void method(o) {}

View file

@ -0,0 +1,55 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
[261] static method _#new#tearOff() → self::X1
[261] return [261] [261] new self::X1::• [261]();
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
[311] static method _#new#tearOff() → self::X2
[311] return [311] [311] new self::X2::• [311]();
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final dynamic #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final dynamic #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final dynamic #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final dynamic #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final dynamic #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final dynamic #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,55 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
[261] static method _#new#tearOff() → self::X1
[261] return [261] [261] new self::X1::• [261]();
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
[311] static method _#new#tearOff() → self::X2
[311] return [311] [311] new self::X2::• [311]();
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final dynamic #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final dynamic #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final dynamic #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final dynamic #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final dynamic #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final dynamic #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final dynamic #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final dynamic #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,24 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s;
[286] field core::int? i;
[299] field core::double? d;
[261] synthetic constructor •() → self::X1
[-1] ;
[261] static method _#new#tearOff() → self::X1
[261] return [261] [261] new self::X1::• [261]();
}
[311]class X2 extends core::Object {
[326] field core::String? s2;
[337] field core::int? i;
[350] field core::double? d;
[311] synthetic constructor •() → self::X2
[-1] ;
[311] static method _#new#tearOff() → self::X2
[311] return [311] [311] new self::X2::• [311]();
}
[5]static method method([12] dynamic o) → void
[-1] ;

View file

@ -0,0 +1,55 @@
library;
import self as self;
import "dart:core" as core;
[261]class X1 extends core::Object {
[276] field core::String? s = [-1] [-1] null;
[286] field core::int? i = [-1] [-1] null;
[299] field core::double? d = [-1] [-1] null;
[261] synthetic constructor •() → self::X1
: [-1] super core::Object::• [-1]()
[-1] ;
[261] static method _#new#tearOff() → self::X1
[261] return [261] [261] new self::X1::• [261]();
}
[311]class X2 extends core::Object {
[326] field core::String? s2 = [-1] [-1] null;
[337] field core::int? i = [-1] [-1] null;
[350] field core::double? d = [-1] [-1] null;
[311] synthetic constructor •() → self::X2
: [-1] super core::Object::• [-1]()
[-1] ;
[311] static method _#new#tearOff() → self::X2
[311] return [311] [311] new self::X2::• [311]();
}
[5]static method method([12] dynamic o) → void {
[19] #L1:
[19] {
[27] [27] final synthesized dynamic #0#0 = [27] [27] o;
[-1] [-1] synthesized core::int? #0#3;
[-1] [-1] synthesized core::bool #0#3#isSet = [69] [69] false;
[-1] [-1] synthesized core::double? #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [85] [85] false;
[36] {
[58] [58] hoisted core::String? s;
[74] [74] hoisted core::int? i;
[90] [90] hoisted core::double? d;
[36] if([41] [41] [41] [41] [41] [41] [41] [41] [27] [27] #0#0 is self::X1 && [58]([58] let [58] final core::String? #t1 = [58] [58] s = [53] [53] [27] [27] #0#0{self::X1}.{self::X1::s}{core::String?} in [58] [58] true) && [74]([74] let [74] final core::int? #t2 = [74] [74] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final core::bool* #t3 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [69] [69] [27] [27] #0#0{self::X1}.{self::X1::i}{core::int?} in [74] [74] true) && [90]([90] let [90] final core::double? #t4 = [90] [90] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final core::bool* #t5 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [85] [85] [27] [27] #0#0{self::X1}.{self::X1::d}{core::double?} in [90] [90] true)) {
[36] {
[108] [108] [108] core::print [113]([136] "hello X1(${[125] [125] s}, ${[129] [129] i}, ${[133] [133] d})");
[19] break #L1;
}
}
}
[143] {
[165] [165] hoisted core::String? s2;
[182] [182] hoisted core::int? i;
[198] [198] hoisted core::double? d;
[143] if([148] [148] [148] [148] [148] [148] [148] [148] [27] [27] #0#0 is self::X2 && [165]([165] let [165] final core::String? #t6 = [165] [165] s2 = [160] [160] [27] [27] #0#0{self::X2}.{self::X2::s2}{core::String?} in [165] [165] true) && [182]([182] let [182] final core::int? #t7 = [182] [182] i = [69] [69] [-1] [-1] #0#3#isSet ?{core::int?} [-1] [-1] #0#3{core::int?} : [69] [69] let [69] final core::bool* #t8 = [69] [69] #0#3#isSet = [69] [69] true in [69] [69] #0#3 = [177] [177] [27] [27] #0#0{self::X2}.{self::X2::i}{core::int?} in [182] [182] true) && [198]([198] let [198] final core::double? #t9 = [198] [198] d = [85] [85] [-1] [-1] #0#4#isSet ?{core::double?} [-1] [-1] #0#4{core::double?} : [85] [85] let [85] final core::bool* #t10 = [85] [85] #0#4#isSet = [85] [85] true in [85] [85] #0#4 = [193] [193] [27] [27] #0#0{self::X2}.{self::X2::d}{core::double?} in [198] [198] true)) {
[143] {
[216] [216] [216] core::print [221]([245] "hello X2(${[233] [233] s2}, ${[238] [238] i}, ${[242] [242] d})");
}
}
}
}
}

View file

@ -0,0 +1,2 @@
--show-offsets
--target=dartdevc

View file

@ -0,0 +1,14 @@
// 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 a] when a < 5:
case [_, var a] when a > 5:
print('1');
case [var b] when b < 5:
case [_, var b] when b > 5:
print(b);
}
}

View file

@ -0,0 +1,56 @@
library;
import self as self;
import "dart:core" as core;
[217]static method method([224] dynamic o) → dynamic {
[231] #L1:
[231] {
[239] [239] final synthesized dynamic #0#0 = [239] [239] o;
[253] [253] synthesized core::bool #0#4;
[253] [253] synthesized core::bool #0#4#isSet = [253] [253] false;
[253] [253] synthesized core::int #0#2;
[253] [253] synthesized core::bool #0#2#isSet = [253] [253] false;
[-1] function #0#2#func() → core::int
[253] return [253] [253] [253] [253] #0#2#isSet ?{core::int} [253] [253] #0#2 : [253] [253] let [253] final dynamic #t1 = [253] [253] #0#2#isSet = [253] [253] true in [253] [253] #0#2 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::length}{core::int};
[-1] function #0#4#func() → core::bool
[253] return [253] [253] [253] [253] #0#4#isSet ?{core::bool} [253] [253] #0#4 : [253] [253] let [253] final dynamic #t2 = [253] [253] #0#4#isSet = [253] [253] true in [253] [253] #0#4 = [253] [253] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [253] [253] #C1;
[253] [253] synthesized dynamic #0#6;
[253] [253] synthesized core::bool #0#6#isSet = [253] [253] false;
[-1] function #0#6#func() → dynamic
[253] return [253] [253] [253] [253] #0#6#isSet ?{dynamic} [253] [253] #0#6 : [253] [253] let [253] final dynamic #t3 = [253] [253] #0#6#isSet = [253] [253] true in [253] [253] #0#6 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[253]([253] 0){(core::int) → dynamic};
[282] [282] synthesized core::bool #0#8;
[282] [282] synthesized core::bool #0#8#isSet = [282] [282] false;
[-1] function #0#8#func() → core::bool
[282] return [282] [282] [282] [282] #0#8#isSet ?{core::bool} [282] [282] #0#8 : [282] [282] let [282] final dynamic #t4 = [282] [282] #0#8#isSet = [282] [282] true in [282] [282] #0#8 = [282] [282] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [282] [282] #C2;
[282] [282] synthesized dynamic #0#10;
[282] [282] synthesized core::bool #0#10#isSet = [282] [282] false;
[-1] function #0#10#func() → dynamic
[282] return [282] [282] [282] [282] #0#10#isSet ?{dynamic} [282] [282] #0#10 : [282] [282] let [282] final dynamic #t5 = [282] [282] #0#10#isSet = [282] [282] true in [282] [282] #0#10 = [282] [282] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[282]([282] 1){(core::int) → dynamic};
[-1] [-1] dynamic #t6;
[248] {
[258] [258] lowered hoisted dynamic a#case#0;
[290] [290] lowered hoisted dynamic a#case#1;
[248] if([231] [231] [268] [268] [253] [253] [253] [253] [253] [253] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [258]([258] let [258] final dynamic #t7 = [258] [258] a#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [258] [258] true) && [268] [268] [268] [268] [266] [266] a#case#0{dynamic}.< [268]([270] 5) as{TypeError} core::bool || [300] [300] [282] [282] [282] [282] [282] [282] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [290]([290] let [290] final dynamic #t8 = [290] [290] a#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [290] [290] true) && [300] [300] [300] [300] [298] [298] a#case#1{dynamic}.> [300]([302] 5) as{TypeError} core::bool) {
[248] {
[311] [311] [311] core::print [316]([317] "1");
[231] break #L1;
}
}
}
[327] {
[337] [337] lowered hoisted dynamic b#case#0;
[369] [369] lowered hoisted dynamic b#case#1;
[327] if([231] [231] [337] [337] [347] [347] [332] [332] [332] [332] [332] [332] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [337]([337] let [337] final dynamic #t9 = [337] [337] b#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [337] [337] true) && [347] [347] [347] [347] [345] [345] b#case#0{dynamic}.< [347]([349] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t10 = [231] [231] #t6 = [337] [337] b#case#0 in [337] [337] true) || [369] [369] [379] [379] [361] [361] [361] [361] [361] [361] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [369]([369] let [369] final dynamic #t11 = [369] [369] b#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [369] [369] true) && [379] [379] [379] [379] [377] [377] b#case#1{dynamic}.> [379]([381] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t12 = [231] [231] #t6 = [369] [369] b#case#1 in [369] [369] true)) {
[337] [337] dynamic b = [-1] [-1] #t6{dynamic};
[327] {
[390] [390] [390] core::print [395]([396] b);
}
}
}
}
}
constants {
#C1 = 1
#C2 = 2
}

View file

@ -0,0 +1,56 @@
library;
import self as self;
import "dart:core" as core;
[217]static method method([224] dynamic o) → dynamic {
[231] #L1:
[231] {
[239] [239] final synthesized dynamic #0#0 = [239] [239] o;
[253] [253] synthesized core::bool #0#4;
[253] [253] synthesized core::bool #0#4#isSet = [253] [253] false;
[253] [253] synthesized core::int #0#2;
[253] [253] synthesized core::bool #0#2#isSet = [253] [253] false;
[-1] function #0#2#func() → core::int
[253] return [253] [253] [253] [253] #0#2#isSet ?{core::int} [253] [253] #0#2 : [253] [253] let [253] final core::bool* #t1 = [253] [253] #0#2#isSet = [253] [253] true in [253] [253] #0#2 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::length}{core::int};
[-1] function #0#4#func() → core::bool
[253] return [253] [253] [253] [253] #0#4#isSet ?{core::bool} [253] [253] #0#4 : [253] [253] let [253] final core::bool* #t2 = [253] [253] #0#4#isSet = [253] [253] true in [253] [253] #0#4 = [253] [253] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [253] [253] #C1;
[253] [253] synthesized dynamic #0#6;
[253] [253] synthesized core::bool #0#6#isSet = [253] [253] false;
[-1] function #0#6#func() → dynamic
[253] return [253] [253] [253] [253] #0#6#isSet ?{dynamic} [253] [253] #0#6 : [253] [253] let [253] final core::bool* #t3 = [253] [253] #0#6#isSet = [253] [253] true in [253] [253] #0#6 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[253]([253] 0){(core::int) → dynamic};
[282] [282] synthesized core::bool #0#8;
[282] [282] synthesized core::bool #0#8#isSet = [282] [282] false;
[-1] function #0#8#func() → core::bool
[282] return [282] [282] [282] [282] #0#8#isSet ?{core::bool} [282] [282] #0#8 : [282] [282] let [282] final core::bool* #t4 = [282] [282] #0#8#isSet = [282] [282] true in [282] [282] #0#8 = [282] [282] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [282] [282] #C2;
[282] [282] synthesized dynamic #0#10;
[282] [282] synthesized core::bool #0#10#isSet = [282] [282] false;
[-1] function #0#10#func() → dynamic
[282] return [282] [282] [282] [282] #0#10#isSet ?{dynamic} [282] [282] #0#10 : [282] [282] let [282] final core::bool* #t5 = [282] [282] #0#10#isSet = [282] [282] true in [282] [282] #0#10 = [282] [282] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[282]([282] 1){(core::int) → dynamic};
[-1] [-1] dynamic #t6;
[248] {
[258] [258] lowered hoisted dynamic a#case#0;
[290] [290] lowered hoisted dynamic a#case#1;
[248] if([231] [231] [268] [268] [253] [253] [253] [253] [253] [253] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [258]([258] let [258] final dynamic #t7 = [258] [258] a#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [258] [258] true) && [268] [268] [268] [268] [266] [266] a#case#0{dynamic}.< [268]([270] 5) as{TypeError} core::bool || [300] [300] [282] [282] [282] [282] [282] [282] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [290]([290] let [290] final dynamic #t8 = [290] [290] a#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [290] [290] true) && [300] [300] [300] [300] [298] [298] a#case#1{dynamic}.> [300]([302] 5) as{TypeError} core::bool) {
[248] {
[311] [311] [311] core::print [316]([317] "1");
[231] break #L1;
}
}
}
[327] {
[337] [337] lowered hoisted dynamic b#case#0;
[369] [369] lowered hoisted dynamic b#case#1;
[327] if([231] [231] [337] [337] [347] [347] [332] [332] [332] [332] [332] [332] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [337]([337] let [337] final dynamic #t9 = [337] [337] b#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [337] [337] true) && [347] [347] [347] [347] [345] [345] b#case#0{dynamic}.< [347]([349] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t10 = [231] [231] #t6 = [337] [337] b#case#0 in [337] [337] true) || [369] [369] [379] [379] [361] [361] [361] [361] [361] [361] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [369]([369] let [369] final dynamic #t11 = [369] [369] b#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [369] [369] true) && [379] [379] [379] [379] [377] [377] b#case#1{dynamic}.> [379]([381] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t12 = [231] [231] #t6 = [369] [369] b#case#1 in [369] [369] true)) {
[337] [337] dynamic b = [-1] [-1] #t6{dynamic};
[327] {
[390] [390] [390] core::print [395]([396] b);
}
}
}
}
}
constants {
#C1 = 1
#C2 = 2
}

View file

@ -0,0 +1,56 @@
library;
import self as self;
import "dart:core" as core;
[217]static method method([224] dynamic o) → dynamic {
[231] #L1:
[231] {
[239] [239] final synthesized dynamic #0#0 = [239] [239] o;
[253] [253] synthesized core::bool #0#4;
[253] [253] synthesized core::bool #0#4#isSet = [253] [253] false;
[253] [253] synthesized core::int #0#2;
[253] [253] synthesized core::bool #0#2#isSet = [253] [253] false;
[-1] function #0#2#func() → core::int
[253] return [253] [253] [253] [253] #0#2#isSet ?{core::int} [253] [253] #0#2 : [253] [253] let [253] final dynamic #t1 = [253] [253] #0#2#isSet = [253] [253] true in [253] [253] #0#2 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::length}{core::int};
[-1] function #0#4#func() → core::bool
[253] return [253] [253] [253] [253] #0#4#isSet ?{core::bool} [253] [253] #0#4 : [253] [253] let [253] final dynamic #t2 = [253] [253] #0#4#isSet = [253] [253] true in [253] [253] #0#4 = [253] [253] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [253] [253] #C1;
[253] [253] synthesized dynamic #0#6;
[253] [253] synthesized core::bool #0#6#isSet = [253] [253] false;
[-1] function #0#6#func() → dynamic
[253] return [253] [253] [253] [253] #0#6#isSet ?{dynamic} [253] [253] #0#6 : [253] [253] let [253] final dynamic #t3 = [253] [253] #0#6#isSet = [253] [253] true in [253] [253] #0#6 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[253]([253] 0){(core::int) → dynamic};
[282] [282] synthesized core::bool #0#8;
[282] [282] synthesized core::bool #0#8#isSet = [282] [282] false;
[-1] function #0#8#func() → core::bool
[282] return [282] [282] [282] [282] #0#8#isSet ?{core::bool} [282] [282] #0#8 : [282] [282] let [282] final dynamic #t4 = [282] [282] #0#8#isSet = [282] [282] true in [282] [282] #0#8 = [282] [282] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [282] [282] #C2;
[282] [282] synthesized dynamic #0#10;
[282] [282] synthesized core::bool #0#10#isSet = [282] [282] false;
[-1] function #0#10#func() → dynamic
[282] return [282] [282] [282] [282] #0#10#isSet ?{dynamic} [282] [282] #0#10 : [282] [282] let [282] final dynamic #t5 = [282] [282] #0#10#isSet = [282] [282] true in [282] [282] #0#10 = [282] [282] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[282]([282] 1){(core::int) → dynamic};
[-1] [-1] dynamic #t6;
[248] {
[258] [258] lowered hoisted dynamic a#case#0;
[290] [290] lowered hoisted dynamic a#case#1;
[248] if([231] [231] [268] [268] [253] [253] [253] [253] [253] [253] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [258]([258] let [258] final dynamic #t7 = [258] [258] a#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [258] [258] true) && [268] [268] [268] [268] [266] [266] a#case#0{dynamic}.< [268]([270] 5) as{TypeError} core::bool || [300] [300] [282] [282] [282] [282] [282] [282] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [290]([290] let [290] final dynamic #t8 = [290] [290] a#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [290] [290] true) && [300] [300] [300] [300] [298] [298] a#case#1{dynamic}.> [300]([302] 5) as{TypeError} core::bool) {
[248] {
[311] [311] [311] core::print [316]([317] "1");
[231] break #L1;
}
}
}
[327] {
[337] [337] lowered hoisted dynamic b#case#0;
[369] [369] lowered hoisted dynamic b#case#1;
[327] if([231] [231] [337] [337] [347] [347] [332] [332] [332] [332] [332] [332] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [337]([337] let [337] final dynamic #t9 = [337] [337] b#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [337] [337] true) && [347] [347] [347] [347] [345] [345] b#case#0{dynamic}.< [347]([349] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t10 = [231] [231] #t6 = [337] [337] b#case#0 in [337] [337] true) || [369] [369] [379] [379] [361] [361] [361] [361] [361] [361] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [369]([369] let [369] final dynamic #t11 = [369] [369] b#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [369] [369] true) && [379] [379] [379] [379] [377] [377] b#case#1{dynamic}.> [379]([381] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t12 = [231] [231] #t6 = [369] [369] b#case#1 in [369] [369] true)) {
[337] [337] dynamic b = [-1] [-1] #t6{dynamic};
[327] {
[390] [390] [390] core::print [395]([396] b);
}
}
}
}
}
constants {
#C1 = 1
#C2 = 2
}

View file

@ -0,0 +1,56 @@
library;
import self as self;
import "dart:core" as core;
[217]static method method([224] dynamic o) → dynamic {
[231] #L1:
[231] {
[239] [239] final synthesized dynamic #0#0 = [239] [239] o;
[253] [253] synthesized core::bool #0#4;
[253] [253] synthesized core::bool #0#4#isSet = [253] [253] false;
[253] [253] synthesized core::int #0#2;
[253] [253] synthesized core::bool #0#2#isSet = [253] [253] false;
[-1] function #0#2#func() → core::int
[253] return [253] [253] [253] [253] #0#2#isSet ?{core::int} [253] [253] #0#2 : [253] [253] let [253] final dynamic #t1 = [253] [253] #0#2#isSet = [253] [253] true in [253] [253] #0#2 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::length}{core::int};
[-1] function #0#4#func() → core::bool
[253] return [253] [253] [253] [253] #0#4#isSet ?{core::bool} [253] [253] #0#4 : [253] [253] let [253] final dynamic #t2 = [253] [253] #0#4#isSet = [253] [253] true in [253] [253] #0#4 = [253] [253] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [253] [253] #C1;
[253] [253] synthesized dynamic #0#6;
[253] [253] synthesized core::bool #0#6#isSet = [253] [253] false;
[-1] function #0#6#func() → dynamic
[253] return [253] [253] [253] [253] #0#6#isSet ?{dynamic} [253] [253] #0#6 : [253] [253] let [253] final dynamic #t3 = [253] [253] #0#6#isSet = [253] [253] true in [253] [253] #0#6 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[253]([253] 0){(core::int) → dynamic};
[282] [282] synthesized core::bool #0#8;
[282] [282] synthesized core::bool #0#8#isSet = [282] [282] false;
[-1] function #0#8#func() → core::bool
[282] return [282] [282] [282] [282] #0#8#isSet ?{core::bool} [282] [282] #0#8 : [282] [282] let [282] final dynamic #t4 = [282] [282] #0#8#isSet = [282] [282] true in [282] [282] #0#8 = [282] [282] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [282] [282] #C2;
[282] [282] synthesized dynamic #0#10;
[282] [282] synthesized core::bool #0#10#isSet = [282] [282] false;
[-1] function #0#10#func() → dynamic
[282] return [282] [282] [282] [282] #0#10#isSet ?{dynamic} [282] [282] #0#10 : [282] [282] let [282] final dynamic #t5 = [282] [282] #0#10#isSet = [282] [282] true in [282] [282] #0#10 = [282] [282] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[282]([282] 1){(core::int) → dynamic};
[-1] [-1] dynamic #t6;
[248] {
[258] [258] lowered hoisted dynamic a#case#0;
[290] [290] lowered hoisted dynamic a#case#1;
[248] if([231] [231] [268] [268] [253] [253] [253] [253] [253] [253] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [258]([258] let [258] final dynamic #t7 = [258] [258] a#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [258] [258] true) && [268] [268] [268] [268] [266] [266] a#case#0{dynamic}.< [268]([270] 5) as{TypeError} core::bool || [300] [300] [282] [282] [282] [282] [282] [282] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [290]([290] let [290] final dynamic #t8 = [290] [290] a#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [290] [290] true) && [300] [300] [300] [300] [298] [298] a#case#1{dynamic}.> [300]([302] 5) as{TypeError} core::bool) {
[248] {
[311] [311] [311] core::print [316]([317] "1");
[231] break #L1;
}
}
}
[327] {
[337] [337] lowered hoisted dynamic b#case#0;
[369] [369] lowered hoisted dynamic b#case#1;
[327] if([231] [231] [337] [337] [347] [347] [332] [332] [332] [332] [332] [332] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [337]([337] let [337] final dynamic #t9 = [337] [337] b#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [337] [337] true) && [347] [347] [347] [347] [345] [345] b#case#0{dynamic}.< [347]([349] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t10 = [231] [231] #t6 = [337] [337] b#case#0 in [337] [337] true) || [369] [369] [379] [379] [361] [361] [361] [361] [361] [361] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [369]([369] let [369] final dynamic #t11 = [369] [369] b#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [369] [369] true) && [379] [379] [379] [379] [377] [377] b#case#1{dynamic}.> [379]([381] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t12 = [231] [231] #t6 = [369] [369] b#case#1 in [369] [369] true)) {
[337] [337] dynamic b = [-1] [-1] #t6{dynamic};
[327] {
[390] [390] [390] core::print [395]([396] b);
}
}
}
}
}
constants {
#C1 = 1
#C2 = 2
}

View file

@ -0,0 +1,5 @@
library;
import self as self;
[217]static method method([224] dynamic o) → dynamic
[-1] ;

View file

@ -0,0 +1,56 @@
library;
import self as self;
import "dart:core" as core;
[217]static method method([224] dynamic o) → dynamic {
[231] #L1:
[231] {
[239] [239] final synthesized dynamic #0#0 = [239] [239] o;
[253] [253] synthesized core::bool #0#4;
[253] [253] synthesized core::bool #0#4#isSet = [253] [253] false;
[253] [253] synthesized core::int #0#2;
[253] [253] synthesized core::bool #0#2#isSet = [253] [253] false;
[-1] function #0#2#func() → core::int
[253] return [253] [253] [253] [253] #0#2#isSet ?{core::int} [253] [253] #0#2 : [253] [253] let [253] final core::bool* #t1 = [253] [253] #0#2#isSet = [253] [253] true in [253] [253] #0#2 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::length}{core::int};
[-1] function #0#4#func() → core::bool
[253] return [253] [253] [253] [253] #0#4#isSet ?{core::bool} [253] [253] #0#4 : [253] [253] let [253] final core::bool* #t2 = [253] [253] #0#4#isSet = [253] [253] true in [253] [253] #0#4 = [253] [253] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [253] [253] #C1;
[253] [253] synthesized dynamic #0#6;
[253] [253] synthesized core::bool #0#6#isSet = [253] [253] false;
[-1] function #0#6#func() → dynamic
[253] return [253] [253] [253] [253] #0#6#isSet ?{dynamic} [253] [253] #0#6 : [253] [253] let [253] final core::bool* #t3 = [253] [253] #0#6#isSet = [253] [253] true in [253] [253] #0#6 = [253] [253] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[253]([253] 0){(core::int) → dynamic};
[282] [282] synthesized core::bool #0#8;
[282] [282] synthesized core::bool #0#8#isSet = [282] [282] false;
[-1] function #0#8#func() → core::bool
[282] return [282] [282] [282] [282] #0#8#isSet ?{core::bool} [282] [282] #0#8 : [282] [282] let [282] final core::bool* #t4 = [282] [282] #0#8#isSet = [282] [282] true in [282] [282] #0#8 = [282] [282] [253] [253] #0#2#func [253](){() → core::int} =={core::num::==}{(core::Object) → core::bool} [282] [282] #C2;
[282] [282] synthesized dynamic #0#10;
[282] [282] synthesized core::bool #0#10#isSet = [282] [282] false;
[-1] function #0#10#func() → dynamic
[282] return [282] [282] [282] [282] #0#10#isSet ?{dynamic} [282] [282] #0#10 : [282] [282] let [282] final core::bool* #t5 = [282] [282] #0#10#isSet = [282] [282] true in [282] [282] #0#10 = [282] [282] [239]([239] [239] [239] #0#0 as{Unchecked} core::List<dynamic>).{core::List::[]}[282]([282] 1){(core::int) → dynamic};
[-1] [-1] dynamic #t6;
[248] {
[258] [258] lowered hoisted dynamic a#case#0;
[290] [290] lowered hoisted dynamic a#case#1;
[248] if([231] [231] [268] [268] [253] [253] [253] [253] [253] [253] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [258]([258] let [258] final dynamic #t7 = [258] [258] a#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [258] [258] true) && [268] [268] [268] [268] [266] [266] a#case#0{dynamic}.< [268]([270] 5) as{TypeError} core::bool || [300] [300] [282] [282] [282] [282] [282] [282] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [290]([290] let [290] final dynamic #t8 = [290] [290] a#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [290] [290] true) && [300] [300] [300] [300] [298] [298] a#case#1{dynamic}.> [300]([302] 5) as{TypeError} core::bool) {
[248] {
[311] [311] [311] core::print [316]([317] "1");
[231] break #L1;
}
}
}
[327] {
[337] [337] lowered hoisted dynamic b#case#0;
[369] [369] lowered hoisted dynamic b#case#1;
[327] if([231] [231] [337] [337] [347] [347] [332] [332] [332] [332] [332] [332] [239] [239] #0#0 is core::List<dynamic> && [253] [253] #0#4#func [253](){() → core::bool} && [337]([337] let [337] final dynamic #t9 = [337] [337] b#case#0 = [253] [253] #0#6#func [253](){() → dynamic} in [337] [337] true) && [347] [347] [347] [347] [345] [345] b#case#0{dynamic}.< [347]([349] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t10 = [231] [231] #t6 = [337] [337] b#case#0 in [337] [337] true) || [369] [369] [379] [379] [361] [361] [361] [361] [361] [361] [239] [239] #0#0 is core::List<dynamic> && [282] [282] #0#8#func [282](){() → core::bool} && [369]([369] let [369] final dynamic #t11 = [369] [369] b#case#1 = [282] [282] #0#10#func [282](){() → dynamic} in [369] [369] true) && [379] [379] [379] [379] [377] [377] b#case#1{dynamic}.> [379]([381] 5) as{TypeError} core::bool && [231]([231] let [231] final dynamic #t12 = [231] [231] #t6 = [369] [369] b#case#1 in [369] [369] true)) {
[337] [337] dynamic b = [-1] [-1] #t6{dynamic};
[327] {
[390] [390] [390] core::print [395]([396] b);
}
}
}
}
}
constants {
#C1 = 1
#C2 = 2
}