mirror of
https://github.com/dart-lang/sdk
synced 2024-10-03 00:09:20 +00:00
[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:
parent
9c3f921c3f
commit
91a4759721
|
@ -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;
|
||||
}
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
void method(o) {}
|
||||
|
||||
class X1 {
|
||||
String? s;
|
||||
int? i;
|
||||
double? d;
|
||||
}
|
||||
|
||||
class X2 {
|
||||
String? s2;
|
||||
int? i;
|
||||
double? d;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
class X1 {
|
||||
String? s;
|
||||
double? d;
|
||||
int? i;
|
||||
}
|
||||
|
||||
class X2 {
|
||||
String? s2;
|
||||
double? d;
|
||||
int? i;
|
||||
}
|
||||
|
||||
void method(o) {}
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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] ;
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
void method(o) {}
|
||||
|
||||
class X1 {
|
||||
String? s;
|
||||
int? i;
|
||||
double? d;
|
||||
}
|
||||
|
||||
class X2 {
|
||||
String? s2;
|
||||
int? i;
|
||||
double? d;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
class X1 {
|
||||
String? s;
|
||||
double? d;
|
||||
int? i;
|
||||
}
|
||||
|
||||
class X2 {
|
||||
String? s2;
|
||||
double? d;
|
||||
int? i;
|
||||
}
|
||||
|
||||
void method(o) {}
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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] ;
|
|
@ -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})");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
2
pkg/front_end/testcases/offsets/ddc/folder.options
Normal file
2
pkg/front_end/testcases/offsets/ddc/folder.options
Normal file
|
@ -0,0 +1,2 @@
|
|||
--show-offsets
|
||||
--target=dartdevc
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
method(o) {}
|
|
@ -0,0 +1 @@
|
|||
method(o) {}
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
library;
|
||||
import self as self;
|
||||
|
||||
[217]static method method([224] dynamic o) → dynamic
|
||||
[-1] ;
|
|
@ -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
|
||||
}
|
Loading…
Reference in a new issue