mirror of
https://github.com/roc-lang/roc.git
synced 2025-11-01 21:40:58 +00:00
Add ClosureCallOptions enum to describe how to switch calling lambda
This commit is contained in:
parent
8d01e81aa7
commit
fc4979e2ce
13 changed files with 1104 additions and 858 deletions
|
|
@ -4,17 +4,19 @@ procedure List.6 (#Attr.2):
|
|||
|
||||
procedure Test.1 (Test.5):
|
||||
let Test.2 : I64 = 41i64;
|
||||
let Test.10 : {I64} = Struct {Test.2};
|
||||
let Test.9 : List {I64} = Array [Test.10];
|
||||
let Test.10 : I64 = StructAtIndex 0 Test.13;
|
||||
let Test.13 : {I64} = Struct {Test.2};
|
||||
let Test.9 : List I64 = Array [Test.10];
|
||||
ret Test.9;
|
||||
|
||||
procedure Test.3 (Test.8, #Attr.12):
|
||||
let Test.2 : I64 = StructAtIndex 0 #Attr.12;
|
||||
let Test.2 : I64 = StructAtIndex 0 Test.12;
|
||||
let Test.12 : {I64} = Struct {#Attr.12};
|
||||
ret Test.2;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.7 : {} = Struct {};
|
||||
let Test.4 : List {I64} = CallByName Test.1 Test.7;
|
||||
let Test.4 : List I64 = CallByName Test.1 Test.7;
|
||||
let Test.6 : U64 = CallByName List.6 Test.4;
|
||||
dec Test.4;
|
||||
ret Test.6;
|
||||
|
|
|
|||
|
|
@ -1,36 +1,44 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.1 : {Str} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : {Str} = CallByName Encode.22 #Derived_gen.1;
|
||||
let #Derived_gen.1 : Str = StructAtIndex 0 #Derived_gen.2;
|
||||
inc #Derived_gen.1;
|
||||
dec #Derived_gen.2;
|
||||
let #Derived_gen.2 : {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;
|
||||
let #Derived.1 : Str = StructAtIndex 0 #Derived_gen.11;
|
||||
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.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.20 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
dec #Derived_gen.11;
|
||||
let #Derived_gen.11 : {Str} = Struct {#Attr.12};
|
||||
let #Derived_gen.8 : Str = "a";
|
||||
let #Derived_gen.9 : Str = CallByName #Derived.5 #Derived.1;
|
||||
let #Derived_gen.7 : {Str, Str} = Struct {#Derived_gen.8, #Derived_gen.9};
|
||||
let #Derived_gen.6 : List {Str, Str} = Array [#Derived_gen.7];
|
||||
let #Derived_gen.5 : List {Str, Str} = CallByName Json.20 #Derived_gen.6;
|
||||
let #Derived_gen.4 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.5 #Derived.4;
|
||||
ret #Derived_gen.4;
|
||||
|
||||
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;
|
||||
let #Derived_gen.17 : Str = StructAtIndex 0 #Derived_gen.18;
|
||||
inc #Derived_gen.17;
|
||||
dec #Derived_gen.18;
|
||||
let #Derived_gen.18 : {Str} = Struct {#Derived.6};
|
||||
let #Derived_gen.16 : Str = CallByName Encode.22 #Derived_gen.17;
|
||||
ret #Derived_gen.16;
|
||||
|
||||
procedure #Derived.7 (#Derived.8, #Derived.9, #Attr.12):
|
||||
let #Derived.6 : Str = StructAtIndex 0 #Attr.12;
|
||||
let #Derived.6 : Str = StructAtIndex 0 #Derived_gen.27;
|
||||
inc #Derived.6;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.21 : Str = "b";
|
||||
let #Derived_gen.22 : {Str} = CallByName Json.18 #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.20 #Derived_gen.19;
|
||||
let #Derived_gen.17 : List U8 = CallByName Encode.23 #Derived.8 #Derived_gen.18 #Derived.9;
|
||||
ret #Derived_gen.17;
|
||||
dec #Derived_gen.27;
|
||||
let #Derived_gen.27 : {Str} = Struct {#Attr.12};
|
||||
let #Derived_gen.24 : Str = "b";
|
||||
let #Derived_gen.25 : Str = CallByName Json.18 #Derived.6;
|
||||
let #Derived_gen.23 : {Str, Str} = Struct {#Derived_gen.24, #Derived_gen.25};
|
||||
let #Derived_gen.22 : List {Str, Str} = Array [#Derived_gen.23];
|
||||
let #Derived_gen.21 : List {Str, Str} = CallByName Json.20 #Derived_gen.22;
|
||||
let #Derived_gen.20 : List U8 = CallByName Encode.23 #Derived.8 #Derived_gen.21 #Derived.9;
|
||||
ret #Derived_gen.20;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
|
@ -69,7 +77,7 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
|
||||
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 #Derived.0 Encode.100;
|
||||
let Encode.103 : List U8 = CallByName Encode.23 Encode.104 Encode.105 Encode.101;
|
||||
ret Encode.103;
|
||||
|
||||
|
|
@ -78,166 +86,181 @@ procedure Json.1 ():
|
|||
ret Json.318;
|
||||
|
||||
procedure Json.103 (Json.104, Json.321, #Attr.12):
|
||||
let Json.102 : List {Str, {Str}} = StructAtIndex 0 #Attr.12;
|
||||
let Json.102 : List {Str, Str} = StructAtIndex 0 Json.356;
|
||||
inc Json.102;
|
||||
dec #Attr.12;
|
||||
let Json.354 : I32 = 123i64;
|
||||
let Json.353 : U8 = CallByName Num.123 Json.354;
|
||||
let Json.106 : List U8 = CallByName List.4 Json.104 Json.353;
|
||||
let Json.352 : U64 = CallByName List.6 Json.102;
|
||||
let Json.329 : {List U8, U64} = Struct {Json.106, Json.352};
|
||||
let Json.330 : {} = Struct {};
|
||||
let Json.328 : {List U8, U64} = CallByName List.18 Json.102 Json.329 Json.330;
|
||||
dec Json.356;
|
||||
let Json.356 : {List {Str, Str}} = Struct {#Attr.12};
|
||||
let Json.355 : I32 = 123i64;
|
||||
let Json.354 : U8 = CallByName Num.123 Json.355;
|
||||
let Json.106 : List U8 = CallByName List.4 Json.104 Json.354;
|
||||
let Json.353 : U64 = CallByName List.6 Json.102;
|
||||
let Json.330 : {List U8, U64} = Struct {Json.106, Json.353};
|
||||
let Json.331 : {} = Struct {};
|
||||
let Json.329 : {List U8, U64} = CallByName List.18 Json.102 Json.330 Json.331;
|
||||
dec Json.102;
|
||||
let Json.108 : List U8 = StructAtIndex 0 Json.328;
|
||||
let Json.108 : List U8 = StructAtIndex 0 Json.329;
|
||||
inc Json.108;
|
||||
dec Json.328;
|
||||
let Json.327 : I32 = 125i64;
|
||||
let Json.326 : U8 = CallByName Num.123 Json.327;
|
||||
let Json.325 : List U8 = CallByName List.4 Json.108 Json.326;
|
||||
ret Json.325;
|
||||
dec Json.329;
|
||||
let Json.328 : I32 = 125i64;
|
||||
let Json.327 : U8 = CallByName Num.123 Json.328;
|
||||
let Json.326 : List U8 = CallByName List.4 Json.108 Json.327;
|
||||
ret Json.326;
|
||||
|
||||
procedure Json.103 (Json.104, Json.321, #Attr.12):
|
||||
let Json.102 : List {Str, {Str}} = StructAtIndex 0 #Attr.12;
|
||||
let Json.102 : List {Str, Str} = StructAtIndex 0 Json.402;
|
||||
inc Json.102;
|
||||
dec #Attr.12;
|
||||
let Json.397 : I32 = 123i64;
|
||||
let Json.396 : U8 = CallByName Num.123 Json.397;
|
||||
let Json.106 : List U8 = CallByName List.4 Json.104 Json.396;
|
||||
let Json.395 : U64 = CallByName List.6 Json.102;
|
||||
let Json.372 : {List U8, U64} = Struct {Json.106, Json.395};
|
||||
let Json.373 : {} = Struct {};
|
||||
let Json.371 : {List U8, U64} = CallByName List.18 Json.102 Json.372 Json.373;
|
||||
dec Json.402;
|
||||
let Json.402 : {List {Str, Str}} = Struct {#Attr.12};
|
||||
let Json.401 : I32 = 123i64;
|
||||
let Json.400 : U8 = CallByName Num.123 Json.401;
|
||||
let Json.106 : List U8 = CallByName List.4 Json.104 Json.400;
|
||||
let Json.399 : U64 = CallByName List.6 Json.102;
|
||||
let Json.376 : {List U8, U64} = Struct {Json.106, Json.399};
|
||||
let Json.377 : {} = Struct {};
|
||||
let Json.375 : {List U8, U64} = CallByName List.18 Json.102 Json.376 Json.377;
|
||||
dec Json.102;
|
||||
let Json.108 : List U8 = StructAtIndex 0 Json.371;
|
||||
let Json.108 : List U8 = StructAtIndex 0 Json.375;
|
||||
inc Json.108;
|
||||
dec Json.371;
|
||||
let Json.370 : I32 = 125i64;
|
||||
let Json.369 : U8 = CallByName Num.123 Json.370;
|
||||
let Json.368 : List U8 = CallByName List.4 Json.108 Json.369;
|
||||
ret Json.368;
|
||||
dec Json.375;
|
||||
let Json.374 : I32 = 125i64;
|
||||
let Json.373 : U8 = CallByName Num.123 Json.374;
|
||||
let Json.372 : List U8 = CallByName List.4 Json.108 Json.373;
|
||||
ret Json.372;
|
||||
|
||||
procedure Json.105 (Json.323, Json.324):
|
||||
let Json.111 : Str = StructAtIndex 0 Json.324;
|
||||
procedure Json.105 (Json.324, Json.325):
|
||||
let Json.111 : Str = StructAtIndex 0 Json.325;
|
||||
inc Json.111;
|
||||
let Json.112 : {Str} = StructAtIndex 1 Json.324;
|
||||
let Json.112 : Str = StructAtIndex 1 Json.325;
|
||||
inc Json.112;
|
||||
dec Json.324;
|
||||
let Json.109 : List U8 = StructAtIndex 0 Json.323;
|
||||
dec Json.325;
|
||||
let Json.109 : List U8 = StructAtIndex 0 Json.324;
|
||||
inc Json.109;
|
||||
let Json.110 : U64 = StructAtIndex 1 Json.323;
|
||||
dec Json.323;
|
||||
let Json.351 : I32 = 34i64;
|
||||
let Json.350 : U8 = CallByName Num.123 Json.351;
|
||||
let Json.348 : List U8 = CallByName List.4 Json.109 Json.350;
|
||||
let Json.349 : List U8 = CallByName Str.12 Json.111;
|
||||
let Json.345 : List U8 = CallByName List.8 Json.348 Json.349;
|
||||
let Json.347 : I32 = 34i64;
|
||||
let Json.346 : U8 = CallByName Num.123 Json.347;
|
||||
let Json.342 : List U8 = CallByName List.4 Json.345 Json.346;
|
||||
let Json.344 : I32 = 58i64;
|
||||
let Json.343 : U8 = CallByName Num.123 Json.344;
|
||||
let Json.340 : List U8 = CallByName List.4 Json.342 Json.343;
|
||||
let Json.341 : {} = Struct {};
|
||||
let Json.113 : List U8 = CallByName Encode.23 Json.340 Json.112 Json.341;
|
||||
joinpoint Json.335 Json.114:
|
||||
let Json.333 : U64 = 1i64;
|
||||
let Json.332 : U64 = CallByName Num.20 Json.110 Json.333;
|
||||
let Json.331 : {List U8, U64} = Struct {Json.114, Json.332};
|
||||
ret Json.331;
|
||||
let Json.110 : U64 = StructAtIndex 1 Json.324;
|
||||
dec Json.324;
|
||||
let Json.352 : I32 = 34i64;
|
||||
let Json.351 : U8 = CallByName Num.123 Json.352;
|
||||
let Json.349 : List U8 = CallByName List.4 Json.109 Json.351;
|
||||
let Json.350 : List U8 = CallByName Str.12 Json.111;
|
||||
let Json.346 : List U8 = CallByName List.8 Json.349 Json.350;
|
||||
let Json.348 : I32 = 34i64;
|
||||
let Json.347 : U8 = CallByName Num.123 Json.348;
|
||||
let Json.343 : List U8 = CallByName List.4 Json.346 Json.347;
|
||||
let Json.345 : I32 = 58i64;
|
||||
let Json.344 : U8 = CallByName Num.123 Json.345;
|
||||
let Json.341 : List U8 = CallByName List.4 Json.343 Json.344;
|
||||
let Json.342 : {} = Struct {};
|
||||
let Json.113 : List U8 = CallByName Encode.23 Json.341 Json.112 Json.342;
|
||||
joinpoint Json.336 Json.114:
|
||||
let Json.334 : U64 = 1i64;
|
||||
let Json.333 : U64 = CallByName Num.20 Json.110 Json.334;
|
||||
let Json.332 : {List U8, U64} = Struct {Json.114, Json.333};
|
||||
ret Json.332;
|
||||
in
|
||||
let Json.339 : U64 = 1i64;
|
||||
let Json.336 : Int1 = CallByName Num.24 Json.110 Json.339;
|
||||
if Json.336 then
|
||||
let Json.338 : I32 = 44i64;
|
||||
let Json.337 : U8 = CallByName Num.123 Json.338;
|
||||
let Json.334 : List U8 = CallByName List.4 Json.113 Json.337;
|
||||
jump Json.335 Json.334;
|
||||
let Json.340 : U64 = 1i64;
|
||||
let Json.337 : Int1 = CallByName Num.24 Json.110 Json.340;
|
||||
if Json.337 then
|
||||
let Json.339 : I32 = 44i64;
|
||||
let Json.338 : U8 = CallByName Num.123 Json.339;
|
||||
let Json.335 : List U8 = CallByName List.4 Json.113 Json.338;
|
||||
jump Json.336 Json.335;
|
||||
else
|
||||
jump Json.335 Json.113;
|
||||
jump Json.336 Json.113;
|
||||
|
||||
procedure Json.105 (Json.323, Json.324):
|
||||
let Json.111 : Str = StructAtIndex 0 Json.324;
|
||||
procedure Json.105 (Json.324, Json.325):
|
||||
let Json.111 : Str = StructAtIndex 0 Json.325;
|
||||
inc Json.111;
|
||||
let Json.112 : {Str} = StructAtIndex 1 Json.324;
|
||||
let Json.112 : Str = StructAtIndex 1 Json.325;
|
||||
inc Json.112;
|
||||
dec Json.324;
|
||||
let Json.109 : List U8 = StructAtIndex 0 Json.323;
|
||||
dec Json.325;
|
||||
let Json.109 : List U8 = StructAtIndex 0 Json.324;
|
||||
inc Json.109;
|
||||
let Json.110 : U64 = StructAtIndex 1 Json.323;
|
||||
dec Json.323;
|
||||
let Json.110 : U64 = StructAtIndex 1 Json.324;
|
||||
dec Json.324;
|
||||
let Json.398 : I32 = 34i64;
|
||||
let Json.397 : U8 = CallByName Num.123 Json.398;
|
||||
let Json.395 : List U8 = CallByName List.4 Json.109 Json.397;
|
||||
let Json.396 : List U8 = CallByName Str.12 Json.111;
|
||||
let Json.392 : List U8 = CallByName List.8 Json.395 Json.396;
|
||||
let Json.394 : I32 = 34i64;
|
||||
let Json.393 : U8 = CallByName Num.123 Json.394;
|
||||
let Json.391 : List U8 = CallByName List.4 Json.109 Json.393;
|
||||
let Json.392 : List U8 = CallByName Str.12 Json.111;
|
||||
let Json.388 : List U8 = CallByName List.8 Json.391 Json.392;
|
||||
let Json.390 : I32 = 34i64;
|
||||
let Json.389 : U8 = CallByName Num.123 Json.390;
|
||||
let Json.385 : List U8 = CallByName List.4 Json.388 Json.389;
|
||||
let Json.387 : I32 = 58i64;
|
||||
let Json.386 : U8 = CallByName Num.123 Json.387;
|
||||
let Json.383 : List U8 = CallByName List.4 Json.385 Json.386;
|
||||
let Json.384 : {} = Struct {};
|
||||
let Json.113 : List U8 = CallByName Encode.23 Json.383 Json.112 Json.384;
|
||||
joinpoint Json.378 Json.114:
|
||||
let Json.376 : U64 = 1i64;
|
||||
let Json.375 : U64 = CallByName Num.20 Json.110 Json.376;
|
||||
let Json.374 : {List U8, U64} = Struct {Json.114, Json.375};
|
||||
ret Json.374;
|
||||
let Json.389 : List U8 = CallByName List.4 Json.392 Json.393;
|
||||
let Json.391 : I32 = 58i64;
|
||||
let Json.390 : U8 = CallByName Num.123 Json.391;
|
||||
let Json.387 : List U8 = CallByName List.4 Json.389 Json.390;
|
||||
let Json.388 : {} = Struct {};
|
||||
let Json.113 : List U8 = CallByName Encode.23 Json.387 Json.112 Json.388;
|
||||
joinpoint Json.382 Json.114:
|
||||
let Json.380 : U64 = 1i64;
|
||||
let Json.379 : U64 = CallByName Num.20 Json.110 Json.380;
|
||||
let Json.378 : {List U8, U64} = Struct {Json.114, Json.379};
|
||||
ret Json.378;
|
||||
in
|
||||
let Json.382 : U64 = 1i64;
|
||||
let Json.379 : Int1 = CallByName Num.24 Json.110 Json.382;
|
||||
if Json.379 then
|
||||
let Json.381 : I32 = 44i64;
|
||||
let Json.380 : U8 = CallByName Num.123 Json.381;
|
||||
let Json.377 : List U8 = CallByName List.4 Json.113 Json.380;
|
||||
jump Json.378 Json.377;
|
||||
let Json.386 : U64 = 1i64;
|
||||
let Json.383 : Int1 = CallByName Num.24 Json.110 Json.386;
|
||||
if Json.383 then
|
||||
let Json.385 : I32 = 44i64;
|
||||
let Json.384 : U8 = CallByName Num.123 Json.385;
|
||||
let Json.381 : List U8 = CallByName List.4 Json.113 Json.384;
|
||||
jump Json.382 Json.381;
|
||||
else
|
||||
jump Json.378 Json.113;
|
||||
jump Json.382 Json.113;
|
||||
|
||||
procedure Json.18 (Json.86):
|
||||
let Json.365 : {Str} = Struct {Json.86};
|
||||
let Json.364 : {Str} = CallByName Encode.22 Json.365;
|
||||
ret Json.364;
|
||||
let Json.368 : Str = StructAtIndex 0 Json.370;
|
||||
inc Json.368;
|
||||
dec Json.370;
|
||||
let Json.370 : {Str} = Struct {Json.86};
|
||||
let Json.367 : Str = CallByName Encode.22 Json.368;
|
||||
ret Json.367;
|
||||
|
||||
procedure Json.20 (Json.102):
|
||||
let Json.320 : {List {Str, {Str}}} = Struct {Json.102};
|
||||
let Json.319 : {List {Str, {Str}}} = CallByName Encode.22 Json.320;
|
||||
let Json.320 : List {Str, Str} = StructAtIndex 0 Json.322;
|
||||
inc Json.320;
|
||||
dec Json.322;
|
||||
let Json.322 : {List {Str, Str}} = Struct {Json.102};
|
||||
let Json.319 : List {Str, Str} = CallByName Encode.22 Json.320;
|
||||
ret Json.319;
|
||||
|
||||
procedure Json.20 (Json.102):
|
||||
let Json.362 : {List {Str, {Str}}} = Struct {Json.102};
|
||||
let Json.361 : {List {Str, {Str}}} = CallByName Encode.22 Json.362;
|
||||
ret Json.361;
|
||||
let Json.364 : List {Str, Str} = StructAtIndex 0 Json.366;
|
||||
inc Json.364;
|
||||
dec Json.366;
|
||||
let Json.366 : {List {Str, Str}} = Struct {Json.102};
|
||||
let Json.363 : List {Str, Str} = CallByName Encode.22 Json.364;
|
||||
ret Json.363;
|
||||
|
||||
procedure Json.87 (Json.88, Json.366, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 #Attr.12;
|
||||
procedure Json.87 (Json.88, Json.369, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 Json.412;
|
||||
inc Json.86;
|
||||
dec #Attr.12;
|
||||
let Json.406 : I32 = 34i64;
|
||||
let Json.405 : U8 = CallByName Num.123 Json.406;
|
||||
let Json.403 : List U8 = CallByName List.4 Json.88 Json.405;
|
||||
let Json.404 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.400 : List U8 = CallByName List.8 Json.403 Json.404;
|
||||
let Json.402 : I32 = 34i64;
|
||||
let Json.401 : U8 = CallByName Num.123 Json.402;
|
||||
let Json.399 : List U8 = CallByName List.4 Json.400 Json.401;
|
||||
ret Json.399;
|
||||
dec Json.412;
|
||||
let Json.412 : {Str} = Struct {#Attr.12};
|
||||
let Json.411 : I32 = 34i64;
|
||||
let Json.410 : U8 = CallByName Num.123 Json.411;
|
||||
let Json.408 : List U8 = CallByName List.4 Json.88 Json.410;
|
||||
let Json.409 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.405 : List U8 = CallByName List.8 Json.408 Json.409;
|
||||
let Json.407 : I32 = 34i64;
|
||||
let Json.406 : U8 = CallByName Num.123 Json.407;
|
||||
let Json.404 : List U8 = CallByName List.4 Json.405 Json.406;
|
||||
ret Json.404;
|
||||
|
||||
procedure List.133 (List.134, List.135, #Attr.12):
|
||||
let List.132 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.434 : {List U8, U64} = CallByName Json.105 List.134 List.135;
|
||||
let List.433 : [C [], C {List U8, U64}] = TagId(1) List.434;
|
||||
ret List.433;
|
||||
let List.132 : {} = StructAtIndex 0 List.436;
|
||||
let List.436 : {{}} = Struct {#Attr.12};
|
||||
let List.435 : {List U8, U64} = CallByName Json.105 List.134 List.135;
|
||||
let List.434 : [C [], C {List U8, U64}] = TagId(1) List.435;
|
||||
ret List.434;
|
||||
|
||||
procedure List.133 (List.134, List.135, #Attr.12):
|
||||
let List.132 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.515 : {List U8, U64} = CallByName Json.105 List.134 List.135;
|
||||
let List.514 : [C [], C {List U8, U64}] = TagId(1) List.515;
|
||||
ret List.514;
|
||||
let List.132 : {} = StructAtIndex 0 List.519;
|
||||
let List.519 : {{}} = Struct {#Attr.12};
|
||||
let List.518 : {List U8, U64} = CallByName Json.105 List.134 List.135;
|
||||
let List.517 : [C [], C {List U8, U64}] = TagId(1) List.518;
|
||||
ret List.517;
|
||||
|
||||
procedure List.18 (List.130, List.131, List.132):
|
||||
let List.411 : {{}} = Struct {List.132};
|
||||
let List.411 : {} = StructAtIndex 0 List.412;
|
||||
let List.412 : {{}} = Struct {List.132};
|
||||
let List.405 : [C [], C {List U8, U64}] = CallByName List.75 List.130 List.131 List.411;
|
||||
let List.408 : U8 = 1i64;
|
||||
let List.409 : U8 = GetTagId List.405;
|
||||
|
|
@ -254,129 +277,130 @@ procedure List.18 (List.130, List.131, List.132):
|
|||
ret List.407;
|
||||
|
||||
procedure List.18 (List.130, List.131, List.132):
|
||||
let List.491 : {{}} = Struct {List.132};
|
||||
let List.485 : [C [], C {List U8, U64}] = CallByName List.75 List.130 List.131 List.491;
|
||||
let List.488 : U8 = 1i64;
|
||||
let List.489 : U8 = GetTagId List.485;
|
||||
let List.490 : Int1 = lowlevel Eq List.488 List.489;
|
||||
if List.490 then
|
||||
let List.137 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.485;
|
||||
let List.493 : {} = StructAtIndex 0 List.494;
|
||||
let List.494 : {{}} = Struct {List.132};
|
||||
let List.487 : [C [], C {List U8, U64}] = CallByName List.75 List.130 List.131 List.493;
|
||||
let List.490 : U8 = 1i64;
|
||||
let List.491 : U8 = GetTagId List.487;
|
||||
let List.492 : Int1 = lowlevel Eq List.490 List.491;
|
||||
if List.492 then
|
||||
let List.137 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.487;
|
||||
inc List.137;
|
||||
dec List.485;
|
||||
dec List.487;
|
||||
ret List.137;
|
||||
else
|
||||
let List.138 : [] = UnionAtIndex (Id 0) (Index 0) List.485;
|
||||
dec List.485;
|
||||
let List.487 : {List U8, U64} = CallByName List.69 List.138;
|
||||
ret List.487;
|
||||
let List.138 : [] = UnionAtIndex (Id 0) (Index 0) List.487;
|
||||
dec List.487;
|
||||
let List.489 : {List U8, U64} = CallByName List.69 List.138;
|
||||
ret List.489;
|
||||
|
||||
procedure List.4 (List.101, List.102):
|
||||
let List.484 : U64 = 1i64;
|
||||
let List.483 : List U8 = CallByName List.70 List.101 List.484;
|
||||
let List.482 : List U8 = CallByName List.71 List.483 List.102;
|
||||
ret List.482;
|
||||
let List.486 : U64 = 1i64;
|
||||
let List.485 : List U8 = CallByName List.70 List.101 List.486;
|
||||
let List.484 : List U8 = CallByName List.71 List.485 List.102;
|
||||
ret List.484;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.385 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.385;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.413 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.413;
|
||||
let List.414 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.414;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.494 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.494;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.432 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.432;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.513 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.513;
|
||||
|
||||
procedure List.69 (#Attr.2):
|
||||
let List.497 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
let List.497 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.497;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.433 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.433;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.516 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.516;
|
||||
|
||||
procedure List.69 (#Attr.2):
|
||||
let List.500 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.500;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.496 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.496;
|
||||
let List.499 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.499;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.495 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.495;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.418 : U64 = 0i64;
|
||||
let List.419 : U64 = CallByName List.6 List.361;
|
||||
let List.417 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.418 List.419;
|
||||
ret List.417;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.499 : U64 = 0i64;
|
||||
let List.500 : U64 = CallByName List.6 List.361;
|
||||
let List.498 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.499 List.500;
|
||||
let List.498 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.498;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.419 : U64 = 0i64;
|
||||
let List.420 : U64 = CallByName List.6 List.361;
|
||||
let List.418 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.419 List.420;
|
||||
ret List.418;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.502 : U64 = 0i64;
|
||||
let List.503 : U64 = CallByName List.6 List.361;
|
||||
let List.501 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.502 List.503;
|
||||
ret List.501;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.493 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.493;
|
||||
let List.496 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.496;
|
||||
|
||||
procedure List.86 (List.448, List.449, List.450, List.451, List.452):
|
||||
joinpoint List.420 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.422 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.422 then
|
||||
let List.431 : {Str, {Str}} = CallByName List.66 List.364 List.367;
|
||||
let List.423 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.431 List.366;
|
||||
let List.428 : U8 = 1i64;
|
||||
let List.429 : U8 = GetTagId List.423;
|
||||
let List.430 : Int1 = lowlevel Eq List.428 List.429;
|
||||
if List.430 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.423;
|
||||
procedure List.86 (List.450, List.451, List.452, List.453, List.454):
|
||||
joinpoint List.421 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.423 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.423 then
|
||||
let List.432 : {Str, Str} = CallByName List.66 List.364 List.367;
|
||||
let List.424 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.432 List.366;
|
||||
let List.429 : U8 = 1i64;
|
||||
let List.430 : U8 = GetTagId List.424;
|
||||
let List.431 : Int1 = lowlevel Eq List.429 List.430;
|
||||
if List.431 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.424;
|
||||
inc List.369;
|
||||
dec List.423;
|
||||
let List.426 : U64 = 1i64;
|
||||
let List.425 : U64 = CallByName Num.19 List.367 List.426;
|
||||
jump List.420 List.364 List.369 List.366 List.425 List.368;
|
||||
dec List.424;
|
||||
let List.427 : U64 = 1i64;
|
||||
let List.426 : U64 = CallByName Num.19 List.367 List.427;
|
||||
jump List.421 List.364 List.369 List.366 List.426 List.368;
|
||||
else
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.423;
|
||||
dec List.423;
|
||||
let List.427 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.427;
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.424;
|
||||
dec List.424;
|
||||
let List.428 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.428;
|
||||
else
|
||||
let List.421 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.421;
|
||||
let List.422 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.422;
|
||||
in
|
||||
jump List.420 List.448 List.449 List.450 List.451 List.452;
|
||||
jump List.421 List.450 List.451 List.452 List.453 List.454;
|
||||
|
||||
procedure List.86 (List.529, List.530, List.531, List.532, List.533):
|
||||
joinpoint List.501 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.503 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.503 then
|
||||
let List.512 : {Str, {Str}} = CallByName List.66 List.364 List.367;
|
||||
let List.504 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.512 List.366;
|
||||
let List.509 : U8 = 1i64;
|
||||
let List.510 : U8 = GetTagId List.504;
|
||||
let List.511 : Int1 = lowlevel Eq List.509 List.510;
|
||||
if List.511 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.504;
|
||||
procedure List.86 (List.533, List.534, List.535, List.536, List.537):
|
||||
joinpoint List.504 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.506 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.506 then
|
||||
let List.515 : {Str, Str} = CallByName List.66 List.364 List.367;
|
||||
let List.507 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.515 List.366;
|
||||
let List.512 : U8 = 1i64;
|
||||
let List.513 : U8 = GetTagId List.507;
|
||||
let List.514 : Int1 = lowlevel Eq List.512 List.513;
|
||||
if List.514 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.507;
|
||||
inc List.369;
|
||||
dec List.504;
|
||||
let List.507 : U64 = 1i64;
|
||||
let List.506 : U64 = CallByName Num.19 List.367 List.507;
|
||||
jump List.501 List.364 List.369 List.366 List.506 List.368;
|
||||
dec List.507;
|
||||
let List.510 : U64 = 1i64;
|
||||
let List.509 : U64 = CallByName Num.19 List.367 List.510;
|
||||
jump List.504 List.364 List.369 List.366 List.509 List.368;
|
||||
else
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.504;
|
||||
dec List.504;
|
||||
let List.508 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.508;
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.507;
|
||||
dec List.507;
|
||||
let List.511 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.511;
|
||||
else
|
||||
let List.502 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.502;
|
||||
let List.505 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.505;
|
||||
in
|
||||
jump List.501 List.529 List.530 List.531 List.532 List.533;
|
||||
jump List.504 List.533 List.534 List.535 List.536 List.537;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.283 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
|||
|
|
@ -1,19 +1,23 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.1 : {Str} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : {Str} = CallByName Encode.22 #Derived_gen.1;
|
||||
let #Derived_gen.1 : Str = StructAtIndex 0 #Derived_gen.2;
|
||||
inc #Derived_gen.1;
|
||||
dec #Derived_gen.2;
|
||||
let #Derived_gen.2 : {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;
|
||||
let #Derived.1 : Str = StructAtIndex 0 #Derived_gen.11;
|
||||
inc #Derived.1;
|
||||
dec #Attr.12;
|
||||
let #Derived_gen.7 : Str = "a";
|
||||
let #Derived_gen.8 : {Str} = CallByName Json.18 #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.20 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
dec #Derived_gen.11;
|
||||
let #Derived_gen.11 : {Str} = Struct {#Attr.12};
|
||||
let #Derived_gen.8 : Str = "a";
|
||||
let #Derived_gen.9 : Str = CallByName Json.18 #Derived.1;
|
||||
let #Derived_gen.7 : {Str, Str} = Struct {#Derived_gen.8, #Derived_gen.9};
|
||||
let #Derived_gen.6 : List {Str, Str} = Array [#Derived_gen.7];
|
||||
let #Derived_gen.5 : List {Str, Str} = CallByName Json.20 #Derived_gen.6;
|
||||
let #Derived_gen.4 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.5 #Derived.4;
|
||||
ret #Derived_gen.4;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
|
@ -38,7 +42,7 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
|
||||
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 #Derived.0 Encode.100;
|
||||
let Encode.103 : List U8 = CallByName Encode.23 Encode.104 Encode.105 Encode.101;
|
||||
ret Encode.103;
|
||||
|
||||
|
|
@ -47,96 +51,106 @@ procedure Json.1 ():
|
|||
ret Json.318;
|
||||
|
||||
procedure Json.103 (Json.104, Json.321, #Attr.12):
|
||||
let Json.102 : List {Str, {Str}} = StructAtIndex 0 #Attr.12;
|
||||
let Json.102 : List {Str, Str} = StructAtIndex 0 Json.360;
|
||||
inc Json.102;
|
||||
dec #Attr.12;
|
||||
let Json.357 : I32 = 123i64;
|
||||
let Json.356 : U8 = CallByName Num.123 Json.357;
|
||||
let Json.106 : List U8 = CallByName List.4 Json.104 Json.356;
|
||||
let Json.355 : U64 = CallByName List.6 Json.102;
|
||||
let Json.332 : {List U8, U64} = Struct {Json.106, Json.355};
|
||||
let Json.333 : {} = Struct {};
|
||||
let Json.331 : {List U8, U64} = CallByName List.18 Json.102 Json.332 Json.333;
|
||||
dec Json.360;
|
||||
let Json.360 : {List {Str, Str}} = Struct {#Attr.12};
|
||||
let Json.359 : I32 = 123i64;
|
||||
let Json.358 : U8 = CallByName Num.123 Json.359;
|
||||
let Json.106 : List U8 = CallByName List.4 Json.104 Json.358;
|
||||
let Json.357 : U64 = CallByName List.6 Json.102;
|
||||
let Json.334 : {List U8, U64} = Struct {Json.106, Json.357};
|
||||
let Json.335 : {} = Struct {};
|
||||
let Json.333 : {List U8, U64} = CallByName List.18 Json.102 Json.334 Json.335;
|
||||
dec Json.102;
|
||||
let Json.108 : List U8 = StructAtIndex 0 Json.331;
|
||||
let Json.108 : List U8 = StructAtIndex 0 Json.333;
|
||||
inc Json.108;
|
||||
dec Json.331;
|
||||
let Json.330 : I32 = 125i64;
|
||||
let Json.329 : U8 = CallByName Num.123 Json.330;
|
||||
let Json.328 : List U8 = CallByName List.4 Json.108 Json.329;
|
||||
ret Json.328;
|
||||
dec Json.333;
|
||||
let Json.332 : I32 = 125i64;
|
||||
let Json.331 : U8 = CallByName Num.123 Json.332;
|
||||
let Json.330 : List U8 = CallByName List.4 Json.108 Json.331;
|
||||
ret Json.330;
|
||||
|
||||
procedure Json.105 (Json.326, Json.327):
|
||||
let Json.111 : Str = StructAtIndex 0 Json.327;
|
||||
procedure Json.105 (Json.328, Json.329):
|
||||
let Json.111 : Str = StructAtIndex 0 Json.329;
|
||||
inc Json.111;
|
||||
let Json.112 : {Str} = StructAtIndex 1 Json.327;
|
||||
let Json.112 : Str = StructAtIndex 1 Json.329;
|
||||
inc Json.112;
|
||||
dec Json.327;
|
||||
let Json.109 : List U8 = StructAtIndex 0 Json.326;
|
||||
dec Json.329;
|
||||
let Json.109 : List U8 = StructAtIndex 0 Json.328;
|
||||
inc Json.109;
|
||||
let Json.110 : U64 = StructAtIndex 1 Json.326;
|
||||
dec Json.326;
|
||||
let Json.354 : I32 = 34i64;
|
||||
let Json.353 : U8 = CallByName Num.123 Json.354;
|
||||
let Json.351 : List U8 = CallByName List.4 Json.109 Json.353;
|
||||
let Json.352 : List U8 = CallByName Str.12 Json.111;
|
||||
let Json.348 : List U8 = CallByName List.8 Json.351 Json.352;
|
||||
let Json.350 : I32 = 34i64;
|
||||
let Json.349 : U8 = CallByName Num.123 Json.350;
|
||||
let Json.345 : List U8 = CallByName List.4 Json.348 Json.349;
|
||||
let Json.347 : I32 = 58i64;
|
||||
let Json.346 : U8 = CallByName Num.123 Json.347;
|
||||
let Json.343 : List U8 = CallByName List.4 Json.345 Json.346;
|
||||
let Json.344 : {} = Struct {};
|
||||
let Json.113 : List U8 = CallByName Encode.23 Json.343 Json.112 Json.344;
|
||||
joinpoint Json.338 Json.114:
|
||||
let Json.336 : U64 = 1i64;
|
||||
let Json.335 : U64 = CallByName Num.20 Json.110 Json.336;
|
||||
let Json.334 : {List U8, U64} = Struct {Json.114, Json.335};
|
||||
ret Json.334;
|
||||
let Json.110 : U64 = StructAtIndex 1 Json.328;
|
||||
dec Json.328;
|
||||
let Json.356 : I32 = 34i64;
|
||||
let Json.355 : U8 = CallByName Num.123 Json.356;
|
||||
let Json.353 : List U8 = CallByName List.4 Json.109 Json.355;
|
||||
let Json.354 : List U8 = CallByName Str.12 Json.111;
|
||||
let Json.350 : List U8 = CallByName List.8 Json.353 Json.354;
|
||||
let Json.352 : I32 = 34i64;
|
||||
let Json.351 : U8 = CallByName Num.123 Json.352;
|
||||
let Json.347 : List U8 = CallByName List.4 Json.350 Json.351;
|
||||
let Json.349 : I32 = 58i64;
|
||||
let Json.348 : U8 = CallByName Num.123 Json.349;
|
||||
let Json.345 : List U8 = CallByName List.4 Json.347 Json.348;
|
||||
let Json.346 : {} = Struct {};
|
||||
let Json.113 : List U8 = CallByName Encode.23 Json.345 Json.112 Json.346;
|
||||
joinpoint Json.340 Json.114:
|
||||
let Json.338 : U64 = 1i64;
|
||||
let Json.337 : U64 = CallByName Num.20 Json.110 Json.338;
|
||||
let Json.336 : {List U8, U64} = Struct {Json.114, Json.337};
|
||||
ret Json.336;
|
||||
in
|
||||
let Json.342 : U64 = 1i64;
|
||||
let Json.339 : Int1 = CallByName Num.24 Json.110 Json.342;
|
||||
if Json.339 then
|
||||
let Json.341 : I32 = 44i64;
|
||||
let Json.340 : U8 = CallByName Num.123 Json.341;
|
||||
let Json.337 : List U8 = CallByName List.4 Json.113 Json.340;
|
||||
jump Json.338 Json.337;
|
||||
let Json.344 : U64 = 1i64;
|
||||
let Json.341 : Int1 = CallByName Num.24 Json.110 Json.344;
|
||||
if Json.341 then
|
||||
let Json.343 : I32 = 44i64;
|
||||
let Json.342 : U8 = CallByName Num.123 Json.343;
|
||||
let Json.339 : List U8 = CallByName List.4 Json.113 Json.342;
|
||||
jump Json.340 Json.339;
|
||||
else
|
||||
jump Json.338 Json.113;
|
||||
jump Json.340 Json.113;
|
||||
|
||||
procedure Json.18 (Json.86):
|
||||
let Json.323 : {Str} = Struct {Json.86};
|
||||
let Json.322 : {Str} = CallByName Encode.22 Json.323;
|
||||
ret Json.322;
|
||||
let Json.324 : Str = StructAtIndex 0 Json.326;
|
||||
inc Json.324;
|
||||
dec Json.326;
|
||||
let Json.326 : {Str} = Struct {Json.86};
|
||||
let Json.323 : Str = CallByName Encode.22 Json.324;
|
||||
ret Json.323;
|
||||
|
||||
procedure Json.20 (Json.102):
|
||||
let Json.320 : {List {Str, {Str}}} = Struct {Json.102};
|
||||
let Json.319 : {List {Str, {Str}}} = CallByName Encode.22 Json.320;
|
||||
let Json.320 : List {Str, Str} = StructAtIndex 0 Json.322;
|
||||
inc Json.320;
|
||||
dec Json.322;
|
||||
let Json.322 : {List {Str, Str}} = Struct {Json.102};
|
||||
let Json.319 : List {Str, Str} = CallByName Encode.22 Json.320;
|
||||
ret Json.319;
|
||||
|
||||
procedure Json.87 (Json.88, Json.324, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 #Attr.12;
|
||||
procedure Json.87 (Json.88, Json.325, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 Json.370;
|
||||
inc Json.86;
|
||||
dec #Attr.12;
|
||||
let Json.366 : I32 = 34i64;
|
||||
let Json.365 : U8 = CallByName Num.123 Json.366;
|
||||
let Json.363 : List U8 = CallByName List.4 Json.88 Json.365;
|
||||
let Json.364 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.360 : List U8 = CallByName List.8 Json.363 Json.364;
|
||||
let Json.362 : I32 = 34i64;
|
||||
let Json.361 : U8 = CallByName Num.123 Json.362;
|
||||
let Json.359 : List U8 = CallByName List.4 Json.360 Json.361;
|
||||
ret Json.359;
|
||||
dec Json.370;
|
||||
let Json.370 : {Str} = Struct {#Attr.12};
|
||||
let Json.369 : I32 = 34i64;
|
||||
let Json.368 : U8 = CallByName Num.123 Json.369;
|
||||
let Json.366 : List U8 = CallByName List.4 Json.88 Json.368;
|
||||
let Json.367 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.363 : List U8 = CallByName List.8 Json.366 Json.367;
|
||||
let Json.365 : I32 = 34i64;
|
||||
let Json.364 : U8 = CallByName Num.123 Json.365;
|
||||
let Json.362 : List U8 = CallByName List.4 Json.363 Json.364;
|
||||
ret Json.362;
|
||||
|
||||
procedure List.133 (List.134, List.135, #Attr.12):
|
||||
let List.132 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.441 : {List U8, U64} = CallByName Json.105 List.134 List.135;
|
||||
let List.440 : [C [], C {List U8, U64}] = TagId(1) List.441;
|
||||
ret List.440;
|
||||
let List.132 : {} = StructAtIndex 0 List.443;
|
||||
let List.443 : {{}} = Struct {#Attr.12};
|
||||
let List.442 : {List U8, U64} = CallByName Json.105 List.134 List.135;
|
||||
let List.441 : [C [], C {List U8, U64}] = TagId(1) List.442;
|
||||
ret List.441;
|
||||
|
||||
procedure List.18 (List.130, List.131, List.132):
|
||||
let List.417 : {{}} = Struct {List.132};
|
||||
let List.417 : {} = StructAtIndex 0 List.418;
|
||||
let List.418 : {{}} = Struct {List.132};
|
||||
let List.411 : [C [], C {List U8, U64}] = CallByName List.75 List.130 List.131 List.417;
|
||||
let List.414 : U8 = 1i64;
|
||||
let List.415 : U8 = GetTagId List.411;
|
||||
|
|
@ -163,61 +177,61 @@ procedure List.6 (#Attr.2):
|
|||
ret List.385;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.420 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.420;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.439 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.439;
|
||||
|
||||
procedure List.69 (#Attr.2):
|
||||
let List.423 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.423;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.422 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.422;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.421 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
let List.421 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.421;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.425 : U64 = 0i64;
|
||||
let List.426 : U64 = CallByName List.6 List.361;
|
||||
let List.424 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.425 List.426;
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.440 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.440;
|
||||
|
||||
procedure List.69 (#Attr.2):
|
||||
let List.424 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.424;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.419 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.419;
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.423 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.423;
|
||||
|
||||
procedure List.86 (List.455, List.456, List.457, List.458, List.459):
|
||||
joinpoint List.427 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.429 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.429 then
|
||||
let List.438 : {Str, {Str}} = CallByName List.66 List.364 List.367;
|
||||
let List.430 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.438 List.366;
|
||||
let List.435 : U8 = 1i64;
|
||||
let List.436 : U8 = GetTagId List.430;
|
||||
let List.437 : Int1 = lowlevel Eq List.435 List.436;
|
||||
if List.437 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.430;
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.422 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.422;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.426 : U64 = 0i64;
|
||||
let List.427 : U64 = CallByName List.6 List.361;
|
||||
let List.425 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.426 List.427;
|
||||
ret List.425;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.420 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.420;
|
||||
|
||||
procedure List.86 (List.457, List.458, List.459, List.460, List.461):
|
||||
joinpoint List.428 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.430 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.430 then
|
||||
let List.439 : {Str, Str} = CallByName List.66 List.364 List.367;
|
||||
let List.431 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.439 List.366;
|
||||
let List.436 : U8 = 1i64;
|
||||
let List.437 : U8 = GetTagId List.431;
|
||||
let List.438 : Int1 = lowlevel Eq List.436 List.437;
|
||||
if List.438 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.431;
|
||||
inc List.369;
|
||||
dec List.430;
|
||||
let List.433 : U64 = 1i64;
|
||||
let List.432 : U64 = CallByName Num.19 List.367 List.433;
|
||||
jump List.427 List.364 List.369 List.366 List.432 List.368;
|
||||
dec List.431;
|
||||
let List.434 : U64 = 1i64;
|
||||
let List.433 : U64 = CallByName Num.19 List.367 List.434;
|
||||
jump List.428 List.364 List.369 List.366 List.433 List.368;
|
||||
else
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.430;
|
||||
dec List.430;
|
||||
let List.434 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.434;
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.431;
|
||||
dec List.431;
|
||||
let List.435 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.435;
|
||||
else
|
||||
let List.428 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.428;
|
||||
let List.429 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.429;
|
||||
in
|
||||
jump List.427 List.455 List.456 List.457 List.458 List.459;
|
||||
jump List.428 List.457 List.458 List.459 List.460 List.461;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.264 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
|||
|
|
@ -1,27 +1,31 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.1 : {{Str, Str}} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : {{Str, Str}} = CallByName Encode.22 #Derived_gen.1;
|
||||
let #Derived_gen.1 : {Str, Str} = StructAtIndex 0 #Derived_gen.2;
|
||||
inc #Derived_gen.1;
|
||||
dec #Derived_gen.2;
|
||||
let #Derived_gen.2 : {{Str, Str}} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : {Str, Str} = CallByName Encode.22 #Derived_gen.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.4, #Attr.12):
|
||||
let #Derived.1 : {Str, Str} = StructAtIndex 0 #Attr.12;
|
||||
let #Derived.1 : {Str, Str} = StructAtIndex 0 #Derived_gen.15;
|
||||
inc #Derived.1;
|
||||
dec #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 Json.18 #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_gen.15;
|
||||
let #Derived_gen.15 : {{Str, Str}} = Struct {#Attr.12};
|
||||
let #Derived_gen.12 : Str = "a";
|
||||
let #Derived_gen.14 : Str = StructAtIndex 0 #Derived.1;
|
||||
inc #Derived_gen.14;
|
||||
let #Derived_gen.13 : Str = CallByName Json.18 #Derived_gen.14;
|
||||
let #Derived_gen.7 : {Str, Str} = Struct {#Derived_gen.12, #Derived_gen.13};
|
||||
let #Derived_gen.9 : Str = "b";
|
||||
let #Derived_gen.11 : Str = StructAtIndex 1 #Derived.1;
|
||||
inc #Derived_gen.11;
|
||||
dec #Derived.1;
|
||||
let #Derived_gen.9 : {Str} = CallByName Json.18 #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.20 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
let #Derived_gen.10 : Str = CallByName Json.18 #Derived_gen.11;
|
||||
let #Derived_gen.8 : {Str, Str} = Struct {#Derived_gen.9, #Derived_gen.10};
|
||||
let #Derived_gen.6 : List {Str, Str} = Array [#Derived_gen.7, #Derived_gen.8];
|
||||
let #Derived_gen.5 : List {Str, Str} = CallByName Json.20 #Derived_gen.6;
|
||||
let #Derived_gen.4 : List U8 = CallByName Encode.23 #Derived.3 #Derived_gen.5 #Derived.4;
|
||||
ret #Derived_gen.4;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
|
@ -46,7 +50,7 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
let Encode.105 : {{Str, Str}} = CallByName #Derived.0 Encode.100;
|
||||
let Encode.105 : {Str, Str} = CallByName #Derived.0 Encode.100;
|
||||
let Encode.103 : List U8 = CallByName Encode.23 Encode.104 Encode.105 Encode.101;
|
||||
ret Encode.103;
|
||||
|
||||
|
|
@ -55,96 +59,106 @@ procedure Json.1 ():
|
|||
ret Json.318;
|
||||
|
||||
procedure Json.103 (Json.104, Json.321, #Attr.12):
|
||||
let Json.102 : List {Str, {Str}} = StructAtIndex 0 #Attr.12;
|
||||
let Json.102 : List {Str, Str} = StructAtIndex 0 Json.364;
|
||||
inc Json.102;
|
||||
dec #Attr.12;
|
||||
let Json.360 : I32 = 123i64;
|
||||
let Json.359 : U8 = CallByName Num.123 Json.360;
|
||||
let Json.106 : List U8 = CallByName List.4 Json.104 Json.359;
|
||||
let Json.358 : U64 = CallByName List.6 Json.102;
|
||||
let Json.335 : {List U8, U64} = Struct {Json.106, Json.358};
|
||||
let Json.336 : {} = Struct {};
|
||||
let Json.334 : {List U8, U64} = CallByName List.18 Json.102 Json.335 Json.336;
|
||||
dec Json.364;
|
||||
let Json.364 : {List {Str, Str}} = Struct {#Attr.12};
|
||||
let Json.363 : I32 = 123i64;
|
||||
let Json.362 : U8 = CallByName Num.123 Json.363;
|
||||
let Json.106 : List U8 = CallByName List.4 Json.104 Json.362;
|
||||
let Json.361 : U64 = CallByName List.6 Json.102;
|
||||
let Json.338 : {List U8, U64} = Struct {Json.106, Json.361};
|
||||
let Json.339 : {} = Struct {};
|
||||
let Json.337 : {List U8, U64} = CallByName List.18 Json.102 Json.338 Json.339;
|
||||
dec Json.102;
|
||||
let Json.108 : List U8 = StructAtIndex 0 Json.334;
|
||||
let Json.108 : List U8 = StructAtIndex 0 Json.337;
|
||||
inc Json.108;
|
||||
dec Json.334;
|
||||
let Json.333 : I32 = 125i64;
|
||||
let Json.332 : U8 = CallByName Num.123 Json.333;
|
||||
let Json.331 : List U8 = CallByName List.4 Json.108 Json.332;
|
||||
ret Json.331;
|
||||
dec Json.337;
|
||||
let Json.336 : I32 = 125i64;
|
||||
let Json.335 : U8 = CallByName Num.123 Json.336;
|
||||
let Json.334 : List U8 = CallByName List.4 Json.108 Json.335;
|
||||
ret Json.334;
|
||||
|
||||
procedure Json.105 (Json.329, Json.330):
|
||||
let Json.111 : Str = StructAtIndex 0 Json.330;
|
||||
procedure Json.105 (Json.332, Json.333):
|
||||
let Json.111 : Str = StructAtIndex 0 Json.333;
|
||||
inc Json.111;
|
||||
let Json.112 : {Str} = StructAtIndex 1 Json.330;
|
||||
let Json.112 : Str = StructAtIndex 1 Json.333;
|
||||
inc Json.112;
|
||||
dec Json.330;
|
||||
let Json.109 : List U8 = StructAtIndex 0 Json.329;
|
||||
dec Json.333;
|
||||
let Json.109 : List U8 = StructAtIndex 0 Json.332;
|
||||
inc Json.109;
|
||||
let Json.110 : U64 = StructAtIndex 1 Json.329;
|
||||
dec Json.329;
|
||||
let Json.357 : I32 = 34i64;
|
||||
let Json.356 : U8 = CallByName Num.123 Json.357;
|
||||
let Json.354 : List U8 = CallByName List.4 Json.109 Json.356;
|
||||
let Json.355 : List U8 = CallByName Str.12 Json.111;
|
||||
let Json.351 : List U8 = CallByName List.8 Json.354 Json.355;
|
||||
let Json.353 : I32 = 34i64;
|
||||
let Json.110 : U64 = StructAtIndex 1 Json.332;
|
||||
dec Json.332;
|
||||
let Json.360 : I32 = 34i64;
|
||||
let Json.359 : U8 = CallByName Num.123 Json.360;
|
||||
let Json.357 : List U8 = CallByName List.4 Json.109 Json.359;
|
||||
let Json.358 : List U8 = CallByName Str.12 Json.111;
|
||||
let Json.354 : List U8 = CallByName List.8 Json.357 Json.358;
|
||||
let Json.356 : I32 = 34i64;
|
||||
let Json.355 : U8 = CallByName Num.123 Json.356;
|
||||
let Json.351 : List U8 = CallByName List.4 Json.354 Json.355;
|
||||
let Json.353 : I32 = 58i64;
|
||||
let Json.352 : U8 = CallByName Num.123 Json.353;
|
||||
let Json.348 : List U8 = CallByName List.4 Json.351 Json.352;
|
||||
let Json.350 : I32 = 58i64;
|
||||
let Json.349 : U8 = CallByName Num.123 Json.350;
|
||||
let Json.346 : List U8 = CallByName List.4 Json.348 Json.349;
|
||||
let Json.347 : {} = Struct {};
|
||||
let Json.113 : List U8 = CallByName Encode.23 Json.346 Json.112 Json.347;
|
||||
joinpoint Json.341 Json.114:
|
||||
let Json.339 : U64 = 1i64;
|
||||
let Json.338 : U64 = CallByName Num.20 Json.110 Json.339;
|
||||
let Json.337 : {List U8, U64} = Struct {Json.114, Json.338};
|
||||
ret Json.337;
|
||||
let Json.349 : List U8 = CallByName List.4 Json.351 Json.352;
|
||||
let Json.350 : {} = Struct {};
|
||||
let Json.113 : List U8 = CallByName Encode.23 Json.349 Json.112 Json.350;
|
||||
joinpoint Json.344 Json.114:
|
||||
let Json.342 : U64 = 1i64;
|
||||
let Json.341 : U64 = CallByName Num.20 Json.110 Json.342;
|
||||
let Json.340 : {List U8, U64} = Struct {Json.114, Json.341};
|
||||
ret Json.340;
|
||||
in
|
||||
let Json.345 : U64 = 1i64;
|
||||
let Json.342 : Int1 = CallByName Num.24 Json.110 Json.345;
|
||||
if Json.342 then
|
||||
let Json.344 : I32 = 44i64;
|
||||
let Json.343 : U8 = CallByName Num.123 Json.344;
|
||||
let Json.340 : List U8 = CallByName List.4 Json.113 Json.343;
|
||||
jump Json.341 Json.340;
|
||||
let Json.348 : U64 = 1i64;
|
||||
let Json.345 : Int1 = CallByName Num.24 Json.110 Json.348;
|
||||
if Json.345 then
|
||||
let Json.347 : I32 = 44i64;
|
||||
let Json.346 : U8 = CallByName Num.123 Json.347;
|
||||
let Json.343 : List U8 = CallByName List.4 Json.113 Json.346;
|
||||
jump Json.344 Json.343;
|
||||
else
|
||||
jump Json.341 Json.113;
|
||||
jump Json.344 Json.113;
|
||||
|
||||
procedure Json.18 (Json.86):
|
||||
let Json.326 : {Str} = Struct {Json.86};
|
||||
let Json.325 : {Str} = CallByName Encode.22 Json.326;
|
||||
ret Json.325;
|
||||
let Json.328 : Str = StructAtIndex 0 Json.330;
|
||||
inc Json.328;
|
||||
dec Json.330;
|
||||
let Json.330 : {Str} = Struct {Json.86};
|
||||
let Json.327 : Str = CallByName Encode.22 Json.328;
|
||||
ret Json.327;
|
||||
|
||||
procedure Json.20 (Json.102):
|
||||
let Json.320 : {List {Str, {Str}}} = Struct {Json.102};
|
||||
let Json.319 : {List {Str, {Str}}} = CallByName Encode.22 Json.320;
|
||||
let Json.320 : List {Str, Str} = StructAtIndex 0 Json.322;
|
||||
inc Json.320;
|
||||
dec Json.322;
|
||||
let Json.322 : {List {Str, Str}} = Struct {Json.102};
|
||||
let Json.319 : List {Str, Str} = CallByName Encode.22 Json.320;
|
||||
ret Json.319;
|
||||
|
||||
procedure Json.87 (Json.88, Json.324, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 #Attr.12;
|
||||
procedure Json.87 (Json.88, Json.325, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 Json.374;
|
||||
inc Json.86;
|
||||
dec #Attr.12;
|
||||
dec Json.374;
|
||||
let Json.374 : {Str} = Struct {#Attr.12};
|
||||
let Json.373 : I32 = 34i64;
|
||||
let Json.372 : U8 = CallByName Num.123 Json.373;
|
||||
let Json.370 : List U8 = CallByName List.4 Json.88 Json.372;
|
||||
let Json.371 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.367 : List U8 = CallByName List.8 Json.370 Json.371;
|
||||
let Json.369 : I32 = 34i64;
|
||||
let Json.368 : U8 = CallByName Num.123 Json.369;
|
||||
let Json.366 : List U8 = CallByName List.4 Json.88 Json.368;
|
||||
let Json.367 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.363 : List U8 = CallByName List.8 Json.366 Json.367;
|
||||
let Json.365 : I32 = 34i64;
|
||||
let Json.364 : U8 = CallByName Num.123 Json.365;
|
||||
let Json.362 : List U8 = CallByName List.4 Json.363 Json.364;
|
||||
ret Json.362;
|
||||
let Json.366 : List U8 = CallByName List.4 Json.367 Json.368;
|
||||
ret Json.366;
|
||||
|
||||
procedure List.133 (List.134, List.135, #Attr.12):
|
||||
let List.132 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.441 : {List U8, U64} = CallByName Json.105 List.134 List.135;
|
||||
let List.440 : [C [], C {List U8, U64}] = TagId(1) List.441;
|
||||
ret List.440;
|
||||
let List.132 : {} = StructAtIndex 0 List.443;
|
||||
let List.443 : {{}} = Struct {#Attr.12};
|
||||
let List.442 : {List U8, U64} = CallByName Json.105 List.134 List.135;
|
||||
let List.441 : [C [], C {List U8, U64}] = TagId(1) List.442;
|
||||
ret List.441;
|
||||
|
||||
procedure List.18 (List.130, List.131, List.132):
|
||||
let List.417 : {{}} = Struct {List.132};
|
||||
let List.417 : {} = StructAtIndex 0 List.418;
|
||||
let List.418 : {{}} = Struct {List.132};
|
||||
let List.411 : [C [], C {List U8, U64}] = CallByName List.75 List.130 List.131 List.417;
|
||||
let List.414 : U8 = 1i64;
|
||||
let List.415 : U8 = GetTagId List.411;
|
||||
|
|
@ -171,61 +185,61 @@ procedure List.6 (#Attr.2):
|
|||
ret List.385;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.420 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.420;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.439 : {Str, {Str}} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.439;
|
||||
|
||||
procedure List.69 (#Attr.2):
|
||||
let List.423 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.423;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.422 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.422;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.421 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
let List.421 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.421;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.425 : U64 = 0i64;
|
||||
let List.426 : U64 = CallByName List.6 List.361;
|
||||
let List.424 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.425 List.426;
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.440 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.440;
|
||||
|
||||
procedure List.69 (#Attr.2):
|
||||
let List.424 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.424;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.419 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.419;
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.423 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.423;
|
||||
|
||||
procedure List.86 (List.455, List.456, List.457, List.458, List.459):
|
||||
joinpoint List.427 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.429 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.429 then
|
||||
let List.438 : {Str, {Str}} = CallByName List.66 List.364 List.367;
|
||||
let List.430 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.438 List.366;
|
||||
let List.435 : U8 = 1i64;
|
||||
let List.436 : U8 = GetTagId List.430;
|
||||
let List.437 : Int1 = lowlevel Eq List.435 List.436;
|
||||
if List.437 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.430;
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.422 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.422;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.426 : U64 = 0i64;
|
||||
let List.427 : U64 = CallByName List.6 List.361;
|
||||
let List.425 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.426 List.427;
|
||||
ret List.425;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.420 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.420;
|
||||
|
||||
procedure List.86 (List.457, List.458, List.459, List.460, List.461):
|
||||
joinpoint List.428 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.430 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.430 then
|
||||
let List.439 : {Str, Str} = CallByName List.66 List.364 List.367;
|
||||
let List.431 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.439 List.366;
|
||||
let List.436 : U8 = 1i64;
|
||||
let List.437 : U8 = GetTagId List.431;
|
||||
let List.438 : Int1 = lowlevel Eq List.436 List.437;
|
||||
if List.438 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.431;
|
||||
inc List.369;
|
||||
dec List.430;
|
||||
let List.433 : U64 = 1i64;
|
||||
let List.432 : U64 = CallByName Num.19 List.367 List.433;
|
||||
jump List.427 List.364 List.369 List.366 List.432 List.368;
|
||||
dec List.431;
|
||||
let List.434 : U64 = 1i64;
|
||||
let List.433 : U64 = CallByName Num.19 List.367 List.434;
|
||||
jump List.428 List.364 List.369 List.366 List.433 List.368;
|
||||
else
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.430;
|
||||
dec List.430;
|
||||
let List.434 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.434;
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.431;
|
||||
dec List.431;
|
||||
let List.435 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.435;
|
||||
else
|
||||
let List.428 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.428;
|
||||
let List.429 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.429;
|
||||
in
|
||||
jump List.427 List.455 List.456 List.457 List.458 List.459;
|
||||
jump List.428 List.457 List.458 List.459 List.460 List.461;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.264 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
let Encode.105 : {Str} = CallByName Json.18 Encode.100;
|
||||
let Encode.105 : Str = CallByName Json.18 Encode.100;
|
||||
let Encode.103 : List U8 = CallByName Encode.23 Encode.104 Encode.105 Encode.101;
|
||||
ret Encode.103;
|
||||
|
||||
|
|
@ -16,23 +16,27 @@ procedure Json.1 ():
|
|||
ret Json.318;
|
||||
|
||||
procedure Json.18 (Json.86):
|
||||
let Json.320 : {Str} = Struct {Json.86};
|
||||
let Json.319 : {Str} = CallByName Encode.22 Json.320;
|
||||
let Json.320 : Str = StructAtIndex 0 Json.322;
|
||||
inc Json.320;
|
||||
dec Json.322;
|
||||
let Json.322 : {Str} = Struct {Json.86};
|
||||
let Json.319 : Str = CallByName Encode.22 Json.320;
|
||||
ret Json.319;
|
||||
|
||||
procedure Json.87 (Json.88, Json.321, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 #Attr.12;
|
||||
let Json.86 : Str = StructAtIndex 0 Json.332;
|
||||
inc Json.86;
|
||||
dec #Attr.12;
|
||||
let Json.330 : I32 = 34i64;
|
||||
let Json.329 : U8 = CallByName Num.123 Json.330;
|
||||
let Json.327 : List U8 = CallByName List.4 Json.88 Json.329;
|
||||
let Json.328 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.324 : List U8 = CallByName List.8 Json.327 Json.328;
|
||||
let Json.326 : I32 = 34i64;
|
||||
let Json.325 : U8 = CallByName Num.123 Json.326;
|
||||
let Json.323 : List U8 = CallByName List.4 Json.324 Json.325;
|
||||
ret Json.323;
|
||||
dec Json.332;
|
||||
let Json.332 : {Str} = Struct {#Attr.12};
|
||||
let Json.331 : I32 = 34i64;
|
||||
let Json.330 : U8 = CallByName Num.123 Json.331;
|
||||
let Json.328 : List U8 = CallByName List.4 Json.88 Json.330;
|
||||
let Json.329 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.325 : List U8 = CallByName List.8 Json.328 Json.329;
|
||||
let Json.327 : I32 = 34i64;
|
||||
let Json.326 : U8 = CallByName Num.123 Json.327;
|
||||
let Json.324 : List U8 = CallByName List.4 Json.325 Json.326;
|
||||
ret Json.324;
|
||||
|
||||
procedure List.4 (List.101, List.102):
|
||||
let List.392 : U64 = 1i64;
|
||||
|
|
|
|||
|
|
@ -1,21 +1,25 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.1 : {Str} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : {Str} = CallByName Encode.22 #Derived_gen.1;
|
||||
let #Derived_gen.1 : Str = StructAtIndex 0 #Derived_gen.2;
|
||||
inc #Derived_gen.1;
|
||||
dec #Derived_gen.2;
|
||||
let #Derived_gen.2 : {Str} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : Str = CallByName Encode.22 #Derived_gen.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.3 (#Derived.4, #Derived.5, #Attr.12):
|
||||
let #Derived.1 : Str = StructAtIndex 0 #Attr.12;
|
||||
let #Derived.1 : Str = StructAtIndex 0 #Derived_gen.11;
|
||||
inc #Derived.1;
|
||||
dec #Attr.12;
|
||||
joinpoint #Derived_gen.5 #Derived_gen.4:
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.23 #Derived.4 #Derived_gen.4 #Derived.5;
|
||||
ret #Derived_gen.3;
|
||||
dec #Derived_gen.11;
|
||||
let #Derived_gen.11 : {Str} = Struct {#Attr.12};
|
||||
joinpoint #Derived_gen.6 #Derived_gen.5:
|
||||
let #Derived_gen.4 : List U8 = CallByName Encode.23 #Derived.4 #Derived_gen.5 #Derived.5;
|
||||
ret #Derived_gen.4;
|
||||
in
|
||||
let #Derived_gen.7 : Str = "A";
|
||||
let #Derived_gen.9 : {Str} = CallByName Json.18 #Derived.1;
|
||||
let #Derived_gen.8 : List {Str} = Array [#Derived_gen.9];
|
||||
let #Derived_gen.6 : {Str, List {Str}} = CallByName Json.21 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
let #Derived_gen.8 : Str = "A";
|
||||
let #Derived_gen.10 : Str = CallByName Json.18 #Derived.1;
|
||||
let #Derived_gen.9 : List Str = Array [#Derived_gen.10];
|
||||
let #Derived_gen.7 : {Str, List Str} = CallByName Json.21 #Derived_gen.8 #Derived_gen.9;
|
||||
jump #Derived_gen.6 #Derived_gen.7;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
|
@ -40,7 +44,7 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
|
||||
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 #Derived.0 Encode.100;
|
||||
let Encode.103 : List U8 = CallByName Encode.23 Encode.104 Encode.105 Encode.101;
|
||||
ret Encode.103;
|
||||
|
||||
|
|
@ -49,99 +53,105 @@ procedure Json.1 ():
|
|||
ret Json.318;
|
||||
|
||||
procedure Json.117 (Json.118, Json.321, #Attr.12):
|
||||
let Json.116 : List {Str} = StructAtIndex 1 #Attr.12;
|
||||
let Json.116 : List Str = StructAtIndex 1 #Attr.12;
|
||||
inc Json.116;
|
||||
let Json.115 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.115;
|
||||
dec #Attr.12;
|
||||
let Json.362 : I32 = 123i64;
|
||||
let Json.361 : U8 = CallByName Num.123 Json.362;
|
||||
let Json.358 : List U8 = CallByName List.4 Json.118 Json.361;
|
||||
let Json.360 : I32 = 34i64;
|
||||
let Json.359 : U8 = CallByName Num.123 Json.360;
|
||||
let Json.356 : List U8 = CallByName List.4 Json.358 Json.359;
|
||||
let Json.357 : List U8 = CallByName Str.12 Json.115;
|
||||
let Json.353 : List U8 = CallByName List.8 Json.356 Json.357;
|
||||
let Json.355 : I32 = 34i64;
|
||||
let Json.354 : U8 = CallByName Num.123 Json.355;
|
||||
let Json.350 : List U8 = CallByName List.4 Json.353 Json.354;
|
||||
let Json.352 : I32 = 58i64;
|
||||
let Json.351 : U8 = CallByName Num.123 Json.352;
|
||||
let Json.347 : List U8 = CallByName List.4 Json.350 Json.351;
|
||||
let Json.349 : I32 = 91i64;
|
||||
let Json.348 : U8 = CallByName Num.123 Json.349;
|
||||
let Json.120 : List U8 = CallByName List.4 Json.347 Json.348;
|
||||
let Json.346 : U64 = CallByName List.6 Json.116;
|
||||
let Json.334 : {List U8, U64} = Struct {Json.120, Json.346};
|
||||
let Json.335 : {} = Struct {};
|
||||
let Json.333 : {List U8, U64} = CallByName List.18 Json.116 Json.334 Json.335;
|
||||
let Json.363 : I32 = 123i64;
|
||||
let Json.362 : U8 = CallByName Num.123 Json.363;
|
||||
let Json.359 : List U8 = CallByName List.4 Json.118 Json.362;
|
||||
let Json.361 : I32 = 34i64;
|
||||
let Json.360 : U8 = CallByName Num.123 Json.361;
|
||||
let Json.357 : List U8 = CallByName List.4 Json.359 Json.360;
|
||||
let Json.358 : List U8 = CallByName Str.12 Json.115;
|
||||
let Json.354 : List U8 = CallByName List.8 Json.357 Json.358;
|
||||
let Json.356 : I32 = 34i64;
|
||||
let Json.355 : U8 = CallByName Num.123 Json.356;
|
||||
let Json.351 : List U8 = CallByName List.4 Json.354 Json.355;
|
||||
let Json.353 : I32 = 58i64;
|
||||
let Json.352 : U8 = CallByName Num.123 Json.353;
|
||||
let Json.348 : List U8 = CallByName List.4 Json.351 Json.352;
|
||||
let Json.350 : I32 = 91i64;
|
||||
let Json.349 : U8 = CallByName Num.123 Json.350;
|
||||
let Json.120 : List U8 = CallByName List.4 Json.348 Json.349;
|
||||
let Json.347 : U64 = CallByName List.6 Json.116;
|
||||
let Json.335 : {List U8, U64} = Struct {Json.120, Json.347};
|
||||
let Json.336 : {} = Struct {};
|
||||
let Json.334 : {List U8, U64} = CallByName List.18 Json.116 Json.335 Json.336;
|
||||
dec Json.116;
|
||||
let Json.122 : List U8 = StructAtIndex 0 Json.333;
|
||||
let Json.122 : List U8 = StructAtIndex 0 Json.334;
|
||||
inc Json.122;
|
||||
dec Json.333;
|
||||
let Json.332 : I32 = 93i64;
|
||||
let Json.331 : U8 = CallByName Num.123 Json.332;
|
||||
let Json.328 : List U8 = CallByName List.4 Json.122 Json.331;
|
||||
let Json.330 : I32 = 125i64;
|
||||
let Json.329 : U8 = CallByName Num.123 Json.330;
|
||||
let Json.327 : List U8 = CallByName List.4 Json.328 Json.329;
|
||||
ret Json.327;
|
||||
dec Json.334;
|
||||
let Json.333 : I32 = 93i64;
|
||||
let Json.332 : U8 = CallByName Num.123 Json.333;
|
||||
let Json.329 : List U8 = CallByName List.4 Json.122 Json.332;
|
||||
let Json.331 : I32 = 125i64;
|
||||
let Json.330 : U8 = CallByName Num.123 Json.331;
|
||||
let Json.328 : List U8 = CallByName List.4 Json.329 Json.330;
|
||||
ret Json.328;
|
||||
|
||||
procedure Json.119 (Json.326, Json.125):
|
||||
let Json.123 : List U8 = StructAtIndex 0 Json.326;
|
||||
procedure Json.119 (Json.327, Json.125):
|
||||
let Json.123 : List U8 = StructAtIndex 0 Json.327;
|
||||
inc Json.123;
|
||||
let Json.124 : U64 = StructAtIndex 1 Json.326;
|
||||
dec Json.326;
|
||||
let Json.345 : {} = Struct {};
|
||||
let Json.126 : List U8 = CallByName Encode.23 Json.123 Json.125 Json.345;
|
||||
joinpoint Json.340 Json.127:
|
||||
let Json.338 : U64 = 1i64;
|
||||
let Json.337 : U64 = CallByName Num.20 Json.124 Json.338;
|
||||
let Json.336 : {List U8, U64} = Struct {Json.127, Json.337};
|
||||
ret Json.336;
|
||||
let Json.124 : U64 = StructAtIndex 1 Json.327;
|
||||
dec Json.327;
|
||||
let Json.346 : {} = Struct {};
|
||||
let Json.126 : List U8 = CallByName Encode.23 Json.123 Json.125 Json.346;
|
||||
joinpoint Json.341 Json.127:
|
||||
let Json.339 : U64 = 1i64;
|
||||
let Json.338 : U64 = CallByName Num.20 Json.124 Json.339;
|
||||
let Json.337 : {List U8, U64} = Struct {Json.127, Json.338};
|
||||
ret Json.337;
|
||||
in
|
||||
let Json.344 : U64 = 1i64;
|
||||
let Json.341 : Int1 = CallByName Num.24 Json.124 Json.344;
|
||||
if Json.341 then
|
||||
let Json.343 : I32 = 44i64;
|
||||
let Json.342 : U8 = CallByName Num.123 Json.343;
|
||||
let Json.339 : List U8 = CallByName List.4 Json.126 Json.342;
|
||||
jump Json.340 Json.339;
|
||||
let Json.345 : U64 = 1i64;
|
||||
let Json.342 : Int1 = CallByName Num.24 Json.124 Json.345;
|
||||
if Json.342 then
|
||||
let Json.344 : I32 = 44i64;
|
||||
let Json.343 : U8 = CallByName Num.123 Json.344;
|
||||
let Json.340 : List U8 = CallByName List.4 Json.126 Json.343;
|
||||
jump Json.341 Json.340;
|
||||
else
|
||||
jump Json.340 Json.126;
|
||||
jump Json.341 Json.126;
|
||||
|
||||
procedure Json.18 (Json.86):
|
||||
let Json.323 : {Str} = Struct {Json.86};
|
||||
let Json.322 : {Str} = CallByName Encode.22 Json.323;
|
||||
let Json.323 : Str = StructAtIndex 0 Json.325;
|
||||
inc Json.323;
|
||||
dec Json.325;
|
||||
let Json.325 : {Str} = Struct {Json.86};
|
||||
let Json.322 : Str = CallByName Encode.22 Json.323;
|
||||
ret Json.322;
|
||||
|
||||
procedure Json.21 (Json.115, Json.116):
|
||||
let Json.320 : {Str, List {Str}} = Struct {Json.115, Json.116};
|
||||
let Json.319 : {Str, List {Str}} = CallByName Encode.22 Json.320;
|
||||
let Json.320 : {Str, List Str} = Struct {Json.115, Json.116};
|
||||
let Json.319 : {Str, List Str} = CallByName Encode.22 Json.320;
|
||||
ret Json.319;
|
||||
|
||||
procedure Json.87 (Json.88, Json.324, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 #Attr.12;
|
||||
let Json.86 : Str = StructAtIndex 0 Json.373;
|
||||
inc Json.86;
|
||||
dec #Attr.12;
|
||||
let Json.371 : I32 = 34i64;
|
||||
let Json.370 : U8 = CallByName Num.123 Json.371;
|
||||
let Json.368 : List U8 = CallByName List.4 Json.88 Json.370;
|
||||
let Json.369 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.365 : List U8 = CallByName List.8 Json.368 Json.369;
|
||||
let Json.367 : I32 = 34i64;
|
||||
let Json.366 : U8 = CallByName Num.123 Json.367;
|
||||
let Json.364 : List U8 = CallByName List.4 Json.365 Json.366;
|
||||
ret Json.364;
|
||||
dec Json.373;
|
||||
let Json.373 : {Str} = Struct {#Attr.12};
|
||||
let Json.372 : I32 = 34i64;
|
||||
let Json.371 : U8 = CallByName Num.123 Json.372;
|
||||
let Json.369 : List U8 = CallByName List.4 Json.88 Json.371;
|
||||
let Json.370 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.366 : List U8 = CallByName List.8 Json.369 Json.370;
|
||||
let Json.368 : I32 = 34i64;
|
||||
let Json.367 : U8 = CallByName Num.123 Json.368;
|
||||
let Json.365 : List U8 = CallByName List.4 Json.366 Json.367;
|
||||
ret Json.365;
|
||||
|
||||
procedure List.133 (List.134, List.135, #Attr.12):
|
||||
let List.132 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.447 : {List U8, U64} = CallByName Json.119 List.134 List.135;
|
||||
let List.446 : [C [], C {List U8, U64}] = TagId(1) List.447;
|
||||
ret List.446;
|
||||
let List.132 : {} = StructAtIndex 0 List.449;
|
||||
let List.449 : {{}} = Struct {#Attr.12};
|
||||
let List.448 : {List U8, U64} = CallByName Json.119 List.134 List.135;
|
||||
let List.447 : [C [], C {List U8, U64}] = TagId(1) List.448;
|
||||
ret List.447;
|
||||
|
||||
procedure List.18 (List.130, List.131, List.132):
|
||||
let List.423 : {{}} = Struct {List.132};
|
||||
let List.423 : {} = StructAtIndex 0 List.424;
|
||||
let List.424 : {{}} = Struct {List.132};
|
||||
let List.417 : [C [], C {List U8, U64}] = CallByName List.75 List.130 List.131 List.423;
|
||||
let List.420 : U8 = 1i64;
|
||||
let List.421 : U8 = GetTagId List.417;
|
||||
|
|
@ -168,61 +178,61 @@ procedure List.6 (#Attr.2):
|
|||
ret List.385;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.424 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.424;
|
||||
let List.425 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.425;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.445 : {Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.445;
|
||||
let List.446 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.446;
|
||||
|
||||
procedure List.69 (#Attr.2):
|
||||
let List.429 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.429;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.428 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.428;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.427 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.427;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.431 : U64 = 0i64;
|
||||
let List.432 : U64 = CallByName List.6 List.361;
|
||||
let List.430 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.431 List.432;
|
||||
let List.430 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.430;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.426 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.426;
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.429 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.429;
|
||||
|
||||
procedure List.86 (List.461, List.462, List.463, List.464, List.465):
|
||||
joinpoint List.433 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.435 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.435 then
|
||||
let List.444 : {Str} = CallByName List.66 List.364 List.367;
|
||||
let List.436 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.444 List.366;
|
||||
let List.441 : U8 = 1i64;
|
||||
let List.442 : U8 = GetTagId List.436;
|
||||
let List.443 : Int1 = lowlevel Eq List.441 List.442;
|
||||
if List.443 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.436;
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.428 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.428;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.432 : U64 = 0i64;
|
||||
let List.433 : U64 = CallByName List.6 List.361;
|
||||
let List.431 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.432 List.433;
|
||||
ret List.431;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.427 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.427;
|
||||
|
||||
procedure List.86 (List.463, List.464, List.465, List.466, List.467):
|
||||
joinpoint List.434 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.436 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.436 then
|
||||
let List.445 : Str = CallByName List.66 List.364 List.367;
|
||||
let List.437 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.445 List.366;
|
||||
let List.442 : U8 = 1i64;
|
||||
let List.443 : U8 = GetTagId List.437;
|
||||
let List.444 : Int1 = lowlevel Eq List.442 List.443;
|
||||
if List.444 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.437;
|
||||
inc List.369;
|
||||
dec List.436;
|
||||
let List.439 : U64 = 1i64;
|
||||
let List.438 : U64 = CallByName Num.19 List.367 List.439;
|
||||
jump List.433 List.364 List.369 List.366 List.438 List.368;
|
||||
dec List.437;
|
||||
let List.440 : U64 = 1i64;
|
||||
let List.439 : U64 = CallByName Num.19 List.367 List.440;
|
||||
jump List.434 List.364 List.369 List.366 List.439 List.368;
|
||||
else
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.436;
|
||||
dec List.436;
|
||||
let List.440 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.440;
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.437;
|
||||
dec List.437;
|
||||
let List.441 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.441;
|
||||
else
|
||||
let List.434 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.434;
|
||||
let List.435 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.435;
|
||||
in
|
||||
jump List.433 List.461 List.462 List.463 List.464 List.465;
|
||||
jump List.434 List.463 List.464 List.465 List.466 List.467;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.266 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
|||
|
|
@ -1,27 +1,31 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.1 : {{Str, Str}} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : {{Str, Str}} = CallByName Encode.22 #Derived_gen.1;
|
||||
let #Derived_gen.1 : {Str, Str} = StructAtIndex 0 #Derived_gen.2;
|
||||
inc #Derived_gen.1;
|
||||
dec #Derived_gen.2;
|
||||
let #Derived_gen.2 : {{Str, Str}} = Struct {#Derived.1};
|
||||
let #Derived_gen.0 : {Str, Str} = CallByName Encode.22 #Derived_gen.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.4 (#Derived.5, #Derived.6, #Attr.12):
|
||||
let #Derived.1 : {Str, Str} = StructAtIndex 0 #Attr.12;
|
||||
let #Derived.1 : {Str, Str} = StructAtIndex 0 #Derived_gen.12;
|
||||
inc #Derived.1;
|
||||
dec #Attr.12;
|
||||
joinpoint #Derived_gen.5 #Derived_gen.4:
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.23 #Derived.5 #Derived_gen.4 #Derived.6;
|
||||
ret #Derived_gen.3;
|
||||
dec #Derived_gen.12;
|
||||
let #Derived_gen.12 : {{Str, Str}} = Struct {#Attr.12};
|
||||
joinpoint #Derived_gen.6 #Derived_gen.5:
|
||||
let #Derived_gen.4 : List U8 = CallByName Encode.23 #Derived.5 #Derived_gen.5 #Derived.6;
|
||||
ret #Derived_gen.4;
|
||||
in
|
||||
let #Derived.2 : Str = StructAtIndex 0 #Derived.1;
|
||||
inc #Derived.2;
|
||||
let #Derived.3 : Str = StructAtIndex 1 #Derived.1;
|
||||
inc #Derived.3;
|
||||
dec #Derived.1;
|
||||
let #Derived_gen.7 : Str = "A";
|
||||
let #Derived_gen.9 : {Str} = CallByName Json.18 #Derived.2;
|
||||
let #Derived_gen.10 : {Str} = CallByName Json.18 #Derived.3;
|
||||
let #Derived_gen.8 : List {Str} = Array [#Derived_gen.9, #Derived_gen.10];
|
||||
let #Derived_gen.6 : {Str, List {Str}} = CallByName Json.21 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
let #Derived_gen.8 : Str = "A";
|
||||
let #Derived_gen.10 : Str = CallByName Json.18 #Derived.2;
|
||||
let #Derived_gen.11 : Str = CallByName Json.18 #Derived.3;
|
||||
let #Derived_gen.9 : List Str = Array [#Derived_gen.10, #Derived_gen.11];
|
||||
let #Derived_gen.7 : {Str, List Str} = CallByName Json.21 #Derived_gen.8 #Derived_gen.9;
|
||||
jump #Derived_gen.6 #Derived_gen.7;
|
||||
|
||||
procedure Encode.22 (Encode.93):
|
||||
ret Encode.93;
|
||||
|
|
@ -46,7 +50,7 @@ procedure Encode.23 (Encode.94, Encode.102, Encode.96):
|
|||
|
||||
procedure Encode.25 (Encode.100, Encode.101):
|
||||
let Encode.104 : List U8 = Array [];
|
||||
let Encode.105 : {{Str, Str}} = CallByName #Derived.0 Encode.100;
|
||||
let Encode.105 : {Str, Str} = CallByName #Derived.0 Encode.100;
|
||||
let Encode.103 : List U8 = CallByName Encode.23 Encode.104 Encode.105 Encode.101;
|
||||
ret Encode.103;
|
||||
|
||||
|
|
@ -55,99 +59,105 @@ procedure Json.1 ():
|
|||
ret Json.318;
|
||||
|
||||
procedure Json.117 (Json.118, Json.321, #Attr.12):
|
||||
let Json.116 : List {Str} = StructAtIndex 1 #Attr.12;
|
||||
let Json.116 : List Str = StructAtIndex 1 #Attr.12;
|
||||
inc Json.116;
|
||||
let Json.115 : Str = StructAtIndex 0 #Attr.12;
|
||||
inc Json.115;
|
||||
dec #Attr.12;
|
||||
let Json.365 : I32 = 123i64;
|
||||
let Json.367 : I32 = 123i64;
|
||||
let Json.366 : U8 = CallByName Num.123 Json.367;
|
||||
let Json.363 : List U8 = CallByName List.4 Json.118 Json.366;
|
||||
let Json.365 : I32 = 34i64;
|
||||
let Json.364 : U8 = CallByName Num.123 Json.365;
|
||||
let Json.361 : List U8 = CallByName List.4 Json.118 Json.364;
|
||||
let Json.363 : I32 = 34i64;
|
||||
let Json.362 : U8 = CallByName Num.123 Json.363;
|
||||
let Json.359 : List U8 = CallByName List.4 Json.361 Json.362;
|
||||
let Json.360 : List U8 = CallByName Str.12 Json.115;
|
||||
let Json.356 : List U8 = CallByName List.8 Json.359 Json.360;
|
||||
let Json.358 : I32 = 34i64;
|
||||
let Json.357 : U8 = CallByName Num.123 Json.358;
|
||||
let Json.353 : List U8 = CallByName List.4 Json.356 Json.357;
|
||||
let Json.355 : I32 = 58i64;
|
||||
let Json.354 : U8 = CallByName Num.123 Json.355;
|
||||
let Json.350 : List U8 = CallByName List.4 Json.353 Json.354;
|
||||
let Json.352 : I32 = 91i64;
|
||||
let Json.351 : U8 = CallByName Num.123 Json.352;
|
||||
let Json.120 : List U8 = CallByName List.4 Json.350 Json.351;
|
||||
let Json.349 : U64 = CallByName List.6 Json.116;
|
||||
let Json.337 : {List U8, U64} = Struct {Json.120, Json.349};
|
||||
let Json.338 : {} = Struct {};
|
||||
let Json.336 : {List U8, U64} = CallByName List.18 Json.116 Json.337 Json.338;
|
||||
let Json.361 : List U8 = CallByName List.4 Json.363 Json.364;
|
||||
let Json.362 : List U8 = CallByName Str.12 Json.115;
|
||||
let Json.358 : List U8 = CallByName List.8 Json.361 Json.362;
|
||||
let Json.360 : I32 = 34i64;
|
||||
let Json.359 : U8 = CallByName Num.123 Json.360;
|
||||
let Json.355 : List U8 = CallByName List.4 Json.358 Json.359;
|
||||
let Json.357 : I32 = 58i64;
|
||||
let Json.356 : U8 = CallByName Num.123 Json.357;
|
||||
let Json.352 : List U8 = CallByName List.4 Json.355 Json.356;
|
||||
let Json.354 : I32 = 91i64;
|
||||
let Json.353 : U8 = CallByName Num.123 Json.354;
|
||||
let Json.120 : List U8 = CallByName List.4 Json.352 Json.353;
|
||||
let Json.351 : U64 = CallByName List.6 Json.116;
|
||||
let Json.339 : {List U8, U64} = Struct {Json.120, Json.351};
|
||||
let Json.340 : {} = Struct {};
|
||||
let Json.338 : {List U8, U64} = CallByName List.18 Json.116 Json.339 Json.340;
|
||||
dec Json.116;
|
||||
let Json.122 : List U8 = StructAtIndex 0 Json.336;
|
||||
let Json.122 : List U8 = StructAtIndex 0 Json.338;
|
||||
inc Json.122;
|
||||
dec Json.336;
|
||||
let Json.335 : I32 = 93i64;
|
||||
dec Json.338;
|
||||
let Json.337 : I32 = 93i64;
|
||||
let Json.336 : U8 = CallByName Num.123 Json.337;
|
||||
let Json.333 : List U8 = CallByName List.4 Json.122 Json.336;
|
||||
let Json.335 : I32 = 125i64;
|
||||
let Json.334 : U8 = CallByName Num.123 Json.335;
|
||||
let Json.331 : List U8 = CallByName List.4 Json.122 Json.334;
|
||||
let Json.333 : I32 = 125i64;
|
||||
let Json.332 : U8 = CallByName Num.123 Json.333;
|
||||
let Json.330 : List U8 = CallByName List.4 Json.331 Json.332;
|
||||
ret Json.330;
|
||||
let Json.332 : List U8 = CallByName List.4 Json.333 Json.334;
|
||||
ret Json.332;
|
||||
|
||||
procedure Json.119 (Json.329, Json.125):
|
||||
let Json.123 : List U8 = StructAtIndex 0 Json.329;
|
||||
procedure Json.119 (Json.331, Json.125):
|
||||
let Json.123 : List U8 = StructAtIndex 0 Json.331;
|
||||
inc Json.123;
|
||||
let Json.124 : U64 = StructAtIndex 1 Json.329;
|
||||
dec Json.329;
|
||||
let Json.348 : {} = Struct {};
|
||||
let Json.126 : List U8 = CallByName Encode.23 Json.123 Json.125 Json.348;
|
||||
joinpoint Json.343 Json.127:
|
||||
let Json.341 : U64 = 1i64;
|
||||
let Json.340 : U64 = CallByName Num.20 Json.124 Json.341;
|
||||
let Json.339 : {List U8, U64} = Struct {Json.127, Json.340};
|
||||
ret Json.339;
|
||||
let Json.124 : U64 = StructAtIndex 1 Json.331;
|
||||
dec Json.331;
|
||||
let Json.350 : {} = Struct {};
|
||||
let Json.126 : List U8 = CallByName Encode.23 Json.123 Json.125 Json.350;
|
||||
joinpoint Json.345 Json.127:
|
||||
let Json.343 : U64 = 1i64;
|
||||
let Json.342 : U64 = CallByName Num.20 Json.124 Json.343;
|
||||
let Json.341 : {List U8, U64} = Struct {Json.127, Json.342};
|
||||
ret Json.341;
|
||||
in
|
||||
let Json.347 : U64 = 1i64;
|
||||
let Json.344 : Int1 = CallByName Num.24 Json.124 Json.347;
|
||||
if Json.344 then
|
||||
let Json.346 : I32 = 44i64;
|
||||
let Json.345 : U8 = CallByName Num.123 Json.346;
|
||||
let Json.342 : List U8 = CallByName List.4 Json.126 Json.345;
|
||||
jump Json.343 Json.342;
|
||||
let Json.349 : U64 = 1i64;
|
||||
let Json.346 : Int1 = CallByName Num.24 Json.124 Json.349;
|
||||
if Json.346 then
|
||||
let Json.348 : I32 = 44i64;
|
||||
let Json.347 : U8 = CallByName Num.123 Json.348;
|
||||
let Json.344 : List U8 = CallByName List.4 Json.126 Json.347;
|
||||
jump Json.345 Json.344;
|
||||
else
|
||||
jump Json.343 Json.126;
|
||||
jump Json.345 Json.126;
|
||||
|
||||
procedure Json.18 (Json.86):
|
||||
let Json.326 : {Str} = Struct {Json.86};
|
||||
let Json.325 : {Str} = CallByName Encode.22 Json.326;
|
||||
ret Json.325;
|
||||
let Json.327 : Str = StructAtIndex 0 Json.329;
|
||||
inc Json.327;
|
||||
dec Json.329;
|
||||
let Json.329 : {Str} = Struct {Json.86};
|
||||
let Json.326 : Str = CallByName Encode.22 Json.327;
|
||||
ret Json.326;
|
||||
|
||||
procedure Json.21 (Json.115, Json.116):
|
||||
let Json.320 : {Str, List {Str}} = Struct {Json.115, Json.116};
|
||||
let Json.319 : {Str, List {Str}} = CallByName Encode.22 Json.320;
|
||||
let Json.320 : {Str, List Str} = Struct {Json.115, Json.116};
|
||||
let Json.319 : {Str, List Str} = CallByName Encode.22 Json.320;
|
||||
ret Json.319;
|
||||
|
||||
procedure Json.87 (Json.88, Json.324, #Attr.12):
|
||||
let Json.86 : Str = StructAtIndex 0 #Attr.12;
|
||||
let Json.86 : Str = StructAtIndex 0 Json.377;
|
||||
inc Json.86;
|
||||
dec #Attr.12;
|
||||
let Json.374 : I32 = 34i64;
|
||||
let Json.373 : U8 = CallByName Num.123 Json.374;
|
||||
let Json.371 : List U8 = CallByName List.4 Json.88 Json.373;
|
||||
let Json.372 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.368 : List U8 = CallByName List.8 Json.371 Json.372;
|
||||
let Json.370 : I32 = 34i64;
|
||||
let Json.369 : U8 = CallByName Num.123 Json.370;
|
||||
let Json.367 : List U8 = CallByName List.4 Json.368 Json.369;
|
||||
ret Json.367;
|
||||
dec Json.377;
|
||||
let Json.377 : {Str} = Struct {#Attr.12};
|
||||
let Json.376 : I32 = 34i64;
|
||||
let Json.375 : U8 = CallByName Num.123 Json.376;
|
||||
let Json.373 : List U8 = CallByName List.4 Json.88 Json.375;
|
||||
let Json.374 : List U8 = CallByName Str.12 Json.86;
|
||||
let Json.370 : List U8 = CallByName List.8 Json.373 Json.374;
|
||||
let Json.372 : I32 = 34i64;
|
||||
let Json.371 : U8 = CallByName Num.123 Json.372;
|
||||
let Json.369 : List U8 = CallByName List.4 Json.370 Json.371;
|
||||
ret Json.369;
|
||||
|
||||
procedure List.133 (List.134, List.135, #Attr.12):
|
||||
let List.132 : {} = StructAtIndex 0 #Attr.12;
|
||||
let List.447 : {List U8, U64} = CallByName Json.119 List.134 List.135;
|
||||
let List.446 : [C [], C {List U8, U64}] = TagId(1) List.447;
|
||||
ret List.446;
|
||||
let List.132 : {} = StructAtIndex 0 List.449;
|
||||
let List.449 : {{}} = Struct {#Attr.12};
|
||||
let List.448 : {List U8, U64} = CallByName Json.119 List.134 List.135;
|
||||
let List.447 : [C [], C {List U8, U64}] = TagId(1) List.448;
|
||||
ret List.447;
|
||||
|
||||
procedure List.18 (List.130, List.131, List.132):
|
||||
let List.423 : {{}} = Struct {List.132};
|
||||
let List.423 : {} = StructAtIndex 0 List.424;
|
||||
let List.424 : {{}} = Struct {List.132};
|
||||
let List.417 : [C [], C {List U8, U64}] = CallByName List.75 List.130 List.131 List.423;
|
||||
let List.420 : U8 = 1i64;
|
||||
let List.421 : U8 = GetTagId List.417;
|
||||
|
|
@ -174,61 +184,61 @@ procedure List.6 (#Attr.2):
|
|||
ret List.385;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.424 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.424;
|
||||
let List.425 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.425;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.445 : {Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.445;
|
||||
let List.446 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.446;
|
||||
|
||||
procedure List.69 (#Attr.2):
|
||||
let List.429 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.429;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.428 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.428;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.427 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.427;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.431 : U64 = 0i64;
|
||||
let List.432 : U64 = CallByName List.6 List.361;
|
||||
let List.430 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.431 List.432;
|
||||
let List.430 : {List U8, U64} = lowlevel Unreachable #Attr.2;
|
||||
ret List.430;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.426 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.426;
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.429 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.429;
|
||||
|
||||
procedure List.86 (List.461, List.462, List.463, List.464, List.465):
|
||||
joinpoint List.433 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.435 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.435 then
|
||||
let List.444 : {Str} = CallByName List.66 List.364 List.367;
|
||||
let List.436 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.444 List.366;
|
||||
let List.441 : U8 = 1i64;
|
||||
let List.442 : U8 = GetTagId List.436;
|
||||
let List.443 : Int1 = lowlevel Eq List.441 List.442;
|
||||
if List.443 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.436;
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.428 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.428;
|
||||
|
||||
procedure List.75 (List.361, List.362, List.363):
|
||||
let List.432 : U64 = 0i64;
|
||||
let List.433 : U64 = CallByName List.6 List.361;
|
||||
let List.431 : [C [], C {List U8, U64}] = CallByName List.86 List.361 List.362 List.363 List.432 List.433;
|
||||
ret List.431;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.427 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.427;
|
||||
|
||||
procedure List.86 (List.463, List.464, List.465, List.466, List.467):
|
||||
joinpoint List.434 List.364 List.365 List.366 List.367 List.368:
|
||||
let List.436 : Int1 = CallByName Num.22 List.367 List.368;
|
||||
if List.436 then
|
||||
let List.445 : Str = CallByName List.66 List.364 List.367;
|
||||
let List.437 : [C [], C {List U8, U64}] = CallByName List.133 List.365 List.445 List.366;
|
||||
let List.442 : U8 = 1i64;
|
||||
let List.443 : U8 = GetTagId List.437;
|
||||
let List.444 : Int1 = lowlevel Eq List.442 List.443;
|
||||
if List.444 then
|
||||
let List.369 : {List U8, U64} = UnionAtIndex (Id 1) (Index 0) List.437;
|
||||
inc List.369;
|
||||
dec List.436;
|
||||
let List.439 : U64 = 1i64;
|
||||
let List.438 : U64 = CallByName Num.19 List.367 List.439;
|
||||
jump List.433 List.364 List.369 List.366 List.438 List.368;
|
||||
dec List.437;
|
||||
let List.440 : U64 = 1i64;
|
||||
let List.439 : U64 = CallByName Num.19 List.367 List.440;
|
||||
jump List.434 List.364 List.369 List.366 List.439 List.368;
|
||||
else
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.436;
|
||||
dec List.436;
|
||||
let List.440 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.440;
|
||||
let List.370 : [] = UnionAtIndex (Id 0) (Index 0) List.437;
|
||||
dec List.437;
|
||||
let List.441 : [C [], C {List U8, U64}] = TagId(0) List.370;
|
||||
ret List.441;
|
||||
else
|
||||
let List.434 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.434;
|
||||
let List.435 : [C [], C {List U8, U64}] = TagId(1) List.365;
|
||||
ret List.435;
|
||||
in
|
||||
jump List.433 List.461 List.462 List.463 List.464 List.465;
|
||||
jump List.434 List.463 List.464 List.465 List.466 List.467;
|
||||
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.266 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
|||
|
|
@ -3,18 +3,19 @@ procedure Test.11 (Test.37):
|
|||
ret Test.38;
|
||||
|
||||
procedure Test.13 (Test.51, #Attr.12):
|
||||
let Test.12 : Str = StructAtIndex 0 #Attr.12;
|
||||
let Test.12 : Str = StructAtIndex 0 Test.54;
|
||||
inc Test.12;
|
||||
dec #Attr.12;
|
||||
dec Test.54;
|
||||
let Test.54 : {Str} = Struct {#Attr.12};
|
||||
ret Test.12;
|
||||
|
||||
procedure Test.15 (Test.39):
|
||||
let Test.40 : Str = "";
|
||||
ret Test.40;
|
||||
|
||||
procedure Test.16 (Test.54):
|
||||
let Test.56 : Str = "s1";
|
||||
ret Test.56;
|
||||
procedure Test.16 (Test.56):
|
||||
let Test.58 : Str = "s1";
|
||||
ret Test.58;
|
||||
|
||||
procedure Test.2 (Test.7, Test.8):
|
||||
let Test.9 : [C {} {}, C {} {}] = TagId(0) Test.7 Test.8;
|
||||
|
|
@ -29,7 +30,10 @@ procedure Test.3 (Test.17):
|
|||
ret Test.36;
|
||||
|
||||
procedure Test.4 (Test.18):
|
||||
let Test.50 : {Str} = Struct {Test.18};
|
||||
let Test.50 : Str = StructAtIndex 0 Test.55;
|
||||
inc Test.50;
|
||||
dec Test.55;
|
||||
let Test.55 : {Str} = Struct {Test.18};
|
||||
ret Test.50;
|
||||
|
||||
procedure Test.9 (Test.29, #Attr.12):
|
||||
|
|
@ -48,7 +52,7 @@ procedure Test.9 (Test.29, #Attr.12):
|
|||
let Test.7 : {} = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
let Test.49 : {} = Struct {};
|
||||
let Test.48 : Str = CallByName Test.16 Test.49;
|
||||
let Test.45 : {Str} = CallByName Test.4 Test.48;
|
||||
let Test.45 : Str = CallByName Test.4 Test.48;
|
||||
let Test.47 : {} = Struct {};
|
||||
let Test.46 : Str = CallByName Test.13 Test.47 Test.45;
|
||||
ret Test.46;
|
||||
|
|
@ -71,9 +75,9 @@ procedure Test.0 ():
|
|||
jump Test.22 Test.24;
|
||||
|
||||
in
|
||||
let Test.57 : Int1 = true;
|
||||
let Test.58 : Int1 = lowlevel Eq Test.57 Test.5;
|
||||
if Test.58 then
|
||||
let Test.59 : Int1 = true;
|
||||
let Test.60 : Int1 = lowlevel Eq Test.59 Test.5;
|
||||
if Test.60 then
|
||||
let Test.27 : {} = Struct {};
|
||||
let Test.28 : {} = Struct {};
|
||||
let Test.26 : [C {} {}, C {} {}] = CallByName Test.2 Test.27 Test.28;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
procedure Test.1 (Test.4):
|
||||
let Test.5 : {Str} = Struct {Test.4};
|
||||
let Test.5 : Str = StructAtIndex 0 Test.16;
|
||||
inc Test.5;
|
||||
dec Test.16;
|
||||
let Test.16 : {Str} = Struct {Test.4};
|
||||
ret Test.5;
|
||||
|
||||
procedure Test.5 (Test.12, #Attr.12):
|
||||
let Test.4 : Str = StructAtIndex 0 #Attr.12;
|
||||
let Test.4 : Str = StructAtIndex 0 Test.15;
|
||||
inc Test.4;
|
||||
dec #Attr.12;
|
||||
dec Test.15;
|
||||
let Test.15 : {Str} = Struct {#Attr.12};
|
||||
let Test.14 : Str = "";
|
||||
ret Test.14;
|
||||
|
||||
|
|
@ -14,13 +18,13 @@ procedure Test.0 ():
|
|||
joinpoint Test.9 Test.3:
|
||||
ret Test.3;
|
||||
in
|
||||
let Test.19 : Int1 = true;
|
||||
let Test.20 : Int1 = lowlevel Eq Test.19 Test.2;
|
||||
if Test.20 then
|
||||
let Test.15 : Str = "";
|
||||
let Test.10 : {Str} = CallByName Test.1 Test.15;
|
||||
let Test.21 : Int1 = true;
|
||||
let Test.22 : Int1 = lowlevel Eq Test.21 Test.2;
|
||||
if Test.22 then
|
||||
let Test.17 : Str = "";
|
||||
let Test.10 : Str = CallByName Test.1 Test.17;
|
||||
jump Test.9 Test.10;
|
||||
else
|
||||
let Test.18 : Str = "";
|
||||
let Test.16 : {Str} = CallByName Test.1 Test.18;
|
||||
jump Test.9 Test.16;
|
||||
let Test.20 : Str = "";
|
||||
let Test.18 : Str = CallByName Test.1 Test.20;
|
||||
jump Test.9 Test.18;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,17 @@
|
|||
procedure Test.1 (Test.5):
|
||||
let Test.2 : I64 = 42i64;
|
||||
let Test.3 : {I64} = Struct {Test.2};
|
||||
let Test.3 : I64 = StructAtIndex 0 Test.13;
|
||||
let Test.13 : {I64} = Struct {Test.2};
|
||||
ret Test.3;
|
||||
|
||||
procedure Test.3 (Test.9, #Attr.12):
|
||||
let Test.2 : I64 = StructAtIndex 0 #Attr.12;
|
||||
let Test.2 : I64 = StructAtIndex 0 Test.12;
|
||||
let Test.12 : {I64} = Struct {#Attr.12};
|
||||
ret Test.2;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.8 : {} = Struct {};
|
||||
let Test.4 : {I64} = CallByName Test.1 Test.8;
|
||||
let Test.4 : I64 = CallByName Test.1 Test.8;
|
||||
let Test.7 : {} = Struct {};
|
||||
let Test.6 : I64 = CallByName Test.3 Test.7 Test.4;
|
||||
ret Test.6;
|
||||
|
|
|
|||
|
|
@ -4,22 +4,25 @@ procedure Num.19 (#Attr.2, #Attr.3):
|
|||
|
||||
procedure Test.1 (Test.2):
|
||||
let Test.9 : U32 = 0i64;
|
||||
let Test.16 : {U32} = Struct {Test.2};
|
||||
let Test.8 : U32 = CallByName Test.3 Test.9 Test.16;
|
||||
let Test.18 : U32 = StructAtIndex 0 Test.19;
|
||||
let Test.19 : {U32} = Struct {Test.2};
|
||||
let Test.8 : U32 = CallByName Test.3 Test.9 Test.18;
|
||||
ret Test.8;
|
||||
|
||||
procedure Test.3 (Test.18, Test.19):
|
||||
procedure Test.3 (Test.21, Test.22):
|
||||
joinpoint Test.10 Test.4 #Attr.12:
|
||||
let Test.2 : U32 = StructAtIndex 0 #Attr.12;
|
||||
let Test.14 : Int1 = true;
|
||||
if Test.14 then
|
||||
let Test.2 : U32 = StructAtIndex 0 Test.17;
|
||||
let Test.17 : {U32} = Struct {#Attr.12};
|
||||
let Test.15 : Int1 = true;
|
||||
if Test.15 then
|
||||
ret Test.4;
|
||||
else
|
||||
let Test.12 : U32 = CallByName Num.19 Test.4 Test.2;
|
||||
let Test.13 : {U32} = Struct {Test.2};
|
||||
let Test.13 : U32 = StructAtIndex 0 Test.14;
|
||||
let Test.14 : {U32} = Struct {Test.2};
|
||||
jump Test.10 Test.12 Test.13;
|
||||
in
|
||||
jump Test.10 Test.18 Test.19;
|
||||
jump Test.10 Test.21 Test.22;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.7 : U32 = 6i64;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue