Progress on updating entire compiler for snake_case

This commit is contained in:
Sam Mohr 2025-01-05 03:48:03 -08:00
parent db6cc5a7b1
commit b56fbd38e1
No known key found for this signature in database
GPG key ID: EA41D161A3C1BC99
297 changed files with 8416 additions and 8544 deletions

View file

@ -1,31 +0,0 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.282 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.282;
procedure Test.1 (Test.12):
let Test.6 : I64 = StructAtIndex 0 Test.12;
let Test.5 : I64 = StructAtIndex 1 Test.12;
let Test.3 : I64 = StructAtIndex 2 Test.12;
let Test.4 : I64 = StructAtIndex 3 Test.12;
let Test.18 : I64 = CallByName Num.19 Test.3 Test.5;
let Test.19 : I64 = CallByName Num.19 Test.4 Test.6;
let Test.17 : {I64, I64} = Struct {Test.18, Test.19};
ret Test.17;
procedure Test.2 (Test.9):
let Test.7 : I64 = StructAtIndex 2 Test.9;
let Test.8 : I64 = StructAtIndex 3 Test.9;
let Test.16 : {I64, I64} = CallByName Test.1 Test.9;
let Test.10 : I64 = StructAtIndex 0 Test.16;
let Test.11 : I64 = StructAtIndex 1 Test.16;
let Test.15 : {I64, I64, I64, I64} = Struct {Test.7, Test.8, Test.10, Test.11};
ret Test.15;
procedure Test.0 ():
let Test.20 : I64 = 4i64;
let Test.21 : I64 = 3i64;
let Test.22 : I64 = 1i64;
let Test.23 : I64 = 2i64;
let Test.14 : {I64, I64, I64, I64} = Struct {Test.20, Test.21, Test.22, Test.23};
let Test.13 : {I64, I64, I64, I64} = CallByName Test.2 Test.14;
ret Test.13;

View file

@ -1,131 +1,14 @@
procedure Bool.1 ():
let Bool.24 : Int1 = false;
ret Bool.24;
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.687 List.174 List.175 List.176 List.177 List.178:
let List.689 : Int1 = CallByName Num.22 List.177 List.178;
if List.689 then
let List.693 : [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = CallByName List.66 List.174 List.177;
inc List.693;
let List.179 : List Str = CallByName List.283 List.175 List.693 List.176;
let List.692 : U64 = 1i64;
let List.691 : U64 = CallByName Num.51 List.177 List.692;
jump List.687 List.174 List.179 List.176 List.691 List.178;
else
dec List.174;
ret List.175;
in
inc #Derived_gen.0;
jump List.687 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure List.18 (List.171, List.172, List.173):
let List.685 : U64 = 0i64;
let List.686 : U64 = CallByName List.6 List.171;
let List.684 : List Str = CallByName List.100 List.171 List.172 List.173 List.685 List.686;
ret List.684;
procedure List.2 (List.119, List.120):
let List.679 : U64 = CallByName List.6 List.119;
let List.675 : Int1 = CallByName Num.22 List.120 List.679;
if List.675 then
let List.677 : Str = CallByName List.66 List.119 List.120;
inc List.677;
let List.676 : [C {}, C Str] = TagId(1) List.677;
ret List.676;
else
let List.674 : {} = Struct {};
let List.673 : [C {}, C Str] = TagId(0) List.674;
ret List.673;
procedure List.283 (List.284, List.285, List.281):
let List.698 : Str = CallByName Test.10 List.285;
let List.697 : List Str = CallByName List.71 List.284 List.698;
ret List.697;
procedure List.5 (List.280, List.281):
let List.282 : U64 = CallByName List.6 List.280;
let List.682 : List Str = CallByName List.68 List.282;
let List.681 : List Str = CallByName List.18 List.280 List.682 List.281;
ret List.681;
procedure List.6 (#Attr.2):
let List.680 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.680;
procedure List.6 (#Attr.2):
let List.695 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.695;
procedure List.66 (#Attr.2, #Attr.3):
let List.678 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.678;
procedure List.66 (#Attr.2, #Attr.3):
let List.694 : [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.694;
procedure List.68 (#Attr.2):
let List.700 : List Str = lowlevel ListWithCapacity #Attr.2;
ret List.700;
procedure List.71 (#Attr.2, #Attr.3):
let List.699 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.699;
procedure List.9 (List.391):
let List.672 : U64 = 0i64;
let List.665 : [C {}, C Str] = CallByName List.2 List.391 List.672;
let List.669 : U8 = 1i64;
let List.670 : U8 = GetTagId List.665;
let List.671 : Int1 = lowlevel Eq List.669 List.670;
if List.671 then
let List.392 : Str = UnionAtIndex (Id 1) (Index 0) List.665;
let List.666 : [C {}, C Str] = TagId(1) List.392;
ret List.666;
else
dec List.665;
let List.668 : {} = Struct {};
let List.667 : [C {}, C Str] = TagId(0) List.668;
ret List.667;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
procedure Result.5 (Result.14, Result.15):
let Result.63 : U8 = 1i64;
let Result.64 : U8 = GetTagId Result.14;
let Result.65 : Int1 = lowlevel Eq Result.63 Result.64;
if Result.65 then
dec Result.15;
let Result.16 : Str = UnionAtIndex (Id 1) (Index 0) Result.14;
ret Result.16;
else
dec Result.14;
ret Result.15;
procedure Test.10 (Test.11):
let Test.12 : Str = CallByName Test.2 Test.11;
let Test.26 : Int1 = CallByName Bool.1;
if Test.26 then
ret Test.12;
else
dec Test.12;
let Test.25 : Str = "foo";
ret Test.25;
let Bool.23 : Int1 = false;
ret Bool.23;
procedure Test.2 (Test.6):
let Test.29 : U8 = 1i64;
let Test.30 : U8 = GetTagId Test.6;
let Test.31 : Int1 = lowlevel Eq Test.29 Test.30;
if Test.31 then
let Test.22 : U8 = 1i64;
let Test.23 : U8 = GetTagId Test.6;
let Test.24 : Int1 = lowlevel Eq Test.22 Test.23;
if Test.24 then
let Test.7 : [<r>C List *self, C *self] = UnionAtIndex (Id 1) (Index 0) Test.6;
joinpoint #Derived_gen.9:
joinpoint #Derived_gen.1:
let Test.8 : Str = CallByName Test.2 Test.7;
let Test.18 : Int1 = CallByName Bool.1;
if Test.18 then
@ -135,37 +18,32 @@ procedure Test.2 (Test.6):
let Test.17 : Str = "foo";
ret Test.17;
in
let #Derived_gen.10 : Int1 = lowlevel RefCountIsUnique Test.6;
if #Derived_gen.10 then
let #Derived_gen.2 : Int1 = lowlevel RefCountIsUnique Test.6;
if #Derived_gen.2 then
free Test.6;
jump #Derived_gen.9;
jump #Derived_gen.1;
else
inc Test.7;
decref Test.6;
jump #Derived_gen.9;
jump #Derived_gen.1;
else
let Test.9 : List [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = UnionAtIndex (Id 0) (Index 0) Test.6;
joinpoint #Derived_gen.11:
let Test.24 : {} = Struct {};
let Test.23 : List Str = CallByName List.5 Test.9 Test.24;
joinpoint #Derived_gen.3:
dec Test.9;
let Test.21 : [C {}, C Str] = CallByName List.9 Test.23;
dec Test.23;
let Test.22 : Str = "foo";
let Test.20 : Str = CallByName Result.5 Test.21 Test.22;
ret Test.20;
let Test.21 : Str = "ValueNotExposed { module_name: ModuleName(IdentStr { string: \"Result\" }), ident: Ident(IdentStr { string: \"withDefault\" }), region: @662-680, exposed_values: ['is_err', 'on_err', 'map', 'map_err', 'with_default', 'try', 'is_ok', 'map_both', 'map2', 'on_err!'] }";
Crash Test.21
in
let #Derived_gen.12 : Int1 = lowlevel RefCountIsUnique Test.6;
if #Derived_gen.12 then
let #Derived_gen.4 : Int1 = lowlevel RefCountIsUnique Test.6;
if #Derived_gen.4 then
free Test.6;
jump #Derived_gen.11;
jump #Derived_gen.3;
else
inc Test.9;
decref Test.6;
jump #Derived_gen.11;
jump #Derived_gen.3;
procedure Test.0 ():
let Test.32 : List [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = Array [];
let Test.15 : [<r>C List *self, C *self] = TagId(0) Test.32;
let Test.25 : List [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = Array [];
let Test.15 : [<r>C List *self, C *self] = TagId(0) Test.25;
let Test.14 : Str = CallByName Test.2 Test.15;
ret Test.14;

View file

@ -1,38 +1,38 @@
procedure Inspect.278 (Inspect.279, Inspect.277):
let Inspect.318 : Str = CallByName Num.96 Inspect.277;
let Inspect.317 : Str = CallByName Inspect.63 Inspect.279 Inspect.318;
dec Inspect.318;
ret Inspect.317;
procedure Inspect.277 (Inspect.278, Inspect.276):
let Inspect.317 : Str = CallByName Num.96 Inspect.276;
let Inspect.316 : Str = CallByName Inspect.63 Inspect.278 Inspect.317;
dec Inspect.317;
ret Inspect.316;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : I64 = CallByName Inspect.57 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName Inspect.278 Inspect.308 Inspect.312;
ret Inspect.307;
let Inspect.311 : I64 = CallByName Inspect.57 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName Inspect.277 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.57 (Inspect.277):
let Inspect.313 : I64 = CallByName Inspect.30 Inspect.277;
ret Inspect.313;
procedure Inspect.57 (Inspect.276):
let Inspect.312 : I64 = CallByName Inspect.30 Inspect.276;
ret Inspect.312;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.320 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.320;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.319 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.319;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -2,46 +2,46 @@ procedure Bool.2 ():
let Bool.23 : Int1 = true;
ret Bool.23;
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.323 : Str = "\"";
let Inspect.322 : Str = CallByName Inspect.63 Inspect.251 Inspect.323;
dec Inspect.323;
let Inspect.318 : Str = CallByName Inspect.63 Inspect.322 Inspect.249;
let Inspect.319 : Str = "\"";
let Inspect.317 : Str = CallByName Inspect.63 Inspect.318 Inspect.319;
dec Inspect.319;
ret Inspect.317;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.322 : Str = "\"";
let Inspect.321 : Str = CallByName Inspect.63 Inspect.250 Inspect.322;
dec Inspect.322;
let Inspect.317 : Str = CallByName Inspect.63 Inspect.321 Inspect.248;
let Inspect.318 : Str = "\"";
let Inspect.316 : Str = CallByName Inspect.63 Inspect.317 Inspect.318;
dec Inspect.318;
ret Inspect.316;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.47 (Inspect.249):
let Inspect.313 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.313;
procedure Inspect.47 (Inspect.248):
let Inspect.312 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.312;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : Str = CallByName Inspect.47 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName Inspect.250 Inspect.308 Inspect.312;
dec Inspect.312;
ret Inspect.307;
let Inspect.311 : Str = CallByName Inspect.47 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName Inspect.249 Inspect.307 Inspect.311;
dec Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.321 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.321;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.320 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.320;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -1,43 +1,43 @@
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.323 : Str = "\"";
let Inspect.322 : Str = CallByName Inspect.63 Inspect.251 Inspect.323;
dec Inspect.323;
let Inspect.318 : Str = CallByName Inspect.63 Inspect.322 Inspect.249;
let Inspect.319 : Str = "\"";
let Inspect.317 : Str = CallByName Inspect.63 Inspect.318 Inspect.319;
dec Inspect.319;
ret Inspect.317;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.322 : Str = "\"";
let Inspect.321 : Str = CallByName Inspect.63 Inspect.250 Inspect.322;
dec Inspect.322;
let Inspect.317 : Str = CallByName Inspect.63 Inspect.321 Inspect.248;
let Inspect.318 : Str = "\"";
let Inspect.316 : Str = CallByName Inspect.63 Inspect.317 Inspect.318;
dec Inspect.318;
ret Inspect.316;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.47 (Inspect.249):
let Inspect.313 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.313;
procedure Inspect.47 (Inspect.248):
let Inspect.312 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.312;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : Str = CallByName Inspect.47 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName Inspect.250 Inspect.308 Inspect.312;
dec Inspect.312;
ret Inspect.307;
let Inspect.311 : Str = CallByName Inspect.47 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName Inspect.249 Inspect.307 Inspect.311;
dec Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.321 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.321;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.320 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.320;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.248 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -1,38 +1,38 @@
procedure Inspect.278 (Inspect.279, Inspect.277):
let Inspect.318 : Str = CallByName Num.96 Inspect.277;
let Inspect.317 : Str = CallByName Inspect.63 Inspect.279 Inspect.318;
dec Inspect.318;
ret Inspect.317;
procedure Inspect.277 (Inspect.278, Inspect.276):
let Inspect.317 : Str = CallByName Num.96 Inspect.276;
let Inspect.316 : Str = CallByName Inspect.63 Inspect.278 Inspect.317;
dec Inspect.317;
ret Inspect.316;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.33 (Inspect.152):
let Inspect.324 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.323 : Str = CallByName Inspect.64 Inspect.324;
ret Inspect.323;
let Inspect.323 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.322 : Str = CallByName Inspect.64 Inspect.323;
ret Inspect.322;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : I64 = CallByName Inspect.57 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName Inspect.278 Inspect.308 Inspect.312;
ret Inspect.307;
let Inspect.311 : I64 = CallByName Inspect.57 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName Inspect.277 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.57 (Inspect.277):
let Inspect.313 : I64 = CallByName Inspect.30 Inspect.277;
ret Inspect.313;
procedure Inspect.57 (Inspect.276):
let Inspect.312 : I64 = CallByName Inspect.30 Inspect.276;
ret Inspect.312;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.320 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.320;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.319 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.319;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;

View file

@ -1,43 +1,43 @@
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.323 : Str = "\"";
let Inspect.322 : Str = CallByName Inspect.63 Inspect.251 Inspect.323;
dec Inspect.323;
let Inspect.318 : Str = CallByName Inspect.63 Inspect.322 Inspect.249;
let Inspect.319 : Str = "\"";
let Inspect.317 : Str = CallByName Inspect.63 Inspect.318 Inspect.319;
dec Inspect.319;
ret Inspect.317;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.322 : Str = "\"";
let Inspect.321 : Str = CallByName Inspect.63 Inspect.250 Inspect.322;
dec Inspect.322;
let Inspect.317 : Str = CallByName Inspect.63 Inspect.321 Inspect.248;
let Inspect.318 : Str = "\"";
let Inspect.316 : Str = CallByName Inspect.63 Inspect.317 Inspect.318;
dec Inspect.318;
ret Inspect.316;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.47 (Inspect.249):
let Inspect.313 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.313;
procedure Inspect.47 (Inspect.248):
let Inspect.312 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.312;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : Str = CallByName Inspect.47 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName Inspect.250 Inspect.308 Inspect.312;
dec Inspect.312;
ret Inspect.307;
let Inspect.311 : Str = CallByName Inspect.47 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName Inspect.249 Inspect.307 Inspect.311;
dec Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.321 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.321;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.320 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.320;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -1,29 +1,29 @@
procedure Dict.1 (Dict.731):
let Dict.740 : List {U32, U32} = Array [];
let Dict.741 : List {[], []} = Array [];
let Dict.742 : U64 = 0i64;
procedure Dict.1 (Dict.732):
let Dict.741 : List {U32, U32} = Array [];
let Dict.742 : List {[], []} = Array [];
let Dict.743 : U64 = 0i64;
let Dict.51 : Float32 = CallByName Dict.51;
let Dict.52 : U8 = CallByName Dict.52;
let Dict.739 : {List {U32, U32}, List {[], []}, U64, Float32, U8} = Struct {Dict.740, Dict.741, Dict.742, Dict.51, Dict.52};
let Dict.740 : {List {U32, U32}, List {[], []}, U64, Float32, U8} = Struct {Dict.741, Dict.742, Dict.743, Dict.51, Dict.52};
ret Dict.740;
procedure Dict.4 (Dict.738):
let Dict.163 : List {[], []} = StructAtIndex 1 Dict.738;
let #Derived_gen.0 : List {U32, U32} = StructAtIndex 0 Dict.738;
dec #Derived_gen.0;
let Dict.739 : U64 = CallByName List.6 Dict.163;
dec Dict.163;
ret Dict.739;
procedure Dict.4 (Dict.737):
let Dict.163 : List {[], []} = StructAtIndex 1 Dict.737;
let #Derived_gen.0 : List {U32, U32} = StructAtIndex 0 Dict.737;
dec #Derived_gen.0;
let Dict.738 : U64 = CallByName List.6 Dict.163;
dec Dict.163;
ret Dict.738;
procedure Dict.51 ():
let Dict.746 : Float32 = 0.8f64;
ret Dict.746;
let Dict.747 : Float32 = 0.8f64;
ret Dict.747;
procedure Dict.52 ():
let Dict.744 : U8 = 64i64;
let Dict.745 : U8 = 3i64;
let Dict.743 : U8 = CallByName Num.75 Dict.744 Dict.745;
ret Dict.743;
let Dict.745 : U8 = 64i64;
let Dict.746 : U8 = 3i64;
let Dict.744 : U8 = CallByName Num.75 Dict.745 Dict.746;
ret Dict.744;
procedure List.6 (#Attr.2):
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;

File diff suppressed because it is too large Load diff

View file

@ -25,64 +25,64 @@ procedure Inspect.156 (Inspect.157, #Attr.12):
let Inspect.155 : {} = StructAtIndex 2 #Attr.12;
let Inspect.154 : {} = StructAtIndex 1 #Attr.12;
let Inspect.153 : List I64 = StructAtIndex 0 #Attr.12;
let Inspect.347 : Str = "[";
let Inspect.328 : Str = CallByName Inspect.63 Inspect.157 Inspect.347;
dec Inspect.347;
let Inspect.329 : {List I64, {}, {}} = Struct {Inspect.153, Inspect.154, Inspect.155};
let Inspect.324 : {Str, Int1} = CallByName Inspect.158 Inspect.328 Inspect.329;
dec Inspect.328;
let Inspect.325 : {} = Struct {};
let Inspect.320 : Str = CallByName Inspect.167 Inspect.324;
let Inspect.321 : Str = "]";
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
dec Inspect.321;
ret Inspect.319;
let Inspect.346 : Str = "[";
let Inspect.327 : Str = CallByName Inspect.63 Inspect.157 Inspect.346;
dec Inspect.346;
let Inspect.328 : {List I64, {}, {}} = Struct {Inspect.153, Inspect.154, Inspect.155};
let Inspect.323 : {Str, Int1} = CallByName Inspect.158 Inspect.327 Inspect.328;
dec Inspect.327;
let Inspect.324 : {} = Struct {};
let Inspect.319 : Str = CallByName Inspect.167 Inspect.323;
let Inspect.320 : Str = "]";
let Inspect.318 : Str = CallByName Inspect.63 Inspect.319 Inspect.320;
dec Inspect.320;
ret Inspect.318;
procedure Inspect.158 (Inspect.159, #Attr.12):
let Inspect.155 : {} = StructAtIndex 2 #Attr.12;
let Inspect.154 : {} = StructAtIndex 1 #Attr.12;
let Inspect.153 : List I64 = StructAtIndex 0 #Attr.12;
let Inspect.346 : Int1 = CallByName Bool.1;
let Inspect.345 : Int1 = CallByName Bool.1;
inc Inspect.159;
let Inspect.332 : {Str, Int1} = Struct {Inspect.159, Inspect.346};
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.153 Inspect.332 Inspect.155;
let Inspect.331 : {Str, Int1} = Struct {Inspect.159, Inspect.345};
let Inspect.330 : {Str, Int1} = CallByName List.18 Inspect.153 Inspect.331 Inspect.155;
dec Inspect.153;
ret Inspect.331;
ret Inspect.330;
procedure Inspect.160 (Inspect.334, Inspect.163, Inspect.155):
let Inspect.161 : Str = StructAtIndex 0 Inspect.334;
let Inspect.162 : Int1 = StructAtIndex 1 Inspect.334;
joinpoint Inspect.344 Inspect.164:
let Inspect.341 : I64 = CallByName #Derived.3 Inspect.163;
let Inspect.337 : Str = CallByName Inspect.31 Inspect.341 Inspect.164;
let Inspect.338 : {} = Struct {};
let Inspect.336 : {Str, Int1} = CallByName Inspect.165 Inspect.337;
dec Inspect.337;
ret Inspect.336;
procedure Inspect.160 (Inspect.333, Inspect.163, Inspect.155):
let Inspect.161 : Str = StructAtIndex 0 Inspect.333;
let Inspect.162 : Int1 = StructAtIndex 1 Inspect.333;
joinpoint Inspect.343 Inspect.164:
let Inspect.340 : I64 = CallByName #Derived.3 Inspect.163;
let Inspect.336 : Str = CallByName Inspect.31 Inspect.340 Inspect.164;
let Inspect.337 : {} = Struct {};
let Inspect.335 : {Str, Int1} = CallByName Inspect.165 Inspect.336;
dec Inspect.336;
ret Inspect.335;
in
if Inspect.162 then
let Inspect.345 : Str = ", ";
let Inspect.343 : Str = CallByName Inspect.63 Inspect.161 Inspect.345;
dec Inspect.345;
jump Inspect.344 Inspect.343;
let Inspect.344 : Str = ", ";
let Inspect.342 : Str = CallByName Inspect.63 Inspect.161 Inspect.344;
dec Inspect.344;
jump Inspect.343 Inspect.342;
else
jump Inspect.344 Inspect.161;
jump Inspect.343 Inspect.161;
procedure Inspect.165 (Inspect.166):
let Inspect.340 : Int1 = CallByName Bool.2;
let Inspect.339 : Int1 = CallByName Bool.2;
inc Inspect.166;
let Inspect.339 : {Str, Int1} = Struct {Inspect.166, Inspect.340};
ret Inspect.339;
let Inspect.338 : {Str, Int1} = Struct {Inspect.166, Inspect.339};
ret Inspect.338;
procedure Inspect.167 (Inspect.326):
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
ret Inspect.327;
procedure Inspect.167 (Inspect.325):
let Inspect.326 : Str = StructAtIndex 0 Inspect.325;
ret Inspect.326;
procedure Inspect.278 (Inspect.279, Inspect.277):
let Inspect.353 : Str = CallByName Num.96 Inspect.277;
let Inspect.352 : Str = CallByName Inspect.63 Inspect.279 Inspect.353;
dec Inspect.353;
ret Inspect.352;
procedure Inspect.277 (Inspect.278, Inspect.276):
let Inspect.352 : Str = CallByName Num.96 Inspect.276;
let Inspect.351 : Str = CallByName Inspect.63 Inspect.278 Inspect.352;
dec Inspect.352;
ret Inspect.351;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
@ -93,47 +93,47 @@ procedure Inspect.30 (Inspect.147):
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.314 : Str = CallByName Inspect.156 Inspect.149 Inspect.303;
ret Inspect.314;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.313 : Str = CallByName Inspect.156 Inspect.149 Inspect.302;
ret Inspect.313;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.342 : Str = CallByName Inspect.278 Inspect.149 Inspect.303;
ret Inspect.342;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.341 : Str = CallByName Inspect.277 Inspect.149 Inspect.302;
ret Inspect.341;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.40 (Inspect.153, Inspect.154, Inspect.155):
inc Inspect.153;
let Inspect.316 : {List I64, {}, {}} = Struct {Inspect.153, Inspect.154, Inspect.155};
let Inspect.315 : {List I64, {}, {}} = CallByName Inspect.30 Inspect.316;
ret Inspect.315;
let Inspect.315 : {List I64, {}, {}} = Struct {Inspect.153, Inspect.154, Inspect.155};
let Inspect.314 : {List I64, {}, {}} = CallByName Inspect.30 Inspect.315;
ret Inspect.314;
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.39 Inspect.309;
let Inspect.307 : Str = CallByName #Derived.4 Inspect.308 Inspect.312;
dec Inspect.312;
ret Inspect.307;
let Inspect.311 : List I64 = CallByName #Derived.0 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName #Derived.4 Inspect.307 Inspect.311;
dec Inspect.311;
ret Inspect.306;
procedure Inspect.57 (Inspect.277):
let Inspect.348 : I64 = CallByName Inspect.30 Inspect.277;
ret Inspect.348;
procedure Inspect.57 (Inspect.276):
let Inspect.347 : I64 = CallByName Inspect.30 Inspect.276;
ret Inspect.347;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.323;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.322 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.322;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure List.100 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:

View file

@ -35,125 +35,125 @@ procedure Bool.2 ():
ret Bool.25;
procedure Inspect.229 (Inspect.230, Inspect.228):
let Inspect.352 : Str = "{";
let Inspect.328 : Str = CallByName Inspect.63 Inspect.230 Inspect.352;
dec Inspect.352;
let Inspect.324 : {Str, Int1} = CallByName Inspect.231 Inspect.328 Inspect.228;
dec Inspect.328;
let Inspect.325 : {} = Struct {};
let Inspect.320 : Str = CallByName Inspect.243 Inspect.324;
let Inspect.321 : Str = "}";
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
dec Inspect.321;
ret Inspect.319;
let Inspect.351 : Str = "{";
let Inspect.327 : Str = CallByName Inspect.63 Inspect.230 Inspect.351;
dec Inspect.351;
let Inspect.323 : {Str, Int1} = CallByName Inspect.231 Inspect.327 Inspect.228;
dec Inspect.327;
let Inspect.324 : {} = Struct {};
let Inspect.319 : Str = CallByName Inspect.243 Inspect.323;
let Inspect.320 : Str = "}";
let Inspect.318 : Str = CallByName Inspect.63 Inspect.319 Inspect.320;
dec Inspect.320;
ret Inspect.318;
procedure Inspect.229 (Inspect.230, Inspect.228):
let Inspect.392 : Str = "{";
let Inspect.368 : Str = CallByName Inspect.63 Inspect.230 Inspect.392;
dec Inspect.392;
let Inspect.364 : {Str, Int1} = CallByName Inspect.231 Inspect.368 Inspect.228;
dec Inspect.368;
let Inspect.365 : {} = Struct {};
let Inspect.360 : Str = CallByName Inspect.243 Inspect.364;
let Inspect.361 : Str = "}";
let Inspect.359 : Str = CallByName Inspect.63 Inspect.360 Inspect.361;
dec Inspect.361;
ret Inspect.359;
let Inspect.391 : Str = "{";
let Inspect.367 : Str = CallByName Inspect.63 Inspect.230 Inspect.391;
dec Inspect.391;
let Inspect.363 : {Str, Int1} = CallByName Inspect.231 Inspect.367 Inspect.228;
dec Inspect.367;
let Inspect.364 : {} = Struct {};
let Inspect.359 : Str = CallByName Inspect.243 Inspect.363;
let Inspect.360 : Str = "}";
let Inspect.358 : Str = CallByName Inspect.63 Inspect.359 Inspect.360;
dec Inspect.360;
ret Inspect.358;
procedure Inspect.231 (Inspect.232, Inspect.228):
let Inspect.351 : Int1 = CallByName Bool.1;
let Inspect.350 : Int1 = CallByName Bool.1;
inc Inspect.232;
let Inspect.332 : {Str, Int1} = Struct {Inspect.232, Inspect.351};
let Inspect.333 : {} = Struct {};
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.332 Inspect.333;
ret Inspect.331;
let Inspect.331 : {Str, Int1} = Struct {Inspect.232, Inspect.350};
let Inspect.332 : {} = Struct {};
let Inspect.330 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.331 Inspect.332;
ret Inspect.330;
procedure Inspect.231 (Inspect.232, Inspect.228):
let Inspect.391 : Int1 = CallByName Bool.1;
let Inspect.390 : Int1 = CallByName Bool.1;
inc Inspect.232;
let Inspect.372 : {Str, Int1} = Struct {Inspect.232, Inspect.391};
let Inspect.373 : {} = Struct {};
let Inspect.371 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.372 Inspect.373;
ret Inspect.371;
let Inspect.371 : {Str, Int1} = Struct {Inspect.232, Inspect.390};
let Inspect.372 : {} = Struct {};
let Inspect.370 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.371 Inspect.372;
ret Inspect.370;
procedure Inspect.233 (Inspect.334, Inspect.335):
let Inspect.236 : Str = StructAtIndex 0 Inspect.335;
let Inspect.237 : Str = StructAtIndex 1 Inspect.335;
let Inspect.234 : Str = StructAtIndex 0 Inspect.334;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
joinpoint Inspect.349 Inspect.238:
let Inspect.346 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
procedure Inspect.233 (Inspect.333, Inspect.334):
let Inspect.236 : Str = StructAtIndex 0 Inspect.334;
let Inspect.237 : Str = StructAtIndex 1 Inspect.334;
let Inspect.234 : Str = StructAtIndex 0 Inspect.333;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.333;
joinpoint Inspect.348 Inspect.238:
let Inspect.345 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
dec Inspect.236;
let Inspect.347 : Str = ": ";
let Inspect.341 : Str = CallByName Inspect.63 Inspect.346 Inspect.347;
dec Inspect.347;
let Inspect.337 : Str = CallByName Inspect.239 Inspect.341 Inspect.237;
let Inspect.338 : {} = Struct {};
let Inspect.336 : {Str, Int1} = CallByName Inspect.241 Inspect.337;
dec Inspect.337;
ret Inspect.336;
let Inspect.346 : Str = ": ";
let Inspect.340 : Str = CallByName Inspect.63 Inspect.345 Inspect.346;
dec Inspect.346;
let Inspect.336 : Str = CallByName Inspect.239 Inspect.340 Inspect.237;
let Inspect.337 : {} = Struct {};
let Inspect.335 : {Str, Int1} = CallByName Inspect.241 Inspect.336;
dec Inspect.336;
ret Inspect.335;
in
if Inspect.235 then
let Inspect.350 : Str = ", ";
let Inspect.348 : Str = CallByName Inspect.63 Inspect.234 Inspect.350;
dec Inspect.350;
jump Inspect.349 Inspect.348;
let Inspect.349 : Str = ", ";
let Inspect.347 : Str = CallByName Inspect.63 Inspect.234 Inspect.349;
dec Inspect.349;
jump Inspect.348 Inspect.347;
else
jump Inspect.349 Inspect.234;
jump Inspect.348 Inspect.234;
procedure Inspect.233 (Inspect.334, Inspect.335):
let Inspect.236 : Str = StructAtIndex 0 Inspect.335;
let Inspect.237 : Str = StructAtIndex 1 Inspect.335;
let Inspect.234 : Str = StructAtIndex 0 Inspect.334;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
joinpoint Inspect.389 Inspect.238:
let Inspect.386 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
procedure Inspect.233 (Inspect.333, Inspect.334):
let Inspect.236 : Str = StructAtIndex 0 Inspect.334;
let Inspect.237 : Str = StructAtIndex 1 Inspect.334;
let Inspect.234 : Str = StructAtIndex 0 Inspect.333;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.333;
joinpoint Inspect.388 Inspect.238:
let Inspect.385 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
dec Inspect.236;
let Inspect.387 : Str = ": ";
let Inspect.381 : Str = CallByName Inspect.63 Inspect.386 Inspect.387;
dec Inspect.387;
let Inspect.377 : Str = CallByName Inspect.239 Inspect.381 Inspect.237;
let Inspect.386 : Str = ": ";
let Inspect.380 : Str = CallByName Inspect.63 Inspect.385 Inspect.386;
dec Inspect.386;
let Inspect.376 : Str = CallByName Inspect.239 Inspect.380 Inspect.237;
dec Inspect.237;
let Inspect.378 : {} = Struct {};
let Inspect.376 : {Str, Int1} = CallByName Inspect.241 Inspect.377;
dec Inspect.377;
ret Inspect.376;
let Inspect.377 : {} = Struct {};
let Inspect.375 : {Str, Int1} = CallByName Inspect.241 Inspect.376;
dec Inspect.376;
ret Inspect.375;
in
if Inspect.235 then
let Inspect.390 : Str = ", ";
let Inspect.388 : Str = CallByName Inspect.63 Inspect.234 Inspect.390;
dec Inspect.390;
jump Inspect.389 Inspect.388;
let Inspect.389 : Str = ", ";
let Inspect.387 : Str = CallByName Inspect.63 Inspect.234 Inspect.389;
dec Inspect.389;
jump Inspect.388 Inspect.387;
else
jump Inspect.389 Inspect.234;
jump Inspect.388 Inspect.234;
procedure Inspect.239 (Inspect.240, Inspect.237):
let Inspect.344 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.344;
let Inspect.343 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.343;
procedure Inspect.239 (Inspect.240, Inspect.237):
let Inspect.384 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.384;
let Inspect.383 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.383;
procedure Inspect.241 (Inspect.242):
let Inspect.380 : Int1 = CallByName Bool.2;
let Inspect.379 : Int1 = CallByName Bool.2;
inc Inspect.242;
let Inspect.379 : {Str, Int1} = Struct {Inspect.242, Inspect.380};
ret Inspect.379;
let Inspect.378 : {Str, Int1} = Struct {Inspect.242, Inspect.379};
ret Inspect.378;
procedure Inspect.243 (Inspect.326):
let Inspect.367 : Str = StructAtIndex 0 Inspect.326;
ret Inspect.367;
procedure Inspect.243 (Inspect.325):
let Inspect.366 : Str = StructAtIndex 0 Inspect.325;
ret Inspect.366;
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.401 : Str = "\"";
let Inspect.400 : Str = CallByName Inspect.63 Inspect.251 Inspect.401;
dec Inspect.401;
let Inspect.398 : Str = CallByName Inspect.63 Inspect.400 Inspect.249;
let Inspect.399 : Str = "\"";
let Inspect.397 : Str = CallByName Inspect.63 Inspect.398 Inspect.399;
dec Inspect.399;
ret Inspect.397;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.400 : Str = "\"";
let Inspect.399 : Str = CallByName Inspect.63 Inspect.250 Inspect.400;
dec Inspect.400;
let Inspect.397 : Str = CallByName Inspect.63 Inspect.399 Inspect.248;
let Inspect.398 : Str = "\"";
let Inspect.396 : Str = CallByName Inspect.63 Inspect.397 Inspect.398;
dec Inspect.398;
ret Inspect.396;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
@ -170,58 +170,58 @@ procedure Inspect.30 (Inspect.147):
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.314 : Str = CallByName Inspect.229 Inspect.149 Inspect.303;
ret Inspect.314;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.313 : Str = CallByName Inspect.229 Inspect.149 Inspect.302;
ret Inspect.313;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.345 : Str = CallByName #Derived.6 Inspect.149 Inspect.303;
ret Inspect.345;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.344 : Str = CallByName #Derived.6 Inspect.149 Inspect.302;
ret Inspect.344;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.354 : Str = CallByName Inspect.229 Inspect.149 Inspect.303;
ret Inspect.354;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.353 : Str = CallByName Inspect.229 Inspect.149 Inspect.302;
ret Inspect.353;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.385 : Str = CallByName Inspect.250 Inspect.149 Inspect.303;
ret Inspect.385;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.384 : Str = CallByName Inspect.249 Inspect.149 Inspect.302;
ret Inspect.384;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.45 (Inspect.228):
let Inspect.315 : List {Str, Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.315;
let Inspect.314 : List {Str, Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.314;
procedure Inspect.45 (Inspect.228):
let Inspect.355 : List {Str, Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.355;
let Inspect.354 : List {Str, Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.354;
procedure Inspect.47 (Inspect.249):
let Inspect.393 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.393;
procedure Inspect.47 (Inspect.248):
let Inspect.392 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.392;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : Str = CallByName #Derived.0 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName #Derived.2 Inspect.308 Inspect.312;
ret Inspect.307;
let Inspect.311 : Str = CallByName #Derived.0 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName #Derived.2 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.363 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.363;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.362 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.362;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure List.100 (#Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34):
procedure List.100 (#Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
if List.670 then
@ -235,8 +235,8 @@ procedure List.100 (#Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_
dec List.174;
ret List.175;
in
inc #Derived_gen.30;
jump List.668 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34;
inc #Derived_gen.32;
jump List.668 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
procedure List.100 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_gen.46, #Derived_gen.47):
joinpoint List.680 List.174 List.175 List.176 List.177 List.178:

View file

@ -26,78 +26,78 @@ procedure Bool.2 ():
ret Bool.23;
procedure Inspect.229 (Inspect.230, Inspect.228):
let Inspect.353 : Str = "{";
let Inspect.328 : Str = CallByName Inspect.63 Inspect.230 Inspect.353;
dec Inspect.353;
let Inspect.324 : {Str, Int1} = CallByName Inspect.231 Inspect.328 Inspect.228;
dec Inspect.328;
let Inspect.325 : {} = Struct {};
let Inspect.320 : Str = CallByName Inspect.243 Inspect.324;
let Inspect.321 : Str = "}";
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
dec Inspect.321;
ret Inspect.319;
let Inspect.352 : Str = "{";
let Inspect.327 : Str = CallByName Inspect.63 Inspect.230 Inspect.352;
dec Inspect.352;
let Inspect.323 : {Str, Int1} = CallByName Inspect.231 Inspect.327 Inspect.228;
dec Inspect.327;
let Inspect.324 : {} = Struct {};
let Inspect.319 : Str = CallByName Inspect.243 Inspect.323;
let Inspect.320 : Str = "}";
let Inspect.318 : Str = CallByName Inspect.63 Inspect.319 Inspect.320;
dec Inspect.320;
ret Inspect.318;
procedure Inspect.231 (Inspect.232, Inspect.228):
let Inspect.352 : Int1 = CallByName Bool.1;
let Inspect.351 : Int1 = CallByName Bool.1;
inc Inspect.232;
let Inspect.332 : {Str, Int1} = Struct {Inspect.232, Inspect.352};
let Inspect.333 : {} = Struct {};
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.332 Inspect.333;
ret Inspect.331;
let Inspect.331 : {Str, Int1} = Struct {Inspect.232, Inspect.351};
let Inspect.332 : {} = Struct {};
let Inspect.330 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.331 Inspect.332;
ret Inspect.330;
procedure Inspect.233 (Inspect.334, Inspect.335):
let Inspect.237 : [C I64, C Decimal] = StructAtIndex 0 Inspect.335;
let Inspect.236 : Str = StructAtIndex 1 Inspect.335;
let Inspect.234 : Str = StructAtIndex 0 Inspect.334;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
joinpoint Inspect.350 Inspect.238:
let Inspect.347 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
procedure Inspect.233 (Inspect.333, Inspect.334):
let Inspect.237 : [C I64, C Decimal] = StructAtIndex 0 Inspect.334;
let Inspect.236 : Str = StructAtIndex 1 Inspect.334;
let Inspect.234 : Str = StructAtIndex 0 Inspect.333;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.333;
joinpoint Inspect.349 Inspect.238:
let Inspect.346 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
dec Inspect.236;
let Inspect.348 : Str = ": ";
let Inspect.341 : Str = CallByName Inspect.63 Inspect.347 Inspect.348;
dec Inspect.348;
let Inspect.337 : Str = CallByName Inspect.239 Inspect.341 Inspect.237;
let Inspect.338 : {} = Struct {};
let Inspect.336 : {Str, Int1} = CallByName Inspect.241 Inspect.337;
dec Inspect.337;
ret Inspect.336;
let Inspect.347 : Str = ": ";
let Inspect.340 : Str = CallByName Inspect.63 Inspect.346 Inspect.347;
dec Inspect.347;
let Inspect.336 : Str = CallByName Inspect.239 Inspect.340 Inspect.237;
let Inspect.337 : {} = Struct {};
let Inspect.335 : {Str, Int1} = CallByName Inspect.241 Inspect.336;
dec Inspect.336;
ret Inspect.335;
in
if Inspect.235 then
let Inspect.351 : Str = ", ";
let Inspect.349 : Str = CallByName Inspect.63 Inspect.234 Inspect.351;
dec Inspect.351;
jump Inspect.350 Inspect.349;
let Inspect.350 : Str = ", ";
let Inspect.348 : Str = CallByName Inspect.63 Inspect.234 Inspect.350;
dec Inspect.350;
jump Inspect.349 Inspect.348;
else
jump Inspect.350 Inspect.234;
jump Inspect.349 Inspect.234;
procedure Inspect.239 (Inspect.240, Inspect.237):
let Inspect.344 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.344;
let Inspect.343 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.343;
procedure Inspect.241 (Inspect.242):
let Inspect.340 : Int1 = CallByName Bool.2;
let Inspect.339 : Int1 = CallByName Bool.2;
inc Inspect.242;
let Inspect.339 : {Str, Int1} = Struct {Inspect.242, Inspect.340};
ret Inspect.339;
let Inspect.338 : {Str, Int1} = Struct {Inspect.242, Inspect.339};
ret Inspect.338;
procedure Inspect.243 (Inspect.326):
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
ret Inspect.327;
procedure Inspect.243 (Inspect.325):
let Inspect.326 : Str = StructAtIndex 0 Inspect.325;
ret Inspect.326;
procedure Inspect.278 (Inspect.279, #Attr.12):
let Inspect.366 : I64 = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.365 : Str = CallByName Num.96 Inspect.366;
let Inspect.364 : Str = CallByName Inspect.63 Inspect.279 Inspect.365;
dec Inspect.365;
ret Inspect.364;
procedure Inspect.277 (Inspect.278, #Attr.12):
let Inspect.365 : I64 = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.364 : Str = CallByName Num.96 Inspect.365;
let Inspect.363 : Str = CallByName Inspect.63 Inspect.278 Inspect.364;
dec Inspect.364;
ret Inspect.363;
procedure Inspect.293 (Inspect.294, #Attr.12):
let Inspect.360 : Decimal = UnionAtIndex (Id 1) (Index 0) #Attr.12;
let Inspect.359 : Str = CallByName Num.96 Inspect.360;
let Inspect.358 : Str = CallByName Inspect.63 Inspect.294 Inspect.359;
dec Inspect.359;
ret Inspect.358;
procedure Inspect.292 (Inspect.293, #Attr.12):
let Inspect.359 : Decimal = UnionAtIndex (Id 1) (Index 0) #Attr.12;
let Inspect.358 : Str = CallByName Num.96 Inspect.359;
let Inspect.357 : Str = CallByName Inspect.63 Inspect.293 Inspect.358;
dec Inspect.358;
ret Inspect.357;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
@ -108,60 +108,60 @@ procedure Inspect.30 (Inspect.147):
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.314 : Str = CallByName Inspect.229 Inspect.149 Inspect.303;
ret Inspect.314;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.313 : Str = CallByName Inspect.229 Inspect.149 Inspect.302;
ret Inspect.313;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.346 : U8 = GetTagId Inspect.303;
switch Inspect.346:
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.345 : U8 = GetTagId Inspect.302;
switch Inspect.345:
case 0:
let Inspect.345 : Str = CallByName Inspect.278 Inspect.149 Inspect.303;
ret Inspect.345;
let Inspect.344 : Str = CallByName Inspect.277 Inspect.149 Inspect.302;
ret Inspect.344;
default:
let Inspect.345 : Str = CallByName Inspect.293 Inspect.149 Inspect.303;
ret Inspect.345;
let Inspect.344 : Str = CallByName Inspect.292 Inspect.149 Inspect.302;
ret Inspect.344;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.45 (Inspect.228):
let Inspect.315 : List {[C I64, C Decimal], Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.315;
let Inspect.314 : List {[C I64, C Decimal], Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.314;
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.39 Inspect.309;
let Inspect.307 : Str = CallByName #Derived.2 Inspect.308 Inspect.312;
ret Inspect.307;
let Inspect.311 : {Decimal, I64} = CallByName #Derived.0 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName #Derived.2 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.57 (Inspect.277):
let Inspect.362 : [C I64, C Decimal] = TagId(0) Inspect.277;
let Inspect.361 : [C I64, C Decimal] = CallByName Inspect.30 Inspect.362;
ret Inspect.361;
procedure Inspect.57 (Inspect.276):
let Inspect.361 : [C I64, C Decimal] = TagId(0) Inspect.276;
let Inspect.360 : [C I64, C Decimal] = CallByName Inspect.30 Inspect.361;
ret Inspect.360;
procedure Inspect.62 (Inspect.292):
let Inspect.355 : [C I64, C Decimal] = TagId(1) Inspect.292;
let Inspect.354 : [C I64, C Decimal] = CallByName Inspect.30 Inspect.355;
ret Inspect.354;
procedure Inspect.62 (Inspect.291):
let Inspect.354 : [C I64, C Decimal] = TagId(1) Inspect.291;
let Inspect.353 : [C I64, C Decimal] = CallByName Inspect.30 Inspect.354;
ret Inspect.353;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.323;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.322 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.322;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure List.100 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
procedure List.100 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
if List.670 then
@ -175,8 +175,8 @@ procedure List.100 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_
dec List.174;
ret List.175;
in
inc #Derived_gen.22;
jump List.668 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
inc #Derived_gen.20;
jump List.668 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
procedure List.18 (List.171, List.172, List.173):
let List.666 : U64 = 0i64;

View file

@ -21,75 +21,75 @@ procedure Bool.2 ():
ret Bool.23;
procedure Inspect.229 (Inspect.230, Inspect.228):
let Inspect.352 : Str = "{";
let Inspect.328 : Str = CallByName Inspect.63 Inspect.230 Inspect.352;
dec Inspect.352;
let Inspect.324 : {Str, Int1} = CallByName Inspect.231 Inspect.328 Inspect.228;
dec Inspect.328;
let Inspect.325 : {} = Struct {};
let Inspect.320 : Str = CallByName Inspect.243 Inspect.324;
let Inspect.321 : Str = "}";
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
dec Inspect.321;
ret Inspect.319;
let Inspect.351 : Str = "{";
let Inspect.327 : Str = CallByName Inspect.63 Inspect.230 Inspect.351;
dec Inspect.351;
let Inspect.323 : {Str, Int1} = CallByName Inspect.231 Inspect.327 Inspect.228;
dec Inspect.327;
let Inspect.324 : {} = Struct {};
let Inspect.319 : Str = CallByName Inspect.243 Inspect.323;
let Inspect.320 : Str = "}";
let Inspect.318 : Str = CallByName Inspect.63 Inspect.319 Inspect.320;
dec Inspect.320;
ret Inspect.318;
procedure Inspect.231 (Inspect.232, Inspect.228):
let Inspect.351 : Int1 = CallByName Bool.1;
let Inspect.350 : Int1 = CallByName Bool.1;
inc Inspect.232;
let Inspect.332 : {Str, Int1} = Struct {Inspect.232, Inspect.351};
let Inspect.333 : {} = Struct {};
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.332 Inspect.333;
ret Inspect.331;
let Inspect.331 : {Str, Int1} = Struct {Inspect.232, Inspect.350};
let Inspect.332 : {} = Struct {};
let Inspect.330 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.331 Inspect.332;
ret Inspect.330;
procedure Inspect.233 (Inspect.334, Inspect.335):
let Inspect.236 : Str = StructAtIndex 0 Inspect.335;
let Inspect.237 : Str = StructAtIndex 1 Inspect.335;
let Inspect.234 : Str = StructAtIndex 0 Inspect.334;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
joinpoint Inspect.349 Inspect.238:
let Inspect.346 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
procedure Inspect.233 (Inspect.333, Inspect.334):
let Inspect.236 : Str = StructAtIndex 0 Inspect.334;
let Inspect.237 : Str = StructAtIndex 1 Inspect.334;
let Inspect.234 : Str = StructAtIndex 0 Inspect.333;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.333;
joinpoint Inspect.348 Inspect.238:
let Inspect.345 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
dec Inspect.236;
let Inspect.347 : Str = ": ";
let Inspect.341 : Str = CallByName Inspect.63 Inspect.346 Inspect.347;
dec Inspect.347;
let Inspect.337 : Str = CallByName Inspect.239 Inspect.341 Inspect.237;
let Inspect.346 : Str = ": ";
let Inspect.340 : Str = CallByName Inspect.63 Inspect.345 Inspect.346;
dec Inspect.346;
let Inspect.336 : Str = CallByName Inspect.239 Inspect.340 Inspect.237;
dec Inspect.237;
let Inspect.338 : {} = Struct {};
let Inspect.336 : {Str, Int1} = CallByName Inspect.241 Inspect.337;
dec Inspect.337;
ret Inspect.336;
let Inspect.337 : {} = Struct {};
let Inspect.335 : {Str, Int1} = CallByName Inspect.241 Inspect.336;
dec Inspect.336;
ret Inspect.335;
in
if Inspect.235 then
let Inspect.350 : Str = ", ";
let Inspect.348 : Str = CallByName Inspect.63 Inspect.234 Inspect.350;
dec Inspect.350;
jump Inspect.349 Inspect.348;
let Inspect.349 : Str = ", ";
let Inspect.347 : Str = CallByName Inspect.63 Inspect.234 Inspect.349;
dec Inspect.349;
jump Inspect.348 Inspect.347;
else
jump Inspect.349 Inspect.234;
jump Inspect.348 Inspect.234;
procedure Inspect.239 (Inspect.240, Inspect.237):
let Inspect.344 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.344;
let Inspect.343 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.343;
procedure Inspect.241 (Inspect.242):
let Inspect.340 : Int1 = CallByName Bool.2;
let Inspect.339 : Int1 = CallByName Bool.2;
inc Inspect.242;
let Inspect.339 : {Str, Int1} = Struct {Inspect.242, Inspect.340};
ret Inspect.339;
let Inspect.338 : {Str, Int1} = Struct {Inspect.242, Inspect.339};
ret Inspect.338;
procedure Inspect.243 (Inspect.326):
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
ret Inspect.327;
procedure Inspect.243 (Inspect.325):
let Inspect.326 : Str = StructAtIndex 0 Inspect.325;
ret Inspect.326;
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.361 : Str = "\"";
let Inspect.360 : Str = CallByName Inspect.63 Inspect.251 Inspect.361;
dec Inspect.361;
let Inspect.358 : Str = CallByName Inspect.63 Inspect.360 Inspect.249;
let Inspect.359 : Str = "\"";
let Inspect.357 : Str = CallByName Inspect.63 Inspect.358 Inspect.359;
dec Inspect.359;
ret Inspect.357;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.360 : Str = "\"";
let Inspect.359 : Str = CallByName Inspect.63 Inspect.250 Inspect.360;
dec Inspect.360;
let Inspect.357 : Str = CallByName Inspect.63 Inspect.359 Inspect.248;
let Inspect.358 : Str = "\"";
let Inspect.356 : Str = CallByName Inspect.63 Inspect.357 Inspect.358;
dec Inspect.358;
ret Inspect.356;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
@ -100,44 +100,44 @@ procedure Inspect.30 (Inspect.147):
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.314 : Str = CallByName Inspect.229 Inspect.149 Inspect.303;
ret Inspect.314;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.313 : Str = CallByName Inspect.229 Inspect.149 Inspect.302;
ret Inspect.313;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.345 : Str = CallByName Inspect.250 Inspect.149 Inspect.303;
ret Inspect.345;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.344 : Str = CallByName Inspect.249 Inspect.149 Inspect.302;
ret Inspect.344;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.45 (Inspect.228):
let Inspect.315 : List {Str, Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.315;
let Inspect.314 : List {Str, Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.314;
procedure Inspect.47 (Inspect.249):
let Inspect.353 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.353;
procedure Inspect.47 (Inspect.248):
let Inspect.352 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.352;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : Str = CallByName #Derived.0 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName #Derived.2 Inspect.308 Inspect.312;
ret Inspect.307;
let Inspect.311 : Str = CallByName #Derived.0 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName #Derived.2 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.323;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.322 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.322;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure List.100 (#Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16):
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:

View file

@ -28,75 +28,75 @@ procedure Bool.2 ():
ret Bool.23;
procedure Inspect.229 (Inspect.230, Inspect.228):
let Inspect.352 : Str = "{";
let Inspect.328 : Str = CallByName Inspect.63 Inspect.230 Inspect.352;
dec Inspect.352;
let Inspect.324 : {Str, Int1} = CallByName Inspect.231 Inspect.328 Inspect.228;
dec Inspect.328;
let Inspect.325 : {} = Struct {};
let Inspect.320 : Str = CallByName Inspect.243 Inspect.324;
let Inspect.321 : Str = "}";
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
dec Inspect.321;
ret Inspect.319;
let Inspect.351 : Str = "{";
let Inspect.327 : Str = CallByName Inspect.63 Inspect.230 Inspect.351;
dec Inspect.351;
let Inspect.323 : {Str, Int1} = CallByName Inspect.231 Inspect.327 Inspect.228;
dec Inspect.327;
let Inspect.324 : {} = Struct {};
let Inspect.319 : Str = CallByName Inspect.243 Inspect.323;
let Inspect.320 : Str = "}";
let Inspect.318 : Str = CallByName Inspect.63 Inspect.319 Inspect.320;
dec Inspect.320;
ret Inspect.318;
procedure Inspect.231 (Inspect.232, Inspect.228):
let Inspect.351 : Int1 = CallByName Bool.1;
let Inspect.350 : Int1 = CallByName Bool.1;
inc Inspect.232;
let Inspect.332 : {Str, Int1} = Struct {Inspect.232, Inspect.351};
let Inspect.333 : {} = Struct {};
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.332 Inspect.333;
ret Inspect.331;
let Inspect.331 : {Str, Int1} = Struct {Inspect.232, Inspect.350};
let Inspect.332 : {} = Struct {};
let Inspect.330 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.331 Inspect.332;
ret Inspect.330;
procedure Inspect.233 (Inspect.334, Inspect.335):
let Inspect.236 : Str = StructAtIndex 0 Inspect.335;
let Inspect.237 : Str = StructAtIndex 1 Inspect.335;
let Inspect.234 : Str = StructAtIndex 0 Inspect.334;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
joinpoint Inspect.349 Inspect.238:
let Inspect.346 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
procedure Inspect.233 (Inspect.333, Inspect.334):
let Inspect.236 : Str = StructAtIndex 0 Inspect.334;
let Inspect.237 : Str = StructAtIndex 1 Inspect.334;
let Inspect.234 : Str = StructAtIndex 0 Inspect.333;
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.333;
joinpoint Inspect.348 Inspect.238:
let Inspect.345 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
dec Inspect.236;
let Inspect.347 : Str = ": ";
let Inspect.341 : Str = CallByName Inspect.63 Inspect.346 Inspect.347;
dec Inspect.347;
let Inspect.337 : Str = CallByName Inspect.239 Inspect.341 Inspect.237;
let Inspect.346 : Str = ": ";
let Inspect.340 : Str = CallByName Inspect.63 Inspect.345 Inspect.346;
dec Inspect.346;
let Inspect.336 : Str = CallByName Inspect.239 Inspect.340 Inspect.237;
dec Inspect.237;
let Inspect.338 : {} = Struct {};
let Inspect.336 : {Str, Int1} = CallByName Inspect.241 Inspect.337;
dec Inspect.337;
ret Inspect.336;
let Inspect.337 : {} = Struct {};
let Inspect.335 : {Str, Int1} = CallByName Inspect.241 Inspect.336;
dec Inspect.336;
ret Inspect.335;
in
if Inspect.235 then
let Inspect.350 : Str = ", ";
let Inspect.348 : Str = CallByName Inspect.63 Inspect.234 Inspect.350;
dec Inspect.350;
jump Inspect.349 Inspect.348;
let Inspect.349 : Str = ", ";
let Inspect.347 : Str = CallByName Inspect.63 Inspect.234 Inspect.349;
dec Inspect.349;
jump Inspect.348 Inspect.347;
else
jump Inspect.349 Inspect.234;
jump Inspect.348 Inspect.234;
procedure Inspect.239 (Inspect.240, Inspect.237):
let Inspect.344 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.344;
let Inspect.343 : Str = CallByName Inspect.31 Inspect.237 Inspect.240;
ret Inspect.343;
procedure Inspect.241 (Inspect.242):
let Inspect.340 : Int1 = CallByName Bool.2;
let Inspect.339 : Int1 = CallByName Bool.2;
inc Inspect.242;
let Inspect.339 : {Str, Int1} = Struct {Inspect.242, Inspect.340};
ret Inspect.339;
let Inspect.338 : {Str, Int1} = Struct {Inspect.242, Inspect.339};
ret Inspect.338;
procedure Inspect.243 (Inspect.326):
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
ret Inspect.327;
procedure Inspect.243 (Inspect.325):
let Inspect.326 : Str = StructAtIndex 0 Inspect.325;
ret Inspect.326;
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.361 : Str = "\"";
let Inspect.360 : Str = CallByName Inspect.63 Inspect.251 Inspect.361;
dec Inspect.361;
let Inspect.358 : Str = CallByName Inspect.63 Inspect.360 Inspect.249;
let Inspect.359 : Str = "\"";
let Inspect.357 : Str = CallByName Inspect.63 Inspect.358 Inspect.359;
dec Inspect.359;
ret Inspect.357;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.360 : Str = "\"";
let Inspect.359 : Str = CallByName Inspect.63 Inspect.250 Inspect.360;
dec Inspect.360;
let Inspect.357 : Str = CallByName Inspect.63 Inspect.359 Inspect.248;
let Inspect.358 : Str = "\"";
let Inspect.356 : Str = CallByName Inspect.63 Inspect.357 Inspect.358;
dec Inspect.358;
ret Inspect.356;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
@ -107,44 +107,44 @@ procedure Inspect.30 (Inspect.147):
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.314 : Str = CallByName Inspect.229 Inspect.149 Inspect.303;
ret Inspect.314;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.313 : Str = CallByName Inspect.229 Inspect.149 Inspect.302;
ret Inspect.313;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.345 : Str = CallByName Inspect.250 Inspect.149 Inspect.303;
ret Inspect.345;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.344 : Str = CallByName Inspect.249 Inspect.149 Inspect.302;
ret Inspect.344;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.45 (Inspect.228):
let Inspect.315 : List {Str, Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.315;
let Inspect.314 : List {Str, Str} = CallByName Inspect.30 Inspect.228;
ret Inspect.314;
procedure Inspect.47 (Inspect.249):
let Inspect.362 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.362;
procedure Inspect.47 (Inspect.248):
let Inspect.361 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.361;
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.39 Inspect.309;
let Inspect.307 : Str = CallByName #Derived.2 Inspect.308 Inspect.312;
ret Inspect.307;
let Inspect.311 : {Str, Str} = CallByName #Derived.0 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName #Derived.2 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.323;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.322 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.322;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure List.100 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:

View file

@ -1,43 +1,43 @@
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.323 : Str = "\"";
let Inspect.322 : Str = CallByName Inspect.63 Inspect.251 Inspect.323;
dec Inspect.323;
let Inspect.318 : Str = CallByName Inspect.63 Inspect.322 Inspect.249;
let Inspect.319 : Str = "\"";
let Inspect.317 : Str = CallByName Inspect.63 Inspect.318 Inspect.319;
dec Inspect.319;
ret Inspect.317;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.322 : Str = "\"";
let Inspect.321 : Str = CallByName Inspect.63 Inspect.250 Inspect.322;
dec Inspect.322;
let Inspect.317 : Str = CallByName Inspect.63 Inspect.321 Inspect.248;
let Inspect.318 : Str = "\"";
let Inspect.316 : Str = CallByName Inspect.63 Inspect.317 Inspect.318;
dec Inspect.318;
ret Inspect.316;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.47 (Inspect.249):
let Inspect.313 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.313;
procedure Inspect.47 (Inspect.248):
let Inspect.312 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.312;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : Str = CallByName Inspect.47 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName Inspect.250 Inspect.308 Inspect.312;
dec Inspect.312;
ret Inspect.307;
let Inspect.311 : Str = CallByName Inspect.47 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName Inspect.249 Inspect.307 Inspect.311;
dec Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.321 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.321;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.320 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.320;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -20,51 +20,51 @@ procedure Bool.11 (#Attr.2, #Attr.3):
ret Bool.23;
procedure Inspect.204 (Inspect.205, #Attr.12):
let Inspect.346 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.345 : Str = CallByName Inspect.63 Inspect.205 Inspect.346;
dec Inspect.346;
ret Inspect.345;
let Inspect.345 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.344 : Str = CallByName Inspect.63 Inspect.205 Inspect.345;
dec Inspect.345;
ret Inspect.344;
procedure Inspect.206 (Inspect.207, #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.63 Inspect.207 Inspect.338;
let Inspect.339 : List Str = UnionAtIndex (Id 1) (Index 1) #Attr.12;
let Inspect.338 : Str = UnionAtIndex (Id 1) (Index 0) #Attr.12;
let Inspect.337 : Str = "(";
let Inspect.336 : Str = CallByName Inspect.63 Inspect.207 Inspect.337;
dec Inspect.337;
let Inspect.324 : Str = CallByName Inspect.63 Inspect.336 Inspect.338;
dec Inspect.338;
let Inspect.325 : Str = CallByName Inspect.63 Inspect.337 Inspect.339;
let Inspect.320 : Str = CallByName Inspect.208 Inspect.324 Inspect.339;
dec Inspect.339;
let Inspect.321 : Str = CallByName Inspect.208 Inspect.325 Inspect.340;
dec Inspect.340;
let Inspect.322 : Str = ")";
let Inspect.320 : Str = CallByName Inspect.63 Inspect.321 Inspect.322;
dec Inspect.322;
ret Inspect.320;
let Inspect.321 : Str = ")";
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
dec Inspect.321;
ret Inspect.319;
procedure Inspect.208 (Inspect.209, Inspect.203):
let Inspect.329 : {} = Struct {};
let Inspect.328 : Str = CallByName List.18 Inspect.203 Inspect.209 Inspect.329;
ret Inspect.328;
let Inspect.328 : {} = Struct {};
let Inspect.327 : Str = CallByName List.18 Inspect.203 Inspect.209 Inspect.328;
ret Inspect.327;
procedure Inspect.210 (Inspect.211, Inspect.212):
let Inspect.336 : Str = " ";
let Inspect.331 : Str = CallByName Inspect.63 Inspect.211 Inspect.336;
dec Inspect.336;
let Inspect.330 : Str = CallByName Inspect.213 Inspect.331 Inspect.212;
ret Inspect.330;
let Inspect.335 : Str = " ";
let Inspect.330 : Str = CallByName Inspect.63 Inspect.211 Inspect.335;
dec Inspect.335;
let Inspect.329 : Str = CallByName Inspect.213 Inspect.330 Inspect.212;
ret Inspect.329;
procedure Inspect.213 (Inspect.214, Inspect.212):
let Inspect.334 : Str = CallByName Inspect.31 Inspect.212 Inspect.214;
ret Inspect.334;
let Inspect.333 : Str = CallByName Inspect.31 Inspect.212 Inspect.214;
ret Inspect.333;
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.355 : Str = "\"";
let Inspect.354 : Str = CallByName Inspect.63 Inspect.251 Inspect.355;
dec Inspect.355;
let Inspect.352 : Str = CallByName Inspect.63 Inspect.354 Inspect.249;
let Inspect.353 : Str = "\"";
let Inspect.351 : Str = CallByName Inspect.63 Inspect.352 Inspect.353;
dec Inspect.353;
ret Inspect.351;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.354 : Str = "\"";
let Inspect.353 : Str = CallByName Inspect.63 Inspect.250 Inspect.354;
dec Inspect.354;
let Inspect.351 : Str = CallByName Inspect.63 Inspect.353 Inspect.248;
let Inspect.352 : Str = "\"";
let Inspect.350 : Str = CallByName Inspect.63 Inspect.351 Inspect.352;
dec Inspect.352;
ret Inspect.350;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
@ -75,62 +75,62 @@ procedure Inspect.30 (Inspect.147):
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.315 : U8 = GetTagId Inspect.303;
switch Inspect.315:
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.314 : U8 = GetTagId Inspect.302;
switch Inspect.314:
case 0:
let Inspect.314 : Str = CallByName Inspect.204 Inspect.149 Inspect.303;
ret Inspect.314;
let Inspect.313 : Str = CallByName Inspect.204 Inspect.149 Inspect.302;
ret Inspect.313;
default:
let Inspect.314 : Str = CallByName Inspect.206 Inspect.149 Inspect.303;
ret Inspect.314;
let Inspect.313 : Str = CallByName Inspect.206 Inspect.149 Inspect.302;
ret Inspect.313;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.335 : Str = CallByName Inspect.250 Inspect.149 Inspect.303;
ret Inspect.335;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.334 : Str = CallByName Inspect.249 Inspect.149 Inspect.302;
ret Inspect.334;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.43 (Inspect.202, Inspect.203):
let Inspect.341 : Int1 = CallByName List.1 Inspect.203;
if Inspect.341 then
let Inspect.340 : Int1 = CallByName List.1 Inspect.203;
if Inspect.340 then
inc Inspect.202;
let Inspect.343 : [C Str, C Str List Str] = TagId(0) Inspect.202;
let Inspect.342 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.343;
ret Inspect.342;
let Inspect.342 : [C Str, C Str List Str] = TagId(0) Inspect.202;
let Inspect.341 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.342;
ret Inspect.341;
else
inc Inspect.203;
inc Inspect.202;
let Inspect.317 : [C Str, C Str List Str] = TagId(1) Inspect.202 Inspect.203;
let Inspect.316 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.317;
ret Inspect.316;
let Inspect.316 : [C Str, C Str List Str] = TagId(1) Inspect.202 Inspect.203;
let Inspect.315 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.316;
ret Inspect.315;
procedure Inspect.47 (Inspect.249):
let Inspect.347 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.347;
procedure Inspect.47 (Inspect.248):
let Inspect.346 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.346;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : Str = CallByName #Derived.0 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName #Derived.3 Inspect.308 Inspect.312;
ret Inspect.307;
let Inspect.311 : Str = CallByName #Derived.0 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName #Derived.3 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.324 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.324;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.323 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.323;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure List.1 (List.118):
let List.678 : U64 = CallByName List.6 List.118;
@ -138,7 +138,7 @@ procedure List.1 (List.118):
let List.677 : Int1 = CallByName Bool.11 List.678 List.679;
ret List.677;
procedure List.100 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
procedure List.100 (#Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16):
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
if List.670 then
@ -153,8 +153,8 @@ procedure List.100 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_
dec List.174;
ret List.175;
in
inc #Derived_gen.14;
jump List.668 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
inc #Derived_gen.12;
jump List.668 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16;
procedure List.18 (List.171, List.172, List.173):
let List.666 : U64 = 0i64;

View file

@ -23,51 +23,51 @@ procedure Bool.11 (#Attr.2, #Attr.3):
ret Bool.23;
procedure Inspect.204 (Inspect.205, #Attr.12):
let Inspect.346 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.345 : Str = CallByName Inspect.63 Inspect.205 Inspect.346;
dec Inspect.346;
ret Inspect.345;
let Inspect.345 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.344 : Str = CallByName Inspect.63 Inspect.205 Inspect.345;
dec Inspect.345;
ret Inspect.344;
procedure Inspect.206 (Inspect.207, #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.63 Inspect.207 Inspect.338;
let Inspect.339 : List Str = UnionAtIndex (Id 1) (Index 1) #Attr.12;
let Inspect.338 : Str = UnionAtIndex (Id 1) (Index 0) #Attr.12;
let Inspect.337 : Str = "(";
let Inspect.336 : Str = CallByName Inspect.63 Inspect.207 Inspect.337;
dec Inspect.337;
let Inspect.324 : Str = CallByName Inspect.63 Inspect.336 Inspect.338;
dec Inspect.338;
let Inspect.325 : Str = CallByName Inspect.63 Inspect.337 Inspect.339;
let Inspect.320 : Str = CallByName Inspect.208 Inspect.324 Inspect.339;
dec Inspect.339;
let Inspect.321 : Str = CallByName Inspect.208 Inspect.325 Inspect.340;
dec Inspect.340;
let Inspect.322 : Str = ")";
let Inspect.320 : Str = CallByName Inspect.63 Inspect.321 Inspect.322;
dec Inspect.322;
ret Inspect.320;
let Inspect.321 : Str = ")";
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
dec Inspect.321;
ret Inspect.319;
procedure Inspect.208 (Inspect.209, Inspect.203):
let Inspect.329 : {} = Struct {};
let Inspect.328 : Str = CallByName List.18 Inspect.203 Inspect.209 Inspect.329;
ret Inspect.328;
let Inspect.328 : {} = Struct {};
let Inspect.327 : Str = CallByName List.18 Inspect.203 Inspect.209 Inspect.328;
ret Inspect.327;
procedure Inspect.210 (Inspect.211, Inspect.212):
let Inspect.336 : Str = " ";
let Inspect.331 : Str = CallByName Inspect.63 Inspect.211 Inspect.336;
dec Inspect.336;
let Inspect.330 : Str = CallByName Inspect.213 Inspect.331 Inspect.212;
ret Inspect.330;
let Inspect.335 : Str = " ";
let Inspect.330 : Str = CallByName Inspect.63 Inspect.211 Inspect.335;
dec Inspect.335;
let Inspect.329 : Str = CallByName Inspect.213 Inspect.330 Inspect.212;
ret Inspect.329;
procedure Inspect.213 (Inspect.214, Inspect.212):
let Inspect.334 : Str = CallByName Inspect.31 Inspect.212 Inspect.214;
ret Inspect.334;
let Inspect.333 : Str = CallByName Inspect.31 Inspect.212 Inspect.214;
ret Inspect.333;
procedure Inspect.250 (Inspect.251, Inspect.249):
let Inspect.355 : Str = "\"";
let Inspect.354 : Str = CallByName Inspect.63 Inspect.251 Inspect.355;
dec Inspect.355;
let Inspect.352 : Str = CallByName Inspect.63 Inspect.354 Inspect.249;
let Inspect.353 : Str = "\"";
let Inspect.351 : Str = CallByName Inspect.63 Inspect.352 Inspect.353;
dec Inspect.353;
ret Inspect.351;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.354 : Str = "\"";
let Inspect.353 : Str = CallByName Inspect.63 Inspect.250 Inspect.354;
dec Inspect.354;
let Inspect.351 : Str = CallByName Inspect.63 Inspect.353 Inspect.248;
let Inspect.352 : Str = "\"";
let Inspect.350 : Str = CallByName Inspect.63 Inspect.351 Inspect.352;
dec Inspect.352;
ret Inspect.350;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
@ -78,62 +78,62 @@ procedure Inspect.30 (Inspect.147):
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.315 : U8 = GetTagId Inspect.303;
switch Inspect.315:
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.314 : U8 = GetTagId Inspect.302;
switch Inspect.314:
case 0:
let Inspect.314 : Str = CallByName Inspect.204 Inspect.149 Inspect.303;
ret Inspect.314;
let Inspect.313 : Str = CallByName Inspect.204 Inspect.149 Inspect.302;
ret Inspect.313;
default:
let Inspect.314 : Str = CallByName Inspect.206 Inspect.149 Inspect.303;
ret Inspect.314;
let Inspect.313 : Str = CallByName Inspect.206 Inspect.149 Inspect.302;
ret Inspect.313;
procedure Inspect.31 (Inspect.303, Inspect.149):
let Inspect.335 : Str = CallByName Inspect.250 Inspect.149 Inspect.303;
ret Inspect.335;
procedure Inspect.31 (Inspect.302, Inspect.149):
let Inspect.334 : Str = CallByName Inspect.249 Inspect.149 Inspect.302;
ret Inspect.334;
procedure Inspect.33 (Inspect.152):
let Inspect.305 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.304 : Str = CallByName Inspect.64 Inspect.305;
ret Inspect.304;
let Inspect.304 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.303 : Str = CallByName Inspect.64 Inspect.304;
ret Inspect.303;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.43 (Inspect.202, Inspect.203):
let Inspect.341 : Int1 = CallByName List.1 Inspect.203;
if Inspect.341 then
let Inspect.340 : Int1 = CallByName List.1 Inspect.203;
if Inspect.340 then
inc Inspect.202;
let Inspect.343 : [C Str, C Str List Str] = TagId(0) Inspect.202;
let Inspect.342 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.343;
ret Inspect.342;
let Inspect.342 : [C Str, C Str List Str] = TagId(0) Inspect.202;
let Inspect.341 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.342;
ret Inspect.341;
else
inc Inspect.203;
inc Inspect.202;
let Inspect.317 : [C Str, C Str List Str] = TagId(1) Inspect.202 Inspect.203;
let Inspect.316 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.317;
ret Inspect.316;
let Inspect.316 : [C Str, C Str List Str] = TagId(1) Inspect.202 Inspect.203;
let Inspect.315 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.316;
ret Inspect.315;
procedure Inspect.47 (Inspect.249):
let Inspect.356 : Str = CallByName Inspect.30 Inspect.249;
ret Inspect.356;
procedure Inspect.47 (Inspect.248):
let Inspect.355 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.355;
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.39 Inspect.309;
let Inspect.307 : Str = CallByName #Derived.4 Inspect.308 Inspect.312;
ret Inspect.307;
let Inspect.311 : {Str, Str} = CallByName #Derived.0 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName #Derived.4 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.324 : Str = CallByName Str.3 Inspect.300 Inspect.296;
ret Inspect.324;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.323 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.323;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure List.1 (List.118):
let List.678 : U64 = CallByName List.6 List.118;

View file

@ -1,56 +1,42 @@
procedure Num.31 (Num.220):
let Num.284 : I64 = 2i64;
let Num.283 : Int1 = CallByName Num.86 Num.220 Num.284;
ret Num.283;
procedure Num.86 (#Attr.2, #Attr.3):
let Num.285 : Int1 = lowlevel NumIsMultipleOf #Attr.2 #Attr.3;
ret Num.285;
procedure Test.2 (#Derived_gen.0, #Derived_gen.1):
let #Derived_gen.3 : [<rnu><null>, C I64 *self] = NullPointer;
let #Derived_gen.2 : Ptr([<rnu><null>, C I64 *self]) = Alloca #Derived_gen.3;
joinpoint #Derived_gen.4 Test.4 Test.5 #Derived_gen.5 #Derived_gen.6:
let Test.22 : U8 = 1i64;
let Test.23 : U8 = GetTagId Test.4;
let Test.24 : Int1 = lowlevel Eq Test.22 Test.23;
if Test.24 then
let Test.17 : [<rnu><null>, C I64 *self] = TagId(1) ;
let #Derived_gen.8 : {} = lowlevel PtrStore #Derived_gen.5 Test.17;
let #Derived_gen.7 : [<rnu><null>, C I64 *self] = lowlevel PtrLoad #Derived_gen.6;
ret #Derived_gen.7;
procedure Test.2 (Test.4, Test.5):
let Test.23 : U8 = 1i64;
let Test.24 : U8 = GetTagId Test.4;
let Test.25 : Int1 = lowlevel Eq Test.23 Test.24;
if Test.25 then
let Test.17 : [<rnu><null>, C I64 *self] = TagId(1) ;
ret Test.17;
else
let Test.7 : I64 = UnionAtIndex (Id 0) (Index 0) Test.4;
let Test.8 : [<rnu><null>, C I64 *self] = UnionAtIndex (Id 0) (Index 1) Test.4;
joinpoint #Derived_gen.2:
dec Test.8;
let Test.22 : Str = "a Lambda Set is empty. Most likely there is a type error in your program.";
Crash Test.22
in
let #Derived_gen.3 : Int1 = lowlevel RefCountIsUnique Test.4;
if #Derived_gen.3 then
free Test.4;
jump #Derived_gen.2;
else
let Test.7 : I64 = UnionAtIndex (Id 0) (Index 0) Test.4;
let Test.8 : [<rnu><null>, C I64 *self] = UnionAtIndex (Id 0) (Index 1) Test.4;
joinpoint #Derived_gen.12 #Derived_gen.14:
let Test.19 : Int1 = CallByName Num.31 Test.7;
if Test.19 then
let #Derived_gen.9 : [<rnu><null>, C I64 *self] = NullPointer;
let Test.20 : [<rnu><null>, C I64 *self] = Reuse #Derived_gen.14 UpdateModeId { id: 1 } TagId(0) Test.7 #Derived_gen.9;
let #Derived_gen.10 : Ptr([<rnu><null>, C I64 *self]) = GetElementPointer (Indices [0, 1]) Test.20;
let #Derived_gen.11 : {} = lowlevel PtrStore #Derived_gen.5 Test.20;
jump #Derived_gen.4 Test.8 Test.5 #Derived_gen.10 #Derived_gen.6;
else
decref #Derived_gen.14;
jump #Derived_gen.4 Test.8 Test.5 #Derived_gen.5 #Derived_gen.6;
in
let #Derived_gen.13 : Int1 = lowlevel RefCountIsUnique Test.4;
if #Derived_gen.13 then
jump #Derived_gen.12 Test.4;
else
inc Test.8;
decref Test.4;
let #Derived_gen.15 : [<rnu><null>, C I64 *self] = NullPointer;
jump #Derived_gen.12 #Derived_gen.15;
in
jump #Derived_gen.4 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.2;
inc Test.8;
decref Test.4;
jump #Derived_gen.2;
procedure Test.0 ():
let Test.25 : I64 = 1i64;
let Test.27 : I64 = 2i64;
let Test.28 : [<rnu><null>, C I64 *self] = TagId(1) ;
let Test.26 : [<rnu><null>, C I64 *self] = TagId(0) Test.27 Test.28;
let Test.14 : [<rnu><null>, C I64 *self] = TagId(0) Test.25 Test.26;
let Test.15 : {} = Struct {};
let Test.13 : [<rnu><null>, C I64 *self] = CallByName Test.2 Test.14 Test.15;
ret Test.13;
let Test.27 : I64 = 1i64;
let Test.29 : I64 = 2i64;
let Test.30 : [<rnu><null>, C I64 *self] = TagId(1) ;
let Test.28 : [<rnu><null>, C I64 *self] = TagId(0) Test.29 Test.30;
let Test.14 : [<rnu><null>, C I64 *self] = TagId(0) Test.27 Test.28;
joinpoint #Derived_gen.4:
let Test.26 : Str = "ValueNotExposed { module_name: ModuleName(IdentStr { string: \"Num\" }), ident: Ident(IdentStr { string: \"isEven\" }), region: @416-426, exposed_values: ['max_f32', 'min_f32', 'abs', 'neg', 'add', 'sub', 'mul', 'is_lt', 'is_lte', 'is_gt', 'is_gte', 'to_frac', 'sin', 'cos', 'tan', 'is_zero', 'is_even', 'is_odd', 'is_positive', 'is_negative', 'rem', 'rem_checked', 'div', 'div_checked', 'div_trunc', 'div_trunc_checked', 'sqrt', 'sqrt_checked', 'log', 'log_checked', 'round', 'compare', 'pow', 'ceiling', 'pow_int', 'floor', 'add_wrap', 'add_checked', 'add_saturated', 'atan', 'acos', 'asin', 'bitwise_and', 'bitwise_xor', 'bitwise_or', 'shift_left_by', 'shift_right_by', 'shift_right_zf_by', 'sub_wrap', 'sub_checked', 'sub_saturated', 'mul_wrap', 'mul_checked', 'mul_saturated', 'e', 'pi', 'tau', 'is_multiple_of', 'count_one_bits', 'abs_diff', 'is_nan', 'is_infinite', 'is_finite', 'count_leading_zero_bits', 'count_trailing_zero_bits', 'to_str', 'min_i8', 'max_i8', 'min_u8', 'max_u8', 'min_i16', 'max_i16', 'min_u16', 'max_u16', 'min_i32', 'max_i32', 'min_u32', 'max_u32', 'min_i64', 'max_i64', 'min_u64', 'max_u64', 'min_i128', 'max_i128', 'min_u128', 'max_u128', 'to_i8', 'to_i8_checked', 'to_i16', 'to_i16_checked', 'to_i32', 'to_i32_checked', 'to_i64', 'to_i64_checked', 'to_i128', 'to_i128_checked', 'to_u8', 'to_u8_checked', 'to_u16', 'to_u16_checked', 'to_u32', 'to_u32_checked', 'to_u64', 'to_u64_checked', 'to_u128', 'to_u128_checked', 'div_ceil', 'div_ceil_checked', 'to_f32', 'to_f32_checked', 'to_f64', 'to_f64_checked', 'max_f64', 'min_f64', 'add_checked_lowlevel', 'sub_checked_lowlevel', 'mul_checked_lowlevel', 'min', 'max', 'bitwise_not', 'int_cast', 'is_approx_eq', 'bytes_to_u16_owlevel', 'bytes_to_u32_lowlevel', 'bytes_to_u64_lowlevel', 'bytes_to_u128_lowlevel', 'div_trunc_unchecked', 'rem_unchecked', 'without_decimal_point', 'with_decimal_point', 'f32_to_parts', 'f64_to_parts', 'f32_from_parts', 'f64_from_parts', 'nan_f32', 'nan_f64', 'infinity_f32', 'infinity_f64', 'from_bool'] }";
Crash Test.26
in
let #Derived_gen.5 : Int1 = lowlevel RefCountIsUnique Test.14;
if #Derived_gen.5 then
dec Test.28;
free Test.14;
jump #Derived_gen.4;
else
decref Test.14;
jump #Derived_gen.4;

View file

@ -1,38 +1,38 @@
procedure Inspect.278 (Inspect.279, Inspect.277):
let Inspect.318 : Str = CallByName Num.96 Inspect.277;
let Inspect.317 : Str = CallByName Inspect.63 Inspect.279 Inspect.318;
dec Inspect.318;
ret Inspect.317;
procedure Inspect.277 (Inspect.278, Inspect.276):
let Inspect.317 : Str = CallByName Num.96 Inspect.276;
let Inspect.316 : Str = CallByName Inspect.63 Inspect.278 Inspect.317;
dec Inspect.317;
ret Inspect.316;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.33 (Inspect.152):
let Inspect.322 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.321 : Str = CallByName Inspect.64 Inspect.322;
ret Inspect.321;
procedure Inspect.39 (Inspect.301):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : I64 = CallByName Inspect.57 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
let Inspect.307 : Str = CallByName Inspect.278 Inspect.308 Inspect.312;
ret Inspect.307;
procedure Inspect.57 (Inspect.277):
let Inspect.313 : I64 = CallByName Inspect.30 Inspect.277;
ret Inspect.313;
procedure Inspect.63 (Inspect.300, Inspect.296):
let Inspect.320 : Str = CallByName Str.3 Inspect.300 Inspect.296;
let Inspect.321 : Str = CallByName Inspect.5 Inspect.152;
let Inspect.320 : Str = CallByName Inspect.64 Inspect.321;
ret Inspect.320;
procedure Inspect.64 (Inspect.302):
ret Inspect.302;
procedure Inspect.39 (Inspect.300):
let Inspect.310 : Str = "";
ret Inspect.310;
procedure Inspect.5 (Inspect.150):
let Inspect.311 : I64 = CallByName Inspect.57 Inspect.150;
let Inspect.308 : {} = Struct {};
let Inspect.307 : Str = CallByName Inspect.39 Inspect.308;
let Inspect.306 : Str = CallByName Inspect.277 Inspect.307 Inspect.311;
ret Inspect.306;
procedure Inspect.57 (Inspect.276):
let Inspect.312 : I64 = CallByName Inspect.30 Inspect.276;
ret Inspect.312;
procedure Inspect.63 (Inspect.299, Inspect.295):
let Inspect.319 : Str = CallByName Str.3 Inspect.299 Inspect.295;
ret Inspect.319;
procedure Inspect.64 (Inspect.301):
ret Inspect.301;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;