mono tests

This commit is contained in:
Folkert 2024-04-02 13:15:16 +02:00
parent 3cbec41d59
commit 48ddbec9d1
No known key found for this signature in database
GPG Key ID: 1F17F6FFD112B97C
46 changed files with 311 additions and 87 deletions

View File

@ -75,6 +75,7 @@ procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
let List.595 : [C U64, C U64] = TagId(1) List.492;
ret List.595;
in
inc #Derived_gen.0;
jump List.594 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
@ -92,7 +93,6 @@ procedure Num.77 (#Attr.2, #Attr.3):
procedure Test.1 (Test.2):
let Test.13 : U64 = 0i64;
let Test.14 : {} = Struct {};
inc Test.2;
let Test.3 : U64 = CallByName List.26 Test.2 Test.13 Test.14;
let Test.12 : U64 = 0i64;
let Test.10 : Int1 = CallByName Bool.11 Test.3 Test.12;

View File

@ -25,6 +25,7 @@ procedure List.92 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.11;
jump List.577 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
procedure Num.22 (#Attr.2, #Attr.3):
@ -163,4 +164,5 @@ procedure Test.0 ():
let Test.35 : List [] = Array [];
let Test.36 : {} = Struct {};
let Test.34 : [<r>C {}, C *self {{}, []}] = CallByName Test.6 Test.35 Test.36;
dec Test.35;
ret Test.34;

View File

@ -8,11 +8,9 @@ procedure List.2 (List.108, List.109):
if List.584 then
let List.586 : Str = CallByName List.66 List.108 List.109;
inc List.586;
dec List.108;
let List.585 : [C {}, C Str] = TagId(1) List.586;
ret List.585;
else
dec List.108;
let List.583 : {} = Struct {};
let List.582 : [C {}, C Str] = TagId(0) List.583;
ret List.582;
@ -102,6 +100,7 @@ procedure Test.2 (Test.6):
let Test.24 : {} = Struct {};
let Test.23 : List Str = CallByName List.5 Test.9 Test.24;
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;

View File

@ -29,6 +29,7 @@ procedure List.92 (#Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.
dec List.163;
ret List.164;
in
inc #Derived_gen.5;
jump List.577 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9;
procedure Num.22 (#Attr.2, #Attr.3):
@ -50,7 +51,7 @@ procedure Test.11 (#Derived_gen.10, #Derived_gen.11):
joinpoint Test.27 Test.12 #Attr.12:
let Test.34 : Int1 = UnionAtIndex (Id 2) (Index 1) #Attr.12;
let Test.33 : [<rnw><null>, C *self Int1, C *self Int1] = UnionAtIndex (Id 2) (Index 0) #Attr.12;
joinpoint #Derived_gen.14:
joinpoint #Derived_gen.16:
joinpoint Test.31 Test.29:
let Test.30 : U8 = GetTagId Test.33;
switch Test.30:
@ -77,15 +78,16 @@ procedure Test.11 (#Derived_gen.10, #Derived_gen.11):
jump Test.31 Test.32;
in
let #Derived_gen.15 : Int1 = lowlevel RefCountIsUnique #Attr.12;
if #Derived_gen.15 then
let #Derived_gen.17 : Int1 = lowlevel RefCountIsUnique #Attr.12;
if #Derived_gen.17 then
free #Attr.12;
jump #Derived_gen.14;
jump #Derived_gen.16;
else
inc Test.33;
decref #Attr.12;
jump #Derived_gen.14;
jump #Derived_gen.16;
in
inc #Derived_gen.10;
jump Test.27 #Derived_gen.10 #Derived_gen.11;
procedure Test.2 (Test.13):
@ -142,6 +144,7 @@ procedure Test.9 (Test.10, #Attr.12):
default:
let Test.41 : Str = CallByName Test.11 Test.10 Test.42;
dec Test.10;
jump Test.40 Test.41;
in
@ -162,6 +165,7 @@ procedure Test.0 ():
let Test.23 : Int1 = CallByName Bool.2;
let Test.22 : Int1 = CallByName Test.1 Test.23;
let Test.16 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.18 Test.20 Test.21 Test.22;
dec Test.20;
let Test.18 : Str = "hello";
let Test.19 : U8 = GetTagId Test.16;
switch Test.19:
@ -176,5 +180,6 @@ procedure Test.0 ():
default:
let Test.17 : Str = CallByName Test.11 Test.18 Test.16;
dec Test.18;
ret Test.17;

View File

@ -5,9 +5,11 @@ procedure Bool.2 ():
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.319 : Str = "\"";
let Inspect.318 : Str = CallByName Inspect.59 Inspect.247 Inspect.319;
dec Inspect.319;
let Inspect.314 : Str = CallByName Inspect.59 Inspect.318 Inspect.245;
let Inspect.315 : Str = "\"";
let Inspect.313 : Str = CallByName Inspect.59 Inspect.314 Inspect.315;
dec Inspect.315;
ret Inspect.313;
procedure Inspect.30 (Inspect.143):
@ -31,11 +33,11 @@ procedure Inspect.5 (Inspect.146):
let Inspect.305 : {} = Struct {};
let Inspect.304 : Str = CallByName Inspect.35 Inspect.305;
let Inspect.303 : Str = CallByName Inspect.246 Inspect.304 Inspect.308;
dec Inspect.308;
ret Inspect.303;
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.317 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.317;
procedure Inspect.60 (Inspect.298):

View File

@ -1,9 +1,11 @@
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.319 : Str = "\"";
let Inspect.318 : Str = CallByName Inspect.59 Inspect.247 Inspect.319;
dec Inspect.319;
let Inspect.314 : Str = CallByName Inspect.59 Inspect.318 Inspect.245;
let Inspect.315 : Str = "\"";
let Inspect.313 : Str = CallByName Inspect.59 Inspect.314 Inspect.315;
dec Inspect.315;
ret Inspect.313;
procedure Inspect.30 (Inspect.143):
@ -27,11 +29,11 @@ procedure Inspect.5 (Inspect.146):
let Inspect.305 : {} = Struct {};
let Inspect.304 : Str = CallByName Inspect.35 Inspect.305;
let Inspect.303 : Str = CallByName Inspect.246 Inspect.304 Inspect.308;
dec Inspect.308;
ret Inspect.303;
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.317 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.317;
procedure Inspect.60 (Inspect.298):

View File

@ -7,11 +7,9 @@ procedure List.2 (List.108, List.109):
let List.576 : Int1 = CallByName Num.22 List.109 List.580;
if List.576 then
let List.578 : {} = CallByName List.66 List.108 List.109;
dec List.108;
let List.577 : [C {}, C {}] = TagId(1) List.578;
ret List.577;
else
dec List.108;
let List.575 : {} = Struct {};
let List.574 : [C {}, C {}] = TagId(0) List.575;
ret List.574;
@ -29,7 +27,6 @@ procedure Num.22 (#Attr.2, #Attr.3):
ret Num.279;
procedure Test.2 (Test.5):
dec Test.5;
let Test.17 : Str = "bar";
ret Test.17;
@ -38,6 +35,7 @@ procedure Test.0 ():
joinpoint Test.15 Test.3:
let Test.13 : U64 = 0i64;
let Test.6 : [C {}, C {}] = CallByName List.2 Test.3 Test.13;
dec Test.3;
let Test.10 : U8 = 1i64;
let Test.11 : U8 = GetTagId Test.6;
let Test.12 : Int1 = lowlevel Eq Test.10 Test.11;
@ -45,6 +43,7 @@ procedure Test.0 ():
let Test.4 : {} = UnionAtIndex (Id 1) (Index 0) Test.6;
let Test.8 : Str = "foo";
let Test.7 : Str = CallByName Test.2 Test.8;
dec Test.8;
ret Test.7;
else
let Test.9 : Str = "bad!";

View File

@ -8,7 +8,9 @@ procedure #Derived.2 (#Derived.3, #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 Test.21 #Derived_gen.5;
inc #Derived.3;
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
dec #Derived_gen.4;
ret #Derived_gen.3;
procedure #Derived.5 (#Derived.6):
@ -22,6 +24,7 @@ procedure #Derived.7 (#Derived.8, #Derived.9, #Derived.6):
let #Derived_gen.15 : List {Str, Str} = Array [#Derived_gen.16];
let #Derived_gen.14 : List {Str, Str} = CallByName Test.21 #Derived_gen.15;
let #Derived_gen.13 : List U8 = CallByName Encode.24 #Derived.8 #Derived_gen.14 #Derived.9;
dec #Derived_gen.14;
ret #Derived_gen.13;
procedure Encode.23 (Encode.98):
@ -39,6 +42,16 @@ procedure Encode.23 (Encode.98):
procedure Encode.23 (Encode.98):
ret Encode.98;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
inc Encode.107;
let Encode.116 : List U8 = CallByName #Derived.7 Encode.99 Encode.101 Encode.107;
ret Encode.116;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
inc Encode.99;
let Encode.119 : List U8 = CallByName Test.67 Encode.99 Encode.101 Encode.107;
ret Encode.119;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.111 : List U8 = CallByName #Derived.2 Encode.99 Encode.101 Encode.107;
ret Encode.111;
@ -47,14 +60,6 @@ procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.113 : List U8 = CallByName Test.67 Encode.99 Encode.101 Encode.107;
ret Encode.113;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.116 : List U8 = CallByName #Derived.7 Encode.99 Encode.101 Encode.107;
ret Encode.116;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.119 : List U8 = CallByName Test.67 Encode.99 Encode.101 Encode.107;
ret Encode.119;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.124 : List U8 = CallByName Test.56 Encode.99 Encode.101 Encode.107;
ret Encode.124;
@ -63,6 +68,7 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.109 : List U8 = Array [];
let Encode.110 : Str = CallByName #Derived.0 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
dec Encode.109;
ret Encode.108;
procedure List.18 (List.160, List.161, List.162):
@ -125,6 +131,8 @@ procedure List.92 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.29;
inc #Derived_gen.30;
jump List.603 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
procedure List.92 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41):
@ -141,6 +149,8 @@ procedure List.92 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.37;
inc #Derived_gen.38;
jump List.577 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
procedure Num.127 (#Attr.2):
@ -229,6 +239,7 @@ procedure Test.67 (Test.68, Test.262, Test.66):
let Test.69 : List U8 = CallByName Test.3 Test.68 Test.290 Test.291;
let Test.265 : {} = Struct {};
let Test.264 : List U8 = CallByName List.18 Test.66 Test.69 Test.265;
dec Test.69;
ret Test.264;
procedure Test.67 (Test.68, Test.262, Test.66):
@ -237,6 +248,7 @@ procedure Test.67 (Test.68, Test.262, Test.66):
let Test.69 : List U8 = CallByName Test.3 Test.68 Test.322 Test.323;
let Test.297 : {} = Struct {};
let Test.296 : List U8 = CallByName List.18 Test.66 Test.69 Test.297;
dec Test.69;
ret Test.296;
procedure Test.70 (Test.71, Test.266):
@ -247,6 +259,8 @@ procedure Test.70 (Test.71, Test.266):
let Test.268 : List U8 = CallByName Encode.24 Test.71 Test.270 Test.271;
let Test.269 : {} = Struct {};
let Test.267 : List U8 = CallByName Encode.24 Test.268 Test.73 Test.269;
dec Test.268;
dec Test.73;
ret Test.267;
procedure Test.70 (Test.71, Test.266):

View File

@ -9,6 +9,7 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Derived.1):
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
let #Derived_gen.4 : List {Str, Str} = CallByName Test.21 #Derived_gen.5;
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
dec #Derived_gen.4;
ret #Derived_gen.3;
procedure Encode.23 (Encode.98):
@ -21,6 +22,8 @@ procedure Encode.23 (Encode.98):
ret Encode.98;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
inc Encode.107;
inc Encode.99;
let Encode.111 : List U8 = CallByName #Derived.2 Encode.99 Encode.101 Encode.107;
ret Encode.111;
@ -36,6 +39,8 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.109 : List U8 = Array [];
let Encode.110 : Str = CallByName #Derived.0 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
dec Encode.109;
dec Encode.110;
ret Encode.108;
procedure List.18 (List.160, List.161, List.162):
@ -84,6 +89,8 @@ procedure List.92 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.14;
inc #Derived_gen.13;
jump List.577 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
procedure Num.127 (#Attr.2):
@ -168,6 +175,7 @@ procedure Test.67 (Test.68, Test.261, Test.66):
let Test.69 : List U8 = CallByName Test.3 Test.68 Test.289 Test.290;
let Test.264 : {} = Struct {};
let Test.263 : List U8 = CallByName List.18 Test.66 Test.69 Test.264;
dec Test.69;
ret Test.263;
procedure Test.70 (Test.71, Test.265):

View File

@ -16,6 +16,7 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Derived.1):
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6, #Derived_gen.7];
let #Derived_gen.4 : List {Str, Str} = CallByName Test.21 #Derived_gen.5;
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
dec #Derived_gen.4;
ret #Derived_gen.3;
procedure Encode.23 (Encode.98):
@ -28,6 +29,7 @@ procedure Encode.23 (Encode.98):
ret Encode.98;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
inc Encode.99;
let Encode.111 : List U8 = CallByName #Derived.2 Encode.99 Encode.101 Encode.107;
ret Encode.111;
@ -43,6 +45,7 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.109 : List U8 = Array [];
let Encode.110 : {Str, Str} = CallByName #Derived.0 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
dec Encode.109;
ret Encode.108;
procedure List.18 (List.160, List.161, List.162):
@ -91,6 +94,8 @@ procedure List.92 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.17;
inc #Derived_gen.18;
jump List.577 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
procedure Num.127 (#Attr.2):
@ -175,6 +180,7 @@ procedure Test.67 (Test.68, Test.262, Test.66):
let Test.69 : List U8 = CallByName Test.3 Test.68 Test.290 Test.291;
let Test.265 : {} = Struct {};
let Test.264 : List U8 = CallByName List.18 Test.66 Test.69 Test.265;
dec Test.69;
ret Test.264;
procedure Test.70 (Test.71, Test.266):

View File

@ -23,10 +23,12 @@ procedure Encode.23 (Encode.98):
ret Encode.98;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
inc Encode.107;
let Encode.111 : List U8 = CallByName #Derived.3 Encode.99 Encode.101 Encode.107;
ret Encode.111;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
inc Encode.99;
let Encode.113 : List U8 = CallByName Test.60 Encode.99 Encode.101 Encode.107;
ret Encode.113;
@ -38,6 +40,8 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.109 : List U8 = Array [];
let Encode.110 : Str = CallByName #Derived.0 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
dec Encode.109;
dec Encode.110;
ret Encode.108;
procedure List.13 (#Attr.2, #Attr.3):
@ -90,6 +94,8 @@ procedure List.92 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.14;
inc #Derived_gen.13;
jump List.577 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
procedure Num.127 (#Attr.2):
@ -145,6 +151,7 @@ procedure Test.2 ():
ret Test.258;
procedure Test.20 (Test.58, Test.59):
inc Test.58;
let Test.265 : {List Str, {}} = Struct {Test.58, Test.59};
let Test.264 : {List Str, {}} = CallByName Encode.23 Test.265;
ret Test.264;
@ -158,6 +165,7 @@ procedure Test.23 (Test.77, Test.78):
let Test.284 : Str = CallByName Test.19 Test.77;
let Test.261 : List Str = CallByName List.13 Test.78 Test.284;
let Test.260 : {List Str, {}} = CallByName Test.22 Test.261;
dec Test.261;
ret Test.260;
procedure Test.3 (Test.48, Test.49, Test.50):
@ -187,6 +195,8 @@ procedure Test.60 (Test.61, Test.266, #Attr.12):
let Test.275 : U64 = CallByName List.6 Test.58;
let Test.62 : List U8 = CallByName Test.3 Test.61 Test.274 Test.275;
let Test.268 : List U8 = CallByName List.18 Test.58 Test.62 Test.59;
dec Test.58;
dec Test.62;
ret Test.268;
procedure Test.63 (Test.64, Test.65, Test.59):

View File

@ -26,13 +26,14 @@ procedure Encode.23 (Encode.98):
ret Encode.98;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.111 : List U8 = CallByName #Derived.4 Encode.99 Encode.101 Encode.107;
ret Encode.111;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
inc Encode.99;
let Encode.113 : List U8 = CallByName Test.60 Encode.99 Encode.101 Encode.107;
ret Encode.113;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.111 : List U8 = CallByName #Derived.4 Encode.99 Encode.101 Encode.107;
ret Encode.111;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.118 : List U8 = CallByName Test.56 Encode.99 Encode.101 Encode.107;
ret Encode.118;
@ -41,6 +42,7 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.109 : List U8 = Array [];
let Encode.110 : {Str, Str} = CallByName #Derived.0 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
dec Encode.109;
ret Encode.108;
procedure List.13 (#Attr.2, #Attr.3):
@ -93,6 +95,8 @@ procedure List.92 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.15;
inc #Derived_gen.14;
jump List.577 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
procedure Num.127 (#Attr.2):
@ -148,6 +152,7 @@ procedure Test.2 ():
ret Test.258;
procedure Test.20 (Test.58, Test.59):
inc Test.58;
let Test.266 : {List Str, {}} = Struct {Test.58, Test.59};
let Test.265 : {List Str, {}} = CallByName Encode.23 Test.266;
ret Test.265;
@ -161,6 +166,7 @@ procedure Test.23 (Test.77, Test.78):
let Test.285 : Str = CallByName Test.19 Test.77;
let Test.262 : List Str = CallByName List.13 Test.78 Test.285;
let Test.261 : {List Str, {}} = CallByName Test.22 Test.262;
dec Test.262;
ret Test.261;
procedure Test.3 (Test.48, Test.49, Test.50):
@ -190,6 +196,8 @@ procedure Test.60 (Test.61, Test.267, #Attr.12):
let Test.276 : U64 = CallByName List.6 Test.58;
let Test.62 : List U8 = CallByName Test.3 Test.61 Test.275 Test.276;
let Test.269 : List U8 = CallByName List.18 Test.58 Test.62 Test.59;
dec Test.58;
dec Test.62;
ret Test.269;
procedure Test.63 (Test.64, Test.65, Test.59):

View File

@ -1,9 +1,9 @@
procedure Test.1 (Test.2, Test.3):
dec Test.3;
ret Test.2;
procedure Test.0 ():
let Test.5 : List I64 = Array [1i64, 2i64, 3i64];
let Test.6 : List I64 = Array [3i64, 2i64, 1i64];
let Test.4 : List I64 = CallByName Test.1 Test.5 Test.6;
dec Test.6;
ret Test.4;

View File

@ -48,6 +48,7 @@ procedure Dict.10 (Dict.724, Dict.179, Dict.180):
let #Derived_gen.68 : List {U32, U32} = StructAtIndex 0 Dict.724;
dec #Derived_gen.68;
let Dict.1101 : {Str, Int1} = CallByName List.18 Dict.178 Dict.179 Dict.180;
dec Dict.178;
ret Dict.1101;
procedure Dict.12 (Dict.151):
@ -140,6 +141,7 @@ procedure Dict.38 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
let Dict.766 : U32 = CallByName Num.131 Dict.236;
let Dict.752 : {U32, U32} = Struct {Dict.766, Dict.224};
let Dict.237 : List {U32, U32} = CallByName Dict.67 Dict.221 Dict.752 Dict.223;
dec Dict.221;
let Dict.751 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = Struct {Dict.237, Dict.235, Dict.227, Dict.228, Dict.229};
ret Dict.751;
else
@ -148,11 +150,13 @@ procedure Dict.38 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
let Dict.239 : U32 = CallByName Dict.48 Dict.224;
jump Dict.736 Dict.221 Dict.222 Dict.238 Dict.239 Dict.225 Dict.226 Dict.227 Dict.228 Dict.229;
in
inc #Derived_gen.0;
inc #Derived_gen.1;
inc #Derived_gen.4;
jump Dict.736 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8;
procedure Dict.398 (Dict.399, Dict.840, Dict.401, Dict.397):
let Dict.400 : Str = StructAtIndex 0 Dict.840;
inc Dict.399;
let Dict.845 : {U64, U32} = CallByName Dict.65 Dict.399 Dict.400 Dict.397;
let Dict.402 : U64 = StructAtIndex 0 Dict.845;
let Dict.403 : U32 = StructAtIndex 1 Dict.845;
@ -222,13 +226,13 @@ procedure Dict.59 (Dict.719):
let Dict.877 : U64 = CallByName Dict.47;
let Dict.836 : Int1 = CallByName Bool.7 Dict.377 Dict.877;
if Dict.836 then
inc Dict.376;
let Dict.876 : U8 = 1i64;
let Dict.380 : U8 = CallByName Num.75 Dict.379 Dict.876;
let Dict.855 : {List {U32, U32}, U64} = CallByName Dict.60 Dict.380 Dict.378;
let Dict.381 : List {U32, U32} = StructAtIndex 0 Dict.855;
let Dict.382 : U64 = StructAtIndex 1 Dict.855;
let Dict.383 : List {U32, U32} = CallByName Dict.64 Dict.381 Dict.376 Dict.380;
dec Dict.381;
let Dict.837 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = Struct {Dict.383, Dict.376, Dict.382, Dict.378, Dict.380};
ret Dict.837;
else
@ -298,6 +302,7 @@ procedure Dict.66 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42):
let Dict.848 : {U64, U32} = Struct {Dict.411, Dict.412};
ret Dict.848;
in
inc #Derived_gen.40;
jump Dict.847 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42;
procedure Dict.67 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
@ -319,6 +324,7 @@ procedure Dict.67 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
let Dict.754 : List {U32, U32} = CallByName List.3 Dict.414 Dict.416 Dict.415;
ret Dict.754;
in
inc #Derived_gen.28;
jump Dict.753 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure Dict.68 (Dict.419, Dict.420):
@ -416,6 +422,9 @@ procedure Dict.8 (Dict.210, Dict.211, Dict.212):
let Dict.219 : U32 = CallByName Dict.70 Dict.218;
let Dict.220 : U64 = CallByName Dict.71 Dict.218 Dict.217;
let Dict.735 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.38 Dict.213 Dict.214 Dict.220 Dict.219 Dict.211 Dict.212 Dict.215 Dict.216 Dict.217;
dec Dict.214;
dec Dict.213;
dec Dict.211;
ret Dict.735;
in
inc 2 Dict.210;
@ -455,7 +464,6 @@ procedure Dict.82 (Dict.702, Dict.480):
let Dict.1089 : U8 = 2i64;
let Dict.483 : U64 = CallByName Num.72 Dict.1088 Dict.1089;
let Dict.1087 : U64 = 0i64;
inc 3 Dict.480;
let Dict.1085 : U64 = CallByName Dict.92 Dict.480 Dict.1087;
let Dict.1086 : U8 = 32i64;
let Dict.1083 : U64 = CallByName Num.72 Dict.1085 Dict.1086;
@ -483,7 +491,6 @@ procedure Dict.82 (Dict.702, Dict.480):
let Dict.1033 : {U64, U64, U64} = Struct {Dict.1038, Dict.1039, Dict.478};
jump Dict.1034 Dict.1033;
else
dec Dict.480;
let Dict.1035 : U64 = 0i64;
let Dict.1036 : U64 = 0i64;
let Dict.1033 : {U64, U64, U64} = Struct {Dict.1035, Dict.1036, Dict.478};
@ -502,7 +509,6 @@ procedure Dict.82 (Dict.702, Dict.480):
procedure Dict.83 (#Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
joinpoint Dict.920 Dict.486 Dict.487 Dict.488 Dict.489 Dict.490 Dict.491:
inc 6 Dict.489;
let Dict.1027 : U64 = CallByName Dict.91 Dict.489 Dict.490;
let Dict.1028 : U64 = CallByName Dict.86;
let Dict.1022 : U64 = CallByName Num.70 Dict.1027 Dict.1028;
@ -546,9 +552,9 @@ procedure Dict.83 (#Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_ge
let Dict.995 : U64 = CallByName Num.70 Dict.493 Dict.492;
let Dict.497 : U64 = CallByName Num.70 Dict.494 Dict.995;
let Dict.972 : {U64, U64, U64} = CallByName Dict.84 Dict.497 Dict.489 Dict.496 Dict.495;
dec Dict.489;
ret Dict.972;
else
inc Dict.489;
let Dict.970 : U64 = CallByName Num.70 Dict.493 Dict.492;
let Dict.498 : U64 = CallByName Num.70 Dict.494 Dict.970;
let Dict.969 : U64 = 16i64;
@ -559,14 +565,15 @@ procedure Dict.83 (#Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_ge
let Dict.965 : U64 = CallByName Num.75 Dict.495 Dict.966;
let Dict.924 : U64 = CallByName Num.51 Dict.965 Dict.496;
let Dict.923 : U64 = CallByName Dict.91 Dict.489 Dict.924;
dec Dict.489;
let Dict.921 : {U64, U64, U64} = Struct {Dict.922, Dict.923, Dict.498};
ret Dict.921;
in
inc #Derived_gen.12;
jump Dict.920 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
procedure Dict.84 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_gen.46):
joinpoint Dict.973 Dict.499 Dict.500 Dict.501 Dict.502:
inc 2 Dict.500;
let Dict.993 : U64 = CallByName Dict.91 Dict.500 Dict.501;
let Dict.994 : U64 = CallByName Dict.86;
let Dict.988 : U64 = CallByName Num.70 Dict.993 Dict.994;
@ -582,7 +589,6 @@ procedure Dict.84 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_g
let Dict.985 : U64 = 16i64;
let Dict.975 : Int1 = CallByName Num.23 Dict.504 Dict.985;
if Dict.975 then
inc Dict.500;
let Dict.984 : U64 = 16i64;
let Dict.983 : U64 = CallByName Num.75 Dict.504 Dict.984;
let Dict.982 : U64 = CallByName Num.51 Dict.983 Dict.505;
@ -591,11 +597,13 @@ procedure Dict.84 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_g
let Dict.980 : U64 = CallByName Num.75 Dict.504 Dict.981;
let Dict.979 : U64 = CallByName Num.51 Dict.980 Dict.505;
let Dict.978 : U64 = CallByName Dict.91 Dict.500 Dict.979;
dec Dict.500;
let Dict.976 : {U64, U64, U64} = Struct {Dict.977, Dict.978, Dict.503};
ret Dict.976;
else
jump Dict.973 Dict.503 Dict.500 Dict.505 Dict.504;
in
inc #Derived_gen.44;
jump Dict.973 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46;
procedure Dict.85 ():
@ -662,7 +670,6 @@ procedure Dict.91 (Dict.515, Dict.516):
let Dict.945 : U64 = 7i64;
let Dict.943 : U64 = CallByName Num.51 Dict.516 Dict.945;
let Dict.942 : U8 = CallByName Dict.22 Dict.515 Dict.943;
dec Dict.515;
let Dict.524 : U64 = CallByName Num.133 Dict.942;
let Dict.941 : U8 = 8i64;
let Dict.940 : U64 = CallByName Num.72 Dict.518 Dict.941;
@ -701,7 +708,6 @@ procedure Dict.92 (Dict.529, Dict.530):
let Dict.1069 : U64 = 3i64;
let Dict.1068 : U64 = CallByName Num.51 Dict.530 Dict.1069;
let Dict.1067 : U8 = CallByName Dict.22 Dict.529 Dict.1068;
dec Dict.529;
let Dict.534 : U64 = CallByName Num.133 Dict.1067;
let Dict.1066 : U8 = 8i64;
let Dict.1065 : U64 = CallByName Num.72 Dict.532 Dict.1066;
@ -726,7 +732,6 @@ procedure Dict.93 (Dict.537, Dict.538, Dict.539):
let Dict.1048 : U64 = CallByName Num.75 Dict.539 Dict.1049;
let Dict.1047 : U64 = CallByName Num.51 Dict.1048 Dict.538;
let Dict.1046 : U8 = CallByName Dict.22 Dict.537 Dict.1047;
dec Dict.537;
let Dict.542 : U64 = CallByName Num.133 Dict.1046;
let Dict.1045 : U8 = 16i64;
let Dict.1042 : U64 = CallByName Num.72 Dict.540 Dict.1045;
@ -739,6 +744,7 @@ procedure Dict.93 (Dict.537, Dict.538, Dict.539):
procedure Hash.19 (Hash.38, Hash.39):
let Hash.71 : List U8 = CallByName Str.12 Hash.39;
let Hash.70 : {U64, U64} = CallByName Dict.82 Hash.38 Hash.71;
dec Hash.71;
ret Hash.70;
procedure Inspect.183 (Inspect.184, #Attr.12):
@ -748,12 +754,15 @@ procedure Inspect.183 (Inspect.184, #Attr.12):
let Inspect.179 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = StructAtIndex 0 #Attr.12;
let Inspect.351 : Str = "{";
let Inspect.324 : Str = CallByName Inspect.59 Inspect.184 Inspect.351;
dec Inspect.351;
let Inspect.325 : {{List {U32, U32}, List {Str, I64}, U64, Float32, U8}, {}, {}, {}} = Struct {Inspect.179, Inspect.180, Inspect.181, Inspect.182};
let Inspect.320 : {Str, Int1} = CallByName Inspect.185 Inspect.324 Inspect.325;
dec Inspect.324;
let Inspect.321 : {} = Struct {};
let Inspect.316 : Str = CallByName Inspect.197 Inspect.320;
let Inspect.317 : Str = "}";
let Inspect.315 : Str = CallByName Inspect.59 Inspect.316 Inspect.317;
dec Inspect.317;
ret Inspect.315;
procedure Inspect.185 (Inspect.186, #Attr.12):
@ -762,6 +771,7 @@ procedure Inspect.185 (Inspect.186, #Attr.12):
let Inspect.180 : {} = StructAtIndex 1 #Attr.12;
let Inspect.179 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = StructAtIndex 0 #Attr.12;
let Inspect.350 : Int1 = CallByName Bool.1;
inc Inspect.186;
let Inspect.328 : {Str, Int1} = Struct {Inspect.186, Inspect.350};
let Inspect.329 : {{}, {}} = Struct {Inspect.181, Inspect.182};
let Inspect.327 : {Str, Int1} = CallByName Dict.10 Inspect.179 Inspect.328 Inspect.329;
@ -775,17 +785,21 @@ procedure Inspect.187 (Inspect.330, Inspect.190, Inspect.191, #Attr.12):
joinpoint Inspect.348 Inspect.192:
let Inspect.345 : Str = CallByName Inspect.43 Inspect.190;
let Inspect.343 : Str = CallByName Inspect.31 Inspect.345 Inspect.192;
dec Inspect.345;
let Inspect.344 : Str = ": ";
let Inspect.337 : Str = CallByName Inspect.59 Inspect.343 Inspect.344;
dec Inspect.344;
let Inspect.338 : {I64, {}} = Struct {Inspect.191, Inspect.182};
let Inspect.333 : Str = CallByName Inspect.193 Inspect.337 Inspect.338;
let Inspect.334 : {} = Struct {};
let Inspect.332 : {Str, Int1} = CallByName Inspect.195 Inspect.333;
dec Inspect.333;
ret Inspect.332;
in
if Inspect.189 then
let Inspect.349 : Str = ", ";
let Inspect.347 : Str = CallByName Inspect.59 Inspect.188 Inspect.349;
dec Inspect.349;
jump Inspect.348 Inspect.347;
else
jump Inspect.348 Inspect.188;
@ -799,6 +813,7 @@ procedure Inspect.193 (Inspect.194, #Attr.12):
procedure Inspect.195 (Inspect.196):
let Inspect.336 : Int1 = CallByName Bool.2;
inc Inspect.196;
let Inspect.335 : {Str, Int1} = Struct {Inspect.196, Inspect.336};
ret Inspect.335;
@ -809,14 +824,17 @@ procedure Inspect.197 (Inspect.322):
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.366 : Str = "\"";
let Inspect.365 : Str = CallByName Inspect.59 Inspect.247 Inspect.366;
dec Inspect.366;
let Inspect.363 : Str = CallByName Inspect.59 Inspect.365 Inspect.245;
let Inspect.364 : Str = "\"";
let Inspect.362 : Str = CallByName Inspect.59 Inspect.363 Inspect.364;
dec Inspect.364;
ret Inspect.362;
procedure Inspect.274 (Inspect.275, Inspect.273):
let Inspect.357 : Str = CallByName Num.96 Inspect.273;
let Inspect.356 : Str = CallByName Inspect.59 Inspect.275 Inspect.357;
dec Inspect.357;
ret Inspect.356;
procedure Inspect.30 (Inspect.143):
@ -832,6 +850,7 @@ procedure Inspect.30 (Inspect.143):
ret Inspect.143;
procedure Inspect.31 (Inspect.299, Inspect.145):
inc Inspect.145;
let Inspect.310 : Str = CallByName Inspect.183 Inspect.145 Inspect.299;
ret Inspect.310;
@ -866,6 +885,7 @@ procedure Inspect.5 (Inspect.146):
let Inspect.305 : {} = Struct {};
let Inspect.304 : Str = CallByName Inspect.35 Inspect.305;
let Inspect.303 : Str = CallByName Dict.120 Inspect.304 Inspect.308;
dec Inspect.304;
ret Inspect.303;
procedure Inspect.53 (Inspect.273):
@ -874,7 +894,6 @@ procedure Inspect.53 (Inspect.273):
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.319 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.319;
procedure Inspect.60 (Inspect.298):
@ -883,6 +902,7 @@ procedure Inspect.60 (Inspect.298):
procedure List.11 (List.138, List.139):
let List.636 : List {U32, U32} = CallByName List.68 List.139;
let List.635 : List {U32, U32} = CallByName List.90 List.138 List.139 List.636;
dec List.636;
ret List.635;
procedure List.18 (List.160, List.161, List.162):
@ -993,6 +1013,7 @@ procedure List.90 (#Derived_gen.33, #Derived_gen.34, #Derived_gen.35):
else
ret List.142;
in
inc #Derived_gen.35;
jump List.625 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35;
procedure List.92 (#Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54):
@ -1009,6 +1030,7 @@ procedure List.92 (#Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.50;
jump List.577 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54;
procedure List.92 (#Derived_gen.59, #Derived_gen.60, #Derived_gen.61, #Derived_gen.62, #Derived_gen.63):
@ -1025,6 +1047,7 @@ procedure List.92 (#Derived_gen.59, #Derived_gen.60, #Derived_gen.61, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.59;
jump List.641 #Derived_gen.59 #Derived_gen.60 #Derived_gen.61 #Derived_gen.62 #Derived_gen.63;
procedure List.93 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
@ -1034,6 +1057,7 @@ procedure List.93 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_g
let List.622 : {Str, I64} = CallByName List.66 List.172 List.175;
inc List.622;
let List.177 : List {U32, U32} = CallByName Dict.398 List.173 List.622 List.175 List.174;
dec List.173;
let List.621 : U64 = 1i64;
let List.620 : U64 = CallByName Num.51 List.175 List.621;
jump List.616 List.172 List.177 List.174 List.620 List.176;
@ -1041,6 +1065,8 @@ procedure List.93 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_g
dec List.172;
ret List.173;
in
inc #Derived_gen.24;
inc #Derived_gen.23;
jump List.616 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
procedure Num.131 (#Attr.2):
@ -1187,5 +1213,6 @@ procedure Test.0 ():
let Test.5 : {Str, I64} = Struct {Test.6, Test.7};
let Test.3 : List {Str, I64} = Array [Test.4, Test.5];
let Test.2 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.12 Test.3;
dec Test.3;
let Test.1 : Str = CallByName Inspect.33 Test.2;
ret Test.1;

View File

@ -27,12 +27,15 @@ procedure Inspect.152 (Inspect.153, #Attr.12):
let Inspect.149 : List I64 = StructAtIndex 0 #Attr.12;
let Inspect.343 : Str = "[";
let Inspect.324 : Str = CallByName Inspect.59 Inspect.153 Inspect.343;
dec Inspect.343;
let Inspect.325 : {List I64, {}, {}} = Struct {Inspect.149, Inspect.150, Inspect.151};
let Inspect.320 : {Str, Int1} = CallByName Inspect.154 Inspect.324 Inspect.325;
dec Inspect.324;
let Inspect.321 : {} = Struct {};
let Inspect.316 : Str = CallByName Inspect.163 Inspect.320;
let Inspect.317 : Str = "]";
let Inspect.315 : Str = CallByName Inspect.59 Inspect.316 Inspect.317;
dec Inspect.317;
ret Inspect.315;
procedure Inspect.154 (Inspect.155, #Attr.12):
@ -40,8 +43,10 @@ procedure Inspect.154 (Inspect.155, #Attr.12):
let Inspect.150 : {} = StructAtIndex 1 #Attr.12;
let Inspect.149 : List I64 = StructAtIndex 0 #Attr.12;
let Inspect.342 : Int1 = CallByName Bool.1;
inc Inspect.155;
let Inspect.328 : {Str, Int1} = Struct {Inspect.155, Inspect.342};
let Inspect.327 : {Str, Int1} = CallByName List.18 Inspect.149 Inspect.328 Inspect.151;
dec Inspect.149;
ret Inspect.327;
procedure Inspect.156 (Inspect.330, Inspect.159, Inspect.151):
@ -52,17 +57,20 @@ procedure Inspect.156 (Inspect.330, Inspect.159, Inspect.151):
let Inspect.333 : Str = CallByName Inspect.31 Inspect.337 Inspect.160;
let Inspect.334 : {} = Struct {};
let Inspect.332 : {Str, Int1} = CallByName Inspect.161 Inspect.333;
dec Inspect.333;
ret Inspect.332;
in
if Inspect.158 then
let Inspect.341 : Str = ", ";
let Inspect.339 : Str = CallByName Inspect.59 Inspect.157 Inspect.341;
dec Inspect.341;
jump Inspect.340 Inspect.339;
else
jump Inspect.340 Inspect.157;
procedure Inspect.161 (Inspect.162):
let Inspect.336 : Int1 = CallByName Bool.2;
inc Inspect.162;
let Inspect.335 : {Str, Int1} = Struct {Inspect.162, Inspect.336};
ret Inspect.335;
@ -73,6 +81,7 @@ procedure Inspect.163 (Inspect.322):
procedure Inspect.274 (Inspect.275, Inspect.273):
let Inspect.349 : Str = CallByName Num.96 Inspect.273;
let Inspect.348 : Str = CallByName Inspect.59 Inspect.275 Inspect.349;
dec Inspect.349;
ret Inspect.348;
procedure Inspect.30 (Inspect.143):
@ -85,6 +94,7 @@ procedure Inspect.30 (Inspect.143):
ret Inspect.143;
procedure Inspect.31 (Inspect.299, Inspect.145):
inc Inspect.145;
let Inspect.310 : Str = CallByName Inspect.152 Inspect.145 Inspect.299;
ret Inspect.310;
@ -102,6 +112,7 @@ procedure Inspect.35 (Inspect.297):
ret Inspect.307;
procedure Inspect.36 (Inspect.149, Inspect.150, Inspect.151):
inc Inspect.149;
let Inspect.312 : {List I64, {}, {}} = Struct {Inspect.149, Inspect.150, Inspect.151};
let Inspect.311 : {List I64, {}, {}} = CallByName Inspect.30 Inspect.312;
ret Inspect.311;
@ -111,6 +122,8 @@ procedure Inspect.5 (Inspect.146):
let Inspect.305 : {} = Struct {};
let Inspect.304 : Str = CallByName Inspect.35 Inspect.305;
let Inspect.303 : Str = CallByName #Derived.4 Inspect.304 Inspect.308;
dec Inspect.304;
dec Inspect.308;
ret Inspect.303;
procedure Inspect.53 (Inspect.273):
@ -119,7 +132,6 @@ procedure Inspect.53 (Inspect.273):
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.319 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.319;
procedure Inspect.60 (Inspect.298):
@ -152,6 +164,7 @@ procedure List.92 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.19;
jump List.577 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
procedure Num.22 (#Attr.2, #Attr.3):

View File

@ -9,6 +9,7 @@ procedure #Derived.2 (#Derived.3, #Derived.1):
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
let #Derived_gen.4 : List {Str, Str} = CallByName Inspect.41 #Derived_gen.5;
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
dec #Derived_gen.4;
ret #Derived_gen.3;
procedure #Derived.4 (#Derived.5):
@ -22,6 +23,7 @@ procedure #Derived.6 (#Derived.7, #Derived.5):
let #Derived_gen.15 : List {Str, Str} = Array [#Derived_gen.16];
let #Derived_gen.14 : List {Str, Str} = CallByName Inspect.41 #Derived_gen.15;
let #Derived_gen.13 : Str = CallByName Inspect.31 #Derived_gen.14 #Derived.7;
dec #Derived_gen.14;
ret #Derived_gen.13;
procedure Bool.1 ():
@ -35,25 +37,32 @@ procedure Bool.2 ():
procedure Inspect.225 (Inspect.226, Inspect.224):
let Inspect.348 : Str = "{";
let Inspect.324 : Str = CallByName Inspect.59 Inspect.226 Inspect.348;
dec Inspect.348;
let Inspect.320 : {Str, Int1} = CallByName Inspect.227 Inspect.324 Inspect.224;
dec Inspect.324;
let Inspect.321 : {} = Struct {};
let Inspect.316 : Str = CallByName Inspect.239 Inspect.320;
let Inspect.317 : Str = "}";
let Inspect.315 : Str = CallByName Inspect.59 Inspect.316 Inspect.317;
dec Inspect.317;
ret Inspect.315;
procedure Inspect.225 (Inspect.226, Inspect.224):
let Inspect.388 : Str = "{";
let Inspect.364 : Str = CallByName Inspect.59 Inspect.226 Inspect.388;
dec Inspect.388;
let Inspect.360 : {Str, Int1} = CallByName Inspect.227 Inspect.364 Inspect.224;
dec Inspect.364;
let Inspect.361 : {} = Struct {};
let Inspect.356 : Str = CallByName Inspect.239 Inspect.360;
let Inspect.357 : Str = "}";
let Inspect.355 : Str = CallByName Inspect.59 Inspect.356 Inspect.357;
dec Inspect.357;
ret Inspect.355;
procedure Inspect.227 (Inspect.228, Inspect.224):
let Inspect.347 : Int1 = CallByName Bool.1;
inc Inspect.228;
let Inspect.328 : {Str, Int1} = Struct {Inspect.228, Inspect.347};
let Inspect.329 : {} = Struct {};
let Inspect.327 : {Str, Int1} = CallByName List.18 Inspect.224 Inspect.328 Inspect.329;
@ -61,6 +70,7 @@ procedure Inspect.227 (Inspect.228, Inspect.224):
procedure Inspect.227 (Inspect.228, Inspect.224):
let Inspect.387 : Int1 = CallByName Bool.1;
inc Inspect.228;
let Inspect.368 : {Str, Int1} = Struct {Inspect.228, Inspect.387};
let Inspect.369 : {} = Struct {};
let Inspect.367 : {Str, Int1} = CallByName List.18 Inspect.224 Inspect.368 Inspect.369;
@ -73,16 +83,22 @@ procedure Inspect.229 (Inspect.330, Inspect.331):
let Inspect.231 : Int1 = StructAtIndex 1 Inspect.330;
joinpoint Inspect.345 Inspect.234:
let Inspect.342 : Str = CallByName Inspect.59 Inspect.234 Inspect.232;
dec Inspect.232;
let Inspect.343 : Str = ": ";
let Inspect.337 : Str = CallByName Inspect.59 Inspect.342 Inspect.343;
dec Inspect.343;
let Inspect.333 : Str = CallByName Inspect.235 Inspect.337 Inspect.233;
dec Inspect.233;
dec Inspect.337;
let Inspect.334 : {} = Struct {};
let Inspect.332 : {Str, Int1} = CallByName Inspect.237 Inspect.333;
dec Inspect.333;
ret Inspect.332;
in
if Inspect.231 then
let Inspect.346 : Str = ", ";
let Inspect.344 : Str = CallByName Inspect.59 Inspect.230 Inspect.346;
dec Inspect.346;
jump Inspect.345 Inspect.344;
else
jump Inspect.345 Inspect.230;
@ -94,16 +110,21 @@ procedure Inspect.229 (Inspect.330, Inspect.331):
let Inspect.231 : Int1 = StructAtIndex 1 Inspect.330;
joinpoint Inspect.385 Inspect.234:
let Inspect.382 : Str = CallByName Inspect.59 Inspect.234 Inspect.232;
dec Inspect.232;
let Inspect.383 : Str = ": ";
let Inspect.377 : Str = CallByName Inspect.59 Inspect.382 Inspect.383;
dec Inspect.383;
let Inspect.373 : Str = CallByName Inspect.235 Inspect.377 Inspect.233;
dec Inspect.233;
let Inspect.374 : {} = Struct {};
let Inspect.372 : {Str, Int1} = CallByName Inspect.237 Inspect.373;
dec Inspect.373;
ret Inspect.372;
in
if Inspect.231 then
let Inspect.386 : Str = ", ";
let Inspect.384 : Str = CallByName Inspect.59 Inspect.230 Inspect.386;
dec Inspect.386;
jump Inspect.385 Inspect.384;
else
jump Inspect.385 Inspect.230;
@ -118,6 +139,7 @@ procedure Inspect.235 (Inspect.236, Inspect.233):
procedure Inspect.237 (Inspect.238):
let Inspect.376 : Int1 = CallByName Bool.2;
inc Inspect.238;
let Inspect.375 : {Str, Int1} = Struct {Inspect.238, Inspect.376};
ret Inspect.375;
@ -128,9 +150,11 @@ procedure Inspect.239 (Inspect.322):
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.397 : Str = "\"";
let Inspect.396 : Str = CallByName Inspect.59 Inspect.247 Inspect.397;
dec Inspect.397;
let Inspect.394 : Str = CallByName Inspect.59 Inspect.396 Inspect.245;
let Inspect.395 : Str = "\"";
let Inspect.393 : Str = CallByName Inspect.59 Inspect.394 Inspect.395;
dec Inspect.395;
ret Inspect.393;
procedure Inspect.30 (Inspect.143):
@ -149,13 +173,15 @@ procedure Inspect.30 (Inspect.143):
ret Inspect.143;
procedure Inspect.31 (Inspect.299, Inspect.145):
let Inspect.310 : Str = CallByName Inspect.225 Inspect.145 Inspect.299;
ret Inspect.310;
procedure Inspect.31 (Inspect.299, Inspect.145):
inc Inspect.299;
inc Inspect.145;
let Inspect.341 : Str = CallByName #Derived.6 Inspect.145 Inspect.299;
ret Inspect.341;
procedure Inspect.31 (Inspect.299, Inspect.145):
let Inspect.310 : Str = CallByName Inspect.225 Inspect.145 Inspect.299;
ret Inspect.310;
procedure Inspect.31 (Inspect.299, Inspect.145):
let Inspect.350 : Str = CallByName Inspect.225 Inspect.145 Inspect.299;
ret Inspect.350;
@ -194,7 +220,6 @@ procedure Inspect.5 (Inspect.146):
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.359 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.359;
procedure Inspect.60 (Inspect.298):
@ -242,6 +267,7 @@ procedure List.92 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.26;
jump List.589 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure List.92 (#Derived_gen.39, #Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43):
@ -258,6 +284,7 @@ procedure List.92 (#Derived_gen.39, #Derived_gen.40, #Derived_gen.41, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.39;
jump List.577 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43;
procedure Num.22 (#Attr.2, #Attr.3):

View File

@ -14,6 +14,7 @@ procedure #Derived.2 (#Derived.3, #Derived.1):
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.41 #Derived_gen.5;
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
dec #Derived_gen.4;
ret #Derived_gen.3;
procedure Bool.1 ():
@ -27,15 +28,19 @@ procedure Bool.2 ():
procedure Inspect.225 (Inspect.226, Inspect.224):
let Inspect.349 : Str = "{";
let Inspect.324 : Str = CallByName Inspect.59 Inspect.226 Inspect.349;
dec Inspect.349;
let Inspect.320 : {Str, Int1} = CallByName Inspect.227 Inspect.324 Inspect.224;
dec Inspect.324;
let Inspect.321 : {} = Struct {};
let Inspect.316 : Str = CallByName Inspect.239 Inspect.320;
let Inspect.317 : Str = "}";
let Inspect.315 : Str = CallByName Inspect.59 Inspect.316 Inspect.317;
dec Inspect.317;
ret Inspect.315;
procedure Inspect.227 (Inspect.228, Inspect.224):
let Inspect.348 : Int1 = CallByName Bool.1;
inc Inspect.228;
let Inspect.328 : {Str, Int1} = Struct {Inspect.228, Inspect.348};
let Inspect.329 : {} = Struct {};
let Inspect.327 : {Str, Int1} = CallByName List.18 Inspect.224 Inspect.328 Inspect.329;
@ -48,16 +53,20 @@ procedure Inspect.229 (Inspect.330, Inspect.331):
let Inspect.231 : Int1 = StructAtIndex 1 Inspect.330;
joinpoint Inspect.346 Inspect.234:
let Inspect.343 : Str = CallByName Inspect.59 Inspect.234 Inspect.232;
dec Inspect.232;
let Inspect.344 : Str = ": ";
let Inspect.337 : Str = CallByName Inspect.59 Inspect.343 Inspect.344;
dec Inspect.344;
let Inspect.333 : Str = CallByName Inspect.235 Inspect.337 Inspect.233;
let Inspect.334 : {} = Struct {};
let Inspect.332 : {Str, Int1} = CallByName Inspect.237 Inspect.333;
dec Inspect.333;
ret Inspect.332;
in
if Inspect.231 then
let Inspect.347 : Str = ", ";
let Inspect.345 : Str = CallByName Inspect.59 Inspect.230 Inspect.347;
dec Inspect.347;
jump Inspect.346 Inspect.345;
else
jump Inspect.346 Inspect.230;
@ -68,6 +77,7 @@ procedure Inspect.235 (Inspect.236, Inspect.233):
procedure Inspect.237 (Inspect.238):
let Inspect.336 : Int1 = CallByName Bool.2;
inc Inspect.238;
let Inspect.335 : {Str, Int1} = Struct {Inspect.238, Inspect.336};
ret Inspect.335;
@ -79,12 +89,14 @@ procedure Inspect.274 (Inspect.275, #Attr.12):
let Inspect.362 : I64 = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.361 : Str = CallByName Num.96 Inspect.362;
let Inspect.360 : Str = CallByName Inspect.59 Inspect.275 Inspect.361;
dec Inspect.361;
ret Inspect.360;
procedure Inspect.289 (Inspect.290, #Attr.12):
let Inspect.356 : Decimal = UnionAtIndex (Id 1) (Index 0) #Attr.12;
let Inspect.355 : Str = CallByName Num.96 Inspect.356;
let Inspect.354 : Str = CallByName Inspect.59 Inspect.290 Inspect.355;
dec Inspect.355;
ret Inspect.354;
procedure Inspect.30 (Inspect.143):
@ -144,7 +156,6 @@ procedure Inspect.58 (Inspect.288):
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.319 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.319;
procedure Inspect.60 (Inspect.298):
@ -178,6 +189,7 @@ procedure List.92 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.26;
jump List.577 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure Num.22 (#Attr.2, #Attr.3):

View File

@ -9,6 +9,7 @@ procedure #Derived.2 (#Derived.3, #Derived.1):
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
let #Derived_gen.4 : List {Str, Str} = CallByName Inspect.41 #Derived_gen.5;
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
dec #Derived_gen.4;
ret #Derived_gen.3;
procedure Bool.1 ():
@ -22,15 +23,19 @@ procedure Bool.2 ():
procedure Inspect.225 (Inspect.226, Inspect.224):
let Inspect.348 : Str = "{";
let Inspect.324 : Str = CallByName Inspect.59 Inspect.226 Inspect.348;
dec Inspect.348;
let Inspect.320 : {Str, Int1} = CallByName Inspect.227 Inspect.324 Inspect.224;
dec Inspect.324;
let Inspect.321 : {} = Struct {};
let Inspect.316 : Str = CallByName Inspect.239 Inspect.320;
let Inspect.317 : Str = "}";
let Inspect.315 : Str = CallByName Inspect.59 Inspect.316 Inspect.317;
dec Inspect.317;
ret Inspect.315;
procedure Inspect.227 (Inspect.228, Inspect.224):
let Inspect.347 : Int1 = CallByName Bool.1;
inc Inspect.228;
let Inspect.328 : {Str, Int1} = Struct {Inspect.228, Inspect.347};
let Inspect.329 : {} = Struct {};
let Inspect.327 : {Str, Int1} = CallByName List.18 Inspect.224 Inspect.328 Inspect.329;
@ -43,16 +48,21 @@ procedure Inspect.229 (Inspect.330, Inspect.331):
let Inspect.231 : Int1 = StructAtIndex 1 Inspect.330;
joinpoint Inspect.345 Inspect.234:
let Inspect.342 : Str = CallByName Inspect.59 Inspect.234 Inspect.232;
dec Inspect.232;
let Inspect.343 : Str = ": ";
let Inspect.337 : Str = CallByName Inspect.59 Inspect.342 Inspect.343;
dec Inspect.343;
let Inspect.333 : Str = CallByName Inspect.235 Inspect.337 Inspect.233;
dec Inspect.233;
let Inspect.334 : {} = Struct {};
let Inspect.332 : {Str, Int1} = CallByName Inspect.237 Inspect.333;
dec Inspect.333;
ret Inspect.332;
in
if Inspect.231 then
let Inspect.346 : Str = ", ";
let Inspect.344 : Str = CallByName Inspect.59 Inspect.230 Inspect.346;
dec Inspect.346;
jump Inspect.345 Inspect.344;
else
jump Inspect.345 Inspect.230;
@ -63,6 +73,7 @@ procedure Inspect.235 (Inspect.236, Inspect.233):
procedure Inspect.237 (Inspect.238):
let Inspect.336 : Int1 = CallByName Bool.2;
inc Inspect.238;
let Inspect.335 : {Str, Int1} = Struct {Inspect.238, Inspect.336};
ret Inspect.335;
@ -73,9 +84,11 @@ procedure Inspect.239 (Inspect.322):
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.357 : Str = "\"";
let Inspect.356 : Str = CallByName Inspect.59 Inspect.247 Inspect.357;
dec Inspect.357;
let Inspect.354 : Str = CallByName Inspect.59 Inspect.356 Inspect.245;
let Inspect.355 : Str = "\"";
let Inspect.353 : Str = CallByName Inspect.59 Inspect.354 Inspect.355;
dec Inspect.355;
ret Inspect.353;
procedure Inspect.30 (Inspect.143):
@ -121,7 +134,6 @@ procedure Inspect.5 (Inspect.146):
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.319 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.319;
procedure Inspect.60 (Inspect.298):
@ -155,6 +167,7 @@ procedure List.92 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.10;
jump List.577 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
procedure Num.22 (#Attr.2, #Attr.3):

View File

@ -16,6 +16,7 @@ procedure #Derived.2 (#Derived.3, #Derived.1):
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6, #Derived_gen.7];
let #Derived_gen.4 : List {Str, Str} = CallByName Inspect.41 #Derived_gen.5;
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
dec #Derived_gen.4;
ret #Derived_gen.3;
procedure Bool.1 ():
@ -29,15 +30,19 @@ procedure Bool.2 ():
procedure Inspect.225 (Inspect.226, Inspect.224):
let Inspect.348 : Str = "{";
let Inspect.324 : Str = CallByName Inspect.59 Inspect.226 Inspect.348;
dec Inspect.348;
let Inspect.320 : {Str, Int1} = CallByName Inspect.227 Inspect.324 Inspect.224;
dec Inspect.324;
let Inspect.321 : {} = Struct {};
let Inspect.316 : Str = CallByName Inspect.239 Inspect.320;
let Inspect.317 : Str = "}";
let Inspect.315 : Str = CallByName Inspect.59 Inspect.316 Inspect.317;
dec Inspect.317;
ret Inspect.315;
procedure Inspect.227 (Inspect.228, Inspect.224):
let Inspect.347 : Int1 = CallByName Bool.1;
inc Inspect.228;
let Inspect.328 : {Str, Int1} = Struct {Inspect.228, Inspect.347};
let Inspect.329 : {} = Struct {};
let Inspect.327 : {Str, Int1} = CallByName List.18 Inspect.224 Inspect.328 Inspect.329;
@ -50,16 +55,21 @@ procedure Inspect.229 (Inspect.330, Inspect.331):
let Inspect.231 : Int1 = StructAtIndex 1 Inspect.330;
joinpoint Inspect.345 Inspect.234:
let Inspect.342 : Str = CallByName Inspect.59 Inspect.234 Inspect.232;
dec Inspect.232;
let Inspect.343 : Str = ": ";
let Inspect.337 : Str = CallByName Inspect.59 Inspect.342 Inspect.343;
dec Inspect.343;
let Inspect.333 : Str = CallByName Inspect.235 Inspect.337 Inspect.233;
dec Inspect.233;
let Inspect.334 : {} = Struct {};
let Inspect.332 : {Str, Int1} = CallByName Inspect.237 Inspect.333;
dec Inspect.333;
ret Inspect.332;
in
if Inspect.231 then
let Inspect.346 : Str = ", ";
let Inspect.344 : Str = CallByName Inspect.59 Inspect.230 Inspect.346;
dec Inspect.346;
jump Inspect.345 Inspect.344;
else
jump Inspect.345 Inspect.230;
@ -70,6 +80,7 @@ procedure Inspect.235 (Inspect.236, Inspect.233):
procedure Inspect.237 (Inspect.238):
let Inspect.336 : Int1 = CallByName Bool.2;
inc Inspect.238;
let Inspect.335 : {Str, Int1} = Struct {Inspect.238, Inspect.336};
ret Inspect.335;
@ -80,9 +91,11 @@ procedure Inspect.239 (Inspect.322):
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.357 : Str = "\"";
let Inspect.356 : Str = CallByName Inspect.59 Inspect.247 Inspect.357;
dec Inspect.357;
let Inspect.354 : Str = CallByName Inspect.59 Inspect.356 Inspect.245;
let Inspect.355 : Str = "\"";
let Inspect.353 : Str = CallByName Inspect.59 Inspect.354 Inspect.355;
dec Inspect.355;
ret Inspect.353;
procedure Inspect.30 (Inspect.143):
@ -128,7 +141,6 @@ procedure Inspect.5 (Inspect.146):
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.319 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.319;
procedure Inspect.60 (Inspect.298):
@ -162,6 +174,7 @@ procedure List.92 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.14;
jump List.577 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
procedure Num.22 (#Attr.2, #Attr.3):

View File

@ -1,9 +1,11 @@
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.319 : Str = "\"";
let Inspect.318 : Str = CallByName Inspect.59 Inspect.247 Inspect.319;
dec Inspect.319;
let Inspect.314 : Str = CallByName Inspect.59 Inspect.318 Inspect.245;
let Inspect.315 : Str = "\"";
let Inspect.313 : Str = CallByName Inspect.59 Inspect.314 Inspect.315;
dec Inspect.315;
ret Inspect.313;
procedure Inspect.30 (Inspect.143):
@ -27,11 +29,11 @@ procedure Inspect.5 (Inspect.146):
let Inspect.305 : {} = Struct {};
let Inspect.304 : Str = CallByName Inspect.35 Inspect.305;
let Inspect.303 : Str = CallByName Inspect.246 Inspect.304 Inspect.308;
dec Inspect.308;
ret Inspect.303;
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.317 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.317;
procedure Inspect.60 (Inspect.298):

View File

@ -11,6 +11,8 @@ procedure #Derived.3 (#Derived.4, #Derived.1):
let #Derived_gen.9 : Str = CallByName Inspect.43 #Derived.1;
let #Derived_gen.8 : List Str = Array [#Derived_gen.9];
let #Derived_gen.6 : [C Str, C Str List Str] = CallByName Inspect.39 #Derived_gen.7 #Derived_gen.8;
dec #Derived_gen.8;
dec #Derived_gen.7;
jump #Derived_gen.5 #Derived_gen.6;
procedure Bool.11 (#Attr.2, #Attr.3):
@ -20,6 +22,7 @@ procedure Bool.11 (#Attr.2, #Attr.3):
procedure Inspect.200 (Inspect.201, #Attr.12):
let Inspect.342 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.341 : Str = CallByName Inspect.59 Inspect.201 Inspect.342;
dec Inspect.342;
ret Inspect.341;
procedure Inspect.202 (Inspect.203, #Attr.12):
@ -27,10 +30,15 @@ procedure Inspect.202 (Inspect.203, #Attr.12):
let Inspect.335 : Str = UnionAtIndex (Id 1) (Index 0) #Attr.12;
let Inspect.334 : Str = "(";
let Inspect.333 : Str = CallByName Inspect.59 Inspect.203 Inspect.334;
dec Inspect.334;
let Inspect.321 : Str = CallByName Inspect.59 Inspect.333 Inspect.335;
dec Inspect.335;
let Inspect.317 : Str = CallByName Inspect.204 Inspect.321 Inspect.336;
dec Inspect.321;
dec Inspect.336;
let Inspect.318 : Str = ")";
let Inspect.316 : Str = CallByName Inspect.59 Inspect.317 Inspect.318;
dec Inspect.318;
ret Inspect.316;
procedure Inspect.204 (Inspect.205, Inspect.199):
@ -41,6 +49,7 @@ procedure Inspect.204 (Inspect.205, Inspect.199):
procedure Inspect.206 (Inspect.207, Inspect.208):
let Inspect.332 : Str = " ";
let Inspect.327 : Str = CallByName Inspect.59 Inspect.207 Inspect.332;
dec Inspect.332;
let Inspect.326 : Str = CallByName Inspect.209 Inspect.327 Inspect.208;
ret Inspect.326;
@ -51,9 +60,11 @@ procedure Inspect.209 (Inspect.210, Inspect.208):
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.351 : Str = "\"";
let Inspect.350 : Str = CallByName Inspect.59 Inspect.247 Inspect.351;
dec Inspect.351;
let Inspect.348 : Str = CallByName Inspect.59 Inspect.350 Inspect.245;
let Inspect.349 : Str = "\"";
let Inspect.347 : Str = CallByName Inspect.59 Inspect.348 Inspect.349;
dec Inspect.349;
ret Inspect.347;
procedure Inspect.30 (Inspect.143):
@ -91,14 +102,15 @@ procedure Inspect.35 (Inspect.297):
ret Inspect.307;
procedure Inspect.39 (Inspect.198, Inspect.199):
inc Inspect.199;
let Inspect.337 : Int1 = CallByName List.1 Inspect.199;
if Inspect.337 then
dec Inspect.199;
inc Inspect.198;
let Inspect.339 : [C Str, C Str List Str] = TagId(0) Inspect.198;
let Inspect.338 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.339;
ret Inspect.338;
else
inc Inspect.199;
inc Inspect.198;
let Inspect.313 : [C Str, C Str List Str] = TagId(1) Inspect.198 Inspect.199;
let Inspect.312 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.313;
ret Inspect.312;
@ -116,7 +128,6 @@ procedure Inspect.5 (Inspect.146):
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.320 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.320;
procedure Inspect.60 (Inspect.298):
@ -124,7 +135,6 @@ procedure Inspect.60 (Inspect.298):
procedure List.1 (List.107):
let List.587 : U64 = CallByName List.6 List.107;
dec List.107;
let List.588 : U64 = 0i64;
let List.586 : Int1 = CallByName Bool.11 List.587 List.588;
ret List.586;
@ -150,6 +160,7 @@ procedure List.92 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_g
let List.583 : Str = CallByName List.66 List.163 List.166;
inc List.583;
let List.168 : Str = CallByName Inspect.206 List.164 List.583;
dec List.583;
let List.582 : U64 = 1i64;
let List.581 : U64 = CallByName Num.51 List.166 List.582;
jump List.577 List.163 List.168 List.165 List.581 List.167;
@ -157,6 +168,8 @@ procedure List.92 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.11;
inc #Derived_gen.10;
jump List.577 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
procedure Num.22 (#Attr.2, #Attr.3):

View File

@ -14,6 +14,8 @@ procedure #Derived.4 (#Derived.5, #Derived.1):
let #Derived_gen.10 : Str = CallByName Inspect.43 #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.39 #Derived_gen.7 #Derived_gen.8;
dec #Derived_gen.8;
dec #Derived_gen.7;
jump #Derived_gen.5 #Derived_gen.6;
procedure Bool.11 (#Attr.2, #Attr.3):
@ -23,6 +25,7 @@ procedure Bool.11 (#Attr.2, #Attr.3):
procedure Inspect.200 (Inspect.201, #Attr.12):
let Inspect.342 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Inspect.341 : Str = CallByName Inspect.59 Inspect.201 Inspect.342;
dec Inspect.342;
ret Inspect.341;
procedure Inspect.202 (Inspect.203, #Attr.12):
@ -30,10 +33,15 @@ procedure Inspect.202 (Inspect.203, #Attr.12):
let Inspect.335 : Str = UnionAtIndex (Id 1) (Index 0) #Attr.12;
let Inspect.334 : Str = "(";
let Inspect.333 : Str = CallByName Inspect.59 Inspect.203 Inspect.334;
dec Inspect.334;
let Inspect.321 : Str = CallByName Inspect.59 Inspect.333 Inspect.335;
dec Inspect.335;
let Inspect.317 : Str = CallByName Inspect.204 Inspect.321 Inspect.336;
dec Inspect.321;
dec Inspect.336;
let Inspect.318 : Str = ")";
let Inspect.316 : Str = CallByName Inspect.59 Inspect.317 Inspect.318;
dec Inspect.318;
ret Inspect.316;
procedure Inspect.204 (Inspect.205, Inspect.199):
@ -44,6 +52,7 @@ procedure Inspect.204 (Inspect.205, Inspect.199):
procedure Inspect.206 (Inspect.207, Inspect.208):
let Inspect.332 : Str = " ";
let Inspect.327 : Str = CallByName Inspect.59 Inspect.207 Inspect.332;
dec Inspect.332;
let Inspect.326 : Str = CallByName Inspect.209 Inspect.327 Inspect.208;
ret Inspect.326;
@ -54,9 +63,11 @@ procedure Inspect.209 (Inspect.210, Inspect.208):
procedure Inspect.246 (Inspect.247, Inspect.245):
let Inspect.351 : Str = "\"";
let Inspect.350 : Str = CallByName Inspect.59 Inspect.247 Inspect.351;
dec Inspect.351;
let Inspect.348 : Str = CallByName Inspect.59 Inspect.350 Inspect.245;
let Inspect.349 : Str = "\"";
let Inspect.347 : Str = CallByName Inspect.59 Inspect.348 Inspect.349;
dec Inspect.349;
ret Inspect.347;
procedure Inspect.30 (Inspect.143):
@ -94,14 +105,15 @@ procedure Inspect.35 (Inspect.297):
ret Inspect.307;
procedure Inspect.39 (Inspect.198, Inspect.199):
inc Inspect.199;
let Inspect.337 : Int1 = CallByName List.1 Inspect.199;
if Inspect.337 then
dec Inspect.199;
inc Inspect.198;
let Inspect.339 : [C Str, C Str List Str] = TagId(0) Inspect.198;
let Inspect.338 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.339;
ret Inspect.338;
else
inc Inspect.199;
inc Inspect.198;
let Inspect.313 : [C Str, C Str List Str] = TagId(1) Inspect.198 Inspect.199;
let Inspect.312 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.313;
ret Inspect.312;
@ -119,7 +131,6 @@ procedure Inspect.5 (Inspect.146):
procedure Inspect.59 (Inspect.296, Inspect.292):
let Inspect.320 : Str = CallByName Str.3 Inspect.296 Inspect.292;
dec Inspect.292;
ret Inspect.320;
procedure Inspect.60 (Inspect.298):
@ -127,7 +138,6 @@ procedure Inspect.60 (Inspect.298):
procedure List.1 (List.107):
let List.587 : U64 = CallByName List.6 List.107;
dec List.107;
let List.588 : U64 = 0i64;
let List.586 : Int1 = CallByName Bool.11 List.587 List.588;
ret List.586;
@ -153,6 +163,7 @@ procedure List.92 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_g
let List.583 : Str = CallByName List.66 List.163 List.166;
inc List.583;
let List.168 : Str = CallByName Inspect.206 List.164 List.583;
dec List.583;
let List.582 : U64 = 1i64;
let List.581 : U64 = CallByName Num.51 List.166 List.582;
jump List.577 List.163 List.168 List.165 List.581 List.167;
@ -160,6 +171,8 @@ procedure List.92 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.14;
inc #Derived_gen.13;
jump List.577 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
procedure Num.22 (#Attr.2, #Attr.3):

View File

@ -11,11 +11,9 @@ procedure List.2 (List.108, List.109):
let List.584 : Int1 = CallByName Num.22 List.109 List.588;
if List.584 then
let List.586 : I64 = CallByName List.66 List.108 List.109;
dec List.108;
let List.585 : [C {}, C I64] = TagId(1) List.586;
ret List.585;
else
dec List.108;
let List.583 : {} = Struct {};
let List.582 : [C {}, C I64] = TagId(0) List.583;
ret List.582;
@ -57,7 +55,6 @@ procedure Str.42 (#Attr.2):
procedure Str.60 (Str.185):
let Str.186 : {I64, U8} = CallByName Str.42 Str.185;
dec Str.185;
let Str.238 : U8 = StructAtIndex 1 Str.186;
let Str.239 : U8 = 0i64;
let Str.235 : Int1 = CallByName Bool.11 Str.238 Str.239;
@ -75,8 +72,10 @@ procedure Test.0 ():
if Test.3 then
let Test.5 : List I64 = Array [];
let Test.4 : [C Int1, C I64] = CallByName List.9 Test.5;
dec Test.5;
ret Test.4;
else
let Test.2 : Str = "";
let Test.1 : [C Int1, C I64] = CallByName Str.27 Test.2;
dec Test.2;
ret Test.1;

View File

@ -79,6 +79,7 @@ procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.
let List.591 : [C {}, C {}] = TagId(1) List.492;
ret List.591;
in
inc #Derived_gen.1;
jump List.590 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
procedure Num.22 (#Attr.2, #Attr.3):
@ -146,6 +147,7 @@ procedure Test.1 (#Derived_gen.0):
let Test.33 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.23 Test.12 Test.14 Test.35;
let Test.34 : {} = Struct {};
let Test.29 : Int1 = CallByName List.56 Test.33 Test.34;
dec Test.33;
if Test.29 then
let Test.31 : U64 = CallByName List.6 Test.12;
dec Test.12;

View File

@ -32,7 +32,6 @@ procedure Str.42 (#Attr.2):
procedure Str.60 (Str.185):
let Str.186 : {I64, U8} = CallByName Str.42 Str.185;
dec Str.185;
let Str.238 : U8 = StructAtIndex 1 Str.186;
let Str.239 : U8 = 0i64;
let Str.235 : Int1 = CallByName Bool.11 Str.238 Str.239;
@ -68,6 +67,7 @@ procedure Test.19 ():
let Test.133 : List U8 = CallByName Str.12 Test.135;
let Test.134 : {} = Struct {};
let Test.132 : {List U8, [C {}, C Str]} = CallByName Decode.26 Test.133 Test.134;
dec Test.133;
let Test.93 : List U8 = StructAtIndex 0 Test.132;
let Test.92 : [C {}, C Str] = StructAtIndex 1 Test.132;
let Test.129 : U8 = 1i64;
@ -76,6 +76,7 @@ procedure Test.19 ():
if Test.131 then
let Test.94 : Str = UnionAtIndex (Id 1) (Index 0) Test.92;
let Test.117 : [C {}, C I64] = CallByName Str.27 Test.94;
dec Test.94;
let Test.123 : U8 = 1i64;
let Test.124 : U8 = GetTagId Test.117;
let Test.125 : Int1 = lowlevel Eq Test.123 Test.124;
@ -99,5 +100,6 @@ procedure Test.19 ():
procedure Test.76 (Test.77, Test.138):
let Test.141 : {} = Struct {};
let Test.140 : [C {}, C Str] = TagId(0) Test.141;
inc Test.77;
let Test.139 : {List U8, [C {}, C Str]} = Struct {Test.77, Test.140};
ret Test.139;

View File

@ -37,6 +37,7 @@ procedure Test.1 (#Derived_gen.0, #Derived_gen.1):
let Test.14 : [C {}, C Str] = TagId(0) Test.15;
ret Test.14;
in
inc #Derived_gen.0;
jump Test.12 #Derived_gen.0 #Derived_gen.1;
procedure Test.0 ():
@ -44,4 +45,5 @@ procedure Test.0 ():
let Test.10 : List Str = Array [Test.35];
let Test.11 : U64 = 0i64;
let Test.9 : [C {}, C Str] = CallByName Test.1 Test.10 Test.11;
dec Test.10;
ret Test.9;

View File

@ -3,7 +3,6 @@ procedure Bool.1 ():
ret Bool.24;
procedure Test.1 (Test.4):
dec Test.4;
let Test.9 : I64 = 0i64;
ret Test.9;
@ -18,6 +17,7 @@ procedure Test.0 ():
in
joinpoint Test.13 Test.12:
let Test.8 : I64 = CallByName Test.1 Test.12;
dec Test.12;
jump Test.7 Test.8;
in
let Test.32 : U64 = lowlevel ListLenUsize Test.6;

View File

@ -3,7 +3,6 @@ procedure Bool.1 ():
ret Bool.24;
procedure Test.1 (Test.4):
dec Test.4;
let Test.9 : I64 = 0i64;
ret Test.9;
@ -18,6 +17,7 @@ procedure Test.0 ():
in
joinpoint Test.13 Test.12:
let Test.8 : I64 = CallByName Test.1 Test.12;
dec Test.12;
jump Test.7 Test.8;
in
let Test.44 : U64 = lowlevel ListLenUsize Test.6;

View File

@ -22,7 +22,6 @@ procedure Test.2 (Test.7, Test.8):
ret Test.43;
procedure Test.3 (Test.17):
dec Test.17;
let Test.35 : {} = Struct {};
ret Test.35;
@ -35,6 +34,7 @@ procedure Test.9 (Test.26, #Attr.12):
let Test.32 : {} = Struct {};
let Test.31 : Str = CallByName Test.15 Test.32;
let Test.28 : {} = CallByName Test.3 Test.31;
dec Test.31;
let Test.30 : {} = Struct {};
let Test.29 : Str = CallByName Test.11 Test.30;
ret Test.29;

View File

@ -11,6 +11,7 @@ procedure Test.1 (Test.5):
ret Test.31;
procedure Test.2 (Test.7):
inc Test.7;
let Test.23 : [C {}, C U64, C Str] = TagId(2) Test.7;
ret Test.23;
@ -59,6 +60,7 @@ procedure Test.0 ():
case 1:
let Test.22 : Str = "foo";
let Test.21 : [C {}, C U64, C Str] = CallByName Test.2 Test.22;
dec Test.22;
jump Test.13 Test.21;
default:

View File

@ -1,8 +1,10 @@
procedure Test.1 (Test.4):
inc Test.4;
let Test.13 : [C Str, C Str] = TagId(0) Test.4;
ret Test.13;
procedure Test.1 (Test.4):
inc Test.4;
let Test.19 : [C Str, C Str] = TagId(0) Test.4;
ret Test.19;
@ -22,8 +24,10 @@ procedure Test.0 ():
if Test.22 then
let Test.16 : Str = "";
let Test.10 : [C Str, C Str] = CallByName Test.1 Test.16;
dec Test.16;
jump Test.9 Test.10;
else
let Test.20 : Str = "";
let Test.17 : [C Str, C Str] = CallByName Test.1 Test.20;
dec Test.20;
jump Test.9 Test.17;

View File

@ -26,6 +26,7 @@ procedure List.92 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
dec List.163;
ret List.164;
in
inc #Derived_gen.0;
jump List.577 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
@ -46,4 +47,5 @@ procedure Test.0 ():
let Test.8 : List [<rnu>C *self, <null>] = Array [];
let Test.15 : {} = Struct {};
let Test.9 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.18 Test.8 Test.6 Test.15;
dec Test.8;
ret Test.9;

View File

@ -3,11 +3,9 @@ procedure List.2 (List.108, List.109):
let List.576 : Int1 = CallByName Num.22 List.109 List.580;
if List.576 then
let List.578 : I64 = CallByName List.66 List.108 List.109;
dec List.108;
let List.577 : [C {}, C I64] = TagId(1) List.578;
ret List.577;
else
dec List.108;
let List.575 : {} = Struct {};
let List.574 : [C {}, C I64] = TagId(0) List.575;
ret List.574;
@ -28,6 +26,7 @@ procedure Test.1 (Test.2):
let Test.6 : List I64 = Array [1i64, 2i64, 3i64];
let Test.7 : U64 = 0i64;
let Test.5 : [C {}, C I64] = CallByName List.2 Test.6 Test.7;
dec Test.6;
ret Test.5;
procedure Test.0 ():

View File

@ -4,11 +4,9 @@ procedure List.2 (List.108, List.109):
if List.576 then
let List.578 : Str = CallByName List.66 List.108 List.109;
inc List.578;
dec List.108;
let List.577 : [C {}, C Str] = TagId(1) List.578;
ret List.577;
else
dec List.108;
let List.575 : {} = Struct {};
let List.574 : [C {}, C Str] = TagId(0) List.575;
ret List.574;
@ -55,13 +53,13 @@ procedure Test.2 ():
procedure Test.3 (Test.4):
let Test.18 : U64 = 2i64;
let Test.17 : Str = CallByName Str.16 Test.4 Test.18;
dec Test.4;
ret Test.17;
procedure Test.0 ():
let Test.12 : List Str = CallByName Test.2;
let Test.13 : U64 = 0i64;
let Test.6 : [C {}, C Str] = CallByName List.2 Test.12 Test.13;
dec Test.12;
let Test.9 : U8 = 1i64;
let Test.10 : U8 = GetTagId Test.6;
let Test.11 : Int1 = lowlevel Eq Test.9 Test.10;

View File

@ -4,11 +4,9 @@ procedure List.2 (List.108, List.109):
if List.576 then
let List.578 : Str = CallByName List.66 List.108 List.109;
inc List.578;
dec List.108;
let List.577 : [C {}, C Str] = TagId(1) List.578;
ret List.577;
else
dec List.108;
let List.575 : {} = Struct {};
let List.574 : [C {}, C Str] = TagId(0) List.575;
ret List.574;
@ -58,6 +56,7 @@ procedure Test.0 ():
let Test.12 : List Str = CallByName Test.2;
let Test.13 : U64 = 0i64;
let Test.6 : [C {}, C Str] = CallByName List.2 Test.12 Test.13;
dec Test.12;
let Test.9 : U8 = 1i64;
let Test.10 : U8 = GetTagId Test.6;
let Test.11 : Int1 = lowlevel Eq Test.9 Test.10;

View File

@ -1,9 +1,10 @@
procedure Test.1 (Test.2):
inc Test.2;
inc 2 Test.2;
let Test.6 : {List I64, List I64} = Struct {Test.2, Test.2};
ret Test.6;
procedure Test.0 ():
let Test.5 : List I64 = Array [1i64, 2i64, 3i64];
let Test.4 : {List I64, List I64} = CallByName Test.1 Test.5;
dec Test.5;
ret Test.4;

View File

@ -7,8 +7,6 @@ procedure Test.1 (Test.3):
ret Test.13;
procedure Test.2 (Test.4, Test.5):
dec Test.5;
dec Test.4;
let Test.9 : U64 = 18i64;
ret Test.9;
@ -18,4 +16,6 @@ procedure Test.0 ():
let Test.10 : {} = Struct {};
let Test.8 : List U16 = CallByName Test.1 Test.10;
let Test.6 : U64 = CallByName Test.2 Test.7 Test.8;
dec Test.8;
dec Test.7;
ret Test.6;

View File

@ -23,12 +23,14 @@ procedure Test.1 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2):
let Test.20 : I64 = 1i64;
let Test.19 : I64 = CallByName Num.20 Test.5 Test.20;
let Test.16 : List I64 = CallByName Test.1 Test.6 Test.3 Test.19;
dec Test.6;
let Test.18 : I64 = 1i64;
let Test.17 : I64 = CallByName Num.19 Test.5 Test.18;
jump Test.12 Test.16 Test.17 Test.4;
else
ret Test.2;
in
inc #Derived_gen.0;
jump Test.12 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2;
procedure Test.0 ():
@ -36,4 +38,5 @@ procedure Test.0 ():
let Test.10 : I64 = 0i64;
let Test.11 : I64 = 0i64;
let Test.8 : List I64 = CallByName Test.1 Test.9 Test.10 Test.11;
dec Test.9;
ret Test.8;

View File

@ -3,11 +3,9 @@ procedure List.2 (List.108, List.109):
let List.593 : Int1 = CallByName Num.22 List.109 List.596;
if List.593 then
let List.595 : I64 = CallByName List.66 List.108 List.109;
dec List.108;
let List.594 : [C {}, C I64] = TagId(1) List.595;
ret List.594;
else
dec List.108;
let List.592 : {} = Struct {};
let List.591 : [C {}, C I64] = TagId(0) List.592;
ret List.591;
@ -45,7 +43,6 @@ procedure Num.22 (#Attr.2, #Attr.3):
procedure Test.1 (Test.2):
let Test.28 : U64 = 0i64;
inc 2 Test.2;
let Test.26 : [C {}, C I64] = CallByName List.2 Test.2 Test.28;
let Test.27 : U64 = 0i64;
let Test.25 : [C {}, C I64] = CallByName List.2 Test.2 Test.27;

View File

@ -3,7 +3,6 @@ procedure Bool.2 ():
ret Bool.23;
procedure Test.10 (Test.26):
dec Test.26;
let Test.30 : Int1 = CallByName Bool.2;
if Test.30 then
let Test.31 : [<rnu><null>, C {}] = CallByName Test.0;
@ -30,6 +29,7 @@ procedure Test.6 (Test.16, #Attr.12):
let Test.19 : {} = Struct {};
let Test.22 : Str = "foobar";
let Test.20 : [<rnu><null>, C {}] = CallByName Test.8 Test.22 Test.23;
dec Test.22;
let Test.21 : U8 = GetTagId Test.20;
switch Test.21:
case 0:

View File

@ -3,11 +3,9 @@ procedure List.2 (List.108, List.109):
let List.593 : Int1 = CallByName Num.22 List.109 List.596;
if List.593 then
let List.595 : I64 = CallByName List.66 List.108 List.109;
dec List.108;
let List.594 : [C {}, C I64] = TagId(1) List.595;
ret List.594;
else
dec List.108;
let List.592 : {} = Struct {};
let List.591 : [C {}, C I64] = TagId(0) List.592;
ret List.591;
@ -44,7 +42,6 @@ procedure Num.22 (#Attr.2, #Attr.3):
ret Num.281;
procedure Test.1 (Test.2, Test.3, Test.4):
inc 2 Test.4;
let Test.29 : [C {}, C I64] = CallByName List.2 Test.4 Test.3;
let Test.28 : [C {}, C I64] = CallByName List.2 Test.4 Test.2;
let Test.13 : {[C {}, C I64], [C {}, C I64]} = Struct {Test.28, Test.29};

View File

@ -1,5 +1,4 @@
procedure Test.1 (Test.2):
dec Test.2;
let Test.11 : Int1 = false;
ret Test.11;
@ -14,6 +13,7 @@ procedure Test.4 (Test.13):
procedure Test.0 ():
let Test.16 : Str = "abc";
let Test.6 : Int1 = CallByName Test.1 Test.16;
dec Test.16;
let Test.9 : {} = Struct {};
switch Test.6:
case 0:

View File

@ -27,6 +27,7 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.109 : List U8 = Array [];
let Encode.110 : {Str, Str} = CallByName Test.49 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
dec Encode.109;
ret Encode.108;
procedure List.13 (#Attr.2, #Attr.3):
@ -79,6 +80,8 @@ procedure List.92 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
dec List.163;
ret List.164;
in
inc #Derived_gen.0;
inc #Derived_gen.1;
jump List.577 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.127 (#Attr.2):
@ -110,12 +113,14 @@ procedure Test.20 (Test.58):
ret Test.295;
procedure Test.21 (Test.61, Test.62):
inc Test.61;
let Test.275 : {List Str, {}} = Struct {Test.61, Test.62};
let Test.274 : {List Str, {}} = CallByName Encode.23 Test.275;
ret Test.274;
procedure Test.213 (Test.214, Test.215, Test.212):
joinpoint Test.267 Test.216:
inc Test.214;
let Test.265 : List U8 = CallByName Encode.24 Test.214 Test.216 Test.215;
ret Test.265;
in
@ -148,6 +153,7 @@ procedure Test.24 (Test.80, Test.81):
let Test.294 : Str = CallByName Test.20 Test.80;
let Test.271 : List Str = CallByName List.13 Test.81 Test.294;
let Test.270 : {List Str, {}} = CallByName Test.23 Test.271;
dec Test.271;
ret Test.270;
procedure Test.3 ():
@ -191,6 +197,8 @@ procedure Test.63 (Test.64, Test.276, #Attr.12):
let Test.285 : U64 = CallByName List.6 Test.61;
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.284 Test.285;
let Test.278 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
dec Test.61;
dec Test.65;
ret Test.278;
procedure Test.66 (Test.67, Test.68, Test.62):

View File

@ -19,7 +19,6 @@ procedure Test.15 (Test.49):
ret Test.70;
procedure Test.16 (Test.48):
dec Test.48;
let Test.79 : {} = Struct {};
let Test.78 : Int1 = CallByName Test.13 Test.79;
ret Test.78;
@ -55,6 +54,7 @@ procedure Test.43 (Test.44, Test.42):
if Test.75 then
let Test.77 : Str = StructAtIndex 0 Test.42;
let Test.76 : Int1 = CallByName Test.16 Test.77;
dec Test.77;
let Test.61 : Int1 = CallByName Test.14 Test.76;
jump Test.62 Test.61;
else

View File

@ -6,6 +6,7 @@ procedure #Derived.0 (#Derived.1):
procedure #Derived.2 (#Derived.3, #Derived.4, #Attr.12):
let #Derived_gen.19 : {} = UnionAtIndex (Id 0) (Index 0) #Attr.12;
joinpoint #Derived_gen.15 #Derived_gen.14:
inc #Derived.3;
let #Derived_gen.13 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.14 #Derived.4;
ret #Derived_gen.13;
in
@ -22,6 +23,7 @@ procedure #Derived.5 (#Derived.6):
procedure #Derived.7 (#Derived.8, #Derived.9, #Attr.12):
let #Derived_gen.9 : {} = UnionAtIndex (Id 1) (Index 0) #Attr.12;
joinpoint #Derived_gen.5 #Derived_gen.4:
inc #Derived.8;
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.8 #Derived_gen.4 #Derived.9;
ret #Derived_gen.3;
in
@ -50,22 +52,25 @@ procedure Encode.23 (Encode.98):
ret Encode.98;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.111 : List U8 = CallByName Test.213 Encode.99 Encode.101 Encode.107;
ret Encode.111;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
inc Encode.99;
let Encode.115 : List U8 = CallByName Test.63 Encode.99 Encode.101 Encode.107;
ret Encode.115;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.111 : List U8 = CallByName Test.213 Encode.99 Encode.101 Encode.107;
ret Encode.111;
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
let Encode.117 : U8 = GetTagId Encode.107;
switch Encode.117:
case 0:
let Encode.116 : List U8 = CallByName #Derived.2 Encode.99 Encode.101 Encode.107;
dec Encode.99;
ret Encode.116;
case 1:
let Encode.116 : List U8 = CallByName #Derived.7 Encode.99 Encode.101 Encode.107;
dec Encode.99;
ret Encode.116;
default:
@ -85,6 +90,7 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.109 : List U8 = Array [];
let Encode.110 : {{}, {}} = CallByName Test.49 Encode.105;
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
dec Encode.109;
ret Encode.108;
procedure List.13 (#Attr.2, #Attr.3):
@ -155,6 +161,8 @@ procedure List.92 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.29;
inc #Derived_gen.30;
jump List.577 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
procedure List.92 (#Derived_gen.52, #Derived_gen.53, #Derived_gen.54, #Derived_gen.55, #Derived_gen.56):
@ -171,6 +179,8 @@ procedure List.92 (#Derived_gen.52, #Derived_gen.53, #Derived_gen.54, #Derived_g
dec List.163;
ret List.164;
in
inc #Derived_gen.53;
inc #Derived_gen.52;
jump List.604 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54 #Derived_gen.55 #Derived_gen.56;
procedure Num.127 (#Attr.2):
@ -198,6 +208,7 @@ procedure Str.36 (#Attr.2):
ret Str.237;
procedure Test.20 (Test.58):
inc Test.58;
let Test.299 : [C {}, C {}, C Str] = TagId(2) Test.58;
let Test.298 : [C {}, C {}, C Str] = CallByName Encode.23 Test.299;
ret Test.298;
@ -207,11 +218,13 @@ procedure Test.20 (Test.58):
ret Test.342;
procedure Test.21 (Test.61, Test.62):
inc Test.61;
let Test.278 : {List [C {}, C {}, C Str], {}} = Struct {Test.61, Test.62};
let Test.277 : {List [C {}, C {}, C Str], {}} = CallByName Encode.23 Test.278;
ret Test.277;
procedure Test.21 (Test.61, Test.62):
inc Test.61;
let Test.322 : {List Str, {}} = Struct {Test.61, Test.62};
let Test.321 : {List Str, {}} = CallByName Encode.23 Test.322;
ret Test.321;
@ -228,6 +241,7 @@ procedure Test.213 (Test.214, Test.215, Test.212):
let Test.315 : [C {}, C {}, C Str] = CallByName #Derived.0 Test.316;
let Test.314 : List [C {}, C {}, C Str] = Array [Test.315];
let Test.269 : {List [C {}, C {}, C Str], {}} = CallByName Test.24 Test.313 Test.314;
dec Test.313;
jump Test.270 Test.269;
else
let Test.271 : Str = "B";
@ -235,6 +249,7 @@ procedure Test.213 (Test.214, Test.215, Test.212):
let Test.310 : [C {}, C {}, C Str] = CallByName #Derived.5 Test.311;
let Test.272 : List [C {}, C {}, C Str] = Array [Test.310];
let Test.269 : {List [C {}, C {}, C Str], {}} = CallByName Test.24 Test.271 Test.272;
dec Test.271;
jump Test.270 Test.269;
procedure Test.23 (Test.77):
@ -251,12 +266,14 @@ procedure Test.24 (Test.80, Test.81):
let Test.297 : [C {}, C {}, C Str] = CallByName Test.20 Test.80;
let Test.274 : List [C {}, C {}, C Str] = CallByName List.13 Test.81 Test.297;
let Test.273 : {List [C {}, C {}, C Str], {}} = CallByName Test.23 Test.274;
dec Test.274;
ret Test.273;
procedure Test.24 (Test.80, Test.81):
let Test.355 : Str = CallByName Test.20 Test.80;
let Test.354 : List Str = CallByName List.13 Test.81 Test.355;
let Test.353 : {List Str, {}} = CallByName Test.23 Test.354;
dec Test.354;
ret Test.353;
procedure Test.3 ():
@ -311,6 +328,8 @@ procedure Test.63 (Test.64, Test.279, #Attr.12):
let Test.332 : U64 = CallByName List.6 Test.61;
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.331 Test.332;
let Test.325 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
dec Test.61;
dec Test.65;
ret Test.325;
procedure Test.63 (Test.64, Test.279, #Attr.12):
@ -320,6 +339,8 @@ procedure Test.63 (Test.64, Test.279, #Attr.12):
let Test.288 : U64 = CallByName List.6 Test.61;
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.287 Test.288;
let Test.281 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
dec Test.61;
dec Test.65;
ret Test.281;
procedure Test.66 (Test.67, Test.68, Test.62):

View File

@ -75,6 +75,7 @@ procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
let List.595 : [C U64, C U64] = TagId(1) List.492;
ret List.595;
in
inc #Derived_gen.0;
jump List.594 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
@ -96,7 +97,6 @@ procedure Test.3 (Test.4, Test.12):
procedure Test.0 (Test.1):
let Test.10 : U64 = 0i64;
let Test.11 : {} = Struct {};
inc Test.1;
let Test.2 : U64 = CallByName List.26 Test.1 Test.10 Test.11;
let Test.9 : U64 = 0i64;
let Test.7 : Int1 = CallByName Bool.11 Test.2 Test.9;