blob: e1d689038c59d8c7a4dee8ccda2a6f8e5c7901e9 [file]
library;
import self as self;
import "dart:core" as core;
static method patternVariableAssignment((core::int, core::String) r) → dynamic/* scope=[
#ctx1: not-captured [r],
] */ /* scope=[
#ctx2: direct-captured [x],
#ctx3: not-captured [s],
] */ {
hoisted has-declared-initializer core::int x;
hoisted has-declared-initializer core::String s;
{
final synthesized(core::int, core::String) #0#0 = r;
x = #0#0.$1{core::int};
s = #0#0.$2{core::String};
}
return () /* #ctx2 */ → core::int => x;
}
static method joinedVariableMultipleHeads(dynamic x) → dynamic/* scope=[
#ctx4: not-captured [x],
] */ {
{
final synthesized dynamic #0#0 = x;
synthesized core::int #0#2;
synthesized core::bool #0#2#isSet = false;
dynamic #t1;
/* scope=[
#ctx5: not-captured [y#case#0,y#case#1],
] */{
lowered hoisted core::int y#case#0;
lowered hoisted core::int y#case#1;
if(#0#0 is core::int && (let final dynamic #t2 = y#case#0 = #0#0{core::int} in true) && (let final dynamic #t3 = #t1 = y#case#0 in true) || #0#0 is core::String && ((#0#2#isSet ?{core::int} #0#2 : let final dynamic #t4 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int}) is core::int && (let final dynamic #t5 = y#case#1 = #0#2#isSet ?{core::int} #0#2 : let final dynamic #t6 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int} in true)) && (let final dynamic #t7 = #t1 = y#case#1 in true))/* scope=[
#ctx6: direct-captured [y],
] */ {
core::int y = #t1{core::int};
{
return () /* #ctx6 */ → core::int => y;
}
}
}
{
{
{
return () → core::int => 0;
}
}
}
}
}
static method joinedVariableSingleHead(dynamic x) → dynamic/* scope=[
#ctx7: not-captured [x],
] */ {
{
final synthesized dynamic #0#0 = x;
synthesized core::int #0#2;
synthesized core::bool #0#2#isSet = false;
/* scope=[
#ctx8: direct-captured [y],
] */{
hoisted core::int y;
if(#0#0 is core::int && (let final dynamic #t8 = y = #0#0{core::int} in true) || #0#0 is core::String && ((#0#2#isSet ?{core::int} #0#2 : let final dynamic #t9 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int}) is core::int && (let final dynamic #t10 = y = #0#2#isSet ?{core::int} #0#2 : let final dynamic #t11 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int} in true))) {
{
return () /* #ctx8 */ → core::int => y;
}
}
}
{
{
{
return () → core::int => 0;
}
}
}
}
}
static method joinedVariableMixed(dynamic x) → dynamic/* scope=[
#ctx9: not-captured [x],
] */ {
{
final synthesized dynamic #0#0 = x;
synthesized core::int #0#2;
synthesized core::bool #0#2#isSet = false;
synthesized core::int #0#4;
synthesized core::bool #0#4#isSet = false;
dynamic #t12;
/* scope=[
#ctx10: not-captured [y#case#0,y#case#1],
] */{
lowered hoisted core::int y#case#0;
lowered hoisted core::int y#case#1;
if((#0#0 is core::int && (let final dynamic #t13 = y#case#0 = #0#0{core::int} in true) || #0#0 is core::String && ((#0#2#isSet ?{core::int} #0#2 : let final dynamic #t14 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int}) is core::int && (let final dynamic #t15 = y#case#0 = #0#2#isSet ?{core::int} #0#2 : let final dynamic #t16 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int} in true))) && (let final dynamic #t17 = #t12 = y#case#0 in true) || #0#0 is core::Object && ((#0#4#isSet ?{core::int} #0#4 : let final dynamic #t18 = #0#4#isSet = true in #0#4 = #0#0{core::Object}.{core::Object::hashCode}{core::int}) is core::int && (let final dynamic #t19 = y#case#1 = #0#4#isSet ?{core::int} #0#4 : let final dynamic #t20 = #0#4#isSet = true in #0#4 = #0#0{core::Object}.{core::Object::hashCode}{core::int} in true)) && (let final dynamic #t21 = #t12 = y#case#1 in true))/* scope=[
#ctx11: direct-captured [y],
] */ {
core::int y = #t12{core::int};
{
return () /* #ctx11 */ → core::int => y;
}
}
}
{
{
{
return () → core::int => 0;
}
}
}
}
}
static method joinedVariableSwitchExpression(dynamic x) → dynamic/* scope=[
#ctx12: not-captured [x],
] */ {
return block {
() → core::int #t22;
final synthesized dynamic #0#0 = x;
synthesized core::int #0#2;
synthesized core::bool #0#2#isSet = false;
#L1:
{
/* scope=[
#ctx13: direct-captured [y],
] */{
hoisted core::int y;
if(#0#0 is core::int && (let final dynamic #t23 = y = #0#0{core::int} in true) || #0#0 is core::String && ((#0#2#isSet ?{core::int} #0#2 : let final dynamic #t24 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int}) is core::int && (let final dynamic #t25 = y = #0#2#isSet ?{core::int} #0#2 : let final dynamic #t26 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int} in true))) {
#t22 = () /* #ctx13 */ → core::int => y;
break #L1;
}
}
{
if(true) {
#t22 = () → core::int => 0;
break #L1;
}
}
}
} =>#t22;
}
static method joinedVariableIfCaseStatement(dynamic x) → dynamic/* scope=[
#ctx14: not-captured [x],
] */ {
{
final synthesized dynamic #0#0 = x;
synthesized core::int #0#2;
synthesized core::bool #0#2#isSet = false;
/* scope=[
#ctx15: direct-captured [y],
] */{
hoisted core::int y;
if(#0#0 is core::int && (let final dynamic #t27 = y = #0#0{core::int} in true) || #0#0 is core::String && ((#0#2#isSet ?{core::int} #0#2 : let final dynamic #t28 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int}) is core::int && (let final dynamic #t29 = y = #0#2#isSet ?{core::int} #0#2 : let final dynamic #t30 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int} in true))) {
return () /* #ctx15 */ → core::int => y;
}
else {
return () → core::int => 0;
}
}
}
}
static method joinedVariableIfCaseElement(dynamic x) → dynamic/* scope=[
#ctx16: not-captured [x],
] */ {
return block {
final core::List<() → core::int> #t31 = <() → core::int>[];
{
final synthesized dynamic #0#0 = x;
synthesized core::int #0#2;
synthesized core::bool #0#2#isSet = false;
/* scope=[
#ctx17: direct-captured [y],
] */{
hoisted core::int y;
if(#0#0 is core::int && (let final dynamic #t32 = y = #0#0{core::int} in true) || #0#0 is core::String && ((#0#2#isSet ?{core::int} #0#2 : let final dynamic #t33 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int}) is core::int && (let final dynamic #t34 = y = #0#2#isSet ?{core::int} #0#2 : let final dynamic #t35 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int} in true)))
#t31.{core::List::add}{Invariant}(() /* #ctx17 */ → core::int => y){(() → core::int) → void};
else
#t31.{core::List::add}{Invariant}(() → core::int => 0){(() → core::int) → void};
}
}
} =>#t31;
}
static method staleSwitchCaseBuilderTest(dynamic x, (core::String, core::int) r) → dynamic/* scope=[
#ctx18: not-captured [x,r],
] */ /* scope=[
#ctx19: direct-captured [s],
#ctx20: not-captured [n],
] */ {
{
final synthesized dynamic #0#0 = x;
/* scope=[
#ctx21: direct-captured [y],
] */{
hoisted core::int y;
if(#0#0 is core::int && (let final dynamic #t36 = y = #0#0{core::int} in true)) {
{
return () /* #ctx21 */ → core::int => y;
}
}
}
{
{
{
return null;
}
}
}
}
hoisted has-declared-initializer core::String s;
hoisted has-declared-initializer core::int n;
{
final synthesized(core::String, core::int) #1#0 = r;
s = #1#0.$1{core::String};
n = #1#0.$2{core::int};
}
return () /* #ctx19 */ → core::String => s;
}
static method mergingJoinedVariableScopeAndLocalCaseScopeTest(dynamic x) → dynamic/* scope=[
#ctx22: not-captured [x],
] */ {
{
final synthesized dynamic #0#0 = x;
synthesized core::int #0#2;
synthesized core::bool #0#2#isSet = false;
dynamic #t37;
/* scope=[
#ctx23: not-captured [y#case#0,y#case#1],
] */{
lowered hoisted core::int y#case#0;
lowered hoisted core::int y#case#1;
if(#0#0 is core::int && (let final dynamic #t38 = y#case#0 = #0#0{core::int} in true) && (let final dynamic #t39 = #t37 = y#case#0 in true) || #0#0 is core::String && ((#0#2#isSet ?{core::int} #0#2 : let final dynamic #t40 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int}) is core::int && (let final dynamic #t41 = y#case#1 = #0#2#isSet ?{core::int} #0#2 : let final dynamic #t42 = #0#2#isSet = true in #0#2 = #0#0{core::String}.{core::String::length}{core::int} in true)) && (let final dynamic #t43 = #t37 = y#case#1 in true))/* scope=[
#ctx24: direct-captured [y],
] */ {
core::int y = #t37{core::int};
/* scope=[
#ctx25: direct-captured [a],
] */{
core::int a = 0;
return () /* #ctx24 #ctx25 */ → core::List<core::int> => <core::int>[a, y];
}
}
}
{
{
{
return null;
}
}
}
}
}