mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 12:18:19 +00:00
fix mono tests with wrapping custom function
This commit is contained in:
parent
32c3d49e85
commit
79a58843b5
9 changed files with 1364 additions and 17 deletions
|
@ -86,7 +86,7 @@ InspectFormatter implements
|
|||
Inspector f := f -> f where f implements InspectFormatter
|
||||
|
||||
custom : (f -> f) -> Inspector f where f implements InspectFormatter
|
||||
custom = @Inspector
|
||||
custom = \fn -> @Inspector fn
|
||||
|
||||
apply : Inspector f, f -> f where f implements InspectFormatter
|
||||
apply = \@Inspector fn, fmt -> fn fmt
|
||||
|
|
172
crates/compiler/test_mono/generated/inspect_derived_list.txt
Normal file
172
crates/compiler/test_mono/generated/inspect_derived_list.txt
Normal file
|
@ -0,0 +1,172 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.0 : List I64 = CallByName Inspect.30 #Derived.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.3 (#Derived.2):
|
||||
let #Derived_gen.7 : I64 = CallByName Inspect.54 #Derived.2;
|
||||
ret #Derived_gen.7;
|
||||
|
||||
procedure #Derived.4 (#Derived.5, #Derived.1):
|
||||
let #Derived_gen.5 : {} = Struct {};
|
||||
let #Derived_gen.6 : {} = Struct {};
|
||||
let #Derived_gen.4 : {List I64, {}, {}} = CallByName Inspect.37 #Derived.1 #Derived_gen.5 #Derived_gen.6;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.5;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.1 ():
|
||||
let Bool.24 : Int1 = false;
|
||||
ret Bool.24;
|
||||
|
||||
procedure Bool.2 ():
|
||||
let Bool.23 : Int1 = true;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Inspect.155 (Inspect.156, #Attr.12):
|
||||
let Inspect.154 : {} = StructAtIndex 2 #Attr.12;
|
||||
let Inspect.153 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Inspect.152 : List I64 = StructAtIndex 0 #Attr.12;
|
||||
let Inspect.345 : Str = "[";
|
||||
let Inspect.328 : Str = CallByName Inspect.61 Inspect.156 Inspect.345;
|
||||
let Inspect.329 : {List I64, {}, {}} = Struct {Inspect.152, Inspect.153, Inspect.154};
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.157 Inspect.328 Inspect.329;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.166 Inspect.324;
|
||||
let Inspect.321 : Str = "]";
|
||||
let Inspect.319 : Str = CallByName Inspect.61 Inspect.320 Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.157 (Inspect.158, #Attr.12):
|
||||
let Inspect.154 : {} = StructAtIndex 2 #Attr.12;
|
||||
let Inspect.153 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Inspect.152 : List I64 = StructAtIndex 0 #Attr.12;
|
||||
let Bool.1 : Int1 = CallByName Bool.1;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.158, Bool.1};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.152 Inspect.332 Inspect.154;
|
||||
ret Inspect.331;
|
||||
|
||||
procedure Inspect.159 (Inspect.334, Inspect.162, Inspect.154):
|
||||
let Inspect.160 : Str = StructAtIndex 0 Inspect.334;
|
||||
let Inspect.161 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.343 Inspect.163:
|
||||
let Inspect.340 : I64 = CallByName #Derived.3 Inspect.162;
|
||||
let Inspect.337 : Str = CallByName Inspect.31 Inspect.340 Inspect.163;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.164 Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.161 then
|
||||
let Inspect.344 : Str = ", ";
|
||||
let Inspect.342 : Str = CallByName Inspect.61 Inspect.160 Inspect.344;
|
||||
jump Inspect.343 Inspect.342;
|
||||
else
|
||||
jump Inspect.343 Inspect.160;
|
||||
|
||||
procedure Inspect.164 (Inspect.165):
|
||||
let Bool.2 : Int1 = CallByName Bool.2;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.165, Bool.2};
|
||||
ret Inspect.339;
|
||||
|
||||
procedure Inspect.166 (Inspect.326):
|
||||
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
|
||||
ret Inspect.327;
|
||||
|
||||
procedure Inspect.277 (Inspect.278, Inspect.276):
|
||||
let Inspect.351 : Str = CallByName Num.96 Inspect.276;
|
||||
let Inspect.350 : Str = CallByName Inspect.61 Inspect.278 Inspect.351;
|
||||
ret Inspect.350;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.314 : Str = CallByName Inspect.155 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.341 : Str = CallByName Inspect.277 Inspect.149 Inspect.305;
|
||||
ret Inspect.341;
|
||||
|
||||
procedure Inspect.35 (Inspect.300):
|
||||
ret Inspect.300;
|
||||
|
||||
procedure Inspect.36 (Inspect.304):
|
||||
let Inspect.311 : Str = "";
|
||||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.37 (Inspect.152, Inspect.153, Inspect.154):
|
||||
let Inspect.316 : {List I64, {}, {}} = Struct {Inspect.152, Inspect.153, Inspect.154};
|
||||
let Inspect.315 : {List I64, {}, {}} = CallByName Inspect.30 Inspect.316;
|
||||
ret Inspect.315;
|
||||
|
||||
procedure Inspect.5 (Inspect.150):
|
||||
let Inspect.312 : List I64 = CallByName #Derived.0 Inspect.150;
|
||||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.36 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName #Derived.4 Inspect.308 Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.54 (Inspect.276):
|
||||
let Inspect.346 : I64 = CallByName Inspect.30 Inspect.276;
|
||||
ret Inspect.346;
|
||||
|
||||
procedure Inspect.61 (Inspect.303, Inspect.298):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
dec Inspect.298;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure List.18 (List.154, List.155, List.156):
|
||||
let List.554 : U64 = 0i64;
|
||||
let List.555 : U64 = CallByName List.6 List.154;
|
||||
let List.553 : {Str, Int1} = CallByName List.88 List.154 List.155 List.156 List.554 List.555;
|
||||
ret List.553;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.564 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.564;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.563 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.563;
|
||||
|
||||
procedure List.88 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
|
||||
joinpoint List.556 List.157 List.158 List.159 List.160 List.161:
|
||||
let List.558 : Int1 = CallByName Num.22 List.160 List.161;
|
||||
if List.558 then
|
||||
let List.562 : I64 = CallByName List.66 List.157 List.160;
|
||||
let List.162 : {Str, Int1} = CallByName Inspect.159 List.158 List.562 List.159;
|
||||
let List.561 : U64 = 1i64;
|
||||
let List.560 : U64 = CallByName Num.51 List.160 List.561;
|
||||
jump List.556 List.157 List.162 List.159 List.560 List.161;
|
||||
else
|
||||
dec List.157;
|
||||
ret List.158;
|
||||
in
|
||||
jump List.556 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.293 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.293;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.292 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.292;
|
||||
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.291 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.291;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.292 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
ret Str.292;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.3 : List I64 = Array [1i64, 2i64, 3i64];
|
||||
let Test.2 : Str = CallByName Inspect.5 Test.3;
|
||||
let Test.1 : Str = CallByName Inspect.35 Test.2;
|
||||
ret Test.1;
|
|
@ -0,0 +1,274 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.0 : Str = CallByName Inspect.30 #Derived.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.1):
|
||||
let #Derived_gen.7 : Str = "a";
|
||||
let #Derived_gen.8 : Str = CallByName #Derived.4 #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 Inspect.42 #Derived_gen.5;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure #Derived.4 (#Derived.5):
|
||||
let #Derived_gen.10 : Str = CallByName Inspect.30 #Derived.5;
|
||||
ret #Derived_gen.10;
|
||||
|
||||
procedure #Derived.6 (#Derived.7, #Derived.5):
|
||||
let #Derived_gen.17 : Str = "b";
|
||||
let #Derived_gen.18 : Str = CallByName Inspect.44 #Derived.5;
|
||||
let #Derived_gen.16 : {Str, Str} = Struct {#Derived_gen.17, #Derived_gen.18};
|
||||
let #Derived_gen.15 : List {Str, Str} = Array [#Derived_gen.16];
|
||||
let #Derived_gen.14 : List {Str, Str} = CallByName Inspect.42 #Derived_gen.15;
|
||||
let #Derived_gen.13 : Str = CallByName Inspect.31 #Derived_gen.14 #Derived.7;
|
||||
ret #Derived_gen.13;
|
||||
|
||||
procedure Bool.1 ():
|
||||
let Bool.26 : Int1 = false;
|
||||
ret Bool.26;
|
||||
|
||||
procedure Bool.2 ():
|
||||
let Bool.25 : Int1 = true;
|
||||
ret Bool.25;
|
||||
|
||||
procedure Inspect.228 (Inspect.229, Inspect.227):
|
||||
let Inspect.350 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.61 Inspect.229 Inspect.350;
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.230 Inspect.328 Inspect.227;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.242 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.61 Inspect.320 Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.228 (Inspect.229, Inspect.227):
|
||||
let Inspect.388 : Str = "{";
|
||||
let Inspect.366 : Str = CallByName Inspect.61 Inspect.229 Inspect.388;
|
||||
let Inspect.362 : {Str, Int1} = CallByName Inspect.230 Inspect.366 Inspect.227;
|
||||
let Inspect.363 : {} = Struct {};
|
||||
let Inspect.358 : Str = CallByName Inspect.242 Inspect.362;
|
||||
let Inspect.359 : Str = "}";
|
||||
let Inspect.357 : Str = CallByName Inspect.61 Inspect.358 Inspect.359;
|
||||
ret Inspect.357;
|
||||
|
||||
procedure Inspect.230 (Inspect.231, Inspect.227):
|
||||
let Bool.1 : Int1 = CallByName Bool.1;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.231, Bool.1};
|
||||
let Inspect.333 : {} = Struct {};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.227 Inspect.332 Inspect.333;
|
||||
ret Inspect.331;
|
||||
|
||||
procedure Inspect.230 (Inspect.231, Inspect.227):
|
||||
let Bool.1 : Int1 = CallByName Bool.1;
|
||||
let Inspect.370 : {Str, Int1} = Struct {Inspect.231, Bool.1};
|
||||
let Inspect.371 : {} = Struct {};
|
||||
let Inspect.369 : {Str, Int1} = CallByName List.18 Inspect.227 Inspect.370 Inspect.371;
|
||||
ret Inspect.369;
|
||||
|
||||
procedure Inspect.232 (Inspect.334, Inspect.335):
|
||||
let Inspect.235 : Str = StructAtIndex 0 Inspect.335;
|
||||
let Inspect.236 : Str = StructAtIndex 1 Inspect.335;
|
||||
let Inspect.233 : Str = StructAtIndex 0 Inspect.334;
|
||||
let Inspect.234 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.348 Inspect.237:
|
||||
let Inspect.345 : Str = CallByName Inspect.61 Inspect.237 Inspect.235;
|
||||
let Inspect.346 : Str = ": ";
|
||||
let Inspect.340 : Str = CallByName Inspect.61 Inspect.345 Inspect.346;
|
||||
let Inspect.337 : Str = CallByName Inspect.238 Inspect.340 Inspect.236;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.240 Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.234 then
|
||||
let Inspect.349 : Str = ", ";
|
||||
let Inspect.347 : Str = CallByName Inspect.61 Inspect.233 Inspect.349;
|
||||
jump Inspect.348 Inspect.347;
|
||||
else
|
||||
jump Inspect.348 Inspect.233;
|
||||
|
||||
procedure Inspect.232 (Inspect.334, Inspect.335):
|
||||
let Inspect.235 : Str = StructAtIndex 0 Inspect.335;
|
||||
let Inspect.236 : Str = StructAtIndex 1 Inspect.335;
|
||||
let Inspect.233 : Str = StructAtIndex 0 Inspect.334;
|
||||
let Inspect.234 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.386 Inspect.237:
|
||||
let Inspect.383 : Str = CallByName Inspect.61 Inspect.237 Inspect.235;
|
||||
let Inspect.384 : Str = ": ";
|
||||
let Inspect.378 : Str = CallByName Inspect.61 Inspect.383 Inspect.384;
|
||||
let Inspect.375 : Str = CallByName Inspect.238 Inspect.378 Inspect.236;
|
||||
let Inspect.376 : {} = Struct {};
|
||||
let Inspect.374 : {Str, Int1} = CallByName Inspect.240 Inspect.375;
|
||||
ret Inspect.374;
|
||||
in
|
||||
if Inspect.234 then
|
||||
let Inspect.387 : Str = ", ";
|
||||
let Inspect.385 : Str = CallByName Inspect.61 Inspect.233 Inspect.387;
|
||||
jump Inspect.386 Inspect.385;
|
||||
else
|
||||
jump Inspect.386 Inspect.233;
|
||||
|
||||
procedure Inspect.238 (Inspect.239, Inspect.236):
|
||||
let Inspect.343 : Str = CallByName Inspect.31 Inspect.236 Inspect.239;
|
||||
ret Inspect.343;
|
||||
|
||||
procedure Inspect.238 (Inspect.239, Inspect.236):
|
||||
let Inspect.381 : Str = CallByName Inspect.31 Inspect.236 Inspect.239;
|
||||
ret Inspect.381;
|
||||
|
||||
procedure Inspect.240 (Inspect.241):
|
||||
let Bool.2 : Int1 = CallByName Bool.2;
|
||||
let Inspect.377 : {Str, Int1} = Struct {Inspect.241, Bool.2};
|
||||
ret Inspect.377;
|
||||
|
||||
procedure Inspect.242 (Inspect.326):
|
||||
let Inspect.365 : Str = StructAtIndex 0 Inspect.326;
|
||||
ret Inspect.365;
|
||||
|
||||
procedure Inspect.249 (Inspect.250, Inspect.248):
|
||||
let Inspect.397 : Str = "\"";
|
||||
let Inspect.396 : Str = CallByName Inspect.61 Inspect.250 Inspect.397;
|
||||
let Inspect.394 : Str = CallByName Inspect.61 Inspect.396 Inspect.248;
|
||||
let Inspect.395 : Str = "\"";
|
||||
let Inspect.393 : Str = CallByName Inspect.61 Inspect.394 Inspect.395;
|
||||
ret Inspect.393;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.314 : Str = CallByName Inspect.228 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.344 : Str = CallByName #Derived.6 Inspect.149 Inspect.305;
|
||||
ret Inspect.344;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.352 : Str = CallByName Inspect.228 Inspect.149 Inspect.305;
|
||||
ret Inspect.352;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.382 : Str = CallByName Inspect.249 Inspect.149 Inspect.305;
|
||||
ret Inspect.382;
|
||||
|
||||
procedure Inspect.35 (Inspect.300):
|
||||
ret Inspect.300;
|
||||
|
||||
procedure Inspect.36 (Inspect.304):
|
||||
let Inspect.311 : Str = "";
|
||||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.42 (Inspect.227):
|
||||
let Inspect.315 : List {Str, Str} = CallByName Inspect.30 Inspect.227;
|
||||
ret Inspect.315;
|
||||
|
||||
procedure Inspect.42 (Inspect.227):
|
||||
let Inspect.353 : List {Str, Str} = CallByName Inspect.30 Inspect.227;
|
||||
ret Inspect.353;
|
||||
|
||||
procedure Inspect.44 (Inspect.248):
|
||||
let Inspect.389 : Str = CallByName Inspect.30 Inspect.248;
|
||||
ret Inspect.389;
|
||||
|
||||
procedure Inspect.5 (Inspect.150):
|
||||
let Inspect.312 : Str = CallByName #Derived.0 Inspect.150;
|
||||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.36 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName #Derived.2 Inspect.308 Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.61 (Inspect.303, Inspect.298):
|
||||
let Inspect.361 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
dec Inspect.298;
|
||||
ret Inspect.361;
|
||||
|
||||
procedure List.18 (List.154, List.155, List.156):
|
||||
let List.554 : U64 = 0i64;
|
||||
let List.555 : U64 = CallByName List.6 List.154;
|
||||
let List.553 : {Str, Int1} = CallByName List.88 List.154 List.155 List.156 List.554 List.555;
|
||||
ret List.553;
|
||||
|
||||
procedure List.18 (List.154, List.155, List.156):
|
||||
let List.566 : U64 = 0i64;
|
||||
let List.567 : U64 = CallByName List.6 List.154;
|
||||
let List.565 : {Str, Int1} = CallByName List.88 List.154 List.155 List.156 List.566 List.567;
|
||||
ret List.565;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.564 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.564;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.576 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.576;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.563 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.563;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.575 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.575;
|
||||
|
||||
procedure List.88 (#Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34):
|
||||
joinpoint List.568 List.157 List.158 List.159 List.160 List.161:
|
||||
let List.570 : Int1 = CallByName Num.22 List.160 List.161;
|
||||
if List.570 then
|
||||
let List.574 : {Str, Str} = CallByName List.66 List.157 List.160;
|
||||
inc List.574;
|
||||
let List.162 : {Str, Int1} = CallByName Inspect.232 List.158 List.574;
|
||||
let List.573 : U64 = 1i64;
|
||||
let List.572 : U64 = CallByName Num.51 List.160 List.573;
|
||||
jump List.568 List.157 List.162 List.159 List.572 List.161;
|
||||
else
|
||||
dec List.157;
|
||||
ret List.158;
|
||||
in
|
||||
jump List.568 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34;
|
||||
|
||||
procedure List.88 (#Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44, #Derived_gen.45):
|
||||
joinpoint List.556 List.157 List.158 List.159 List.160 List.161:
|
||||
let List.558 : Int1 = CallByName Num.22 List.160 List.161;
|
||||
if List.558 then
|
||||
let List.562 : {Str, Str} = CallByName List.66 List.157 List.160;
|
||||
inc List.562;
|
||||
let List.162 : {Str, Int1} = CallByName Inspect.232 List.158 List.562;
|
||||
let List.561 : U64 = 1i64;
|
||||
let List.560 : U64 = CallByName Num.51 List.160 List.561;
|
||||
jump List.556 List.157 List.162 List.159 List.560 List.161;
|
||||
else
|
||||
dec List.157;
|
||||
ret List.158;
|
||||
in
|
||||
jump List.556 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.294 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.294;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.293 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.293;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.293 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
ret Str.293;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.5 : Str = "bar";
|
||||
let Test.2 : Str = CallByName Inspect.5 Test.5;
|
||||
let Test.1 : Str = CallByName Inspect.35 Test.2;
|
||||
ret Test.1;
|
204
crates/compiler/test_mono/generated/inspect_derived_record.txt
Normal file
204
crates/compiler/test_mono/generated/inspect_derived_record.txt
Normal file
|
@ -0,0 +1,204 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.0 : {Decimal, I64} = CallByName Inspect.30 #Derived.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.1):
|
||||
let #Derived_gen.13 : I64 = StructAtIndex 1 #Derived.1;
|
||||
let #Derived_gen.11 : [C I64, C Decimal] = CallByName Inspect.54 #Derived_gen.13;
|
||||
let #Derived_gen.12 : Str = "a";
|
||||
let #Derived_gen.6 : {[C I64, C Decimal], Str} = Struct {#Derived_gen.11, #Derived_gen.12};
|
||||
let #Derived_gen.10 : Decimal = StructAtIndex 0 #Derived.1;
|
||||
let #Derived_gen.8 : [C I64, C Decimal] = CallByName Inspect.60 #Derived_gen.10;
|
||||
let #Derived_gen.9 : Str = "b";
|
||||
let #Derived_gen.7 : {[C I64, C Decimal], Str} = Struct {#Derived_gen.8, #Derived_gen.9};
|
||||
let #Derived_gen.5 : List {[C I64, C Decimal], Str} = Array [#Derived_gen.6, #Derived_gen.7];
|
||||
let #Derived_gen.4 : List {[C I64, C Decimal], Str} = CallByName Inspect.42 #Derived_gen.5;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.1 ():
|
||||
let Bool.24 : Int1 = false;
|
||||
ret Bool.24;
|
||||
|
||||
procedure Bool.2 ():
|
||||
let Bool.23 : Int1 = true;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Inspect.228 (Inspect.229, Inspect.227):
|
||||
let Inspect.351 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.61 Inspect.229 Inspect.351;
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.230 Inspect.328 Inspect.227;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.242 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.61 Inspect.320 Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.230 (Inspect.231, Inspect.227):
|
||||
let Bool.1 : Int1 = CallByName Bool.1;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.231, Bool.1};
|
||||
let Inspect.333 : {} = Struct {};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.227 Inspect.332 Inspect.333;
|
||||
ret Inspect.331;
|
||||
|
||||
procedure Inspect.232 (Inspect.334, Inspect.335):
|
||||
let Inspect.236 : [C I64, C Decimal] = StructAtIndex 0 Inspect.335;
|
||||
let Inspect.235 : Str = StructAtIndex 1 Inspect.335;
|
||||
let Inspect.233 : Str = StructAtIndex 0 Inspect.334;
|
||||
let Inspect.234 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.349 Inspect.237:
|
||||
let Inspect.346 : Str = CallByName Inspect.61 Inspect.237 Inspect.235;
|
||||
let Inspect.347 : Str = ": ";
|
||||
let Inspect.340 : Str = CallByName Inspect.61 Inspect.346 Inspect.347;
|
||||
let Inspect.337 : Str = CallByName Inspect.238 Inspect.340 Inspect.236;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.240 Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.234 then
|
||||
let Inspect.350 : Str = ", ";
|
||||
let Inspect.348 : Str = CallByName Inspect.61 Inspect.233 Inspect.350;
|
||||
jump Inspect.349 Inspect.348;
|
||||
else
|
||||
jump Inspect.349 Inspect.233;
|
||||
|
||||
procedure Inspect.238 (Inspect.239, Inspect.236):
|
||||
let Inspect.343 : Str = CallByName Inspect.31 Inspect.236 Inspect.239;
|
||||
ret Inspect.343;
|
||||
|
||||
procedure Inspect.240 (Inspect.241):
|
||||
let Bool.2 : Int1 = CallByName Bool.2;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.241, Bool.2};
|
||||
ret Inspect.339;
|
||||
|
||||
procedure Inspect.242 (Inspect.326):
|
||||
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
|
||||
ret Inspect.327;
|
||||
|
||||
procedure Inspect.277 (Inspect.278, #Attr.12):
|
||||
let Inspect.364 : I64 = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let Inspect.363 : Str = CallByName Num.96 Inspect.364;
|
||||
let Inspect.362 : Str = CallByName Inspect.61 Inspect.278 Inspect.363;
|
||||
ret Inspect.362;
|
||||
|
||||
procedure Inspect.295 (Inspect.296, #Attr.12):
|
||||
let Inspect.358 : Decimal = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
let Inspect.357 : Str = CallByName Num.96 Inspect.358;
|
||||
let Inspect.356 : Str = CallByName Inspect.61 Inspect.296 Inspect.357;
|
||||
ret Inspect.356;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.314 : Str = CallByName Inspect.228 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.345 : U8 = GetTagId Inspect.305;
|
||||
switch Inspect.345:
|
||||
case 0:
|
||||
let Inspect.344 : Str = CallByName Inspect.277 Inspect.149 Inspect.305;
|
||||
ret Inspect.344;
|
||||
|
||||
default:
|
||||
let Inspect.344 : Str = CallByName Inspect.295 Inspect.149 Inspect.305;
|
||||
ret Inspect.344;
|
||||
|
||||
|
||||
procedure Inspect.35 (Inspect.300):
|
||||
ret Inspect.300;
|
||||
|
||||
procedure Inspect.36 (Inspect.304):
|
||||
let Inspect.311 : Str = "";
|
||||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.42 (Inspect.227):
|
||||
let Inspect.315 : List {[C I64, C Decimal], Str} = CallByName Inspect.30 Inspect.227;
|
||||
ret Inspect.315;
|
||||
|
||||
procedure Inspect.5 (Inspect.150):
|
||||
let Inspect.312 : {Decimal, I64} = CallByName #Derived.0 Inspect.150;
|
||||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.36 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName #Derived.2 Inspect.308 Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.54 (Inspect.276):
|
||||
let Inspect.360 : [C I64, C Decimal] = TagId(0) Inspect.276;
|
||||
let Inspect.359 : [C I64, C Decimal] = CallByName Inspect.30 Inspect.360;
|
||||
ret Inspect.359;
|
||||
|
||||
procedure Inspect.60 (Inspect.294):
|
||||
let Inspect.353 : [C I64, C Decimal] = TagId(1) Inspect.294;
|
||||
let Inspect.352 : [C I64, C Decimal] = CallByName Inspect.30 Inspect.353;
|
||||
ret Inspect.352;
|
||||
|
||||
procedure Inspect.61 (Inspect.303, Inspect.298):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
dec Inspect.298;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure List.18 (List.154, List.155, List.156):
|
||||
let List.554 : U64 = 0i64;
|
||||
let List.555 : U64 = CallByName List.6 List.154;
|
||||
let List.553 : {Str, Int1} = CallByName List.88 List.154 List.155 List.156 List.554 List.555;
|
||||
ret List.553;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.564 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.564;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.563 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.563;
|
||||
|
||||
procedure List.88 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
|
||||
joinpoint List.556 List.157 List.158 List.159 List.160 List.161:
|
||||
let List.558 : Int1 = CallByName Num.22 List.160 List.161;
|
||||
if List.558 then
|
||||
let List.562 : {[C I64, C Decimal], Str} = CallByName List.66 List.157 List.160;
|
||||
inc List.562;
|
||||
let List.162 : {Str, Int1} = CallByName Inspect.232 List.158 List.562;
|
||||
let List.561 : U64 = 1i64;
|
||||
let List.560 : U64 = CallByName Num.51 List.160 List.561;
|
||||
jump List.556 List.157 List.162 List.159 List.560 List.161;
|
||||
else
|
||||
dec List.157;
|
||||
ret List.158;
|
||||
in
|
||||
jump List.556 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.294 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.294;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.293 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.293;
|
||||
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.291 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.291;
|
||||
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.292 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.292;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.292 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
ret Str.292;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.4 : Decimal = 3dec;
|
||||
let Test.5 : I64 = 7i64;
|
||||
let Test.3 : {Decimal, I64} = Struct {Test.4, Test.5};
|
||||
let Test.2 : Str = CallByName Inspect.5 Test.3;
|
||||
let Test.1 : Str = CallByName Inspect.35 Test.2;
|
||||
ret Test.1;
|
|
@ -0,0 +1,171 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.0 : Str = CallByName Inspect.30 #Derived.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.1):
|
||||
let #Derived_gen.7 : Str = "a";
|
||||
let #Derived_gen.8 : Str = CallByName Inspect.44 #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 Inspect.42 #Derived_gen.5;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.1 ():
|
||||
let Bool.24 : Int1 = false;
|
||||
ret Bool.24;
|
||||
|
||||
procedure Bool.2 ():
|
||||
let Bool.23 : Int1 = true;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Inspect.228 (Inspect.229, Inspect.227):
|
||||
let Inspect.350 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.61 Inspect.229 Inspect.350;
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.230 Inspect.328 Inspect.227;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.242 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.61 Inspect.320 Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.230 (Inspect.231, Inspect.227):
|
||||
let Bool.1 : Int1 = CallByName Bool.1;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.231, Bool.1};
|
||||
let Inspect.333 : {} = Struct {};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.227 Inspect.332 Inspect.333;
|
||||
ret Inspect.331;
|
||||
|
||||
procedure Inspect.232 (Inspect.334, Inspect.335):
|
||||
let Inspect.235 : Str = StructAtIndex 0 Inspect.335;
|
||||
let Inspect.236 : Str = StructAtIndex 1 Inspect.335;
|
||||
let Inspect.233 : Str = StructAtIndex 0 Inspect.334;
|
||||
let Inspect.234 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.348 Inspect.237:
|
||||
let Inspect.345 : Str = CallByName Inspect.61 Inspect.237 Inspect.235;
|
||||
let Inspect.346 : Str = ": ";
|
||||
let Inspect.340 : Str = CallByName Inspect.61 Inspect.345 Inspect.346;
|
||||
let Inspect.337 : Str = CallByName Inspect.238 Inspect.340 Inspect.236;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.240 Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.234 then
|
||||
let Inspect.349 : Str = ", ";
|
||||
let Inspect.347 : Str = CallByName Inspect.61 Inspect.233 Inspect.349;
|
||||
jump Inspect.348 Inspect.347;
|
||||
else
|
||||
jump Inspect.348 Inspect.233;
|
||||
|
||||
procedure Inspect.238 (Inspect.239, Inspect.236):
|
||||
let Inspect.343 : Str = CallByName Inspect.31 Inspect.236 Inspect.239;
|
||||
ret Inspect.343;
|
||||
|
||||
procedure Inspect.240 (Inspect.241):
|
||||
let Bool.2 : Int1 = CallByName Bool.2;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.241, Bool.2};
|
||||
ret Inspect.339;
|
||||
|
||||
procedure Inspect.242 (Inspect.326):
|
||||
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
|
||||
ret Inspect.327;
|
||||
|
||||
procedure Inspect.249 (Inspect.250, Inspect.248):
|
||||
let Inspect.359 : Str = "\"";
|
||||
let Inspect.358 : Str = CallByName Inspect.61 Inspect.250 Inspect.359;
|
||||
let Inspect.356 : Str = CallByName Inspect.61 Inspect.358 Inspect.248;
|
||||
let Inspect.357 : Str = "\"";
|
||||
let Inspect.355 : Str = CallByName Inspect.61 Inspect.356 Inspect.357;
|
||||
ret Inspect.355;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.314 : Str = CallByName Inspect.228 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.344 : Str = CallByName Inspect.249 Inspect.149 Inspect.305;
|
||||
ret Inspect.344;
|
||||
|
||||
procedure Inspect.35 (Inspect.300):
|
||||
ret Inspect.300;
|
||||
|
||||
procedure Inspect.36 (Inspect.304):
|
||||
let Inspect.311 : Str = "";
|
||||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.42 (Inspect.227):
|
||||
let Inspect.315 : List {Str, Str} = CallByName Inspect.30 Inspect.227;
|
||||
ret Inspect.315;
|
||||
|
||||
procedure Inspect.44 (Inspect.248):
|
||||
let Inspect.351 : Str = CallByName Inspect.30 Inspect.248;
|
||||
ret Inspect.351;
|
||||
|
||||
procedure Inspect.5 (Inspect.150):
|
||||
let Inspect.312 : Str = CallByName #Derived.0 Inspect.150;
|
||||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.36 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName #Derived.2 Inspect.308 Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.61 (Inspect.303, Inspect.298):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
dec Inspect.298;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure List.18 (List.154, List.155, List.156):
|
||||
let List.554 : U64 = 0i64;
|
||||
let List.555 : U64 = CallByName List.6 List.154;
|
||||
let List.553 : {Str, Int1} = CallByName List.88 List.154 List.155 List.156 List.554 List.555;
|
||||
ret List.553;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.564 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.564;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.563 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.563;
|
||||
|
||||
procedure List.88 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
|
||||
joinpoint List.556 List.157 List.158 List.159 List.160 List.161:
|
||||
let List.558 : Int1 = CallByName Num.22 List.160 List.161;
|
||||
if List.558 then
|
||||
let List.562 : {Str, Str} = CallByName List.66 List.157 List.160;
|
||||
inc List.562;
|
||||
let List.162 : {Str, Int1} = CallByName Inspect.232 List.158 List.562;
|
||||
let List.561 : U64 = 1i64;
|
||||
let List.560 : U64 = CallByName Num.51 List.160 List.561;
|
||||
jump List.556 List.157 List.162 List.159 List.560 List.161;
|
||||
else
|
||||
dec List.157;
|
||||
ret List.158;
|
||||
in
|
||||
jump List.556 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.292;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.292 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
ret Str.292;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.4 : Str = "foo";
|
||||
let Test.2 : Str = CallByName Inspect.5 Test.4;
|
||||
let Test.1 : Str = CallByName Inspect.35 Test.2;
|
||||
ret Test.1;
|
|
@ -0,0 +1,180 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.0 : {Str, Str} = CallByName Inspect.30 #Derived.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.1):
|
||||
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 Inspect.44 #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;
|
||||
dec #Derived_gen.13;
|
||||
let #Derived_gen.9 : Str = CallByName Inspect.44 #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 Inspect.42 #Derived_gen.5;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.1 ():
|
||||
let Bool.24 : Int1 = false;
|
||||
ret Bool.24;
|
||||
|
||||
procedure Bool.2 ():
|
||||
let Bool.23 : Int1 = true;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Inspect.228 (Inspect.229, Inspect.227):
|
||||
let Inspect.350 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.61 Inspect.229 Inspect.350;
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.230 Inspect.328 Inspect.227;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.242 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.61 Inspect.320 Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.230 (Inspect.231, Inspect.227):
|
||||
let Bool.1 : Int1 = CallByName Bool.1;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.231, Bool.1};
|
||||
let Inspect.333 : {} = Struct {};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.227 Inspect.332 Inspect.333;
|
||||
ret Inspect.331;
|
||||
|
||||
procedure Inspect.232 (Inspect.334, Inspect.335):
|
||||
let Inspect.235 : Str = StructAtIndex 0 Inspect.335;
|
||||
let Inspect.236 : Str = StructAtIndex 1 Inspect.335;
|
||||
let Inspect.233 : Str = StructAtIndex 0 Inspect.334;
|
||||
let Inspect.234 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.348 Inspect.237:
|
||||
let Inspect.345 : Str = CallByName Inspect.61 Inspect.237 Inspect.235;
|
||||
let Inspect.346 : Str = ": ";
|
||||
let Inspect.340 : Str = CallByName Inspect.61 Inspect.345 Inspect.346;
|
||||
let Inspect.337 : Str = CallByName Inspect.238 Inspect.340 Inspect.236;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.240 Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.234 then
|
||||
let Inspect.349 : Str = ", ";
|
||||
let Inspect.347 : Str = CallByName Inspect.61 Inspect.233 Inspect.349;
|
||||
jump Inspect.348 Inspect.347;
|
||||
else
|
||||
jump Inspect.348 Inspect.233;
|
||||
|
||||
procedure Inspect.238 (Inspect.239, Inspect.236):
|
||||
let Inspect.343 : Str = CallByName Inspect.31 Inspect.236 Inspect.239;
|
||||
ret Inspect.343;
|
||||
|
||||
procedure Inspect.240 (Inspect.241):
|
||||
let Bool.2 : Int1 = CallByName Bool.2;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.241, Bool.2};
|
||||
ret Inspect.339;
|
||||
|
||||
procedure Inspect.242 (Inspect.326):
|
||||
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
|
||||
ret Inspect.327;
|
||||
|
||||
procedure Inspect.249 (Inspect.250, Inspect.248):
|
||||
let Inspect.359 : Str = "\"";
|
||||
let Inspect.358 : Str = CallByName Inspect.61 Inspect.250 Inspect.359;
|
||||
let Inspect.356 : Str = CallByName Inspect.61 Inspect.358 Inspect.248;
|
||||
let Inspect.357 : Str = "\"";
|
||||
let Inspect.355 : Str = CallByName Inspect.61 Inspect.356 Inspect.357;
|
||||
ret Inspect.355;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.314 : Str = CallByName Inspect.228 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.344 : Str = CallByName Inspect.249 Inspect.149 Inspect.305;
|
||||
ret Inspect.344;
|
||||
|
||||
procedure Inspect.35 (Inspect.300):
|
||||
ret Inspect.300;
|
||||
|
||||
procedure Inspect.36 (Inspect.304):
|
||||
let Inspect.311 : Str = "";
|
||||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.42 (Inspect.227):
|
||||
let Inspect.315 : List {Str, Str} = CallByName Inspect.30 Inspect.227;
|
||||
ret Inspect.315;
|
||||
|
||||
procedure Inspect.44 (Inspect.248):
|
||||
let Inspect.360 : Str = CallByName Inspect.30 Inspect.248;
|
||||
ret Inspect.360;
|
||||
|
||||
procedure Inspect.5 (Inspect.150):
|
||||
let Inspect.312 : {Str, Str} = CallByName #Derived.0 Inspect.150;
|
||||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.36 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName #Derived.2 Inspect.308 Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.61 (Inspect.303, Inspect.298):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
dec Inspect.298;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure List.18 (List.154, List.155, List.156):
|
||||
let List.554 : U64 = 0i64;
|
||||
let List.555 : U64 = CallByName List.6 List.154;
|
||||
let List.553 : {Str, Int1} = CallByName List.88 List.154 List.155 List.156 List.554 List.555;
|
||||
ret List.553;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.564 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.564;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.563 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.563;
|
||||
|
||||
procedure List.88 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
|
||||
joinpoint List.556 List.157 List.158 List.159 List.160 List.161:
|
||||
let List.558 : Int1 = CallByName Num.22 List.160 List.161;
|
||||
if List.558 then
|
||||
let List.562 : {Str, Str} = CallByName List.66 List.157 List.160;
|
||||
inc List.562;
|
||||
let List.162 : {Str, Int1} = CallByName Inspect.232 List.158 List.562;
|
||||
let List.561 : U64 = 1i64;
|
||||
let List.560 : U64 = CallByName Num.51 List.160 List.561;
|
||||
jump List.556 List.157 List.162 List.159 List.560 List.161;
|
||||
else
|
||||
dec List.157;
|
||||
ret List.158;
|
||||
in
|
||||
jump List.556 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.292;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.292 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
ret Str.292;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.4 : Str = "foo";
|
||||
let Test.5 : Str = "bar";
|
||||
let Test.3 : {Str, Str} = Struct {Test.4, Test.5};
|
||||
let Test.2 : Str = CallByName Inspect.5 Test.3;
|
||||
let Test.1 : Str = CallByName Inspect.35 Test.2;
|
||||
ret Test.1;
|
|
@ -1,17 +1,13 @@
|
|||
procedure Inspect.147 (Inspect.317):
|
||||
procedure Inspect.249 (Inspect.250, Inspect.248):
|
||||
let Inspect.323 : Str = "\"";
|
||||
let Inspect.322 : Str = CallByName Inspect.61 Inspect.250 Inspect.323;
|
||||
let Inspect.318 : Str = CallByName Inspect.61 Inspect.322 Inspect.248;
|
||||
let Inspect.319 : Str = "\"";
|
||||
let Inspect.317 : Str = CallByName Inspect.61 Inspect.318 Inspect.319;
|
||||
ret Inspect.317;
|
||||
|
||||
procedure Inspect.249 (Inspect.250, Inspect.248):
|
||||
let Inspect.326 : Str = "\"";
|
||||
let Inspect.325 : Str = CallByName Inspect.61 Inspect.250 Inspect.326;
|
||||
let Inspect.321 : Str = CallByName Inspect.61 Inspect.325 Inspect.248;
|
||||
let Inspect.322 : Str = "\"";
|
||||
let Inspect.320 : Str = CallByName Inspect.61 Inspect.321 Inspect.322;
|
||||
ret Inspect.320;
|
||||
|
||||
procedure Inspect.30 ():
|
||||
let Inspect.316 : {} = Struct {};
|
||||
ret Inspect.316;
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.35 (Inspect.300):
|
||||
ret Inspect.300;
|
||||
|
@ -21,8 +17,7 @@ procedure Inspect.36 (Inspect.304):
|
|||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.44 (Inspect.248):
|
||||
let Inspect.314 : {} = CallByName Inspect.30;
|
||||
let Inspect.313 : Str = CallByName Inspect.147 Inspect.248;
|
||||
let Inspect.313 : Str = CallByName Inspect.30 Inspect.248;
|
||||
ret Inspect.313;
|
||||
|
||||
procedure Inspect.5 (Inspect.150):
|
||||
|
@ -33,9 +28,9 @@ procedure Inspect.5 (Inspect.150):
|
|||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.61 (Inspect.303, Inspect.298):
|
||||
let Inspect.324 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
let Inspect.321 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
dec Inspect.298;
|
||||
ret Inspect.324;
|
||||
ret Inspect.321;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.292 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
|
|
|
@ -0,0 +1,173 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.0 : Str = CallByName Inspect.30 #Derived.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.3 (#Derived.4, #Derived.1):
|
||||
joinpoint #Derived_gen.5 #Derived_gen.4:
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
in
|
||||
let #Derived_gen.7 : Str = "A";
|
||||
let #Derived_gen.9 : Str = CallByName Inspect.44 #Derived.1;
|
||||
let #Derived_gen.8 : List Str = Array [#Derived_gen.9];
|
||||
let #Derived_gen.6 : [C Str, C Str List Str] = CallByName Inspect.40 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Inspect.203 (Inspect.204, #Attr.12):
|
||||
let Inspect.346 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let Inspect.345 : Str = CallByName Inspect.61 Inspect.204 Inspect.346;
|
||||
ret Inspect.345;
|
||||
|
||||
procedure Inspect.205 (Inspect.206, #Attr.12):
|
||||
let Inspect.340 : List Str = UnionAtIndex (Id 1) (Index 1) #Attr.12;
|
||||
let Inspect.339 : Str = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
let Inspect.338 : Str = "(";
|
||||
let Inspect.337 : Str = CallByName Inspect.61 Inspect.206 Inspect.338;
|
||||
let Inspect.325 : Str = CallByName Inspect.61 Inspect.337 Inspect.339;
|
||||
let Inspect.321 : Str = CallByName Inspect.207 Inspect.325 Inspect.340;
|
||||
let Inspect.322 : Str = ")";
|
||||
let Inspect.320 : Str = CallByName Inspect.61 Inspect.321 Inspect.322;
|
||||
ret Inspect.320;
|
||||
|
||||
procedure Inspect.207 (Inspect.208, Inspect.202):
|
||||
let Inspect.329 : {} = Struct {};
|
||||
let Inspect.328 : Str = CallByName List.18 Inspect.202 Inspect.208 Inspect.329;
|
||||
ret Inspect.328;
|
||||
|
||||
procedure Inspect.209 (Inspect.210, Inspect.211):
|
||||
let Inspect.336 : Str = " ";
|
||||
let Inspect.331 : Str = CallByName Inspect.61 Inspect.210 Inspect.336;
|
||||
let Inspect.330 : Str = CallByName Inspect.212 Inspect.331 Inspect.211;
|
||||
ret Inspect.330;
|
||||
|
||||
procedure Inspect.212 (Inspect.213, Inspect.211):
|
||||
let Inspect.334 : Str = CallByName Inspect.31 Inspect.211 Inspect.213;
|
||||
ret Inspect.334;
|
||||
|
||||
procedure Inspect.249 (Inspect.250, Inspect.248):
|
||||
let Inspect.355 : Str = "\"";
|
||||
let Inspect.354 : Str = CallByName Inspect.61 Inspect.250 Inspect.355;
|
||||
let Inspect.352 : Str = CallByName Inspect.61 Inspect.354 Inspect.248;
|
||||
let Inspect.353 : Str = "\"";
|
||||
let Inspect.351 : Str = CallByName Inspect.61 Inspect.352 Inspect.353;
|
||||
ret Inspect.351;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.315 : U8 = GetTagId Inspect.305;
|
||||
switch Inspect.315:
|
||||
case 0:
|
||||
let Inspect.314 : Str = CallByName Inspect.203 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
default:
|
||||
let Inspect.314 : Str = CallByName Inspect.205 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.335 : Str = CallByName Inspect.249 Inspect.149 Inspect.305;
|
||||
ret Inspect.335;
|
||||
|
||||
procedure Inspect.35 (Inspect.300):
|
||||
ret Inspect.300;
|
||||
|
||||
procedure Inspect.36 (Inspect.304):
|
||||
let Inspect.311 : Str = "";
|
||||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.40 (Inspect.201, Inspect.202):
|
||||
inc Inspect.202;
|
||||
let Inspect.341 : Int1 = CallByName List.1 Inspect.202;
|
||||
if Inspect.341 then
|
||||
dec Inspect.202;
|
||||
let Inspect.343 : [C Str, C Str List Str] = TagId(0) Inspect.201;
|
||||
let Inspect.342 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.343;
|
||||
ret Inspect.342;
|
||||
else
|
||||
let Inspect.317 : [C Str, C Str List Str] = TagId(1) Inspect.201 Inspect.202;
|
||||
let Inspect.316 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.317;
|
||||
ret Inspect.316;
|
||||
|
||||
procedure Inspect.44 (Inspect.248):
|
||||
let Inspect.347 : Str = CallByName Inspect.30 Inspect.248;
|
||||
ret Inspect.347;
|
||||
|
||||
procedure Inspect.5 (Inspect.150):
|
||||
let Inspect.312 : Str = CallByName #Derived.0 Inspect.150;
|
||||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.36 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName #Derived.3 Inspect.308 Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.61 (Inspect.303, Inspect.298):
|
||||
let Inspect.324 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
dec Inspect.298;
|
||||
ret Inspect.324;
|
||||
|
||||
procedure List.1 (List.102):
|
||||
let List.566 : U64 = CallByName List.6 List.102;
|
||||
dec List.102;
|
||||
let List.567 : U64 = 0i64;
|
||||
let List.565 : Int1 = CallByName Bool.11 List.566 List.567;
|
||||
ret List.565;
|
||||
|
||||
procedure List.18 (List.154, List.155, List.156):
|
||||
let List.554 : U64 = 0i64;
|
||||
let List.555 : U64 = CallByName List.6 List.154;
|
||||
let List.553 : Str = CallByName List.88 List.154 List.155 List.156 List.554 List.555;
|
||||
ret List.553;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.564 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.564;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.563 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.563;
|
||||
|
||||
procedure List.88 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
|
||||
joinpoint List.556 List.157 List.158 List.159 List.160 List.161:
|
||||
let List.558 : Int1 = CallByName Num.22 List.160 List.161;
|
||||
if List.558 then
|
||||
let List.562 : Str = CallByName List.66 List.157 List.160;
|
||||
inc List.562;
|
||||
let List.162 : Str = CallByName Inspect.209 List.158 List.562;
|
||||
let List.561 : U64 = 1i64;
|
||||
let List.560 : U64 = CallByName Num.51 List.160 List.561;
|
||||
jump List.556 List.157 List.162 List.159 List.560 List.161;
|
||||
else
|
||||
dec List.157;
|
||||
ret List.158;
|
||||
in
|
||||
jump List.556 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.292;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.292 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
ret Str.292;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.5 : Str = "foo";
|
||||
let Test.4 : Str = CallByName Inspect.5 Test.5;
|
||||
let Test.3 : Str = CallByName Inspect.35 Test.4;
|
||||
ret Test.3;
|
|
@ -0,0 +1,178 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.0 : {Str, Str} = CallByName Inspect.30 #Derived.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.4 (#Derived.5, #Derived.1):
|
||||
joinpoint #Derived_gen.5 #Derived_gen.4:
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.5;
|
||||
ret #Derived_gen.3;
|
||||
in
|
||||
let #Derived.2 : Str = StructAtIndex 0 #Derived.1;
|
||||
let #Derived.3 : Str = StructAtIndex 1 #Derived.1;
|
||||
let #Derived_gen.7 : Str = "A";
|
||||
let #Derived_gen.9 : Str = CallByName Inspect.44 #Derived.2;
|
||||
let #Derived_gen.10 : Str = CallByName Inspect.44 #Derived.3;
|
||||
let #Derived_gen.8 : List Str = Array [#Derived_gen.9, #Derived_gen.10];
|
||||
let #Derived_gen.6 : [C Str, C Str List Str] = CallByName Inspect.40 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Inspect.203 (Inspect.204, #Attr.12):
|
||||
let Inspect.346 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let Inspect.345 : Str = CallByName Inspect.61 Inspect.204 Inspect.346;
|
||||
ret Inspect.345;
|
||||
|
||||
procedure Inspect.205 (Inspect.206, #Attr.12):
|
||||
let Inspect.340 : List Str = UnionAtIndex (Id 1) (Index 1) #Attr.12;
|
||||
let Inspect.339 : Str = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
let Inspect.338 : Str = "(";
|
||||
let Inspect.337 : Str = CallByName Inspect.61 Inspect.206 Inspect.338;
|
||||
let Inspect.325 : Str = CallByName Inspect.61 Inspect.337 Inspect.339;
|
||||
let Inspect.321 : Str = CallByName Inspect.207 Inspect.325 Inspect.340;
|
||||
let Inspect.322 : Str = ")";
|
||||
let Inspect.320 : Str = CallByName Inspect.61 Inspect.321 Inspect.322;
|
||||
ret Inspect.320;
|
||||
|
||||
procedure Inspect.207 (Inspect.208, Inspect.202):
|
||||
let Inspect.329 : {} = Struct {};
|
||||
let Inspect.328 : Str = CallByName List.18 Inspect.202 Inspect.208 Inspect.329;
|
||||
ret Inspect.328;
|
||||
|
||||
procedure Inspect.209 (Inspect.210, Inspect.211):
|
||||
let Inspect.336 : Str = " ";
|
||||
let Inspect.331 : Str = CallByName Inspect.61 Inspect.210 Inspect.336;
|
||||
let Inspect.330 : Str = CallByName Inspect.212 Inspect.331 Inspect.211;
|
||||
ret Inspect.330;
|
||||
|
||||
procedure Inspect.212 (Inspect.213, Inspect.211):
|
||||
let Inspect.334 : Str = CallByName Inspect.31 Inspect.211 Inspect.213;
|
||||
ret Inspect.334;
|
||||
|
||||
procedure Inspect.249 (Inspect.250, Inspect.248):
|
||||
let Inspect.355 : Str = "\"";
|
||||
let Inspect.354 : Str = CallByName Inspect.61 Inspect.250 Inspect.355;
|
||||
let Inspect.352 : Str = CallByName Inspect.61 Inspect.354 Inspect.248;
|
||||
let Inspect.353 : Str = "\"";
|
||||
let Inspect.351 : Str = CallByName Inspect.61 Inspect.352 Inspect.353;
|
||||
ret Inspect.351;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
ret Inspect.147;
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.315 : U8 = GetTagId Inspect.305;
|
||||
switch Inspect.315:
|
||||
case 0:
|
||||
let Inspect.314 : Str = CallByName Inspect.203 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
default:
|
||||
let Inspect.314 : Str = CallByName Inspect.205 Inspect.149 Inspect.305;
|
||||
ret Inspect.314;
|
||||
|
||||
|
||||
procedure Inspect.31 (Inspect.305, Inspect.149):
|
||||
let Inspect.335 : Str = CallByName Inspect.249 Inspect.149 Inspect.305;
|
||||
ret Inspect.335;
|
||||
|
||||
procedure Inspect.35 (Inspect.300):
|
||||
ret Inspect.300;
|
||||
|
||||
procedure Inspect.36 (Inspect.304):
|
||||
let Inspect.311 : Str = "";
|
||||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.40 (Inspect.201, Inspect.202):
|
||||
inc Inspect.202;
|
||||
let Inspect.341 : Int1 = CallByName List.1 Inspect.202;
|
||||
if Inspect.341 then
|
||||
dec Inspect.202;
|
||||
let Inspect.343 : [C Str, C Str List Str] = TagId(0) Inspect.201;
|
||||
let Inspect.342 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.343;
|
||||
ret Inspect.342;
|
||||
else
|
||||
let Inspect.317 : [C Str, C Str List Str] = TagId(1) Inspect.201 Inspect.202;
|
||||
let Inspect.316 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.317;
|
||||
ret Inspect.316;
|
||||
|
||||
procedure Inspect.44 (Inspect.248):
|
||||
let Inspect.356 : Str = CallByName Inspect.30 Inspect.248;
|
||||
ret Inspect.356;
|
||||
|
||||
procedure Inspect.5 (Inspect.150):
|
||||
let Inspect.312 : {Str, Str} = CallByName #Derived.0 Inspect.150;
|
||||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.36 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName #Derived.4 Inspect.308 Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.61 (Inspect.303, Inspect.298):
|
||||
let Inspect.324 : Str = CallByName Str.3 Inspect.303 Inspect.298;
|
||||
dec Inspect.298;
|
||||
ret Inspect.324;
|
||||
|
||||
procedure List.1 (List.102):
|
||||
let List.566 : U64 = CallByName List.6 List.102;
|
||||
dec List.102;
|
||||
let List.567 : U64 = 0i64;
|
||||
let List.565 : Int1 = CallByName Bool.11 List.566 List.567;
|
||||
ret List.565;
|
||||
|
||||
procedure List.18 (List.154, List.155, List.156):
|
||||
let List.554 : U64 = 0i64;
|
||||
let List.555 : U64 = CallByName List.6 List.154;
|
||||
let List.553 : Str = CallByName List.88 List.154 List.155 List.156 List.554 List.555;
|
||||
ret List.553;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.564 : U64 = lowlevel ListLen #Attr.2;
|
||||
ret List.564;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.563 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.563;
|
||||
|
||||
procedure List.88 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
|
||||
joinpoint List.556 List.157 List.158 List.159 List.160 List.161:
|
||||
let List.558 : Int1 = CallByName Num.22 List.160 List.161;
|
||||
if List.558 then
|
||||
let List.562 : Str = CallByName List.66 List.157 List.160;
|
||||
inc List.562;
|
||||
let List.162 : Str = CallByName Inspect.209 List.158 List.562;
|
||||
let List.561 : U64 = 1i64;
|
||||
let List.560 : U64 = CallByName Num.51 List.160 List.561;
|
||||
jump List.556 List.157 List.162 List.159 List.560 List.161;
|
||||
else
|
||||
dec List.157;
|
||||
ret List.158;
|
||||
in
|
||||
jump List.556 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.292;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.292 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
ret Str.292;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.6 : Str = "foo";
|
||||
let Test.5 : Str = "foo";
|
||||
let Test.1 : {Str, Str} = Struct {Test.5, Test.6};
|
||||
let Test.4 : Str = CallByName Inspect.5 Test.1;
|
||||
let Test.3 : Str = CallByName Inspect.35 Test.4;
|
||||
ret Test.3;
|
Loading…
Add table
Add a link
Reference in a new issue