roc/crates/compiler/test_mono/generated/encode_derived_string.txt
2023-03-23 10:18:04 -05:00

102 lines
3.4 KiB
Text

procedure Encode.23 (Encode.98):
ret Encode.98;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.111 : List U8 = CallByName Json.102 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 Json.18 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure Json.1 ():
let Json.483 : {} = Struct {};
ret Json.483;
procedure Json.102 (Json.103, Json.486, Json.101):
let Json.495 : I64 = 34i64;
let Json.494 : U8 = CallByName Num.127 Json.495;
let Json.492 : List U8 = CallByName List.4 Json.103 Json.494;
let Json.493 : List U8 = CallByName Str.12 Json.101;
let Json.489 : List U8 = CallByName List.8 Json.492 Json.493;
let Json.491 : I64 = 34i64;
let Json.490 : U8 = CallByName Num.127 Json.491;
let Json.488 : List U8 = CallByName List.4 Json.489 Json.490;
ret Json.488;
procedure Json.18 (Json.101):
let Json.484 : Str = CallByName Encode.23 Json.101;
ret Json.484;
procedure List.4 (List.107, List.108):
let List.503 : U64 = 1i64;
let List.502 : List U8 = CallByName List.70 List.107 List.503;
let List.501 : List U8 = CallByName List.71 List.502 List.108;
ret List.501;
procedure List.6 (#Attr.2):
let List.494 : U64 = lowlevel ListLen #Attr.2;
ret List.494;
procedure List.70 (#Attr.2, #Attr.3):
let List.500 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.500;
procedure List.71 (#Attr.2, #Attr.3):
let List.498 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.498;
procedure List.8 (#Attr.2, #Attr.3):
let List.504 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.504;
procedure Num.127 (#Attr.2):
let Num.276 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.276;
procedure Str.12 (#Attr.2):
let Str.280 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.280;
procedure Str.48 (#Attr.2, #Attr.3, #Attr.4):
let Str.275 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.275;
procedure Str.9 (Str.77):
let Str.273 : U64 = 0i64;
let Str.274 : U64 = CallByName List.6 Str.77;
let Str.78 : {U64, Str, Int1, U8} = CallByName Str.48 Str.77 Str.273 Str.274;
let Str.270 : Int1 = StructAtIndex 2 Str.78;
if Str.270 then
let Str.272 : Str = StructAtIndex 1 Str.78;
inc Str.272;
dec Str.78;
let Str.271 : [C {U64, U8}, C Str] = TagId(1) Str.272;
ret Str.271;
else
let Str.268 : U8 = StructAtIndex 3 Str.78;
let Str.269 : U64 = StructAtIndex 0 Str.78;
dec Str.78;
let Str.267 : {U64, U8} = Struct {Str.269, Str.268};
let Str.266 : [C {U64, U8}, C Str] = TagId(0) Str.267;
ret Str.266;
procedure Test.0 ():
let Test.9 : Str = "abc";
let Test.10 : {} = CallByName Json.1;
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;
inc Test.2;
dec Test.1;
ret Test.2;
else
dec Test.1;
let Test.4 : Str = "<bad>";
ret Test.4;