mirror of
https://github.com/roc-lang/roc.git
synced 2025-07-16 11:04:59 +00:00
168 lines
5.6 KiB
Text
Generated
168 lines
5.6 KiB
Text
Generated
procedure List.103 (Bool.34, Bool.35, Bool.36, Bool.37, Bool.38):
|
|
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
|
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
|
if List.699 then
|
|
let List.703 : [] = CallByName List.66 List.178 List.181;
|
|
let List.183 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.179 List.703 List.180;
|
|
let List.702 : U64 = 1i64;
|
|
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
|
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
|
else
|
|
dec List.178;
|
|
ret List.179;
|
|
in
|
|
inc Bool.34;
|
|
jump List.697 Bool.34 Bool.35 Bool.36 Bool.37 Bool.38;
|
|
|
|
procedure List.18 (List.175, List.176, List.177):
|
|
let List.695 : U64 = 0i64;
|
|
let List.696 : U64 = CallByName List.6 List.175;
|
|
let List.694 : [<r>C {}, C *self {{}, []}] = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
|
ret List.694;
|
|
|
|
procedure List.6 (#Attr.2):
|
|
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
|
ret List.705;
|
|
|
|
procedure List.66 (#Attr.2, #Attr.3):
|
|
let List.704 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
|
ret List.704;
|
|
|
|
procedure Num.22 (#Attr.2, #Attr.3):
|
|
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
|
ret Num.290;
|
|
|
|
procedure Num.51 (#Attr.2, #Attr.3):
|
|
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
|
ret Num.289;
|
|
|
|
procedure Test.10 (Test.69, #Attr.12):
|
|
let Test.72 : {} = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
|
let Bool.39 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
|
if Bool.39 then
|
|
free #Attr.12;
|
|
ret Test.72;
|
|
else
|
|
decref #Attr.12;
|
|
ret Test.72;
|
|
|
|
procedure Test.10 (Test.69, #Attr.12):
|
|
let Test.80 : {} = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
|
ret Test.80;
|
|
|
|
procedure Test.14 (Test.45, #Attr.12):
|
|
let Test.55 : {{}, []} = UnionAtIndex (Id 1) (Index 1) #Attr.12;
|
|
let Test.54 : [<r>C {}, C *self {{}, []}] = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
|
joinpoint Bool.40:
|
|
let Test.50 : {} = Struct {};
|
|
let Test.51 : U8 = GetTagId Test.54;
|
|
joinpoint Test.52 Test.15:
|
|
let Test.16 : [C {}, C []] = CallByName Test.20 Test.15 Test.55;
|
|
let Test.48 : {} = Struct {};
|
|
let Test.49 : U8 = GetTagId Test.16;
|
|
switch Test.49:
|
|
case 0:
|
|
let Test.47 : {} = CallByName Test.10 Test.48 Test.16;
|
|
ret Test.47;
|
|
|
|
default:
|
|
let Test.47 : {} = CallByName Test.25 Test.48 Test.16;
|
|
ret Test.47;
|
|
|
|
in
|
|
switch Test.51:
|
|
case 0:
|
|
let Test.53 : {} = CallByName Test.10 Test.50 Test.54;
|
|
jump Test.52 Test.53;
|
|
|
|
default:
|
|
let Test.53 : {} = CallByName Test.14 Test.50 Test.54;
|
|
jump Test.52 Test.53;
|
|
|
|
in
|
|
let Bool.41 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
|
if Bool.41 then
|
|
free #Attr.12;
|
|
jump Bool.40;
|
|
else
|
|
inc Test.54;
|
|
decref #Attr.12;
|
|
jump Bool.40;
|
|
|
|
procedure Test.20 (Test.21, Test.18):
|
|
let Test.23 : [C {}, C []] = CallByName Test.32 Test.21 Test.18;
|
|
ret Test.23;
|
|
|
|
procedure Test.25 (Test.59, #Attr.12):
|
|
let Test.63 : [] = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
|
let Test.62 : Str = "voided tag constructor is unreachable";
|
|
Crash Test.62
|
|
|
|
procedure Test.29 (Test.30, Test.31, Test.28):
|
|
let Test.42 : {{}, []} = Struct {Test.28, Test.31};
|
|
let Test.41 : [<r>C {}, C *self {{}, []}] = CallByName Test.5 Test.30 Test.42;
|
|
ret Test.41;
|
|
|
|
procedure Test.3 (Test.9):
|
|
let Test.68 : [<r>C {}, C *self {{}, []}] = TagId(0) Test.9;
|
|
ret Test.68;
|
|
|
|
procedure Test.3 (Test.9):
|
|
let Test.76 : [C {}, C []] = TagId(0) Test.9;
|
|
ret Test.76;
|
|
|
|
procedure Test.32 (Test.64, #Attr.12):
|
|
let Test.31 : [] = StructAtIndex 1 #Attr.12;
|
|
let Test.28 : {} = StructAtIndex 0 #Attr.12;
|
|
let Test.66 : [C {}, C []] = CallByName Test.33 Test.31;
|
|
ret Test.66;
|
|
|
|
procedure Test.33 (Test.73):
|
|
let Test.75 : {} = Struct {};
|
|
let Test.74 : [C {}, C []] = CallByName Test.3 Test.75;
|
|
ret Test.74;
|
|
|
|
procedure Test.4 (Test.12, Test.13):
|
|
let Test.46 : [<r>C {}, C *self {{}, []}] = TagId(1) Test.12 Test.13;
|
|
ret Test.46;
|
|
|
|
procedure Test.5 (Test.17, Test.18):
|
|
let Test.19 : [<r>C {}, C *self {{}, []}] = CallByName Test.4 Test.17 Test.18;
|
|
ret Test.19;
|
|
|
|
procedure Test.6 (Test.27, Test.28):
|
|
let Test.67 : {} = Struct {};
|
|
let Test.38 : [<r>C {}, C *self {{}, []}] = CallByName Test.3 Test.67;
|
|
let Test.37 : [<r>C {}, C *self {{}, []}] = CallByName List.18 Test.27 Test.38 Test.28;
|
|
ret Test.37;
|
|
|
|
procedure Test.81 (Test.82):
|
|
let Test.83 : {{}, []} = UnionAtIndex (Id 0) (Index 0) Test.82;
|
|
dec Test.82;
|
|
let Test.84 : {} = StructAtIndex 0 Test.83;
|
|
ret Test.84;
|
|
|
|
procedure Test.85 (Test.86):
|
|
let Test.87 : {{}, []} = UnionAtIndex (Id 0) (Index 0) Test.86;
|
|
dec Test.86;
|
|
let Test.88 : [] = StructAtIndex 1 Test.87;
|
|
ret Test.88;
|
|
|
|
procedure Test.89 (Test.91, #Attr.12):
|
|
let Test.92 : U8 = GetTagId #Attr.12;
|
|
switch Test.92:
|
|
case 0:
|
|
let Test.90 : {} = CallByName Test.10 Test.91 #Attr.12;
|
|
ret Test.90;
|
|
|
|
default:
|
|
let Test.90 : {} = CallByName Test.14 Test.91 #Attr.12;
|
|
ret Test.90;
|
|
|
|
|
|
procedure Test.0 ():
|
|
let Test.35 : List [] = Array [];
|
|
let Test.36 : {} = Struct {};
|
|
let Test.34 : [<r>C {}, C *self {{}, []}] = CallByName Test.6 Test.35 Test.36;
|
|
dec Test.35;
|
|
ret Test.34;
|