mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 04:08:19 +00:00
Switch String deriving to be an immediate deriver
This commit is contained in:
parent
c98ba441cf
commit
9a66e936a8
7 changed files with 686 additions and 806 deletions
|
@ -84,7 +84,7 @@ impl FlatEncodable {
|
|||
Symbol::LIST_LIST => Ok(Key(FlatEncodableKey::List())),
|
||||
Symbol::SET_SET => Ok(Key(FlatEncodableKey::Set())),
|
||||
Symbol::DICT_DICT => Ok(Key(FlatEncodableKey::Dict())),
|
||||
Symbol::STR_STR => Ok(Key(FlatEncodableKey::String)),
|
||||
Symbol::STR_STR => Ok(Immediate(Symbol::ENCODE_STRING)),
|
||||
_ => Err(Underivable),
|
||||
},
|
||||
FlatType::Record(fields, ext) => {
|
||||
|
|
|
@ -3,19 +3,6 @@ procedure #Derived.0 (#Derived.1):
|
|||
let #Derived_gen.0 : {Str} = CallByName Encode.22 #Derived_gen.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.10 (#Derived.11):
|
||||
let #Derived_gen.29 : {Str} = Struct {#Derived.11};
|
||||
let #Derived_gen.28 : {Str} = CallByName Encode.22 #Derived_gen.29;
|
||||
ret #Derived_gen.28;
|
||||
|
||||
procedure #Derived.12 (#Derived.13, #Derived.14, #Attr.12):
|
||||
let #Derived.11 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc #Derived.11;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.32 : {Str} = CallByName Json.17 #Derived.11;
|
||||
let #Derived_gen.31 : List U8 = CallByName Encode.23 #Derived.13 #Derived_gen.32 #Derived.14;
|
||||
ret #Derived_gen.31;
|
||||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.4, #Attr.12):
|
||||
let #Derived.1 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc #Derived.1;
|
||||
|
@ -38,7 +25,7 @@ procedure #Derived.7 (#Derived.8, #Derived.9, #Attr.12):
|
|||
inc #Derived.6;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.21 : Str = "b";
|
||||
let #Derived_gen.22 : {Str} = CallByName #Derived.10 #Derived.6;
|
||||
let #Derived_gen.22 : {Str} = CallByName Json.17 #Derived.6;
|
||||
let #Derived_gen.20 : {Str, {Str}} = Struct {#Derived_gen.21, #Derived_gen.22};
|
||||
let #Derived_gen.19 : List {Str, {Str}} = Array [#Derived_gen.20];
|
||||
let #Derived_gen.18 : {List {Str, {Str}}} = CallByName Json.19 #Derived_gen.19;
|
||||
|
@ -60,9 +47,6 @@ procedure Encode.22 (Encode.93):
|
|||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.106 : List U8 = CallByName #Derived.2 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.106;
|
||||
|
@ -80,12 +64,8 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
ret Encode.125;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.127 : List U8 = CallByName #Derived.12 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.127;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.137 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.137;
|
||||
let Encode.128 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.128;
|
||||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
|
@ -98,9 +78,9 @@ procedure Json.1 ():
|
|||
ret Json.102;
|
||||
|
||||
procedure Json.17 (Json.64):
|
||||
let Json.186 : {Str} = Struct {Json.64};
|
||||
let Json.185 : {Str} = CallByName Encode.22 Json.186;
|
||||
ret Json.185;
|
||||
let Json.149 : {Str} = Struct {Json.64};
|
||||
let Json.148 : {Str} = CallByName Encode.22 Json.149;
|
||||
ret Json.148;
|
||||
|
||||
procedure Json.19 (Json.76):
|
||||
let Json.104 : {List {Str, {Str}}} = Struct {Json.76};
|
||||
|
@ -112,19 +92,19 @@ procedure Json.19 (Json.76):
|
|||
let Json.145 : {List {Str, {Str}}} = CallByName Encode.22 Json.146;
|
||||
ret Json.145;
|
||||
|
||||
procedure Json.65 (Json.66, Json.187, #Attr.12):
|
||||
procedure Json.65 (Json.66, Json.150, #Attr.12):
|
||||
let Json.64 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.64;
|
||||
dec #Attr.12;
|
||||
let Json.196 : I32 = 34i64;
|
||||
let Json.195 : U8 = CallByName Num.123 Json.196;
|
||||
let Json.193 : List U8 = CallByName List.4 Json.66 Json.195;
|
||||
let Json.194 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.190 : List U8 = CallByName List.8 Json.193 Json.194;
|
||||
let Json.192 : I32 = 34i64;
|
||||
let Json.191 : U8 = CallByName Num.123 Json.192;
|
||||
let Json.189 : List U8 = CallByName List.4 Json.190 Json.191;
|
||||
ret Json.189;
|
||||
let Json.190 : I32 = 34i64;
|
||||
let Json.189 : U8 = CallByName Num.123 Json.190;
|
||||
let Json.187 : List U8 = CallByName List.4 Json.66 Json.189;
|
||||
let Json.188 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.184 : List U8 = CallByName List.8 Json.187 Json.188;
|
||||
let Json.186 : I32 = 34i64;
|
||||
let Json.185 : U8 = CallByName Num.123 Json.186;
|
||||
let Json.183 : List U8 = CallByName List.4 Json.184 Json.185;
|
||||
ret Json.183;
|
||||
|
||||
procedure Json.77 (Json.78, Json.105, #Attr.12):
|
||||
let Json.76 : List {Str, {Str}} = StructAtIndex 0 #Attr.12;
|
||||
|
@ -150,21 +130,21 @@ procedure Json.77 (Json.78, Json.105, #Attr.12):
|
|||
let Json.76 : List {Str, {Str}} = StructAtIndex 0 #Attr.12;
|
||||
inc Json.76;
|
||||
dec #Attr.12;
|
||||
let Json.178 : I32 = 123i64;
|
||||
let Json.177 : U8 = CallByName Num.123 Json.178;
|
||||
let Json.80 : List U8 = CallByName List.4 Json.78 Json.177;
|
||||
let Json.176 : U64 = CallByName List.6 Json.76;
|
||||
let Json.153 : {List U8, U64} = Struct {Json.80, Json.176};
|
||||
let Json.154 : {} = Struct {};
|
||||
let Json.152 : {List U8, U64} = CallByName List.18 Json.76 Json.153 Json.154;
|
||||
let Json.181 : I32 = 123i64;
|
||||
let Json.180 : U8 = CallByName Num.123 Json.181;
|
||||
let Json.80 : List U8 = CallByName List.4 Json.78 Json.180;
|
||||
let Json.179 : U64 = CallByName List.6 Json.76;
|
||||
let Json.156 : {List U8, U64} = Struct {Json.80, Json.179};
|
||||
let Json.157 : {} = Struct {};
|
||||
let Json.155 : {List U8, U64} = CallByName List.18 Json.76 Json.156 Json.157;
|
||||
dec Json.76;
|
||||
let Json.82 : List U8 = StructAtIndex 0 Json.152;
|
||||
let Json.82 : List U8 = StructAtIndex 0 Json.155;
|
||||
inc Json.82;
|
||||
dec Json.152;
|
||||
let Json.151 : I32 = 125i64;
|
||||
let Json.150 : U8 = CallByName Num.123 Json.151;
|
||||
let Json.149 : List U8 = CallByName List.4 Json.82 Json.150;
|
||||
ret Json.149;
|
||||
dec Json.155;
|
||||
let Json.154 : I32 = 125i64;
|
||||
let Json.153 : U8 = CallByName Num.123 Json.154;
|
||||
let Json.152 : List U8 = CallByName List.4 Json.82 Json.153;
|
||||
ret Json.152;
|
||||
|
||||
procedure Json.79 (Json.107, Json.108):
|
||||
let Json.85 : Str = StructAtIndex 0 Json.108;
|
||||
|
@ -215,34 +195,34 @@ procedure Json.79 (Json.107, Json.108):
|
|||
inc Json.83;
|
||||
let Json.84 : U64 = StructAtIndex 1 Json.107;
|
||||
dec Json.107;
|
||||
let Json.175 : I32 = 34i64;
|
||||
let Json.174 : U8 = CallByName Num.123 Json.175;
|
||||
let Json.172 : List U8 = CallByName List.4 Json.83 Json.174;
|
||||
let Json.173 : List U8 = CallByName Str.12 Json.85;
|
||||
let Json.169 : List U8 = CallByName List.8 Json.172 Json.173;
|
||||
let Json.171 : I32 = 34i64;
|
||||
let Json.178 : I32 = 34i64;
|
||||
let Json.177 : U8 = CallByName Num.123 Json.178;
|
||||
let Json.175 : List U8 = CallByName List.4 Json.83 Json.177;
|
||||
let Json.176 : List U8 = CallByName Str.12 Json.85;
|
||||
let Json.172 : List U8 = CallByName List.8 Json.175 Json.176;
|
||||
let Json.174 : I32 = 34i64;
|
||||
let Json.173 : U8 = CallByName Num.123 Json.174;
|
||||
let Json.169 : List U8 = CallByName List.4 Json.172 Json.173;
|
||||
let Json.171 : I32 = 58i64;
|
||||
let Json.170 : U8 = CallByName Num.123 Json.171;
|
||||
let Json.166 : List U8 = CallByName List.4 Json.169 Json.170;
|
||||
let Json.168 : I32 = 58i64;
|
||||
let Json.167 : U8 = CallByName Num.123 Json.168;
|
||||
let Json.164 : List U8 = CallByName List.4 Json.166 Json.167;
|
||||
let Json.165 : {} = Struct {};
|
||||
let Json.87 : List U8 = CallByName Encode.23 Json.164 Json.86 Json.165;
|
||||
joinpoint Json.159 Json.88:
|
||||
let Json.157 : U64 = 1i64;
|
||||
let Json.156 : U64 = CallByName Num.20 Json.84 Json.157;
|
||||
let Json.155 : {List U8, U64} = Struct {Json.88, Json.156};
|
||||
ret Json.155;
|
||||
let Json.167 : List U8 = CallByName List.4 Json.169 Json.170;
|
||||
let Json.168 : {} = Struct {};
|
||||
let Json.87 : List U8 = CallByName Encode.23 Json.167 Json.86 Json.168;
|
||||
joinpoint Json.162 Json.88:
|
||||
let Json.160 : U64 = 1i64;
|
||||
let Json.159 : U64 = CallByName Num.20 Json.84 Json.160;
|
||||
let Json.158 : {List U8, U64} = Struct {Json.88, Json.159};
|
||||
ret Json.158;
|
||||
in
|
||||
let Json.163 : U64 = 0i64;
|
||||
let Json.160 : Int1 = CallByName Num.24 Json.84 Json.163;
|
||||
if Json.160 then
|
||||
let Json.162 : I32 = 44i64;
|
||||
let Json.161 : U8 = CallByName Num.123 Json.162;
|
||||
let Json.158 : List U8 = CallByName List.4 Json.87 Json.161;
|
||||
jump Json.159 Json.158;
|
||||
let Json.166 : U64 = 0i64;
|
||||
let Json.163 : Int1 = CallByName Num.24 Json.84 Json.166;
|
||||
if Json.163 then
|
||||
let Json.165 : I32 = 44i64;
|
||||
let Json.164 : U8 = CallByName Num.123 Json.165;
|
||||
let Json.161 : List U8 = CallByName List.4 Json.87 Json.164;
|
||||
jump Json.162 Json.161;
|
||||
else
|
||||
jump Json.159 Json.87;
|
||||
jump Json.162 Json.87;
|
||||
|
||||
procedure List.122 (List.123, List.124, #Attr.12):
|
||||
let List.121 : {} = StructAtIndex 0 #Attr.12;
|
||||
|
@ -252,9 +232,9 @@ procedure List.122 (List.123, List.124, #Attr.12):
|
|||
|
||||
procedure List.122 (List.123, List.124, #Attr.12):
|
||||
let List.121 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.418 : {List U8, U64} = CallByName Json.79 List.123 List.124;
|
||||
let List.417 : [C [], C {List U8, U64}] = TagId(1) List.418;
|
||||
ret List.417;
|
||||
let List.425 : {List U8, U64} = CallByName Json.79 List.123 List.124;
|
||||
let List.424 : [C [], C {List U8, U64}] = TagId(1) List.425;
|
||||
ret List.424;
|
||||
|
||||
procedure List.18 (List.119, List.120, List.121):
|
||||
let List.321 : {{}} = Struct {List.121};
|
||||
|
@ -274,27 +254,27 @@ procedure List.18 (List.119, List.120, List.121):
|
|||
ret List.317;
|
||||
|
||||
procedure List.18 (List.119, List.120, List.121):
|
||||
let List.395 : {{}} = Struct {List.121};
|
||||
let List.389 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.395;
|
||||
let List.392 : U8 = 1i64;
|
||||
let List.393 : U8 = GetTagId List.389;
|
||||
let List.394 : Int1 = lowlevel Eq List.392 List.393;
|
||||
if List.394 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.389;
|
||||
let List.401 : {{}} = Struct {List.121};
|
||||
let List.395 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.401;
|
||||
let List.398 : U8 = 1i64;
|
||||
let List.399 : U8 = GetTagId List.395;
|
||||
let List.400 : Int1 = lowlevel Eq List.398 List.399;
|
||||
if List.400 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.395;
|
||||
inc List.126;
|
||||
dec List.389;
|
||||
dec List.395;
|
||||
ret List.126;
|
||||
else
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.389;
|
||||
dec List.389;
|
||||
let List.391 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.391;
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.395;
|
||||
dec List.395;
|
||||
let List.397 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.397;
|
||||
|
||||
procedure List.4 (List.90, List.91):
|
||||
let List.450 : U64 = 1i64;
|
||||
let List.449 : List U8 = CallByName List.65 List.90 List.450;
|
||||
let List.448 : List U8 = CallByName List.66 List.449 List.91;
|
||||
ret List.448;
|
||||
let List.394 : U64 = 1i64;
|
||||
let List.393 : List U8 = CallByName List.65 List.90 List.394;
|
||||
let List.392 : List U8 = CallByName List.66 List.393 List.91;
|
||||
ret List.392;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.295 : U64 = lowlevel ListLen #Attr.2;
|
||||
|
@ -305,16 +285,16 @@ procedure List.6 (#Attr.2):
|
|||
ret List.323;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.397 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.397;
|
||||
let List.404 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.404;
|
||||
|
||||
procedure List.60 (#Attr.2, #Attr.3):
|
||||
let List.342 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.342;
|
||||
|
||||
procedure List.60 (#Attr.2, #Attr.3):
|
||||
let List.416 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.416;
|
||||
let List.423 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.423;
|
||||
|
||||
procedure List.63 (List.283, List.284, List.285):
|
||||
let List.328 : U64 = 0i64;
|
||||
|
@ -323,22 +303,22 @@ procedure List.63 (List.283, List.284, List.285):
|
|||
ret List.327;
|
||||
|
||||
procedure List.63 (List.283, List.284, List.285):
|
||||
let List.402 : U64 = 0i64;
|
||||
let List.403 : U64 = CallByName List.6 List.283;
|
||||
let List.401 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.402 List.403;
|
||||
ret List.401;
|
||||
let List.409 : U64 = 0i64;
|
||||
let List.410 : U64 = CallByName List.6 List.283;
|
||||
let List.408 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.409 List.410;
|
||||
ret List.408;
|
||||
|
||||
procedure List.64 (#Attr.2):
|
||||
let List.400 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.400;
|
||||
let List.407 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.407;
|
||||
|
||||
procedure List.65 (#Attr.2, #Attr.3):
|
||||
let List.453 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.453;
|
||||
let List.406 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.406;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.452 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.452;
|
||||
let List.405 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.405;
|
||||
|
||||
procedure List.77 (List.361, List.362, List.363, List.364, List.365):
|
||||
joinpoint List.330 List.286 List.287 List.288 List.289 List.290:
|
||||
|
@ -367,60 +347,60 @@ procedure List.77 (List.361, List.362, List.363, List.364, List.365):
|
|||
in
|
||||
jump List.330 List.361 List.362 List.363 List.364 List.365;
|
||||
|
||||
procedure List.77 (List.435, List.436, List.437, List.438, List.439):
|
||||
joinpoint List.404 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.406 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.406 then
|
||||
let List.415 : {Str, {Str}} = CallByName List.60 List.286 List.289;
|
||||
let List.407 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.415 List.288;
|
||||
let List.412 : U8 = 1i64;
|
||||
let List.413 : U8 = GetTagId List.407;
|
||||
let List.414 : Int1 = lowlevel Eq List.412 List.413;
|
||||
if List.414 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.407;
|
||||
procedure List.77 (List.442, List.443, List.444, List.445, List.446):
|
||||
joinpoint List.411 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.413 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.413 then
|
||||
let List.422 : {Str, {Str}} = CallByName List.60 List.286 List.289;
|
||||
let List.414 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.422 List.288;
|
||||
let List.419 : U8 = 1i64;
|
||||
let List.420 : U8 = GetTagId List.414;
|
||||
let List.421 : Int1 = lowlevel Eq List.419 List.420;
|
||||
if List.421 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.414;
|
||||
inc List.291;
|
||||
dec List.407;
|
||||
let List.410 : U64 = 1i64;
|
||||
let List.409 : U64 = CallByName Num.19 List.289 List.410;
|
||||
jump List.404 List.286 List.291 List.288 List.409 List.290;
|
||||
dec List.414;
|
||||
let List.417 : U64 = 1i64;
|
||||
let List.416 : U64 = CallByName Num.19 List.289 List.417;
|
||||
jump List.411 List.286 List.291 List.288 List.416 List.290;
|
||||
else
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.407;
|
||||
dec List.407;
|
||||
let List.411 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.411;
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.414;
|
||||
dec List.414;
|
||||
let List.418 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.418;
|
||||
else
|
||||
let List.405 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.405;
|
||||
let List.412 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.412;
|
||||
in
|
||||
jump List.404 List.435 List.436 List.437 List.438 List.439;
|
||||
jump List.411 List.442 List.443 List.444 List.445 List.446;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.451 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.451;
|
||||
let List.403 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.403;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.296 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.296;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.284 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.284;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.282 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.285;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
let Num.283 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.283;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.286 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.284 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.284;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.287 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.287;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.285;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.213 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.213;
|
||||
let Str.212 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.212;
|
||||
|
||||
procedure Str.48 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let Str.204 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
|
||||
|
|
|
@ -8,29 +8,13 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Attr.12):
|
|||
inc #Derived.1;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.7 : Str = "a";
|
||||
let #Derived_gen.8 : {Str} = CallByName #Derived.5 #Derived.1;
|
||||
let #Derived_gen.8 : {Str} = CallByName Json.17 #Derived.1;
|
||||
let #Derived_gen.6 : {Str, {Str}} = Struct {#Derived_gen.7, #Derived_gen.8};
|
||||
let #Derived_gen.5 : List {Str, {Str}} = Array [#Derived_gen.6];
|
||||
let #Derived_gen.4 : {List {Str, {Str}}} = CallByName Json.19 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure #Derived.5 (#Derived.6):
|
||||
let #Derived_gen.15 : {Str} = Struct {#Derived.6};
|
||||
let #Derived_gen.14 : {Str} = CallByName Encode.22 #Derived_gen.15;
|
||||
ret #Derived_gen.14;
|
||||
|
||||
procedure #Derived.7 (#Derived.8, #Derived.9, #Attr.12):
|
||||
let #Derived.6 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc #Derived.6;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.18 : {Str} = CallByName Json.17 #Derived.6;
|
||||
let #Derived_gen.17 : List U8 = CallByName Encode.23 #Derived.8 #Derived_gen.18 #Derived.9;
|
||||
ret #Derived_gen.17;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
|
@ -49,12 +33,8 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
ret Encode.113;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.115 : List U8 = CallByName #Derived.7 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.115;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.125 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.125;
|
||||
let Encode.116 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.116;
|
||||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
|
@ -67,201 +47,201 @@ procedure Json.1 ():
|
|||
ret Json.102;
|
||||
|
||||
procedure Json.17 (Json.64):
|
||||
let Json.146 : {Str} = Struct {Json.64};
|
||||
let Json.145 : {Str} = CallByName Encode.22 Json.146;
|
||||
ret Json.145;
|
||||
let Json.107 : {Str} = Struct {Json.64};
|
||||
let Json.106 : {Str} = CallByName Encode.22 Json.107;
|
||||
ret Json.106;
|
||||
|
||||
procedure Json.19 (Json.76):
|
||||
let Json.104 : {List {Str, {Str}}} = Struct {Json.76};
|
||||
let Json.103 : {List {Str, {Str}}} = CallByName Encode.22 Json.104;
|
||||
ret Json.103;
|
||||
|
||||
procedure Json.65 (Json.66, Json.147, #Attr.12):
|
||||
procedure Json.65 (Json.66, Json.108, #Attr.12):
|
||||
let Json.64 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.64;
|
||||
dec #Attr.12;
|
||||
let Json.156 : I32 = 34i64;
|
||||
let Json.155 : U8 = CallByName Num.123 Json.156;
|
||||
let Json.153 : List U8 = CallByName List.4 Json.66 Json.155;
|
||||
let Json.154 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.150 : List U8 = CallByName List.8 Json.153 Json.154;
|
||||
let Json.152 : I32 = 34i64;
|
||||
let Json.151 : U8 = CallByName Num.123 Json.152;
|
||||
let Json.149 : List U8 = CallByName List.4 Json.150 Json.151;
|
||||
ret Json.149;
|
||||
let Json.150 : I32 = 34i64;
|
||||
let Json.149 : U8 = CallByName Num.123 Json.150;
|
||||
let Json.147 : List U8 = CallByName List.4 Json.66 Json.149;
|
||||
let Json.148 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.144 : List U8 = CallByName List.8 Json.147 Json.148;
|
||||
let Json.146 : I32 = 34i64;
|
||||
let Json.145 : U8 = CallByName Num.123 Json.146;
|
||||
let Json.143 : List U8 = CallByName List.4 Json.144 Json.145;
|
||||
ret Json.143;
|
||||
|
||||
procedure Json.77 (Json.78, Json.105, #Attr.12):
|
||||
let Json.76 : List {Str, {Str}} = StructAtIndex 0 #Attr.12;
|
||||
inc Json.76;
|
||||
dec #Attr.12;
|
||||
let Json.138 : I32 = 123i64;
|
||||
let Json.137 : U8 = CallByName Num.123 Json.138;
|
||||
let Json.80 : List U8 = CallByName List.4 Json.78 Json.137;
|
||||
let Json.136 : U64 = CallByName List.6 Json.76;
|
||||
let Json.113 : {List U8, U64} = Struct {Json.80, Json.136};
|
||||
let Json.114 : {} = Struct {};
|
||||
let Json.112 : {List U8, U64} = CallByName List.18 Json.76 Json.113 Json.114;
|
||||
let Json.141 : I32 = 123i64;
|
||||
let Json.140 : U8 = CallByName Num.123 Json.141;
|
||||
let Json.80 : List U8 = CallByName List.4 Json.78 Json.140;
|
||||
let Json.139 : U64 = CallByName List.6 Json.76;
|
||||
let Json.116 : {List U8, U64} = Struct {Json.80, Json.139};
|
||||
let Json.117 : {} = Struct {};
|
||||
let Json.115 : {List U8, U64} = CallByName List.18 Json.76 Json.116 Json.117;
|
||||
dec Json.76;
|
||||
let Json.82 : List U8 = StructAtIndex 0 Json.112;
|
||||
let Json.82 : List U8 = StructAtIndex 0 Json.115;
|
||||
inc Json.82;
|
||||
dec Json.112;
|
||||
let Json.111 : I32 = 125i64;
|
||||
let Json.110 : U8 = CallByName Num.123 Json.111;
|
||||
let Json.109 : List U8 = CallByName List.4 Json.82 Json.110;
|
||||
ret Json.109;
|
||||
dec Json.115;
|
||||
let Json.114 : I32 = 125i64;
|
||||
let Json.113 : U8 = CallByName Num.123 Json.114;
|
||||
let Json.112 : List U8 = CallByName List.4 Json.82 Json.113;
|
||||
ret Json.112;
|
||||
|
||||
procedure Json.79 (Json.107, Json.108):
|
||||
let Json.85 : Str = StructAtIndex 0 Json.108;
|
||||
procedure Json.79 (Json.110, Json.111):
|
||||
let Json.85 : Str = StructAtIndex 0 Json.111;
|
||||
inc Json.85;
|
||||
let Json.86 : {Str} = StructAtIndex 1 Json.108;
|
||||
let Json.86 : {Str} = StructAtIndex 1 Json.111;
|
||||
inc Json.86;
|
||||
dec Json.108;
|
||||
let Json.83 : List U8 = StructAtIndex 0 Json.107;
|
||||
dec Json.111;
|
||||
let Json.83 : List U8 = StructAtIndex 0 Json.110;
|
||||
inc Json.83;
|
||||
let Json.84 : U64 = StructAtIndex 1 Json.107;
|
||||
dec Json.107;
|
||||
let Json.135 : I32 = 34i64;
|
||||
let Json.134 : U8 = CallByName Num.123 Json.135;
|
||||
let Json.132 : List U8 = CallByName List.4 Json.83 Json.134;
|
||||
let Json.133 : List U8 = CallByName Str.12 Json.85;
|
||||
let Json.129 : List U8 = CallByName List.8 Json.132 Json.133;
|
||||
let Json.131 : I32 = 34i64;
|
||||
let Json.84 : U64 = StructAtIndex 1 Json.110;
|
||||
dec Json.110;
|
||||
let Json.138 : I32 = 34i64;
|
||||
let Json.137 : U8 = CallByName Num.123 Json.138;
|
||||
let Json.135 : List U8 = CallByName List.4 Json.83 Json.137;
|
||||
let Json.136 : List U8 = CallByName Str.12 Json.85;
|
||||
let Json.132 : List U8 = CallByName List.8 Json.135 Json.136;
|
||||
let Json.134 : I32 = 34i64;
|
||||
let Json.133 : U8 = CallByName Num.123 Json.134;
|
||||
let Json.129 : List U8 = CallByName List.4 Json.132 Json.133;
|
||||
let Json.131 : I32 = 58i64;
|
||||
let Json.130 : U8 = CallByName Num.123 Json.131;
|
||||
let Json.126 : List U8 = CallByName List.4 Json.129 Json.130;
|
||||
let Json.128 : I32 = 58i64;
|
||||
let Json.127 : U8 = CallByName Num.123 Json.128;
|
||||
let Json.124 : List U8 = CallByName List.4 Json.126 Json.127;
|
||||
let Json.125 : {} = Struct {};
|
||||
let Json.87 : List U8 = CallByName Encode.23 Json.124 Json.86 Json.125;
|
||||
joinpoint Json.119 Json.88:
|
||||
let Json.117 : U64 = 1i64;
|
||||
let Json.116 : U64 = CallByName Num.20 Json.84 Json.117;
|
||||
let Json.115 : {List U8, U64} = Struct {Json.88, Json.116};
|
||||
ret Json.115;
|
||||
let Json.127 : List U8 = CallByName List.4 Json.129 Json.130;
|
||||
let Json.128 : {} = Struct {};
|
||||
let Json.87 : List U8 = CallByName Encode.23 Json.127 Json.86 Json.128;
|
||||
joinpoint Json.122 Json.88:
|
||||
let Json.120 : U64 = 1i64;
|
||||
let Json.119 : U64 = CallByName Num.20 Json.84 Json.120;
|
||||
let Json.118 : {List U8, U64} = Struct {Json.88, Json.119};
|
||||
ret Json.118;
|
||||
in
|
||||
let Json.123 : U64 = 0i64;
|
||||
let Json.120 : Int1 = CallByName Num.24 Json.84 Json.123;
|
||||
if Json.120 then
|
||||
let Json.122 : I32 = 44i64;
|
||||
let Json.121 : U8 = CallByName Num.123 Json.122;
|
||||
let Json.118 : List U8 = CallByName List.4 Json.87 Json.121;
|
||||
jump Json.119 Json.118;
|
||||
let Json.126 : U64 = 0i64;
|
||||
let Json.123 : Int1 = CallByName Num.24 Json.84 Json.126;
|
||||
if Json.123 then
|
||||
let Json.125 : I32 = 44i64;
|
||||
let Json.124 : U8 = CallByName Num.123 Json.125;
|
||||
let Json.121 : List U8 = CallByName List.4 Json.87 Json.124;
|
||||
jump Json.122 Json.121;
|
||||
else
|
||||
jump Json.119 Json.87;
|
||||
jump Json.122 Json.87;
|
||||
|
||||
procedure List.122 (List.123, List.124, #Attr.12):
|
||||
let List.121 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.344 : {List U8, U64} = CallByName Json.79 List.123 List.124;
|
||||
let List.343 : [C [], C {List U8, U64}] = TagId(1) List.344;
|
||||
ret List.343;
|
||||
let List.351 : {List U8, U64} = CallByName Json.79 List.123 List.124;
|
||||
let List.350 : [C [], C {List U8, U64}] = TagId(1) List.351;
|
||||
ret List.350;
|
||||
|
||||
procedure List.18 (List.119, List.120, List.121):
|
||||
let List.321 : {{}} = Struct {List.121};
|
||||
let List.315 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.321;
|
||||
let List.318 : U8 = 1i64;
|
||||
let List.319 : U8 = GetTagId List.315;
|
||||
let List.320 : Int1 = lowlevel Eq List.318 List.319;
|
||||
if List.320 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.315;
|
||||
let List.327 : {{}} = Struct {List.121};
|
||||
let List.321 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.327;
|
||||
let List.324 : U8 = 1i64;
|
||||
let List.325 : U8 = GetTagId List.321;
|
||||
let List.326 : Int1 = lowlevel Eq List.324 List.325;
|
||||
if List.326 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.321;
|
||||
inc List.126;
|
||||
dec List.315;
|
||||
dec List.321;
|
||||
ret List.126;
|
||||
else
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.315;
|
||||
dec List.315;
|
||||
let List.317 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.317;
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.321;
|
||||
dec List.321;
|
||||
let List.323 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.323;
|
||||
|
||||
procedure List.4 (List.90, List.91):
|
||||
let List.376 : U64 = 1i64;
|
||||
let List.375 : List U8 = CallByName List.65 List.90 List.376;
|
||||
let List.374 : List U8 = CallByName List.66 List.375 List.91;
|
||||
ret List.374;
|
||||
let List.320 : U64 = 1i64;
|
||||
let List.319 : List U8 = CallByName List.65 List.90 List.320;
|
||||
let List.318 : List U8 = CallByName List.66 List.319 List.91;
|
||||
ret List.318;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.295 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.295;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.323 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.323;
|
||||
let List.330 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.330;
|
||||
|
||||
procedure List.60 (#Attr.2, #Attr.3):
|
||||
let List.342 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.342;
|
||||
let List.349 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.349;
|
||||
|
||||
procedure List.63 (List.283, List.284, List.285):
|
||||
let List.328 : U64 = 0i64;
|
||||
let List.329 : U64 = CallByName List.6 List.283;
|
||||
let List.327 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.328 List.329;
|
||||
ret List.327;
|
||||
let List.335 : U64 = 0i64;
|
||||
let List.336 : U64 = CallByName List.6 List.283;
|
||||
let List.334 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.335 List.336;
|
||||
ret List.334;
|
||||
|
||||
procedure List.64 (#Attr.2):
|
||||
let List.326 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.326;
|
||||
let List.333 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.333;
|
||||
|
||||
procedure List.65 (#Attr.2, #Attr.3):
|
||||
let List.379 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.379;
|
||||
let List.332 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.332;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.378 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.378;
|
||||
let List.331 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.331;
|
||||
|
||||
procedure List.77 (List.361, List.362, List.363, List.364, List.365):
|
||||
joinpoint List.330 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.332 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.332 then
|
||||
let List.341 : {Str, {Str}} = CallByName List.60 List.286 List.289;
|
||||
let List.333 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.341 List.288;
|
||||
let List.338 : U8 = 1i64;
|
||||
let List.339 : U8 = GetTagId List.333;
|
||||
let List.340 : Int1 = lowlevel Eq List.338 List.339;
|
||||
if List.340 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.333;
|
||||
procedure List.77 (List.368, List.369, List.370, List.371, List.372):
|
||||
joinpoint List.337 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.339 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.339 then
|
||||
let List.348 : {Str, {Str}} = CallByName List.60 List.286 List.289;
|
||||
let List.340 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.348 List.288;
|
||||
let List.345 : U8 = 1i64;
|
||||
let List.346 : U8 = GetTagId List.340;
|
||||
let List.347 : Int1 = lowlevel Eq List.345 List.346;
|
||||
if List.347 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.340;
|
||||
inc List.291;
|
||||
dec List.333;
|
||||
let List.336 : U64 = 1i64;
|
||||
let List.335 : U64 = CallByName Num.19 List.289 List.336;
|
||||
jump List.330 List.286 List.291 List.288 List.335 List.290;
|
||||
dec List.340;
|
||||
let List.343 : U64 = 1i64;
|
||||
let List.342 : U64 = CallByName Num.19 List.289 List.343;
|
||||
jump List.337 List.286 List.291 List.288 List.342 List.290;
|
||||
else
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.333;
|
||||
dec List.333;
|
||||
let List.337 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.337;
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.340;
|
||||
dec List.340;
|
||||
let List.344 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.344;
|
||||
else
|
||||
let List.331 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.331;
|
||||
let List.338 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.338;
|
||||
in
|
||||
jump List.330 List.361 List.362 List.363 List.364 List.365;
|
||||
jump List.337 List.368 List.369 List.370 List.371 List.372;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.377 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.377;
|
||||
let List.329 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.329;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.277 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.277;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.265 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.265;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.263 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.263;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.266 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.266;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.264 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
let Num.264 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.264;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.267 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.267;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.265 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.265;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.268 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.268;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.266 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.266;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.211 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.211;
|
||||
let Str.210 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.210;
|
||||
|
||||
procedure Str.48 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let Str.204 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
|
||||
|
|
|
@ -10,35 +10,19 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Attr.12):
|
|||
let #Derived_gen.11 : Str = "a";
|
||||
let #Derived_gen.13 : Str = StructAtIndex 0 #Derived.1;
|
||||
inc #Derived_gen.13;
|
||||
let #Derived_gen.12 : {Str} = CallByName #Derived.5 #Derived_gen.13;
|
||||
let #Derived_gen.12 : {Str} = CallByName Json.17 #Derived_gen.13;
|
||||
let #Derived_gen.6 : {Str, {Str}} = Struct {#Derived_gen.11, #Derived_gen.12};
|
||||
let #Derived_gen.8 : Str = "b";
|
||||
let #Derived_gen.10 : Str = StructAtIndex 1 #Derived.1;
|
||||
inc #Derived_gen.10;
|
||||
dec #Derived.1;
|
||||
let #Derived_gen.9 : {Str} = CallByName #Derived.5 #Derived_gen.10;
|
||||
let #Derived_gen.9 : {Str} = CallByName Json.17 #Derived_gen.10;
|
||||
let #Derived_gen.7 : {Str, {Str}} = Struct {#Derived_gen.8, #Derived_gen.9};
|
||||
let #Derived_gen.5 : List {Str, {Str}} = Array [#Derived_gen.6, #Derived_gen.7];
|
||||
let #Derived_gen.4 : {List {Str, {Str}}} = CallByName Json.19 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure #Derived.5 (#Derived.6):
|
||||
let #Derived_gen.21 : {Str} = Struct {#Derived.6};
|
||||
let #Derived_gen.20 : {Str} = CallByName Encode.22 #Derived_gen.21;
|
||||
ret #Derived_gen.20;
|
||||
|
||||
procedure #Derived.7 (#Derived.8, #Derived.9, #Attr.12):
|
||||
let #Derived.6 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc #Derived.6;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.24 : {Str} = CallByName Json.17 #Derived.6;
|
||||
let #Derived_gen.23 : List U8 = CallByName Encode.23 #Derived.8 #Derived_gen.24 #Derived.9;
|
||||
ret #Derived_gen.23;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
|
@ -57,12 +41,8 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
ret Encode.113;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.115 : List U8 = CallByName #Derived.7 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.115;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.126 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.126;
|
||||
let Encode.117 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.117;
|
||||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
|
@ -75,201 +55,201 @@ procedure Json.1 ():
|
|||
ret Json.102;
|
||||
|
||||
procedure Json.17 (Json.64):
|
||||
let Json.146 : {Str} = Struct {Json.64};
|
||||
let Json.145 : {Str} = CallByName Encode.22 Json.146;
|
||||
ret Json.145;
|
||||
let Json.110 : {Str} = Struct {Json.64};
|
||||
let Json.109 : {Str} = CallByName Encode.22 Json.110;
|
||||
ret Json.109;
|
||||
|
||||
procedure Json.19 (Json.76):
|
||||
let Json.104 : {List {Str, {Str}}} = Struct {Json.76};
|
||||
let Json.103 : {List {Str, {Str}}} = CallByName Encode.22 Json.104;
|
||||
ret Json.103;
|
||||
|
||||
procedure Json.65 (Json.66, Json.147, #Attr.12):
|
||||
procedure Json.65 (Json.66, Json.108, #Attr.12):
|
||||
let Json.64 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.64;
|
||||
dec #Attr.12;
|
||||
let Json.156 : I32 = 34i64;
|
||||
let Json.155 : U8 = CallByName Num.123 Json.156;
|
||||
let Json.153 : List U8 = CallByName List.4 Json.66 Json.155;
|
||||
let Json.154 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.150 : List U8 = CallByName List.8 Json.153 Json.154;
|
||||
let Json.152 : I32 = 34i64;
|
||||
let Json.151 : U8 = CallByName Num.123 Json.152;
|
||||
let Json.149 : List U8 = CallByName List.4 Json.150 Json.151;
|
||||
ret Json.149;
|
||||
let Json.153 : I32 = 34i64;
|
||||
let Json.152 : U8 = CallByName Num.123 Json.153;
|
||||
let Json.150 : List U8 = CallByName List.4 Json.66 Json.152;
|
||||
let Json.151 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.147 : List U8 = CallByName List.8 Json.150 Json.151;
|
||||
let Json.149 : I32 = 34i64;
|
||||
let Json.148 : U8 = CallByName Num.123 Json.149;
|
||||
let Json.146 : List U8 = CallByName List.4 Json.147 Json.148;
|
||||
ret Json.146;
|
||||
|
||||
procedure Json.77 (Json.78, Json.105, #Attr.12):
|
||||
let Json.76 : List {Str, {Str}} = StructAtIndex 0 #Attr.12;
|
||||
inc Json.76;
|
||||
dec #Attr.12;
|
||||
let Json.138 : I32 = 123i64;
|
||||
let Json.137 : U8 = CallByName Num.123 Json.138;
|
||||
let Json.80 : List U8 = CallByName List.4 Json.78 Json.137;
|
||||
let Json.136 : U64 = CallByName List.6 Json.76;
|
||||
let Json.113 : {List U8, U64} = Struct {Json.80, Json.136};
|
||||
let Json.114 : {} = Struct {};
|
||||
let Json.112 : {List U8, U64} = CallByName List.18 Json.76 Json.113 Json.114;
|
||||
let Json.144 : I32 = 123i64;
|
||||
let Json.143 : U8 = CallByName Num.123 Json.144;
|
||||
let Json.80 : List U8 = CallByName List.4 Json.78 Json.143;
|
||||
let Json.142 : U64 = CallByName List.6 Json.76;
|
||||
let Json.119 : {List U8, U64} = Struct {Json.80, Json.142};
|
||||
let Json.120 : {} = Struct {};
|
||||
let Json.118 : {List U8, U64} = CallByName List.18 Json.76 Json.119 Json.120;
|
||||
dec Json.76;
|
||||
let Json.82 : List U8 = StructAtIndex 0 Json.112;
|
||||
let Json.82 : List U8 = StructAtIndex 0 Json.118;
|
||||
inc Json.82;
|
||||
dec Json.112;
|
||||
let Json.111 : I32 = 125i64;
|
||||
let Json.110 : U8 = CallByName Num.123 Json.111;
|
||||
let Json.109 : List U8 = CallByName List.4 Json.82 Json.110;
|
||||
ret Json.109;
|
||||
dec Json.118;
|
||||
let Json.117 : I32 = 125i64;
|
||||
let Json.116 : U8 = CallByName Num.123 Json.117;
|
||||
let Json.115 : List U8 = CallByName List.4 Json.82 Json.116;
|
||||
ret Json.115;
|
||||
|
||||
procedure Json.79 (Json.107, Json.108):
|
||||
let Json.85 : Str = StructAtIndex 0 Json.108;
|
||||
procedure Json.79 (Json.113, Json.114):
|
||||
let Json.85 : Str = StructAtIndex 0 Json.114;
|
||||
inc Json.85;
|
||||
let Json.86 : {Str} = StructAtIndex 1 Json.108;
|
||||
let Json.86 : {Str} = StructAtIndex 1 Json.114;
|
||||
inc Json.86;
|
||||
dec Json.108;
|
||||
let Json.83 : List U8 = StructAtIndex 0 Json.107;
|
||||
dec Json.114;
|
||||
let Json.83 : List U8 = StructAtIndex 0 Json.113;
|
||||
inc Json.83;
|
||||
let Json.84 : U64 = StructAtIndex 1 Json.107;
|
||||
dec Json.107;
|
||||
let Json.135 : I32 = 34i64;
|
||||
let Json.134 : U8 = CallByName Num.123 Json.135;
|
||||
let Json.132 : List U8 = CallByName List.4 Json.83 Json.134;
|
||||
let Json.133 : List U8 = CallByName Str.12 Json.85;
|
||||
let Json.129 : List U8 = CallByName List.8 Json.132 Json.133;
|
||||
let Json.131 : I32 = 34i64;
|
||||
let Json.130 : U8 = CallByName Num.123 Json.131;
|
||||
let Json.126 : List U8 = CallByName List.4 Json.129 Json.130;
|
||||
let Json.128 : I32 = 58i64;
|
||||
let Json.127 : U8 = CallByName Num.123 Json.128;
|
||||
let Json.124 : List U8 = CallByName List.4 Json.126 Json.127;
|
||||
let Json.125 : {} = Struct {};
|
||||
let Json.87 : List U8 = CallByName Encode.23 Json.124 Json.86 Json.125;
|
||||
joinpoint Json.119 Json.88:
|
||||
let Json.117 : U64 = 1i64;
|
||||
let Json.116 : U64 = CallByName Num.20 Json.84 Json.117;
|
||||
let Json.115 : {List U8, U64} = Struct {Json.88, Json.116};
|
||||
ret Json.115;
|
||||
let Json.84 : U64 = StructAtIndex 1 Json.113;
|
||||
dec Json.113;
|
||||
let Json.141 : I32 = 34i64;
|
||||
let Json.140 : U8 = CallByName Num.123 Json.141;
|
||||
let Json.138 : List U8 = CallByName List.4 Json.83 Json.140;
|
||||
let Json.139 : List U8 = CallByName Str.12 Json.85;
|
||||
let Json.135 : List U8 = CallByName List.8 Json.138 Json.139;
|
||||
let Json.137 : I32 = 34i64;
|
||||
let Json.136 : U8 = CallByName Num.123 Json.137;
|
||||
let Json.132 : List U8 = CallByName List.4 Json.135 Json.136;
|
||||
let Json.134 : I32 = 58i64;
|
||||
let Json.133 : U8 = CallByName Num.123 Json.134;
|
||||
let Json.130 : List U8 = CallByName List.4 Json.132 Json.133;
|
||||
let Json.131 : {} = Struct {};
|
||||
let Json.87 : List U8 = CallByName Encode.23 Json.130 Json.86 Json.131;
|
||||
joinpoint Json.125 Json.88:
|
||||
let Json.123 : U64 = 1i64;
|
||||
let Json.122 : U64 = CallByName Num.20 Json.84 Json.123;
|
||||
let Json.121 : {List U8, U64} = Struct {Json.88, Json.122};
|
||||
ret Json.121;
|
||||
in
|
||||
let Json.123 : U64 = 0i64;
|
||||
let Json.120 : Int1 = CallByName Num.24 Json.84 Json.123;
|
||||
if Json.120 then
|
||||
let Json.122 : I32 = 44i64;
|
||||
let Json.121 : U8 = CallByName Num.123 Json.122;
|
||||
let Json.118 : List U8 = CallByName List.4 Json.87 Json.121;
|
||||
jump Json.119 Json.118;
|
||||
let Json.129 : U64 = 0i64;
|
||||
let Json.126 : Int1 = CallByName Num.24 Json.84 Json.129;
|
||||
if Json.126 then
|
||||
let Json.128 : I32 = 44i64;
|
||||
let Json.127 : U8 = CallByName Num.123 Json.128;
|
||||
let Json.124 : List U8 = CallByName List.4 Json.87 Json.127;
|
||||
jump Json.125 Json.124;
|
||||
else
|
||||
jump Json.119 Json.87;
|
||||
jump Json.125 Json.87;
|
||||
|
||||
procedure List.122 (List.123, List.124, #Attr.12):
|
||||
let List.121 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.344 : {List U8, U64} = CallByName Json.79 List.123 List.124;
|
||||
let List.343 : [C [], C {List U8, U64}] = TagId(1) List.344;
|
||||
ret List.343;
|
||||
let List.351 : {List U8, U64} = CallByName Json.79 List.123 List.124;
|
||||
let List.350 : [C [], C {List U8, U64}] = TagId(1) List.351;
|
||||
ret List.350;
|
||||
|
||||
procedure List.18 (List.119, List.120, List.121):
|
||||
let List.321 : {{}} = Struct {List.121};
|
||||
let List.315 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.321;
|
||||
let List.318 : U8 = 1i64;
|
||||
let List.319 : U8 = GetTagId List.315;
|
||||
let List.320 : Int1 = lowlevel Eq List.318 List.319;
|
||||
if List.320 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.315;
|
||||
let List.327 : {{}} = Struct {List.121};
|
||||
let List.321 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.327;
|
||||
let List.324 : U8 = 1i64;
|
||||
let List.325 : U8 = GetTagId List.321;
|
||||
let List.326 : Int1 = lowlevel Eq List.324 List.325;
|
||||
if List.326 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.321;
|
||||
inc List.126;
|
||||
dec List.315;
|
||||
dec List.321;
|
||||
ret List.126;
|
||||
else
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.315;
|
||||
dec List.315;
|
||||
let List.317 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.317;
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.321;
|
||||
dec List.321;
|
||||
let List.323 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.323;
|
||||
|
||||
procedure List.4 (List.90, List.91):
|
||||
let List.376 : U64 = 1i64;
|
||||
let List.375 : List U8 = CallByName List.65 List.90 List.376;
|
||||
let List.374 : List U8 = CallByName List.66 List.375 List.91;
|
||||
ret List.374;
|
||||
let List.320 : U64 = 1i64;
|
||||
let List.319 : List U8 = CallByName List.65 List.90 List.320;
|
||||
let List.318 : List U8 = CallByName List.66 List.319 List.91;
|
||||
ret List.318;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.295 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.295;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.323 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.323;
|
||||
let List.330 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.330;
|
||||
|
||||
procedure List.60 (#Attr.2, #Attr.3):
|
||||
let List.342 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.342;
|
||||
let List.349 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.349;
|
||||
|
||||
procedure List.63 (List.283, List.284, List.285):
|
||||
let List.328 : U64 = 0i64;
|
||||
let List.329 : U64 = CallByName List.6 List.283;
|
||||
let List.327 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.328 List.329;
|
||||
ret List.327;
|
||||
let List.335 : U64 = 0i64;
|
||||
let List.336 : U64 = CallByName List.6 List.283;
|
||||
let List.334 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.335 List.336;
|
||||
ret List.334;
|
||||
|
||||
procedure List.64 (#Attr.2):
|
||||
let List.326 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.326;
|
||||
let List.333 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.333;
|
||||
|
||||
procedure List.65 (#Attr.2, #Attr.3):
|
||||
let List.379 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.379;
|
||||
let List.332 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.332;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.378 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.378;
|
||||
let List.331 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.331;
|
||||
|
||||
procedure List.77 (List.361, List.362, List.363, List.364, List.365):
|
||||
joinpoint List.330 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.332 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.332 then
|
||||
let List.341 : {Str, {Str}} = CallByName List.60 List.286 List.289;
|
||||
let List.333 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.341 List.288;
|
||||
let List.338 : U8 = 1i64;
|
||||
let List.339 : U8 = GetTagId List.333;
|
||||
let List.340 : Int1 = lowlevel Eq List.338 List.339;
|
||||
if List.340 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.333;
|
||||
procedure List.77 (List.368, List.369, List.370, List.371, List.372):
|
||||
joinpoint List.337 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.339 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.339 then
|
||||
let List.348 : {Str, {Str}} = CallByName List.60 List.286 List.289;
|
||||
let List.340 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.348 List.288;
|
||||
let List.345 : U8 = 1i64;
|
||||
let List.346 : U8 = GetTagId List.340;
|
||||
let List.347 : Int1 = lowlevel Eq List.345 List.346;
|
||||
if List.347 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.340;
|
||||
inc List.291;
|
||||
dec List.333;
|
||||
let List.336 : U64 = 1i64;
|
||||
let List.335 : U64 = CallByName Num.19 List.289 List.336;
|
||||
jump List.330 List.286 List.291 List.288 List.335 List.290;
|
||||
dec List.340;
|
||||
let List.343 : U64 = 1i64;
|
||||
let List.342 : U64 = CallByName Num.19 List.289 List.343;
|
||||
jump List.337 List.286 List.291 List.288 List.342 List.290;
|
||||
else
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.333;
|
||||
dec List.333;
|
||||
let List.337 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.337;
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.340;
|
||||
dec List.340;
|
||||
let List.344 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.344;
|
||||
else
|
||||
let List.331 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.331;
|
||||
let List.338 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.338;
|
||||
in
|
||||
jump List.330 List.361 List.362 List.363 List.364 List.365;
|
||||
jump List.337 List.368 List.369 List.370 List.371 List.372;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.377 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.377;
|
||||
let List.329 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.329;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.277 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.277;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.265 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.265;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.263 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.263;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.266 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.266;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.264 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
let Num.264 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.264;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.267 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.267;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.265 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.265;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.268 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.268;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.266 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.266;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.211 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.211;
|
||||
let Str.210 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.210;
|
||||
|
||||
procedure Str.48 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let Str.204 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
|
||||
|
|
|
@ -1,33 +1,13 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.1 : {Str} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : {Str} = CallByName Encode.22 #Derived_gen.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.4, #Attr.12):
|
||||
let #Derived.1 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc #Derived.1;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.4 : {Str} = CallByName Json.17 #Derived.1;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.106 : List U8 = CallByName #Derived.2 Encode.94 Encode.96 Encode.102;
|
||||
let Encode.106 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.106;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.113 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.113;
|
||||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
let Encode.105 : {Str} = CallByName #Derived.0 Encode.100;
|
||||
let Encode.105 : {Str} = CallByName Json.17 Encode.100;
|
||||
let Encode.103 : List U8 = CallByName Encode.23 Encode.104 Encode.105 Encode.101;
|
||||
ret Encode.103;
|
||||
|
||||
|
|
|
@ -12,27 +12,11 @@ procedure #Derived.3 (#Derived.4, #Derived.5, #Attr.12):
|
|||
ret #Derived_gen.3;
|
||||
in
|
||||
let #Derived_gen.7 : Str = "A";
|
||||
let #Derived_gen.9 : {Str} = CallByName #Derived.6 #Derived.1;
|
||||
let #Derived_gen.9 : {Str} = CallByName Json.17 #Derived.1;
|
||||
let #Derived_gen.8 : List {Str} = Array [#Derived_gen.9];
|
||||
let #Derived_gen.6 : {Str, List {Str}} = CallByName Json.20 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure #Derived.6 (#Derived.7):
|
||||
let #Derived_gen.15 : {Str} = Struct {#Derived.7};
|
||||
let #Derived_gen.14 : {Str} = CallByName Encode.22 #Derived_gen.15;
|
||||
ret #Derived_gen.14;
|
||||
|
||||
procedure #Derived.8 (#Derived.9, #Derived.10, #Attr.12):
|
||||
let #Derived.7 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc #Derived.7;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.18 : {Str} = CallByName Json.17 #Derived.7;
|
||||
let #Derived_gen.17 : List U8 = CallByName Encode.23 #Derived.9 #Derived_gen.18 #Derived.10;
|
||||
ret #Derived_gen.17;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
|
@ -51,12 +35,8 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
ret Encode.113;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.115 : List U8 = CallByName #Derived.8 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.115;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.125 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.125;
|
||||
let Encode.116 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.116;
|
||||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
|
@ -69,28 +49,28 @@ procedure Json.1 ():
|
|||
ret Json.102;
|
||||
|
||||
procedure Json.17 (Json.64):
|
||||
let Json.152 : {Str} = Struct {Json.64};
|
||||
let Json.151 : {Str} = CallByName Encode.22 Json.152;
|
||||
ret Json.151;
|
||||
let Json.107 : {Str} = Struct {Json.64};
|
||||
let Json.106 : {Str} = CallByName Encode.22 Json.107;
|
||||
ret Json.106;
|
||||
|
||||
procedure Json.20 (Json.89, Json.90):
|
||||
let Json.104 : {Str, List {Str}} = Struct {Json.89, Json.90};
|
||||
let Json.103 : {Str, List {Str}} = CallByName Encode.22 Json.104;
|
||||
ret Json.103;
|
||||
|
||||
procedure Json.65 (Json.66, Json.153, #Attr.12):
|
||||
procedure Json.65 (Json.66, Json.108, #Attr.12):
|
||||
let Json.64 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.64;
|
||||
dec #Attr.12;
|
||||
let Json.162 : I32 = 34i64;
|
||||
let Json.161 : U8 = CallByName Num.123 Json.162;
|
||||
let Json.159 : List U8 = CallByName List.4 Json.66 Json.161;
|
||||
let Json.160 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.156 : List U8 = CallByName List.8 Json.159 Json.160;
|
||||
let Json.158 : I32 = 34i64;
|
||||
let Json.157 : U8 = CallByName Num.123 Json.158;
|
||||
let Json.155 : List U8 = CallByName List.4 Json.156 Json.157;
|
||||
ret Json.155;
|
||||
let Json.155 : I32 = 34i64;
|
||||
let Json.154 : U8 = CallByName Num.123 Json.155;
|
||||
let Json.152 : List U8 = CallByName List.4 Json.66 Json.154;
|
||||
let Json.153 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.149 : List U8 = CallByName List.8 Json.152 Json.153;
|
||||
let Json.151 : I32 = 34i64;
|
||||
let Json.150 : U8 = CallByName Num.123 Json.151;
|
||||
let Json.148 : List U8 = CallByName List.4 Json.149 Json.150;
|
||||
ret Json.148;
|
||||
|
||||
procedure Json.91 (Json.92, Json.105, #Attr.12):
|
||||
let Json.90 : List {Str} = StructAtIndex 1 #Attr.12;
|
||||
|
@ -98,175 +78,175 @@ procedure Json.91 (Json.92, Json.105, #Attr.12):
|
|||
let Json.89 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.89;
|
||||
dec #Attr.12;
|
||||
let Json.143 : I32 = 123i64;
|
||||
let Json.142 : U8 = CallByName Num.123 Json.143;
|
||||
let Json.139 : List U8 = CallByName List.4 Json.92 Json.142;
|
||||
let Json.141 : I32 = 34i64;
|
||||
let Json.140 : U8 = CallByName Num.123 Json.141;
|
||||
let Json.137 : List U8 = CallByName List.4 Json.139 Json.140;
|
||||
let Json.138 : List U8 = CallByName Str.12 Json.89;
|
||||
let Json.134 : List U8 = CallByName List.8 Json.137 Json.138;
|
||||
let Json.136 : I32 = 34i64;
|
||||
let Json.146 : I32 = 123i64;
|
||||
let Json.145 : U8 = CallByName Num.123 Json.146;
|
||||
let Json.142 : List U8 = CallByName List.4 Json.92 Json.145;
|
||||
let Json.144 : I32 = 34i64;
|
||||
let Json.143 : U8 = CallByName Num.123 Json.144;
|
||||
let Json.140 : List U8 = CallByName List.4 Json.142 Json.143;
|
||||
let Json.141 : List U8 = CallByName Str.12 Json.89;
|
||||
let Json.137 : List U8 = CallByName List.8 Json.140 Json.141;
|
||||
let Json.139 : I32 = 34i64;
|
||||
let Json.138 : U8 = CallByName Num.123 Json.139;
|
||||
let Json.134 : List U8 = CallByName List.4 Json.137 Json.138;
|
||||
let Json.136 : I32 = 58i64;
|
||||
let Json.135 : U8 = CallByName Num.123 Json.136;
|
||||
let Json.131 : List U8 = CallByName List.4 Json.134 Json.135;
|
||||
let Json.133 : I32 = 58i64;
|
||||
let Json.133 : I32 = 91i64;
|
||||
let Json.132 : U8 = CallByName Num.123 Json.133;
|
||||
let Json.128 : List U8 = CallByName List.4 Json.131 Json.132;
|
||||
let Json.130 : I32 = 91i64;
|
||||
let Json.129 : U8 = CallByName Num.123 Json.130;
|
||||
let Json.94 : List U8 = CallByName List.4 Json.128 Json.129;
|
||||
let Json.127 : U64 = CallByName List.6 Json.90;
|
||||
let Json.115 : {List U8, U64} = Struct {Json.94, Json.127};
|
||||
let Json.116 : {} = Struct {};
|
||||
let Json.114 : {List U8, U64} = CallByName List.18 Json.90 Json.115 Json.116;
|
||||
let Json.94 : List U8 = CallByName List.4 Json.131 Json.132;
|
||||
let Json.130 : U64 = CallByName List.6 Json.90;
|
||||
let Json.118 : {List U8, U64} = Struct {Json.94, Json.130};
|
||||
let Json.119 : {} = Struct {};
|
||||
let Json.117 : {List U8, U64} = CallByName List.18 Json.90 Json.118 Json.119;
|
||||
dec Json.90;
|
||||
let Json.96 : List U8 = StructAtIndex 0 Json.114;
|
||||
let Json.96 : List U8 = StructAtIndex 0 Json.117;
|
||||
inc Json.96;
|
||||
dec Json.114;
|
||||
let Json.113 : I32 = 93i64;
|
||||
let Json.112 : U8 = CallByName Num.123 Json.113;
|
||||
let Json.109 : List U8 = CallByName List.4 Json.96 Json.112;
|
||||
let Json.111 : I32 = 125i64;
|
||||
let Json.110 : U8 = CallByName Num.123 Json.111;
|
||||
let Json.108 : List U8 = CallByName List.4 Json.109 Json.110;
|
||||
ret Json.108;
|
||||
dec Json.117;
|
||||
let Json.116 : I32 = 93i64;
|
||||
let Json.115 : U8 = CallByName Num.123 Json.116;
|
||||
let Json.112 : List U8 = CallByName List.4 Json.96 Json.115;
|
||||
let Json.114 : I32 = 125i64;
|
||||
let Json.113 : U8 = CallByName Num.123 Json.114;
|
||||
let Json.111 : List U8 = CallByName List.4 Json.112 Json.113;
|
||||
ret Json.111;
|
||||
|
||||
procedure Json.93 (Json.107, Json.99):
|
||||
let Json.97 : List U8 = StructAtIndex 0 Json.107;
|
||||
procedure Json.93 (Json.110, Json.99):
|
||||
let Json.97 : List U8 = StructAtIndex 0 Json.110;
|
||||
inc Json.97;
|
||||
let Json.98 : U64 = StructAtIndex 1 Json.107;
|
||||
dec Json.107;
|
||||
let Json.126 : {} = Struct {};
|
||||
let Json.100 : List U8 = CallByName Encode.23 Json.97 Json.99 Json.126;
|
||||
joinpoint Json.121 Json.101:
|
||||
let Json.119 : U64 = 1i64;
|
||||
let Json.118 : U64 = CallByName Num.20 Json.98 Json.119;
|
||||
let Json.117 : {List U8, U64} = Struct {Json.101, Json.118};
|
||||
ret Json.117;
|
||||
let Json.98 : U64 = StructAtIndex 1 Json.110;
|
||||
dec Json.110;
|
||||
let Json.129 : {} = Struct {};
|
||||
let Json.100 : List U8 = CallByName Encode.23 Json.97 Json.99 Json.129;
|
||||
joinpoint Json.124 Json.101:
|
||||
let Json.122 : U64 = 1i64;
|
||||
let Json.121 : U64 = CallByName Num.20 Json.98 Json.122;
|
||||
let Json.120 : {List U8, U64} = Struct {Json.101, Json.121};
|
||||
ret Json.120;
|
||||
in
|
||||
let Json.125 : U64 = 0i64;
|
||||
let Json.122 : Int1 = CallByName Num.24 Json.98 Json.125;
|
||||
if Json.122 then
|
||||
let Json.124 : I32 = 44i64;
|
||||
let Json.123 : U8 = CallByName Num.123 Json.124;
|
||||
let Json.120 : List U8 = CallByName List.4 Json.100 Json.123;
|
||||
jump Json.121 Json.120;
|
||||
let Json.128 : U64 = 0i64;
|
||||
let Json.125 : Int1 = CallByName Num.24 Json.98 Json.128;
|
||||
if Json.125 then
|
||||
let Json.127 : I32 = 44i64;
|
||||
let Json.126 : U8 = CallByName Num.123 Json.127;
|
||||
let Json.123 : List U8 = CallByName List.4 Json.100 Json.126;
|
||||
jump Json.124 Json.123;
|
||||
else
|
||||
jump Json.121 Json.100;
|
||||
jump Json.124 Json.100;
|
||||
|
||||
procedure List.122 (List.123, List.124, #Attr.12):
|
||||
let List.121 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.350 : {List U8, U64} = CallByName Json.93 List.123 List.124;
|
||||
let List.349 : [C [], C {List U8, U64}] = TagId(1) List.350;
|
||||
ret List.349;
|
||||
let List.357 : {List U8, U64} = CallByName Json.93 List.123 List.124;
|
||||
let List.356 : [C [], C {List U8, U64}] = TagId(1) List.357;
|
||||
ret List.356;
|
||||
|
||||
procedure List.18 (List.119, List.120, List.121):
|
||||
let List.327 : {{}} = Struct {List.121};
|
||||
let List.321 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.327;
|
||||
let List.324 : U8 = 1i64;
|
||||
let List.325 : U8 = GetTagId List.321;
|
||||
let List.326 : Int1 = lowlevel Eq List.324 List.325;
|
||||
if List.326 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.321;
|
||||
let List.333 : {{}} = Struct {List.121};
|
||||
let List.327 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.333;
|
||||
let List.330 : U8 = 1i64;
|
||||
let List.331 : U8 = GetTagId List.327;
|
||||
let List.332 : Int1 = lowlevel Eq List.330 List.331;
|
||||
if List.332 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.327;
|
||||
inc List.126;
|
||||
dec List.321;
|
||||
dec List.327;
|
||||
ret List.126;
|
||||
else
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.321;
|
||||
dec List.321;
|
||||
let List.323 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.323;
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.327;
|
||||
dec List.327;
|
||||
let List.329 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.329;
|
||||
|
||||
procedure List.4 (List.90, List.91):
|
||||
let List.382 : U64 = 1i64;
|
||||
let List.381 : List U8 = CallByName List.65 List.90 List.382;
|
||||
let List.380 : List U8 = CallByName List.66 List.381 List.91;
|
||||
ret List.380;
|
||||
let List.326 : U64 = 1i64;
|
||||
let List.325 : List U8 = CallByName List.65 List.90 List.326;
|
||||
let List.324 : List U8 = CallByName List.66 List.325 List.91;
|
||||
ret List.324;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.295 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.295;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.328 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.328;
|
||||
let List.334 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.334;
|
||||
|
||||
procedure List.60 (#Attr.2, #Attr.3):
|
||||
let List.348 : {Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.348;
|
||||
let List.355 : {Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.355;
|
||||
|
||||
procedure List.63 (List.283, List.284, List.285):
|
||||
let List.334 : U64 = 0i64;
|
||||
let List.335 : U64 = CallByName List.6 List.283;
|
||||
let List.333 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.334 List.335;
|
||||
ret List.333;
|
||||
let List.341 : U64 = 0i64;
|
||||
let List.342 : U64 = CallByName List.6 List.283;
|
||||
let List.340 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.341 List.342;
|
||||
ret List.340;
|
||||
|
||||
procedure List.64 (#Attr.2):
|
||||
let List.332 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.332;
|
||||
let List.339 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.339;
|
||||
|
||||
procedure List.65 (#Attr.2, #Attr.3):
|
||||
let List.385 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.385;
|
||||
let List.338 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.338;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.384 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.384;
|
||||
let List.337 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.337;
|
||||
|
||||
procedure List.77 (List.367, List.368, List.369, List.370, List.371):
|
||||
joinpoint List.336 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.338 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.338 then
|
||||
let List.347 : {Str} = CallByName List.60 List.286 List.289;
|
||||
let List.339 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.347 List.288;
|
||||
let List.344 : U8 = 1i64;
|
||||
let List.345 : U8 = GetTagId List.339;
|
||||
let List.346 : Int1 = lowlevel Eq List.344 List.345;
|
||||
if List.346 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.339;
|
||||
procedure List.77 (List.374, List.375, List.376, List.377, List.378):
|
||||
joinpoint List.343 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.345 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.345 then
|
||||
let List.354 : {Str} = CallByName List.60 List.286 List.289;
|
||||
let List.346 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.354 List.288;
|
||||
let List.351 : U8 = 1i64;
|
||||
let List.352 : U8 = GetTagId List.346;
|
||||
let List.353 : Int1 = lowlevel Eq List.351 List.352;
|
||||
if List.353 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.346;
|
||||
inc List.291;
|
||||
dec List.339;
|
||||
let List.342 : U64 = 1i64;
|
||||
let List.341 : U64 = CallByName Num.19 List.289 List.342;
|
||||
jump List.336 List.286 List.291 List.288 List.341 List.290;
|
||||
dec List.346;
|
||||
let List.349 : U64 = 1i64;
|
||||
let List.348 : U64 = CallByName Num.19 List.289 List.349;
|
||||
jump List.343 List.286 List.291 List.288 List.348 List.290;
|
||||
else
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.339;
|
||||
dec List.339;
|
||||
let List.343 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.343;
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.346;
|
||||
dec List.346;
|
||||
let List.350 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.350;
|
||||
else
|
||||
let List.337 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.337;
|
||||
let List.344 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.344;
|
||||
in
|
||||
jump List.336 List.367 List.368 List.369 List.370 List.371;
|
||||
jump List.343 List.374 List.375 List.376 List.377 List.378;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.383 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.383;
|
||||
let List.336 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.336;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.279 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.279;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.267 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.267;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.265 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.265;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.268 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.268;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.266 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
let Num.266 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.266;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.269 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.269;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.267 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.267;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.270 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.270;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.268 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.268;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.211 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.211;
|
||||
let Str.210 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.210;
|
||||
|
||||
procedure Str.48 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let Str.204 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
|
||||
|
|
|
@ -17,28 +17,12 @@ procedure #Derived.4 (#Derived.5, #Derived.6, #Attr.12):
|
|||
inc #Derived.3;
|
||||
dec #Derived.1;
|
||||
let #Derived_gen.7 : Str = "A";
|
||||
let #Derived_gen.9 : {Str} = CallByName #Derived.7 #Derived.2;
|
||||
let #Derived_gen.10 : {Str} = CallByName #Derived.7 #Derived.3;
|
||||
let #Derived_gen.9 : {Str} = CallByName Json.17 #Derived.2;
|
||||
let #Derived_gen.10 : {Str} = CallByName Json.17 #Derived.3;
|
||||
let #Derived_gen.8 : List {Str} = Array [#Derived_gen.9, #Derived_gen.10];
|
||||
let #Derived_gen.6 : {Str, List {Str}} = CallByName Json.20 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure #Derived.7 (#Derived.8):
|
||||
let #Derived_gen.18 : {Str} = Struct {#Derived.8};
|
||||
let #Derived_gen.17 : {Str} = CallByName Encode.22 #Derived_gen.18;
|
||||
ret #Derived_gen.17;
|
||||
|
||||
procedure #Derived.9 (#Derived.10, #Derived.11, #Attr.12):
|
||||
let #Derived.8 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc #Derived.8;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.21 : {Str} = CallByName Json.17 #Derived.8;
|
||||
let #Derived_gen.20 : List U8 = CallByName Encode.23 #Derived.10 #Derived_gen.21 #Derived.11;
|
||||
ret #Derived_gen.20;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
||||
|
@ -57,12 +41,8 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
ret Encode.113;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.115 : List U8 = CallByName #Derived.9 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.115;
|
||||
|
||||
procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
||||
let Encode.126 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.126;
|
||||
let Encode.117 : List U8 = CallByName Json.65 Encode.94 Encode.96 Encode.102;
|
||||
ret Encode.117;
|
||||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
|
@ -75,28 +55,28 @@ procedure Json.1 ():
|
|||
ret Json.102;
|
||||
|
||||
procedure Json.17 (Json.64):
|
||||
let Json.152 : {Str} = Struct {Json.64};
|
||||
let Json.151 : {Str} = CallByName Encode.22 Json.152;
|
||||
ret Json.151;
|
||||
let Json.110 : {Str} = Struct {Json.64};
|
||||
let Json.109 : {Str} = CallByName Encode.22 Json.110;
|
||||
ret Json.109;
|
||||
|
||||
procedure Json.20 (Json.89, Json.90):
|
||||
let Json.104 : {Str, List {Str}} = Struct {Json.89, Json.90};
|
||||
let Json.103 : {Str, List {Str}} = CallByName Encode.22 Json.104;
|
||||
ret Json.103;
|
||||
|
||||
procedure Json.65 (Json.66, Json.153, #Attr.12):
|
||||
procedure Json.65 (Json.66, Json.108, #Attr.12):
|
||||
let Json.64 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.64;
|
||||
dec #Attr.12;
|
||||
let Json.162 : I32 = 34i64;
|
||||
let Json.161 : U8 = CallByName Num.123 Json.162;
|
||||
let Json.159 : List U8 = CallByName List.4 Json.66 Json.161;
|
||||
let Json.160 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.156 : List U8 = CallByName List.8 Json.159 Json.160;
|
||||
let Json.158 : I32 = 34i64;
|
||||
let Json.157 : U8 = CallByName Num.123 Json.158;
|
||||
let Json.155 : List U8 = CallByName List.4 Json.156 Json.157;
|
||||
ret Json.155;
|
||||
let Json.155 : List U8 = CallByName List.4 Json.66 Json.157;
|
||||
let Json.156 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.152 : List U8 = CallByName List.8 Json.155 Json.156;
|
||||
let Json.154 : I32 = 34i64;
|
||||
let Json.153 : U8 = CallByName Num.123 Json.154;
|
||||
let Json.151 : List U8 = CallByName List.4 Json.152 Json.153;
|
||||
ret Json.151;
|
||||
|
||||
procedure Json.91 (Json.92, Json.105, #Attr.12):
|
||||
let Json.90 : List {Str} = StructAtIndex 1 #Attr.12;
|
||||
|
@ -104,175 +84,175 @@ procedure Json.91 (Json.92, Json.105, #Attr.12):
|
|||
let Json.89 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.89;
|
||||
dec #Attr.12;
|
||||
let Json.143 : I32 = 123i64;
|
||||
let Json.142 : U8 = CallByName Num.123 Json.143;
|
||||
let Json.139 : List U8 = CallByName List.4 Json.92 Json.142;
|
||||
let Json.141 : I32 = 34i64;
|
||||
let Json.140 : U8 = CallByName Num.123 Json.141;
|
||||
let Json.137 : List U8 = CallByName List.4 Json.139 Json.140;
|
||||
let Json.138 : List U8 = CallByName Str.12 Json.89;
|
||||
let Json.134 : List U8 = CallByName List.8 Json.137 Json.138;
|
||||
let Json.136 : I32 = 34i64;
|
||||
let Json.149 : I32 = 123i64;
|
||||
let Json.148 : U8 = CallByName Num.123 Json.149;
|
||||
let Json.145 : List U8 = CallByName List.4 Json.92 Json.148;
|
||||
let Json.147 : I32 = 34i64;
|
||||
let Json.146 : U8 = CallByName Num.123 Json.147;
|
||||
let Json.143 : List U8 = CallByName List.4 Json.145 Json.146;
|
||||
let Json.144 : List U8 = CallByName Str.12 Json.89;
|
||||
let Json.140 : List U8 = CallByName List.8 Json.143 Json.144;
|
||||
let Json.142 : I32 = 34i64;
|
||||
let Json.141 : U8 = CallByName Num.123 Json.142;
|
||||
let Json.137 : List U8 = CallByName List.4 Json.140 Json.141;
|
||||
let Json.139 : I32 = 58i64;
|
||||
let Json.138 : U8 = CallByName Num.123 Json.139;
|
||||
let Json.134 : List U8 = CallByName List.4 Json.137 Json.138;
|
||||
let Json.136 : I32 = 91i64;
|
||||
let Json.135 : U8 = CallByName Num.123 Json.136;
|
||||
let Json.131 : List U8 = CallByName List.4 Json.134 Json.135;
|
||||
let Json.133 : I32 = 58i64;
|
||||
let Json.132 : U8 = CallByName Num.123 Json.133;
|
||||
let Json.128 : List U8 = CallByName List.4 Json.131 Json.132;
|
||||
let Json.130 : I32 = 91i64;
|
||||
let Json.129 : U8 = CallByName Num.123 Json.130;
|
||||
let Json.94 : List U8 = CallByName List.4 Json.128 Json.129;
|
||||
let Json.127 : U64 = CallByName List.6 Json.90;
|
||||
let Json.115 : {List U8, U64} = Struct {Json.94, Json.127};
|
||||
let Json.116 : {} = Struct {};
|
||||
let Json.114 : {List U8, U64} = CallByName List.18 Json.90 Json.115 Json.116;
|
||||
let Json.94 : List U8 = CallByName List.4 Json.134 Json.135;
|
||||
let Json.133 : U64 = CallByName List.6 Json.90;
|
||||
let Json.121 : {List U8, U64} = Struct {Json.94, Json.133};
|
||||
let Json.122 : {} = Struct {};
|
||||
let Json.120 : {List U8, U64} = CallByName List.18 Json.90 Json.121 Json.122;
|
||||
dec Json.90;
|
||||
let Json.96 : List U8 = StructAtIndex 0 Json.114;
|
||||
let Json.96 : List U8 = StructAtIndex 0 Json.120;
|
||||
inc Json.96;
|
||||
dec Json.114;
|
||||
let Json.113 : I32 = 93i64;
|
||||
let Json.112 : U8 = CallByName Num.123 Json.113;
|
||||
let Json.109 : List U8 = CallByName List.4 Json.96 Json.112;
|
||||
let Json.111 : I32 = 125i64;
|
||||
let Json.110 : U8 = CallByName Num.123 Json.111;
|
||||
let Json.108 : List U8 = CallByName List.4 Json.109 Json.110;
|
||||
ret Json.108;
|
||||
dec Json.120;
|
||||
let Json.119 : I32 = 93i64;
|
||||
let Json.118 : U8 = CallByName Num.123 Json.119;
|
||||
let Json.115 : List U8 = CallByName List.4 Json.96 Json.118;
|
||||
let Json.117 : I32 = 125i64;
|
||||
let Json.116 : U8 = CallByName Num.123 Json.117;
|
||||
let Json.114 : List U8 = CallByName List.4 Json.115 Json.116;
|
||||
ret Json.114;
|
||||
|
||||
procedure Json.93 (Json.107, Json.99):
|
||||
let Json.97 : List U8 = StructAtIndex 0 Json.107;
|
||||
procedure Json.93 (Json.113, Json.99):
|
||||
let Json.97 : List U8 = StructAtIndex 0 Json.113;
|
||||
inc Json.97;
|
||||
let Json.98 : U64 = StructAtIndex 1 Json.107;
|
||||
dec Json.107;
|
||||
let Json.126 : {} = Struct {};
|
||||
let Json.100 : List U8 = CallByName Encode.23 Json.97 Json.99 Json.126;
|
||||
joinpoint Json.121 Json.101:
|
||||
let Json.119 : U64 = 1i64;
|
||||
let Json.118 : U64 = CallByName Num.20 Json.98 Json.119;
|
||||
let Json.117 : {List U8, U64} = Struct {Json.101, Json.118};
|
||||
ret Json.117;
|
||||
let Json.98 : U64 = StructAtIndex 1 Json.113;
|
||||
dec Json.113;
|
||||
let Json.132 : {} = Struct {};
|
||||
let Json.100 : List U8 = CallByName Encode.23 Json.97 Json.99 Json.132;
|
||||
joinpoint Json.127 Json.101:
|
||||
let Json.125 : U64 = 1i64;
|
||||
let Json.124 : U64 = CallByName Num.20 Json.98 Json.125;
|
||||
let Json.123 : {List U8, U64} = Struct {Json.101, Json.124};
|
||||
ret Json.123;
|
||||
in
|
||||
let Json.125 : U64 = 0i64;
|
||||
let Json.122 : Int1 = CallByName Num.24 Json.98 Json.125;
|
||||
if Json.122 then
|
||||
let Json.124 : I32 = 44i64;
|
||||
let Json.123 : U8 = CallByName Num.123 Json.124;
|
||||
let Json.120 : List U8 = CallByName List.4 Json.100 Json.123;
|
||||
jump Json.121 Json.120;
|
||||
let Json.131 : U64 = 0i64;
|
||||
let Json.128 : Int1 = CallByName Num.24 Json.98 Json.131;
|
||||
if Json.128 then
|
||||
let Json.130 : I32 = 44i64;
|
||||
let Json.129 : U8 = CallByName Num.123 Json.130;
|
||||
let Json.126 : List U8 = CallByName List.4 Json.100 Json.129;
|
||||
jump Json.127 Json.126;
|
||||
else
|
||||
jump Json.121 Json.100;
|
||||
jump Json.127 Json.100;
|
||||
|
||||
procedure List.122 (List.123, List.124, #Attr.12):
|
||||
let List.121 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.350 : {List U8, U64} = CallByName Json.93 List.123 List.124;
|
||||
let List.349 : [C [], C {List U8, U64}] = TagId(1) List.350;
|
||||
ret List.349;
|
||||
let List.357 : {List U8, U64} = CallByName Json.93 List.123 List.124;
|
||||
let List.356 : [C [], C {List U8, U64}] = TagId(1) List.357;
|
||||
ret List.356;
|
||||
|
||||
procedure List.18 (List.119, List.120, List.121):
|
||||
let List.327 : {{}} = Struct {List.121};
|
||||
let List.321 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.327;
|
||||
let List.324 : U8 = 1i64;
|
||||
let List.325 : U8 = GetTagId List.321;
|
||||
let List.326 : Int1 = lowlevel Eq List.324 List.325;
|
||||
if List.326 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.321;
|
||||
let List.333 : {{}} = Struct {List.121};
|
||||
let List.327 : [C [], C {List U8, U64}] = CallByName List.63 List.119 List.120 List.333;
|
||||
let List.330 : U8 = 1i64;
|
||||
let List.331 : U8 = GetTagId List.327;
|
||||
let List.332 : Int1 = lowlevel Eq List.330 List.331;
|
||||
if List.332 then
|
||||
let List.126 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.327;
|
||||
inc List.126;
|
||||
dec List.321;
|
||||
dec List.327;
|
||||
ret List.126;
|
||||
else
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.321;
|
||||
dec List.321;
|
||||
let List.323 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.323;
|
||||
let List.127 : [] = UnionAtIndex (Id 0) (Index 0) List.327;
|
||||
dec List.327;
|
||||
let List.329 : {List U8, U64} = CallByName List.64 List.127;
|
||||
ret List.329;
|
||||
|
||||
procedure List.4 (List.90, List.91):
|
||||
let List.382 : U64 = 1i64;
|
||||
let List.381 : List U8 = CallByName List.65 List.90 List.382;
|
||||
let List.380 : List U8 = CallByName List.66 List.381 List.91;
|
||||
ret List.380;
|
||||
let List.326 : U64 = 1i64;
|
||||
let List.325 : List U8 = CallByName List.65 List.90 List.326;
|
||||
let List.324 : List U8 = CallByName List.66 List.325 List.91;
|
||||
ret List.324;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.295 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.295;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.328 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.328;
|
||||
let List.334 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.334;
|
||||
|
||||
procedure List.60 (#Attr.2, #Attr.3):
|
||||
let List.348 : {Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.348;
|
||||
let List.355 : {Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.355;
|
||||
|
||||
procedure List.63 (List.283, List.284, List.285):
|
||||
let List.334 : U64 = 0i64;
|
||||
let List.335 : U64 = CallByName List.6 List.283;
|
||||
let List.333 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.334 List.335;
|
||||
ret List.333;
|
||||
let List.341 : U64 = 0i64;
|
||||
let List.342 : U64 = CallByName List.6 List.283;
|
||||
let List.340 : [C [], C {List U8, U64}] = CallByName List.77 List.283 List.284 List.285 List.341 List.342;
|
||||
ret List.340;
|
||||
|
||||
procedure List.64 (#Attr.2):
|
||||
let List.332 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.332;
|
||||
let List.339 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.339;
|
||||
|
||||
procedure List.65 (#Attr.2, #Attr.3):
|
||||
let List.385 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.385;
|
||||
let List.338 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.338;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.384 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.384;
|
||||
let List.337 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.337;
|
||||
|
||||
procedure List.77 (List.367, List.368, List.369, List.370, List.371):
|
||||
joinpoint List.336 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.338 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.338 then
|
||||
let List.347 : {Str} = CallByName List.60 List.286 List.289;
|
||||
let List.339 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.347 List.288;
|
||||
let List.344 : U8 = 1i64;
|
||||
let List.345 : U8 = GetTagId List.339;
|
||||
let List.346 : Int1 = lowlevel Eq List.344 List.345;
|
||||
if List.346 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.339;
|
||||
procedure List.77 (List.374, List.375, List.376, List.377, List.378):
|
||||
joinpoint List.343 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.345 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.345 then
|
||||
let List.354 : {Str} = CallByName List.60 List.286 List.289;
|
||||
let List.346 : [C [], C {List U8, U64}] = CallByName List.122 List.287 List.354 List.288;
|
||||
let List.351 : U8 = 1i64;
|
||||
let List.352 : U8 = GetTagId List.346;
|
||||
let List.353 : Int1 = lowlevel Eq List.351 List.352;
|
||||
if List.353 then
|
||||
let List.291 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.346;
|
||||
inc List.291;
|
||||
dec List.339;
|
||||
let List.342 : U64 = 1i64;
|
||||
let List.341 : U64 = CallByName Num.19 List.289 List.342;
|
||||
jump List.336 List.286 List.291 List.288 List.341 List.290;
|
||||
dec List.346;
|
||||
let List.349 : U64 = 1i64;
|
||||
let List.348 : U64 = CallByName Num.19 List.289 List.349;
|
||||
jump List.343 List.286 List.291 List.288 List.348 List.290;
|
||||
else
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.339;
|
||||
dec List.339;
|
||||
let List.343 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.343;
|
||||
let List.292 : [] = UnionAtIndex (Id 0) (Index 0) List.346;
|
||||
dec List.346;
|
||||
let List.350 : [C [], C {List U8, U64}] = TagId(0) List.292;
|
||||
ret List.350;
|
||||
else
|
||||
let List.337 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.337;
|
||||
let List.344 : [C [], C {List U8, U64}] = TagId(1) List.287;
|
||||
ret List.344;
|
||||
in
|
||||
jump List.336 List.367 List.368 List.369 List.370 List.371;
|
||||
jump List.343 List.374 List.375 List.376 List.377 List.378;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.383 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.383;
|
||||
let List.336 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.336;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.279 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.279;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.267 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.267;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.265 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.265;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.268 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.268;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.266 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
let Num.266 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.266;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.269 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.269;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.267 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.267;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.270 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.270;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.268 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.268;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.211 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.211;
|
||||
let Str.210 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.210;
|
||||
|
||||
procedure Str.48 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let Str.204 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue