roc/crates/compiler/test_mono/generated/encode_derived_string.txt
2024-02-15 06:47:14 -05:00

362 lines
16 KiB
Text
Generated

procedure Encode.23 (Encode.98):
ret Encode.98;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.111 : List U8 = CallByName TotallyNotJson.150 Encode.99 Encode.101 Encode.107;
ret Encode.111;
procedure Encode.26 (Encode.105, Encode.106):
let Encode.109 : List U8 = Array [];
let Encode.110 : Str = CallByName TotallyNotJson.25 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.103 (List.487, List.488, List.489):
let List.615 : U64 = 0i64;
let List.616 : U64 = CallByName List.6 List.487;
let List.614 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.615 List.616;
ret List.614;
procedure List.18 (List.159, List.160, List.161):
let List.586 : U64 = 0i64;
let List.587 : U64 = CallByName List.6 List.159;
let List.585 : List U8 = CallByName List.91 List.159 List.160 List.161 List.586 List.587;
ret List.585;
procedure List.26 (List.200, List.201, List.202):
let List.608 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.611 : U8 = 1i64;
let List.612 : U8 = GetTagId List.608;
let List.613 : Int1 = lowlevel Eq List.611 List.612;
if List.613 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.608;
ret List.203;
else
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.608;
ret List.204;
procedure List.49 (List.419, List.420):
let List.599 : U64 = StructAtIndex 1 List.420;
let List.600 : U64 = StructAtIndex 0 List.420;
let List.598 : List U8 = CallByName List.72 List.419 List.599 List.600;
ret List.598;
procedure List.52 (List.434, List.435):
let List.436 : U64 = CallByName List.6 List.434;
joinpoint List.606 List.437:
let List.604 : U64 = 0i64;
let List.603 : {U64, U64} = Struct {List.437, List.604};
inc List.434;
let List.438 : List U8 = CallByName List.49 List.434 List.603;
let List.602 : U64 = CallByName Num.75 List.436 List.437;
let List.597 : {U64, U64} = Struct {List.602, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.597;
let List.596 : {List U8, List U8} = Struct {List.438, List.439};
ret List.596;
in
let List.607 : Int1 = CallByName Num.24 List.436 List.435;
if List.607 then
jump List.606 List.435;
else
jump List.606 List.436;
procedure List.6 (#Attr.2):
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.584;
procedure List.66 (#Attr.2, #Attr.3):
let List.595 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.595;
procedure List.68 (#Attr.2):
let List.582 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.582;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.601 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.601;
procedure List.8 (#Attr.2, #Attr.3):
let List.580 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.580;
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.617 List.490 List.491 List.492 List.493 List.494:
let List.619 : Int1 = CallByName Num.22 List.493 List.494;
if List.619 then
let List.628 : U8 = CallByName List.66 List.490 List.493;
let List.620 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.628;
let List.625 : U8 = 1i64;
let List.626 : U8 = GetTagId List.620;
let List.627 : Int1 = lowlevel Eq List.625 List.626;
if List.627 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.620;
let List.623 : U64 = 1i64;
let List.622 : U64 = CallByName Num.51 List.493 List.623;
jump List.617 List.490 List.495 List.492 List.622 List.494;
else
dec List.490;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.620;
let List.624 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.624;
else
dec List.490;
let List.618 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.618;
in
jump List.617 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure List.91 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
joinpoint List.588 List.162 List.163 List.164 List.165 List.166:
let List.590 : Int1 = CallByName Num.22 List.165 List.166;
if List.590 then
let List.594 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.594;
let List.593 : U64 = 1i64;
let List.592 : U64 = CallByName Num.51 List.165 List.593;
jump List.588 List.162 List.167 List.164 List.592 List.166;
else
dec List.162;
ret List.163;
in
jump List.588 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
procedure Num.137 (#Attr.2, #Attr.3):
let Num.269 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
ret Num.269;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.268 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.268;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.270 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.270;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.274 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.274;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.276 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.276;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.272 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.272;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.275 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.275;
procedure Str.12 (#Attr.2):
let Str.259 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.259;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.258 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.258;
procedure Str.9 (Str.67):
let Str.256 : U64 = 0i64;
let Str.257 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.256 Str.257;
let Str.253 : Int1 = StructAtIndex 2 Str.68;
if Str.253 then
let Str.255 : Str = StructAtIndex 1 Str.68;
let Str.254 : [C {U64, U8}, C Str] = TagId(1) Str.255;
ret Str.254;
else
let Str.251 : U8 = StructAtIndex 3 Str.68;
let Str.252 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.13 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.13;
let Str.250 : {U64, U8} = Struct {Str.252, Str.251};
let Str.249 : [C {U64, U8}, C Str] = TagId(0) Str.250;
ret Str.249;
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.973, TotallyNotJson.149):
let TotallyNotJson.976 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;
let TotallyNotJson.975 : List U8 = CallByName List.8 TotallyNotJson.151 TotallyNotJson.976;
ret TotallyNotJson.975;
procedure TotallyNotJson.157 (TotallyNotJson.1024, TotallyNotJson.160):
let TotallyNotJson.158 : U64 = StructAtIndex 0 TotallyNotJson.1024;
let TotallyNotJson.159 : Int1 = StructAtIndex 1 TotallyNotJson.1024;
switch TotallyNotJson.160:
case 34:
let TotallyNotJson.1027 : Int1 = false;
let TotallyNotJson.1026 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1027};
let TotallyNotJson.1025 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1026;
ret TotallyNotJson.1025;
case 92:
let TotallyNotJson.1030 : Int1 = false;
let TotallyNotJson.1029 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1030};
let TotallyNotJson.1028 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1029;
ret TotallyNotJson.1028;
case 47:
let TotallyNotJson.1033 : Int1 = false;
let TotallyNotJson.1032 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1033};
let TotallyNotJson.1031 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1032;
ret TotallyNotJson.1031;
case 8:
let TotallyNotJson.1036 : Int1 = false;
let TotallyNotJson.1035 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1036};
let TotallyNotJson.1034 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1035;
ret TotallyNotJson.1034;
case 12:
let TotallyNotJson.1039 : Int1 = false;
let TotallyNotJson.1038 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1039};
let TotallyNotJson.1037 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1038;
ret TotallyNotJson.1037;
case 10:
let TotallyNotJson.1042 : Int1 = false;
let TotallyNotJson.1041 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1042};
let TotallyNotJson.1040 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1041;
ret TotallyNotJson.1040;
case 13:
let TotallyNotJson.1045 : Int1 = false;
let TotallyNotJson.1044 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1045};
let TotallyNotJson.1043 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1044;
ret TotallyNotJson.1043;
case 9:
let TotallyNotJson.1048 : Int1 = false;
let TotallyNotJson.1047 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1048};
let TotallyNotJson.1046 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1047;
ret TotallyNotJson.1046;
default:
let TotallyNotJson.1052 : U64 = 1i64;
let TotallyNotJson.1051 : U64 = CallByName Num.19 TotallyNotJson.158 TotallyNotJson.1052;
let TotallyNotJson.1050 : {U64, Int1} = Struct {TotallyNotJson.1051, TotallyNotJson.159};
let TotallyNotJson.1049 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) TotallyNotJson.1050;
ret TotallyNotJson.1049;
procedure TotallyNotJson.183 (TotallyNotJson.184, TotallyNotJson.185):
let TotallyNotJson.995 : List U8 = CallByName TotallyNotJson.27 TotallyNotJson.185;
let TotallyNotJson.994 : List U8 = CallByName List.8 TotallyNotJson.184 TotallyNotJson.995;
ret TotallyNotJson.994;
procedure TotallyNotJson.25 (TotallyNotJson.149):
let TotallyNotJson.971 : Str = CallByName Encode.23 TotallyNotJson.149;
ret TotallyNotJson.971;
procedure TotallyNotJson.26 (TotallyNotJson.152):
let TotallyNotJson.153 : List U8 = CallByName Str.12 TotallyNotJson.152;
let TotallyNotJson.1053 : U64 = 0i64;
let TotallyNotJson.1054 : Int1 = true;
let TotallyNotJson.154 : {U64, Int1} = Struct {TotallyNotJson.1053, TotallyNotJson.1054};
let TotallyNotJson.1023 : {} = Struct {};
inc TotallyNotJson.153;
let TotallyNotJson.155 : {U64, Int1} = CallByName List.26 TotallyNotJson.153 TotallyNotJson.154 TotallyNotJson.1023;
let TotallyNotJson.977 : Int1 = StructAtIndex 1 TotallyNotJson.155;
let TotallyNotJson.1021 : Int1 = true;
let TotallyNotJson.1022 : Int1 = lowlevel Eq TotallyNotJson.1021 TotallyNotJson.977;
if TotallyNotJson.1022 then
let TotallyNotJson.987 : U64 = CallByName List.6 TotallyNotJson.153;
let TotallyNotJson.988 : U64 = 2i64;
let TotallyNotJson.986 : U64 = CallByName Num.19 TotallyNotJson.987 TotallyNotJson.988;
let TotallyNotJson.983 : List U8 = CallByName List.68 TotallyNotJson.986;
let TotallyNotJson.985 : U8 = 34i64;
let TotallyNotJson.984 : List U8 = Array [TotallyNotJson.985];
let TotallyNotJson.982 : List U8 = CallByName List.8 TotallyNotJson.983 TotallyNotJson.984;
let TotallyNotJson.979 : List U8 = CallByName List.8 TotallyNotJson.982 TotallyNotJson.153;
let TotallyNotJson.981 : U8 = 34i64;
let TotallyNotJson.980 : List U8 = Array [TotallyNotJson.981];
let TotallyNotJson.978 : List U8 = CallByName List.8 TotallyNotJson.979 TotallyNotJson.980;
ret TotallyNotJson.978;
else
inc TotallyNotJson.153;
let TotallyNotJson.1020 : U64 = StructAtIndex 0 TotallyNotJson.155;
let TotallyNotJson.1019 : {List U8, List U8} = CallByName List.52 TotallyNotJson.153 TotallyNotJson.1020;
let TotallyNotJson.179 : List U8 = StructAtIndex 0 TotallyNotJson.1019;
let TotallyNotJson.181 : List U8 = StructAtIndex 1 TotallyNotJson.1019;
let TotallyNotJson.1017 : U64 = CallByName List.6 TotallyNotJson.153;
dec TotallyNotJson.153;
let TotallyNotJson.1018 : U64 = 120i64;
let TotallyNotJson.1015 : U64 = CallByName Num.21 TotallyNotJson.1017 TotallyNotJson.1018;
let TotallyNotJson.1016 : U64 = 100i64;
let TotallyNotJson.1014 : U64 = CallByName Num.137 TotallyNotJson.1015 TotallyNotJson.1016;
let TotallyNotJson.1011 : List U8 = CallByName List.68 TotallyNotJson.1014;
let TotallyNotJson.1013 : U8 = 34i64;
let TotallyNotJson.1012 : List U8 = Array [TotallyNotJson.1013];
let TotallyNotJson.1010 : List U8 = CallByName List.8 TotallyNotJson.1011 TotallyNotJson.1012;
let TotallyNotJson.182 : List U8 = CallByName List.8 TotallyNotJson.1010 TotallyNotJson.179;
let TotallyNotJson.993 : {} = Struct {};
let TotallyNotJson.990 : List U8 = CallByName List.18 TotallyNotJson.181 TotallyNotJson.182 TotallyNotJson.993;
let TotallyNotJson.992 : U8 = 34i64;
let TotallyNotJson.991 : List U8 = Array [TotallyNotJson.992];
let TotallyNotJson.989 : List U8 = CallByName List.8 TotallyNotJson.990 TotallyNotJson.991;
ret TotallyNotJson.989;
procedure TotallyNotJson.27 (TotallyNotJson.186):
switch TotallyNotJson.186:
case 34:
let TotallyNotJson.996 : List U8 = Array [92i64, 34i64];
ret TotallyNotJson.996;
case 92:
let TotallyNotJson.997 : List U8 = Array [92i64, 92i64];
ret TotallyNotJson.997;
case 47:
let TotallyNotJson.998 : List U8 = Array [92i64, 47i64];
ret TotallyNotJson.998;
case 8:
let TotallyNotJson.1000 : U8 = 98i64;
let TotallyNotJson.999 : List U8 = Array [92i64, TotallyNotJson.1000];
ret TotallyNotJson.999;
case 12:
let TotallyNotJson.1002 : U8 = 102i64;
let TotallyNotJson.1001 : List U8 = Array [92i64, TotallyNotJson.1002];
ret TotallyNotJson.1001;
case 10:
let TotallyNotJson.1004 : U8 = 110i64;
let TotallyNotJson.1003 : List U8 = Array [92i64, TotallyNotJson.1004];
ret TotallyNotJson.1003;
case 13:
let TotallyNotJson.1006 : U8 = 114i64;
let TotallyNotJson.1005 : List U8 = Array [92i64, TotallyNotJson.1006];
ret TotallyNotJson.1005;
case 9:
let TotallyNotJson.1008 : U8 = 114i64;
let TotallyNotJson.1007 : List U8 = Array [92i64, TotallyNotJson.1008];
ret TotallyNotJson.1007;
default:
let TotallyNotJson.1009 : List U8 = Array [TotallyNotJson.186];
ret TotallyNotJson.1009;
procedure TotallyNotJson.8 ():
let TotallyNotJson.970 : {} = Struct {};
ret TotallyNotJson.970;
procedure Test.0 ():
let Test.9 : Str = "abc";
let Test.10 : {} = CallByName TotallyNotJson.8;
let Test.8 : List U8 = CallByName Encode.26 Test.9 Test.10;
let Test.1 : [C {U64, U8}, C Str] = CallByName Str.9 Test.8;
let Test.5 : U8 = 1i64;
let Test.6 : U8 = GetTagId Test.1;
let Test.7 : Int1 = lowlevel Eq Test.5 Test.6;
if Test.7 then
let Test.2 : Str = UnionAtIndex (Id 1) (Index 0) Test.1;
ret Test.2;
else
dec Test.1;
let Test.4 : Str = "<bad>";
ret Test.4;