From c7b8bc09f46bb479997dea56ca23d89c2742a48c Mon Sep 17 00:00:00 2001 From: Luke Boswell Date: Wed, 12 Apr 2023 17:38:48 +1000 Subject: [PATCH] mono --- .../encode_derived_nested_record_string.txt | 242 +++--- ...encode_derived_record_one_field_string.txt | 126 +-- ...ncode_derived_record_two_field_strings.txt | 126 +-- .../generated/encode_derived_string.txt | 28 +- .../encode_derived_tag_one_field_string.txt | 132 ++-- ...encode_derived_tag_two_payloads_string.txt | 132 ++-- .../test_mono/generated/issue_4749.txt | 746 +++++++++--------- ..._4772_weakened_monomorphic_destructure.txt | 746 +++++++++--------- ...not_duplicate_identical_concrete_types.txt | 132 ++-- ...types_without_unification_of_unifiable.txt | 212 ++--- 10 files changed, 1311 insertions(+), 1311 deletions(-) diff --git a/crates/compiler/test_mono/generated/encode_derived_nested_record_string.txt b/crates/compiler/test_mono/generated/encode_derived_nested_record_string.txt index e9ac861189..69473e1508 100644 --- a/crates/compiler/test_mono/generated/encode_derived_nested_record_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_nested_record_string.txt @@ -66,143 +66,143 @@ procedure Encode.26 (Encode.105, Encode.106): ret Encode.108; procedure Json.1 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.146 (Json.147, Json.967, Json.145): - let Json.976 : I64 = 34i64; - let Json.975 : U8 = CallByName Num.127 Json.976; - let Json.973 : List U8 = CallByName List.4 Json.147 Json.975; - let Json.974 : List U8 = CallByName Str.12 Json.145; - let Json.970 : List U8 = CallByName List.8 Json.973 Json.974; - let Json.972 : I64 = 34i64; - let Json.971 : U8 = CallByName Num.127 Json.972; - let Json.969 : List U8 = CallByName List.4 Json.970 Json.971; - ret Json.969; +procedure Json.146 (Json.147, Json.980, Json.145): + let Json.989 : I64 = 34i64; + let Json.988 : U8 = CallByName Num.127 Json.989; + let Json.986 : List U8 = CallByName List.4 Json.147 Json.988; + let Json.987 : List U8 = CallByName Str.12 Json.145; + let Json.983 : List U8 = CallByName List.8 Json.986 Json.987; + let Json.985 : I64 = 34i64; + let Json.984 : U8 = CallByName Num.127 Json.985; + let Json.982 : List U8 = CallByName List.4 Json.983 Json.984; + ret Json.982; -procedure Json.162 (Json.163, Json.891, Json.161): - let Json.924 : I64 = 123i64; - let Json.923 : U8 = CallByName Num.127 Json.924; - let Json.165 : List U8 = CallByName List.4 Json.163 Json.923; - let Json.922 : U64 = CallByName List.6 Json.161; - let Json.899 : {List U8, U64} = Struct {Json.165, Json.922}; - let Json.900 : {} = Struct {}; - let Json.898 : {List U8, U64} = CallByName List.18 Json.161 Json.899 Json.900; - dec Json.161; - let Json.167 : List U8 = StructAtIndex 0 Json.898; - inc Json.167; - dec Json.898; - let Json.897 : I64 = 125i64; - let Json.896 : U8 = CallByName Num.127 Json.897; - let Json.895 : List U8 = CallByName List.4 Json.167 Json.896; - ret Json.895; - -procedure Json.162 (Json.163, Json.891, Json.161): - let Json.964 : I64 = 123i64; - let Json.963 : U8 = CallByName Num.127 Json.964; - let Json.165 : List U8 = CallByName List.4 Json.163 Json.963; - let Json.962 : U64 = CallByName List.6 Json.161; - let Json.939 : {List U8, U64} = Struct {Json.165, Json.962}; - let Json.940 : {} = Struct {}; - let Json.938 : {List U8, U64} = CallByName List.18 Json.161 Json.939 Json.940; - dec Json.161; - let Json.167 : List U8 = StructAtIndex 0 Json.938; - inc Json.167; - dec Json.938; - let Json.937 : I64 = 125i64; +procedure Json.162 (Json.163, Json.904, Json.161): + let Json.937 : I64 = 123i64; let Json.936 : U8 = CallByName Num.127 Json.937; - let Json.935 : List U8 = CallByName List.4 Json.167 Json.936; - ret Json.935; + let Json.165 : List U8 = CallByName List.4 Json.163 Json.936; + let Json.935 : U64 = CallByName List.6 Json.161; + let Json.912 : {List U8, U64} = Struct {Json.165, Json.935}; + let Json.913 : {} = Struct {}; + let Json.911 : {List U8, U64} = CallByName List.18 Json.161 Json.912 Json.913; + dec Json.161; + let Json.167 : List U8 = StructAtIndex 0 Json.911; + inc Json.167; + dec Json.911; + let Json.910 : I64 = 125i64; + let Json.909 : U8 = CallByName Num.127 Json.910; + let Json.908 : List U8 = CallByName List.4 Json.167 Json.909; + ret Json.908; -procedure Json.164 (Json.893, Json.894): - let Json.170 : Str = StructAtIndex 0 Json.894; - inc Json.170; - let Json.171 : Str = StructAtIndex 1 Json.894; - inc Json.171; - dec Json.894; - let Json.168 : List U8 = StructAtIndex 0 Json.893; - inc Json.168; - let Json.169 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.921 : I64 = 34i64; - let Json.920 : U8 = CallByName Num.127 Json.921; - let Json.918 : List U8 = CallByName List.4 Json.168 Json.920; - let Json.919 : List U8 = CallByName Str.12 Json.170; - let Json.915 : List U8 = CallByName List.8 Json.918 Json.919; - let Json.917 : I64 = 34i64; - let Json.916 : U8 = CallByName Num.127 Json.917; - let Json.912 : List U8 = CallByName List.4 Json.915 Json.916; - let Json.914 : I64 = 58i64; - let Json.913 : U8 = CallByName Num.127 Json.914; - let Json.910 : List U8 = CallByName List.4 Json.912 Json.913; - let Json.911 : {} = Struct {}; - let Json.172 : List U8 = CallByName Encode.24 Json.910 Json.171 Json.911; - joinpoint Json.905 Json.173: - let Json.903 : U64 = 1i64; - let Json.902 : U64 = CallByName Num.20 Json.169 Json.903; - let Json.901 : {List U8, U64} = Struct {Json.173, Json.902}; - ret Json.901; - in - let Json.909 : U64 = 1i64; - let Json.906 : Int1 = CallByName Num.24 Json.169 Json.909; - if Json.906 then - let Json.908 : I64 = 44i64; - let Json.907 : U8 = CallByName Num.127 Json.908; - let Json.904 : List U8 = CallByName List.4 Json.172 Json.907; - jump Json.905 Json.904; - else - jump Json.905 Json.172; +procedure Json.162 (Json.163, Json.904, Json.161): + let Json.977 : I64 = 123i64; + let Json.976 : U8 = CallByName Num.127 Json.977; + let Json.165 : List U8 = CallByName List.4 Json.163 Json.976; + let Json.975 : U64 = CallByName List.6 Json.161; + let Json.952 : {List U8, U64} = Struct {Json.165, Json.975}; + let Json.953 : {} = Struct {}; + let Json.951 : {List U8, U64} = CallByName List.18 Json.161 Json.952 Json.953; + dec Json.161; + let Json.167 : List U8 = StructAtIndex 0 Json.951; + inc Json.167; + dec Json.951; + let Json.950 : I64 = 125i64; + let Json.949 : U8 = CallByName Num.127 Json.950; + let Json.948 : List U8 = CallByName List.4 Json.167 Json.949; + ret Json.948; -procedure Json.164 (Json.893, Json.894): - let Json.170 : Str = StructAtIndex 0 Json.894; +procedure Json.164 (Json.906, Json.907): + let Json.170 : Str = StructAtIndex 0 Json.907; inc Json.170; - let Json.171 : Str = StructAtIndex 1 Json.894; + let Json.171 : Str = StructAtIndex 1 Json.907; inc Json.171; - dec Json.894; - let Json.168 : List U8 = StructAtIndex 0 Json.893; + dec Json.907; + let Json.168 : List U8 = StructAtIndex 0 Json.906; inc Json.168; - let Json.169 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.961 : I64 = 34i64; - let Json.960 : U8 = CallByName Num.127 Json.961; - let Json.958 : List U8 = CallByName List.4 Json.168 Json.960; - let Json.959 : List U8 = CallByName Str.12 Json.170; - let Json.955 : List U8 = CallByName List.8 Json.958 Json.959; - let Json.957 : I64 = 34i64; - let Json.956 : U8 = CallByName Num.127 Json.957; - let Json.952 : List U8 = CallByName List.4 Json.955 Json.956; - let Json.954 : I64 = 58i64; - let Json.953 : U8 = CallByName Num.127 Json.954; - let Json.950 : List U8 = CallByName List.4 Json.952 Json.953; - let Json.951 : {} = Struct {}; - let Json.172 : List U8 = CallByName Encode.24 Json.950 Json.171 Json.951; - joinpoint Json.945 Json.173: - let Json.943 : U64 = 1i64; - let Json.942 : U64 = CallByName Num.20 Json.169 Json.943; - let Json.941 : {List U8, U64} = Struct {Json.173, Json.942}; - ret Json.941; + let Json.169 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.934 : I64 = 34i64; + let Json.933 : U8 = CallByName Num.127 Json.934; + let Json.931 : List U8 = CallByName List.4 Json.168 Json.933; + let Json.932 : List U8 = CallByName Str.12 Json.170; + let Json.928 : List U8 = CallByName List.8 Json.931 Json.932; + let Json.930 : I64 = 34i64; + let Json.929 : U8 = CallByName Num.127 Json.930; + let Json.925 : List U8 = CallByName List.4 Json.928 Json.929; + let Json.927 : I64 = 58i64; + let Json.926 : U8 = CallByName Num.127 Json.927; + let Json.923 : List U8 = CallByName List.4 Json.925 Json.926; + let Json.924 : {} = Struct {}; + let Json.172 : List U8 = CallByName Encode.24 Json.923 Json.171 Json.924; + joinpoint Json.918 Json.173: + let Json.916 : U64 = 1i64; + let Json.915 : U64 = CallByName Num.20 Json.169 Json.916; + let Json.914 : {List U8, U64} = Struct {Json.173, Json.915}; + ret Json.914; in - let Json.949 : U64 = 1i64; - let Json.946 : Int1 = CallByName Num.24 Json.169 Json.949; - if Json.946 then - let Json.948 : I64 = 44i64; - let Json.947 : U8 = CallByName Num.127 Json.948; - let Json.944 : List U8 = CallByName List.4 Json.172 Json.947; - jump Json.945 Json.944; + let Json.922 : U64 = 1i64; + let Json.919 : Int1 = CallByName Num.24 Json.169 Json.922; + if Json.919 then + let Json.921 : I64 = 44i64; + let Json.920 : U8 = CallByName Num.127 Json.921; + let Json.917 : List U8 = CallByName List.4 Json.172 Json.920; + jump Json.918 Json.917; else - jump Json.945 Json.172; + jump Json.918 Json.172; + +procedure Json.164 (Json.906, Json.907): + let Json.170 : Str = StructAtIndex 0 Json.907; + inc Json.170; + let Json.171 : Str = StructAtIndex 1 Json.907; + inc Json.171; + dec Json.907; + let Json.168 : List U8 = StructAtIndex 0 Json.906; + inc Json.168; + let Json.169 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.974 : I64 = 34i64; + let Json.973 : U8 = CallByName Num.127 Json.974; + let Json.971 : List U8 = CallByName List.4 Json.168 Json.973; + let Json.972 : List U8 = CallByName Str.12 Json.170; + let Json.968 : List U8 = CallByName List.8 Json.971 Json.972; + let Json.970 : I64 = 34i64; + let Json.969 : U8 = CallByName Num.127 Json.970; + let Json.965 : List U8 = CallByName List.4 Json.968 Json.969; + let Json.967 : I64 = 58i64; + let Json.966 : U8 = CallByName Num.127 Json.967; + let Json.963 : List U8 = CallByName List.4 Json.965 Json.966; + let Json.964 : {} = Struct {}; + let Json.172 : List U8 = CallByName Encode.24 Json.963 Json.171 Json.964; + joinpoint Json.958 Json.173: + let Json.956 : U64 = 1i64; + let Json.955 : U64 = CallByName Num.20 Json.169 Json.956; + let Json.954 : {List U8, U64} = Struct {Json.173, Json.955}; + ret Json.954; + in + let Json.962 : U64 = 1i64; + let Json.959 : Int1 = CallByName Num.24 Json.169 Json.962; + if Json.959 then + let Json.961 : I64 = 44i64; + let Json.960 : U8 = CallByName Num.127 Json.961; + let Json.957 : List U8 = CallByName List.4 Json.172 Json.960; + jump Json.958 Json.957; + else + jump Json.958 Json.172; procedure Json.23 (Json.145): - let Json.965 : Str = CallByName Encode.23 Json.145; - ret Json.965; + let Json.978 : Str = CallByName Encode.23 Json.145; + ret Json.978; procedure Json.25 (Json.161): - let Json.889 : List {Str, Str} = CallByName Encode.23 Json.161; - ret Json.889; + let Json.902 : List {Str, Str} = CallByName Encode.23 Json.161; + ret Json.902; procedure Json.25 (Json.161): - let Json.931 : List {Str, Str} = CallByName Encode.23 Json.161; - ret Json.931; + let Json.944 : List {Str, Str} = CallByName Encode.23 Json.161; + ret Json.944; procedure List.139 (List.140, List.141, List.138): let List.535 : {List U8, U64} = CallByName Json.164 List.140 List.141; diff --git a/crates/compiler/test_mono/generated/encode_derived_record_one_field_string.txt b/crates/compiler/test_mono/generated/encode_derived_record_one_field_string.txt index e8d44affd3..c3520a0769 100644 --- a/crates/compiler/test_mono/generated/encode_derived_record_one_field_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_record_one_field_string.txt @@ -39,83 +39,83 @@ procedure Encode.26 (Encode.105, Encode.106): ret Encode.108; procedure Json.1 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.146 (Json.147, Json.927, Json.145): - let Json.936 : I64 = 34i64; - let Json.935 : U8 = CallByName Num.127 Json.936; - let Json.933 : List U8 = CallByName List.4 Json.147 Json.935; - let Json.934 : List U8 = CallByName Str.12 Json.145; - let Json.930 : List U8 = CallByName List.8 Json.933 Json.934; - let Json.932 : I64 = 34i64; - let Json.931 : U8 = CallByName Num.127 Json.932; - let Json.929 : List U8 = CallByName List.4 Json.930 Json.931; - ret Json.929; +procedure Json.146 (Json.147, Json.940, Json.145): + let Json.949 : I64 = 34i64; + let Json.948 : U8 = CallByName Num.127 Json.949; + let Json.946 : List U8 = CallByName List.4 Json.147 Json.948; + let Json.947 : List U8 = CallByName Str.12 Json.145; + let Json.943 : List U8 = CallByName List.8 Json.946 Json.947; + let Json.945 : I64 = 34i64; + let Json.944 : U8 = CallByName Num.127 Json.945; + let Json.942 : List U8 = CallByName List.4 Json.943 Json.944; + ret Json.942; -procedure Json.162 (Json.163, Json.891, Json.161): - let Json.924 : I64 = 123i64; - let Json.923 : U8 = CallByName Num.127 Json.924; - let Json.165 : List U8 = CallByName List.4 Json.163 Json.923; - let Json.922 : U64 = CallByName List.6 Json.161; - let Json.899 : {List U8, U64} = Struct {Json.165, Json.922}; - let Json.900 : {} = Struct {}; - let Json.898 : {List U8, U64} = CallByName List.18 Json.161 Json.899 Json.900; +procedure Json.162 (Json.163, Json.904, Json.161): + let Json.937 : I64 = 123i64; + let Json.936 : U8 = CallByName Num.127 Json.937; + let Json.165 : List U8 = CallByName List.4 Json.163 Json.936; + let Json.935 : U64 = CallByName List.6 Json.161; + let Json.912 : {List U8, U64} = Struct {Json.165, Json.935}; + let Json.913 : {} = Struct {}; + let Json.911 : {List U8, U64} = CallByName List.18 Json.161 Json.912 Json.913; dec Json.161; - let Json.167 : List U8 = StructAtIndex 0 Json.898; + let Json.167 : List U8 = StructAtIndex 0 Json.911; inc Json.167; - dec Json.898; - let Json.897 : I64 = 125i64; - let Json.896 : U8 = CallByName Num.127 Json.897; - let Json.895 : List U8 = CallByName List.4 Json.167 Json.896; - ret Json.895; + dec Json.911; + let Json.910 : I64 = 125i64; + let Json.909 : U8 = CallByName Num.127 Json.910; + let Json.908 : List U8 = CallByName List.4 Json.167 Json.909; + ret Json.908; -procedure Json.164 (Json.893, Json.894): - let Json.170 : Str = StructAtIndex 0 Json.894; +procedure Json.164 (Json.906, Json.907): + let Json.170 : Str = StructAtIndex 0 Json.907; inc Json.170; - let Json.171 : Str = StructAtIndex 1 Json.894; + let Json.171 : Str = StructAtIndex 1 Json.907; inc Json.171; - dec Json.894; - let Json.168 : List U8 = StructAtIndex 0 Json.893; + dec Json.907; + let Json.168 : List U8 = StructAtIndex 0 Json.906; inc Json.168; - let Json.169 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.921 : I64 = 34i64; - let Json.920 : U8 = CallByName Num.127 Json.921; - let Json.918 : List U8 = CallByName List.4 Json.168 Json.920; - let Json.919 : List U8 = CallByName Str.12 Json.170; - let Json.915 : List U8 = CallByName List.8 Json.918 Json.919; - let Json.917 : I64 = 34i64; - let Json.916 : U8 = CallByName Num.127 Json.917; - let Json.912 : List U8 = CallByName List.4 Json.915 Json.916; - let Json.914 : I64 = 58i64; - let Json.913 : U8 = CallByName Num.127 Json.914; - let Json.910 : List U8 = CallByName List.4 Json.912 Json.913; - let Json.911 : {} = Struct {}; - let Json.172 : List U8 = CallByName Encode.24 Json.910 Json.171 Json.911; - joinpoint Json.905 Json.173: - let Json.903 : U64 = 1i64; - let Json.902 : U64 = CallByName Num.20 Json.169 Json.903; - let Json.901 : {List U8, U64} = Struct {Json.173, Json.902}; - ret Json.901; + let Json.169 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.934 : I64 = 34i64; + let Json.933 : U8 = CallByName Num.127 Json.934; + let Json.931 : List U8 = CallByName List.4 Json.168 Json.933; + let Json.932 : List U8 = CallByName Str.12 Json.170; + let Json.928 : List U8 = CallByName List.8 Json.931 Json.932; + let Json.930 : I64 = 34i64; + let Json.929 : U8 = CallByName Num.127 Json.930; + let Json.925 : List U8 = CallByName List.4 Json.928 Json.929; + let Json.927 : I64 = 58i64; + let Json.926 : U8 = CallByName Num.127 Json.927; + let Json.923 : List U8 = CallByName List.4 Json.925 Json.926; + let Json.924 : {} = Struct {}; + let Json.172 : List U8 = CallByName Encode.24 Json.923 Json.171 Json.924; + joinpoint Json.918 Json.173: + let Json.916 : U64 = 1i64; + let Json.915 : U64 = CallByName Num.20 Json.169 Json.916; + let Json.914 : {List U8, U64} = Struct {Json.173, Json.915}; + ret Json.914; in - let Json.909 : U64 = 1i64; - let Json.906 : Int1 = CallByName Num.24 Json.169 Json.909; - if Json.906 then - let Json.908 : I64 = 44i64; - let Json.907 : U8 = CallByName Num.127 Json.908; - let Json.904 : List U8 = CallByName List.4 Json.172 Json.907; - jump Json.905 Json.904; + let Json.922 : U64 = 1i64; + let Json.919 : Int1 = CallByName Num.24 Json.169 Json.922; + if Json.919 then + let Json.921 : I64 = 44i64; + let Json.920 : U8 = CallByName Num.127 Json.921; + let Json.917 : List U8 = CallByName List.4 Json.172 Json.920; + jump Json.918 Json.917; else - jump Json.905 Json.172; + jump Json.918 Json.172; procedure Json.23 (Json.145): - let Json.925 : Str = CallByName Encode.23 Json.145; - ret Json.925; + let Json.938 : Str = CallByName Encode.23 Json.145; + ret Json.938; procedure Json.25 (Json.161): - let Json.889 : List {Str, Str} = CallByName Encode.23 Json.161; - ret Json.889; + let Json.902 : List {Str, Str} = CallByName Encode.23 Json.161; + ret Json.902; procedure List.139 (List.140, List.141, List.138): let List.541 : {List U8, U64} = CallByName Json.164 List.140 List.141; diff --git a/crates/compiler/test_mono/generated/encode_derived_record_two_field_strings.txt b/crates/compiler/test_mono/generated/encode_derived_record_two_field_strings.txt index e48b181ee2..1e5c565b4b 100644 --- a/crates/compiler/test_mono/generated/encode_derived_record_two_field_strings.txt +++ b/crates/compiler/test_mono/generated/encode_derived_record_two_field_strings.txt @@ -47,83 +47,83 @@ procedure Encode.26 (Encode.105, Encode.106): ret Encode.108; procedure Json.1 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.146 (Json.147, Json.927, Json.145): - let Json.936 : I64 = 34i64; - let Json.935 : U8 = CallByName Num.127 Json.936; - let Json.933 : List U8 = CallByName List.4 Json.147 Json.935; - let Json.934 : List U8 = CallByName Str.12 Json.145; - let Json.930 : List U8 = CallByName List.8 Json.933 Json.934; - let Json.932 : I64 = 34i64; - let Json.931 : U8 = CallByName Num.127 Json.932; - let Json.929 : List U8 = CallByName List.4 Json.930 Json.931; - ret Json.929; +procedure Json.146 (Json.147, Json.940, Json.145): + let Json.949 : I64 = 34i64; + let Json.948 : U8 = CallByName Num.127 Json.949; + let Json.946 : List U8 = CallByName List.4 Json.147 Json.948; + let Json.947 : List U8 = CallByName Str.12 Json.145; + let Json.943 : List U8 = CallByName List.8 Json.946 Json.947; + let Json.945 : I64 = 34i64; + let Json.944 : U8 = CallByName Num.127 Json.945; + let Json.942 : List U8 = CallByName List.4 Json.943 Json.944; + ret Json.942; -procedure Json.162 (Json.163, Json.891, Json.161): - let Json.924 : I64 = 123i64; - let Json.923 : U8 = CallByName Num.127 Json.924; - let Json.165 : List U8 = CallByName List.4 Json.163 Json.923; - let Json.922 : U64 = CallByName List.6 Json.161; - let Json.899 : {List U8, U64} = Struct {Json.165, Json.922}; - let Json.900 : {} = Struct {}; - let Json.898 : {List U8, U64} = CallByName List.18 Json.161 Json.899 Json.900; +procedure Json.162 (Json.163, Json.904, Json.161): + let Json.937 : I64 = 123i64; + let Json.936 : U8 = CallByName Num.127 Json.937; + let Json.165 : List U8 = CallByName List.4 Json.163 Json.936; + let Json.935 : U64 = CallByName List.6 Json.161; + let Json.912 : {List U8, U64} = Struct {Json.165, Json.935}; + let Json.913 : {} = Struct {}; + let Json.911 : {List U8, U64} = CallByName List.18 Json.161 Json.912 Json.913; dec Json.161; - let Json.167 : List U8 = StructAtIndex 0 Json.898; + let Json.167 : List U8 = StructAtIndex 0 Json.911; inc Json.167; - dec Json.898; - let Json.897 : I64 = 125i64; - let Json.896 : U8 = CallByName Num.127 Json.897; - let Json.895 : List U8 = CallByName List.4 Json.167 Json.896; - ret Json.895; + dec Json.911; + let Json.910 : I64 = 125i64; + let Json.909 : U8 = CallByName Num.127 Json.910; + let Json.908 : List U8 = CallByName List.4 Json.167 Json.909; + ret Json.908; -procedure Json.164 (Json.893, Json.894): - let Json.170 : Str = StructAtIndex 0 Json.894; +procedure Json.164 (Json.906, Json.907): + let Json.170 : Str = StructAtIndex 0 Json.907; inc Json.170; - let Json.171 : Str = StructAtIndex 1 Json.894; + let Json.171 : Str = StructAtIndex 1 Json.907; inc Json.171; - dec Json.894; - let Json.168 : List U8 = StructAtIndex 0 Json.893; + dec Json.907; + let Json.168 : List U8 = StructAtIndex 0 Json.906; inc Json.168; - let Json.169 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.921 : I64 = 34i64; - let Json.920 : U8 = CallByName Num.127 Json.921; - let Json.918 : List U8 = CallByName List.4 Json.168 Json.920; - let Json.919 : List U8 = CallByName Str.12 Json.170; - let Json.915 : List U8 = CallByName List.8 Json.918 Json.919; - let Json.917 : I64 = 34i64; - let Json.916 : U8 = CallByName Num.127 Json.917; - let Json.912 : List U8 = CallByName List.4 Json.915 Json.916; - let Json.914 : I64 = 58i64; - let Json.913 : U8 = CallByName Num.127 Json.914; - let Json.910 : List U8 = CallByName List.4 Json.912 Json.913; - let Json.911 : {} = Struct {}; - let Json.172 : List U8 = CallByName Encode.24 Json.910 Json.171 Json.911; - joinpoint Json.905 Json.173: - let Json.903 : U64 = 1i64; - let Json.902 : U64 = CallByName Num.20 Json.169 Json.903; - let Json.901 : {List U8, U64} = Struct {Json.173, Json.902}; - ret Json.901; + let Json.169 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.934 : I64 = 34i64; + let Json.933 : U8 = CallByName Num.127 Json.934; + let Json.931 : List U8 = CallByName List.4 Json.168 Json.933; + let Json.932 : List U8 = CallByName Str.12 Json.170; + let Json.928 : List U8 = CallByName List.8 Json.931 Json.932; + let Json.930 : I64 = 34i64; + let Json.929 : U8 = CallByName Num.127 Json.930; + let Json.925 : List U8 = CallByName List.4 Json.928 Json.929; + let Json.927 : I64 = 58i64; + let Json.926 : U8 = CallByName Num.127 Json.927; + let Json.923 : List U8 = CallByName List.4 Json.925 Json.926; + let Json.924 : {} = Struct {}; + let Json.172 : List U8 = CallByName Encode.24 Json.923 Json.171 Json.924; + joinpoint Json.918 Json.173: + let Json.916 : U64 = 1i64; + let Json.915 : U64 = CallByName Num.20 Json.169 Json.916; + let Json.914 : {List U8, U64} = Struct {Json.173, Json.915}; + ret Json.914; in - let Json.909 : U64 = 1i64; - let Json.906 : Int1 = CallByName Num.24 Json.169 Json.909; - if Json.906 then - let Json.908 : I64 = 44i64; - let Json.907 : U8 = CallByName Num.127 Json.908; - let Json.904 : List U8 = CallByName List.4 Json.172 Json.907; - jump Json.905 Json.904; + let Json.922 : U64 = 1i64; + let Json.919 : Int1 = CallByName Num.24 Json.169 Json.922; + if Json.919 then + let Json.921 : I64 = 44i64; + let Json.920 : U8 = CallByName Num.127 Json.921; + let Json.917 : List U8 = CallByName List.4 Json.172 Json.920; + jump Json.918 Json.917; else - jump Json.905 Json.172; + jump Json.918 Json.172; procedure Json.23 (Json.145): - let Json.937 : Str = CallByName Encode.23 Json.145; - ret Json.937; + let Json.950 : Str = CallByName Encode.23 Json.145; + ret Json.950; procedure Json.25 (Json.161): - let Json.889 : List {Str, Str} = CallByName Encode.23 Json.161; - ret Json.889; + let Json.902 : List {Str, Str} = CallByName Encode.23 Json.161; + ret Json.902; procedure List.139 (List.140, List.141, List.138): let List.541 : {List U8, U64} = CallByName Json.164 List.140 List.141; diff --git a/crates/compiler/test_mono/generated/encode_derived_string.txt b/crates/compiler/test_mono/generated/encode_derived_string.txt index 7b394fde6e..4be817da9e 100644 --- a/crates/compiler/test_mono/generated/encode_derived_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_string.txt @@ -12,23 +12,23 @@ procedure Encode.26 (Encode.105, Encode.106): ret Encode.108; procedure Json.1 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.146 (Json.147, Json.891, Json.145): - let Json.900 : I64 = 34i64; - let Json.899 : U8 = CallByName Num.127 Json.900; - let Json.897 : List U8 = CallByName List.4 Json.147 Json.899; - let Json.898 : List U8 = CallByName Str.12 Json.145; - let Json.894 : List U8 = CallByName List.8 Json.897 Json.898; - let Json.896 : I64 = 34i64; - let Json.895 : U8 = CallByName Num.127 Json.896; - let Json.893 : List U8 = CallByName List.4 Json.894 Json.895; - ret Json.893; +procedure Json.146 (Json.147, Json.904, Json.145): + let Json.913 : I64 = 34i64; + let Json.912 : U8 = CallByName Num.127 Json.913; + let Json.910 : List U8 = CallByName List.4 Json.147 Json.912; + let Json.911 : List U8 = CallByName Str.12 Json.145; + let Json.907 : List U8 = CallByName List.8 Json.910 Json.911; + let Json.909 : I64 = 34i64; + let Json.908 : U8 = CallByName Num.127 Json.909; + let Json.906 : List U8 = CallByName List.4 Json.907 Json.908; + ret Json.906; procedure Json.23 (Json.145): - let Json.889 : Str = CallByName Encode.23 Json.145; - ret Json.889; + let Json.902 : Str = CallByName Encode.23 Json.145; + ret Json.902; procedure List.4 (List.107, List.108): let List.503 : U64 = 1i64; diff --git a/crates/compiler/test_mono/generated/encode_derived_tag_one_field_string.txt b/crates/compiler/test_mono/generated/encode_derived_tag_one_field_string.txt index e465ce9e11..ee3f0cbd21 100644 --- a/crates/compiler/test_mono/generated/encode_derived_tag_one_field_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_tag_one_field_string.txt @@ -41,90 +41,90 @@ procedure Encode.26 (Encode.105, Encode.106): ret Encode.108; procedure Json.1 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.146 (Json.147, Json.932, Json.145): - let Json.941 : I64 = 34i64; - let Json.940 : U8 = CallByName Num.127 Json.941; - let Json.938 : List U8 = CallByName List.4 Json.147 Json.940; - let Json.939 : List U8 = CallByName Str.12 Json.145; - let Json.935 : List U8 = CallByName List.8 Json.938 Json.939; - let Json.937 : I64 = 34i64; - let Json.936 : U8 = CallByName Num.127 Json.937; - let Json.934 : List U8 = CallByName List.4 Json.935 Json.936; - ret Json.934; +procedure Json.146 (Json.147, Json.945, Json.145): + let Json.954 : I64 = 34i64; + let Json.953 : U8 = CallByName Num.127 Json.954; + let Json.951 : List U8 = CallByName List.4 Json.147 Json.953; + let Json.952 : List U8 = CallByName Str.12 Json.145; + let Json.948 : List U8 = CallByName List.8 Json.951 Json.952; + let Json.950 : I64 = 34i64; + let Json.949 : U8 = CallByName Num.127 Json.950; + let Json.947 : List U8 = CallByName List.4 Json.948 Json.949; + ret Json.947; -procedure Json.188 (Json.189, Json.891, #Attr.12): +procedure Json.188 (Json.189, Json.904, #Attr.12): let Json.187 : List Str = StructAtIndex 1 #Attr.12; inc Json.187; let Json.186 : Str = StructAtIndex 0 #Attr.12; inc Json.186; dec #Attr.12; - let Json.929 : I64 = 123i64; + let Json.942 : I64 = 123i64; + let Json.941 : U8 = CallByName Num.127 Json.942; + let Json.938 : List U8 = CallByName List.4 Json.189 Json.941; + let Json.940 : I64 = 34i64; + let Json.939 : U8 = CallByName Num.127 Json.940; + let Json.936 : List U8 = CallByName List.4 Json.938 Json.939; + let Json.937 : List U8 = CallByName Str.12 Json.186; + let Json.933 : List U8 = CallByName List.8 Json.936 Json.937; + let Json.935 : I64 = 34i64; + let Json.934 : U8 = CallByName Num.127 Json.935; + let Json.930 : List U8 = CallByName List.4 Json.933 Json.934; + let Json.932 : I64 = 58i64; + let Json.931 : U8 = CallByName Num.127 Json.932; + let Json.927 : List U8 = CallByName List.4 Json.930 Json.931; + let Json.929 : I64 = 91i64; let Json.928 : U8 = CallByName Num.127 Json.929; - let Json.925 : List U8 = CallByName List.4 Json.189 Json.928; - let Json.927 : I64 = 34i64; - let Json.926 : U8 = CallByName Num.127 Json.927; - let Json.923 : List U8 = CallByName List.4 Json.925 Json.926; - let Json.924 : List U8 = CallByName Str.12 Json.186; - let Json.920 : List U8 = CallByName List.8 Json.923 Json.924; - let Json.922 : I64 = 34i64; - let Json.921 : U8 = CallByName Num.127 Json.922; - let Json.917 : List U8 = CallByName List.4 Json.920 Json.921; - let Json.919 : I64 = 58i64; - let Json.918 : U8 = CallByName Num.127 Json.919; - let Json.914 : List U8 = CallByName List.4 Json.917 Json.918; - let Json.916 : I64 = 91i64; - let Json.915 : U8 = CallByName Num.127 Json.916; - let Json.191 : List U8 = CallByName List.4 Json.914 Json.915; - let Json.913 : U64 = CallByName List.6 Json.187; - let Json.901 : {List U8, U64} = Struct {Json.191, Json.913}; - let Json.902 : {} = Struct {}; - let Json.900 : {List U8, U64} = CallByName List.18 Json.187 Json.901 Json.902; + let Json.191 : List U8 = CallByName List.4 Json.927 Json.928; + let Json.926 : U64 = CallByName List.6 Json.187; + let Json.914 : {List U8, U64} = Struct {Json.191, Json.926}; + let Json.915 : {} = Struct {}; + let Json.913 : {List U8, U64} = CallByName List.18 Json.187 Json.914 Json.915; dec Json.187; - let Json.193 : List U8 = StructAtIndex 0 Json.900; + let Json.193 : List U8 = StructAtIndex 0 Json.913; inc Json.193; - dec Json.900; - let Json.899 : I64 = 93i64; - let Json.898 : U8 = CallByName Num.127 Json.899; - let Json.895 : List U8 = CallByName List.4 Json.193 Json.898; - let Json.897 : I64 = 125i64; - let Json.896 : U8 = CallByName Num.127 Json.897; - let Json.894 : List U8 = CallByName List.4 Json.895 Json.896; - ret Json.894; + dec Json.913; + let Json.912 : I64 = 93i64; + let Json.911 : U8 = CallByName Num.127 Json.912; + let Json.908 : List U8 = CallByName List.4 Json.193 Json.911; + let Json.910 : I64 = 125i64; + let Json.909 : U8 = CallByName Num.127 Json.910; + let Json.907 : List U8 = CallByName List.4 Json.908 Json.909; + ret Json.907; -procedure Json.190 (Json.893, Json.196): - let Json.194 : List U8 = StructAtIndex 0 Json.893; +procedure Json.190 (Json.906, Json.196): + let Json.194 : List U8 = StructAtIndex 0 Json.906; inc Json.194; - let Json.195 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.912 : {} = Struct {}; - let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.912; - joinpoint Json.907 Json.198: - let Json.905 : U64 = 1i64; - let Json.904 : U64 = CallByName Num.20 Json.195 Json.905; - let Json.903 : {List U8, U64} = Struct {Json.198, Json.904}; - ret Json.903; + let Json.195 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.925 : {} = Struct {}; + let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.925; + joinpoint Json.920 Json.198: + let Json.918 : U64 = 1i64; + let Json.917 : U64 = CallByName Num.20 Json.195 Json.918; + let Json.916 : {List U8, U64} = Struct {Json.198, Json.917}; + ret Json.916; in - let Json.911 : U64 = 1i64; - let Json.908 : Int1 = CallByName Num.24 Json.195 Json.911; - if Json.908 then - let Json.910 : I64 = 44i64; - let Json.909 : U8 = CallByName Num.127 Json.910; - let Json.906 : List U8 = CallByName List.4 Json.197 Json.909; - jump Json.907 Json.906; + let Json.924 : U64 = 1i64; + let Json.921 : Int1 = CallByName Num.24 Json.195 Json.924; + if Json.921 then + let Json.923 : I64 = 44i64; + let Json.922 : U8 = CallByName Num.127 Json.923; + let Json.919 : List U8 = CallByName List.4 Json.197 Json.922; + jump Json.920 Json.919; else - jump Json.907 Json.197; + jump Json.920 Json.197; procedure Json.23 (Json.145): - let Json.930 : Str = CallByName Encode.23 Json.145; - ret Json.930; + let Json.943 : Str = CallByName Encode.23 Json.145; + ret Json.943; procedure Json.27 (Json.186, Json.187): - let Json.890 : {Str, List Str} = Struct {Json.186, Json.187}; - let Json.889 : {Str, List Str} = CallByName Encode.23 Json.890; - ret Json.889; + let Json.903 : {Str, List Str} = Struct {Json.186, Json.187}; + let Json.902 : {Str, List Str} = CallByName Encode.23 Json.903; + ret Json.902; procedure List.139 (List.140, List.141, List.138): let List.547 : {List U8, U64} = CallByName Json.190 List.140 List.141; diff --git a/crates/compiler/test_mono/generated/encode_derived_tag_two_payloads_string.txt b/crates/compiler/test_mono/generated/encode_derived_tag_two_payloads_string.txt index caa92423ed..14aab65a24 100644 --- a/crates/compiler/test_mono/generated/encode_derived_tag_two_payloads_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_tag_two_payloads_string.txt @@ -47,90 +47,90 @@ procedure Encode.26 (Encode.105, Encode.106): ret Encode.108; procedure Json.1 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.146 (Json.147, Json.932, Json.145): - let Json.941 : I64 = 34i64; - let Json.940 : U8 = CallByName Num.127 Json.941; - let Json.938 : List U8 = CallByName List.4 Json.147 Json.940; - let Json.939 : List U8 = CallByName Str.12 Json.145; - let Json.935 : List U8 = CallByName List.8 Json.938 Json.939; - let Json.937 : I64 = 34i64; - let Json.936 : U8 = CallByName Num.127 Json.937; - let Json.934 : List U8 = CallByName List.4 Json.935 Json.936; - ret Json.934; +procedure Json.146 (Json.147, Json.945, Json.145): + let Json.954 : I64 = 34i64; + let Json.953 : U8 = CallByName Num.127 Json.954; + let Json.951 : List U8 = CallByName List.4 Json.147 Json.953; + let Json.952 : List U8 = CallByName Str.12 Json.145; + let Json.948 : List U8 = CallByName List.8 Json.951 Json.952; + let Json.950 : I64 = 34i64; + let Json.949 : U8 = CallByName Num.127 Json.950; + let Json.947 : List U8 = CallByName List.4 Json.948 Json.949; + ret Json.947; -procedure Json.188 (Json.189, Json.891, #Attr.12): +procedure Json.188 (Json.189, Json.904, #Attr.12): let Json.187 : List Str = StructAtIndex 1 #Attr.12; inc Json.187; let Json.186 : Str = StructAtIndex 0 #Attr.12; inc Json.186; dec #Attr.12; - let Json.929 : I64 = 123i64; + let Json.942 : I64 = 123i64; + let Json.941 : U8 = CallByName Num.127 Json.942; + let Json.938 : List U8 = CallByName List.4 Json.189 Json.941; + let Json.940 : I64 = 34i64; + let Json.939 : U8 = CallByName Num.127 Json.940; + let Json.936 : List U8 = CallByName List.4 Json.938 Json.939; + let Json.937 : List U8 = CallByName Str.12 Json.186; + let Json.933 : List U8 = CallByName List.8 Json.936 Json.937; + let Json.935 : I64 = 34i64; + let Json.934 : U8 = CallByName Num.127 Json.935; + let Json.930 : List U8 = CallByName List.4 Json.933 Json.934; + let Json.932 : I64 = 58i64; + let Json.931 : U8 = CallByName Num.127 Json.932; + let Json.927 : List U8 = CallByName List.4 Json.930 Json.931; + let Json.929 : I64 = 91i64; let Json.928 : U8 = CallByName Num.127 Json.929; - let Json.925 : List U8 = CallByName List.4 Json.189 Json.928; - let Json.927 : I64 = 34i64; - let Json.926 : U8 = CallByName Num.127 Json.927; - let Json.923 : List U8 = CallByName List.4 Json.925 Json.926; - let Json.924 : List U8 = CallByName Str.12 Json.186; - let Json.920 : List U8 = CallByName List.8 Json.923 Json.924; - let Json.922 : I64 = 34i64; - let Json.921 : U8 = CallByName Num.127 Json.922; - let Json.917 : List U8 = CallByName List.4 Json.920 Json.921; - let Json.919 : I64 = 58i64; - let Json.918 : U8 = CallByName Num.127 Json.919; - let Json.914 : List U8 = CallByName List.4 Json.917 Json.918; - let Json.916 : I64 = 91i64; - let Json.915 : U8 = CallByName Num.127 Json.916; - let Json.191 : List U8 = CallByName List.4 Json.914 Json.915; - let Json.913 : U64 = CallByName List.6 Json.187; - let Json.901 : {List U8, U64} = Struct {Json.191, Json.913}; - let Json.902 : {} = Struct {}; - let Json.900 : {List U8, U64} = CallByName List.18 Json.187 Json.901 Json.902; + let Json.191 : List U8 = CallByName List.4 Json.927 Json.928; + let Json.926 : U64 = CallByName List.6 Json.187; + let Json.914 : {List U8, U64} = Struct {Json.191, Json.926}; + let Json.915 : {} = Struct {}; + let Json.913 : {List U8, U64} = CallByName List.18 Json.187 Json.914 Json.915; dec Json.187; - let Json.193 : List U8 = StructAtIndex 0 Json.900; + let Json.193 : List U8 = StructAtIndex 0 Json.913; inc Json.193; - dec Json.900; - let Json.899 : I64 = 93i64; - let Json.898 : U8 = CallByName Num.127 Json.899; - let Json.895 : List U8 = CallByName List.4 Json.193 Json.898; - let Json.897 : I64 = 125i64; - let Json.896 : U8 = CallByName Num.127 Json.897; - let Json.894 : List U8 = CallByName List.4 Json.895 Json.896; - ret Json.894; + dec Json.913; + let Json.912 : I64 = 93i64; + let Json.911 : U8 = CallByName Num.127 Json.912; + let Json.908 : List U8 = CallByName List.4 Json.193 Json.911; + let Json.910 : I64 = 125i64; + let Json.909 : U8 = CallByName Num.127 Json.910; + let Json.907 : List U8 = CallByName List.4 Json.908 Json.909; + ret Json.907; -procedure Json.190 (Json.893, Json.196): - let Json.194 : List U8 = StructAtIndex 0 Json.893; +procedure Json.190 (Json.906, Json.196): + let Json.194 : List U8 = StructAtIndex 0 Json.906; inc Json.194; - let Json.195 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.912 : {} = Struct {}; - let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.912; - joinpoint Json.907 Json.198: - let Json.905 : U64 = 1i64; - let Json.904 : U64 = CallByName Num.20 Json.195 Json.905; - let Json.903 : {List U8, U64} = Struct {Json.198, Json.904}; - ret Json.903; + let Json.195 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.925 : {} = Struct {}; + let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.925; + joinpoint Json.920 Json.198: + let Json.918 : U64 = 1i64; + let Json.917 : U64 = CallByName Num.20 Json.195 Json.918; + let Json.916 : {List U8, U64} = Struct {Json.198, Json.917}; + ret Json.916; in - let Json.911 : U64 = 1i64; - let Json.908 : Int1 = CallByName Num.24 Json.195 Json.911; - if Json.908 then - let Json.910 : I64 = 44i64; - let Json.909 : U8 = CallByName Num.127 Json.910; - let Json.906 : List U8 = CallByName List.4 Json.197 Json.909; - jump Json.907 Json.906; + let Json.924 : U64 = 1i64; + let Json.921 : Int1 = CallByName Num.24 Json.195 Json.924; + if Json.921 then + let Json.923 : I64 = 44i64; + let Json.922 : U8 = CallByName Num.127 Json.923; + let Json.919 : List U8 = CallByName List.4 Json.197 Json.922; + jump Json.920 Json.919; else - jump Json.907 Json.197; + jump Json.920 Json.197; procedure Json.23 (Json.145): - let Json.942 : Str = CallByName Encode.23 Json.145; - ret Json.942; + let Json.955 : Str = CallByName Encode.23 Json.145; + ret Json.955; procedure Json.27 (Json.186, Json.187): - let Json.890 : {Str, List Str} = Struct {Json.186, Json.187}; - let Json.889 : {Str, List Str} = CallByName Encode.23 Json.890; - ret Json.889; + let Json.903 : {Str, List Str} = Struct {Json.186, Json.187}; + let Json.902 : {Str, List Str} = CallByName Encode.23 Json.903; + ret Json.902; procedure List.139 (List.140, List.141, List.138): let List.547 : {List U8, U64} = CallByName Json.190 List.140 List.141; diff --git a/crates/compiler/test_mono/generated/issue_4749.txt b/crates/compiler/test_mono/generated/issue_4749.txt index 6f6e5d38c0..8f4778a0eb 100644 --- a/crates/compiler/test_mono/generated/issue_4749.txt +++ b/crates/compiler/test_mono/generated/issue_4749.txt @@ -71,523 +71,523 @@ procedure Decode.27 (Decode.107, Decode.108): ret Decode.123; procedure Json.2 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.448 (Json.449, Json.891): +procedure Json.448 (Json.449, Json.904): inc Json.449; - let Json.1028 : {List U8, List U8} = CallByName Json.56 Json.449; - let Json.452 : List U8 = StructAtIndex 0 Json.1028; + let Json.1041 : {List U8, List U8} = CallByName Json.56 Json.449; + let Json.452 : List U8 = StructAtIndex 0 Json.1041; inc Json.452; - let Json.451 : List U8 = StructAtIndex 1 Json.1028; + let Json.451 : List U8 = StructAtIndex 1 Json.1041; inc Json.451; - dec Json.1028; - let Json.1024 : Int1 = CallByName List.1 Json.451; - if Json.1024 then + dec Json.1041; + let Json.1037 : Int1 = CallByName List.1 Json.451; + if Json.1037 then dec Json.452; dec Json.451; - let Json.1027 : {} = Struct {}; - let Json.1026 : [C {}, C Str] = TagId(0) Json.1027; - let Json.1025 : {List U8, [C {}, C Str]} = Struct {Json.449, Json.1026}; - ret Json.1025; + let Json.1040 : {} = Struct {}; + let Json.1039 : [C {}, C Str] = TagId(0) Json.1040; + let Json.1038 : {List U8, [C {}, C Str]} = Struct {Json.449, Json.1039}; + ret Json.1038; else - let Json.1023 : List U8 = Array []; - let Json.903 : {List U8, List U8} = Struct {Json.451, Json.1023}; - let Json.902 : {List U8, List U8} = CallByName Json.65 Json.903; - let Json.456 : List U8 = StructAtIndex 1 Json.902; + let Json.1036 : List U8 = Array []; + let Json.916 : {List U8, List U8} = Struct {Json.451, Json.1036}; + let Json.915 : {List U8, List U8} = CallByName Json.65 Json.916; + let Json.456 : List U8 = StructAtIndex 1 Json.915; inc Json.456; - dec Json.902; - let Json.901 : List U8 = CallByName List.38 Json.456; - let Json.900 : List U8 = CallByName List.32 Json.901; - let Json.457 : [C {U64, U8}, C Str] = CallByName Str.9 Json.900; - let Json.897 : U8 = 1i64; - let Json.898 : U8 = GetTagId Json.457; - let Json.899 : Int1 = lowlevel Eq Json.897 Json.898; - if Json.899 then + dec Json.915; + let Json.914 : List U8 = CallByName List.38 Json.456; + let Json.913 : List U8 = CallByName List.32 Json.914; + let Json.457 : [C {U64, U8}, C Str] = CallByName Str.9 Json.913; + let Json.910 : U8 = 1i64; + let Json.911 : U8 = GetTagId Json.457; + let Json.912 : Int1 = lowlevel Eq Json.910 Json.911; + if Json.912 then dec Json.449; let Json.458 : Str = UnionAtIndex (Id 1) (Index 0) Json.457; inc Json.458; dec Json.457; - let Json.893 : [C {}, C Str] = TagId(1) Json.458; - let Json.892 : {List U8, [C {}, C Str]} = Struct {Json.452, Json.893}; - ret Json.892; + let Json.906 : [C {}, C Str] = TagId(1) Json.458; + let Json.905 : {List U8, [C {}, C Str]} = Struct {Json.452, Json.906}; + ret Json.905; else dec Json.457; dec Json.452; - let Json.896 : {} = Struct {}; - let Json.895 : [C {}, C Str] = TagId(0) Json.896; - let Json.894 : {List U8, [C {}, C Str]} = Struct {Json.449, Json.895}; - ret Json.894; + let Json.909 : {} = Struct {}; + let Json.908 : [C {}, C Str] = TagId(0) Json.909; + let Json.907 : {List U8, [C {}, C Str]} = Struct {Json.449, Json.908}; + ret Json.907; procedure Json.55 (): - let Json.890 : {} = Struct {}; - let Json.889 : {} = CallByName Decode.24 Json.890; - ret Json.889; + let Json.903 : {} = Struct {}; + let Json.902 : {} = CallByName Decode.24 Json.903; + ret Json.902; procedure Json.56 (Json.462): - let Json.1040 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ; - let Json.1041 : {} = Struct {}; - let Json.1029 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 Json.462 Json.1040 Json.1041; - let Json.1037 : U8 = 2i64; - let Json.1038 : U8 = GetTagId Json.1029; - let Json.1039 : Int1 = lowlevel Eq Json.1037 Json.1038; - if Json.1039 then - let Json.464 : U64 = UnionAtIndex (Id 2) (Index 0) Json.1029; + let Json.1053 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ; + let Json.1054 : {} = Struct {}; + let Json.1042 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 Json.462 Json.1053 Json.1054; + let Json.1050 : U8 = 2i64; + let Json.1051 : U8 = GetTagId Json.1042; + let Json.1052 : Int1 = lowlevel Eq Json.1050 Json.1051; + if Json.1052 then + let Json.464 : U64 = UnionAtIndex (Id 2) (Index 0) Json.1042; inc Json.462; - let Json.1031 : List U8 = CallByName List.29 Json.462 Json.464; - let Json.1034 : U64 = 0i64; - let Json.1033 : {U64, U64} = Struct {Json.464, Json.1034}; - let Json.1032 : List U8 = CallByName List.49 Json.462 Json.1033; - let Json.1030 : {List U8, List U8} = Struct {Json.1031, Json.1032}; - ret Json.1030; + let Json.1044 : List U8 = CallByName List.29 Json.462 Json.464; + let Json.1047 : U64 = 0i64; + let Json.1046 : {U64, U64} = Struct {Json.464, Json.1047}; + let Json.1045 : List U8 = CallByName List.49 Json.462 Json.1046; + let Json.1043 : {List U8, List U8} = Struct {Json.1044, Json.1045}; + ret Json.1043; else - let Json.1036 : List U8 = Array []; - let Json.1035 : {List U8, List U8} = Struct {Json.462, Json.1036}; - ret Json.1035; + let Json.1049 : List U8 = Array []; + let Json.1048 : {List U8, List U8} = Struct {Json.462, Json.1049}; + ret Json.1048; procedure Json.57 (Json.465, Json.466): - let Json.1042 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {Json.465, Json.466}; - joinpoint Json.1085: - let Json.1083 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ; - let Json.1082 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) Json.1083; - ret Json.1082; + let Json.1055 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {Json.465, Json.466}; + joinpoint Json.1098: + let Json.1096 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ; + let Json.1095 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) Json.1096; + ret Json.1095; in - let Json.1086 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.1144 : U8 = GetTagId Json.1086; - switch Json.1144: + let Json.1099 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.1157 : U8 = GetTagId Json.1099; + switch Json.1157: case 4: - let Json.467 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1088 Json.1087: - if Json.1087 then - let Json.1045 : U64 = 1i64; - let Json.1044 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1045; - let Json.1043 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1044; - ret Json.1043; + let Json.467 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1101 Json.1100: + if Json.1100 then + let Json.1058 : U64 = 1i64; + let Json.1057 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1058; + let Json.1056 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1057; + ret Json.1056; else - jump Json.1085; + jump Json.1098; in - let Json.1090 : U8 = 34i64; - let Json.1089 : Int1 = CallByName Bool.11 Json.467 Json.1090; - jump Json.1088 Json.1089; + let Json.1103 : U8 = 34i64; + let Json.1102 : Int1 = CallByName Bool.11 Json.467 Json.1103; + jump Json.1101 Json.1102; case 0: - let Json.1101 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.470 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1101; - let Json.471 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1098 Json.1092: - if Json.1092 then - let Json.1049 : U64 = 1i64; - let Json.1048 : U64 = CallByName Num.19 Json.470 Json.1049; - let Json.1047 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) Json.1048; - let Json.1046 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) Json.1047; - ret Json.1046; + let Json.1114 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.470 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1114; + let Json.471 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1111 Json.1105: + if Json.1105 then + let Json.1062 : U64 = 1i64; + let Json.1061 : U64 = CallByName Num.19 Json.470 Json.1062; + let Json.1060 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) Json.1061; + let Json.1059 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) Json.1060; + ret Json.1059; else - let Json.1097 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.474 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1097; - let Json.475 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1094 Json.1093: - if Json.1093 then - let Json.1053 : U64 = 1i64; - let Json.1052 : U64 = CallByName Num.19 Json.474 Json.1053; - let Json.1051 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) Json.1052; - let Json.1050 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1051; - ret Json.1050; + let Json.1110 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.474 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1110; + let Json.475 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1107 Json.1106: + if Json.1106 then + let Json.1066 : U64 = 1i64; + let Json.1065 : U64 = CallByName Num.19 Json.474 Json.1066; + let Json.1064 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) Json.1065; + let Json.1063 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1064; + ret Json.1063; else - let Json.1084 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.478 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1084; - let Json.1057 : U64 = 1i64; - let Json.1056 : U64 = CallByName Num.19 Json.478 Json.1057; - let Json.1055 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1056; - let Json.1054 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1055; - ret Json.1054; + let Json.1097 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.478 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1097; + let Json.1070 : U64 = 1i64; + let Json.1069 : U64 = CallByName Num.19 Json.478 Json.1070; + let Json.1068 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1069; + let Json.1067 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1068; + ret Json.1067; in - let Json.1096 : U8 = 92i64; - let Json.1095 : Int1 = CallByName Bool.11 Json.475 Json.1096; - jump Json.1094 Json.1095; + let Json.1109 : U8 = 92i64; + let Json.1108 : Int1 = CallByName Bool.11 Json.475 Json.1109; + jump Json.1107 Json.1108; in - let Json.1100 : U8 = 34i64; - let Json.1099 : Int1 = CallByName Bool.11 Json.471 Json.1100; - jump Json.1098 Json.1099; + let Json.1113 : U8 = 34i64; + let Json.1112 : Int1 = CallByName Bool.11 Json.471 Json.1113; + jump Json.1111 Json.1112; case 1: - let Json.1110 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.481 : U64 = UnionAtIndex (Id 1) (Index 0) Json.1110; - let Json.482 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1108 Json.1102: - if Json.1102 then - let Json.1061 : U64 = 1i64; - let Json.1060 : U64 = CallByName Num.19 Json.481 Json.1061; - let Json.1059 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1060; - let Json.1058 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1059; - ret Json.1058; + let Json.1123 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.481 : U64 = UnionAtIndex (Id 1) (Index 0) Json.1123; + let Json.482 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1121 Json.1115: + if Json.1115 then + let Json.1074 : U64 = 1i64; + let Json.1073 : U64 = CallByName Num.19 Json.481 Json.1074; + let Json.1072 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1073; + let Json.1071 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1072; + ret Json.1071; else - let Json.1107 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.485 : U64 = UnionAtIndex (Id 1) (Index 0) Json.1107; - let Json.486 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1104 Json.1103: - if Json.1103 then - let Json.1065 : U64 = 1i64; - let Json.1064 : U64 = CallByName Num.19 Json.485 Json.1065; - let Json.1063 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) Json.1064; - let Json.1062 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1063; - ret Json.1062; + let Json.1120 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.485 : U64 = UnionAtIndex (Id 1) (Index 0) Json.1120; + let Json.486 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1117 Json.1116: + if Json.1116 then + let Json.1078 : U64 = 1i64; + let Json.1077 : U64 = CallByName Num.19 Json.485 Json.1078; + let Json.1076 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) Json.1077; + let Json.1075 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1076; + ret Json.1075; else - jump Json.1085; + jump Json.1098; in - let Json.1106 : U8 = 117i64; - let Json.1105 : Int1 = CallByName Bool.11 Json.486 Json.1106; - jump Json.1104 Json.1105; + let Json.1119 : U8 = 117i64; + let Json.1118 : Int1 = CallByName Bool.11 Json.486 Json.1119; + jump Json.1117 Json.1118; in - let Json.1109 : Int1 = CallByName Json.58 Json.482; - jump Json.1108 Json.1109; + let Json.1122 : Int1 = CallByName Json.58 Json.482; + jump Json.1121 Json.1122; case 5: - let Json.1131 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.489 : U64 = UnionAtIndex (Id 5) (Index 0) Json.1131; - let Json.490 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1112 Json.1111: - if Json.1111 then - let Json.1069 : U64 = 1i64; - let Json.1068 : U64 = CallByName Num.19 Json.489 Json.1069; - let Json.1067 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) Json.1068; - let Json.1066 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1067; - ret Json.1066; + let Json.1144 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.489 : U64 = UnionAtIndex (Id 5) (Index 0) Json.1144; + let Json.490 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1125 Json.1124: + if Json.1124 then + let Json.1082 : U64 = 1i64; + let Json.1081 : U64 = CallByName Num.19 Json.489 Json.1082; + let Json.1080 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) Json.1081; + let Json.1079 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1080; + ret Json.1079; else - jump Json.1085; + jump Json.1098; in - let Json.1113 : Int1 = CallByName Json.60 Json.490; - jump Json.1112 Json.1113; + let Json.1126 : Int1 = CallByName Json.60 Json.490; + jump Json.1125 Json.1126; case 6: - let Json.1135 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.493 : U64 = UnionAtIndex (Id 6) (Index 0) Json.1135; - let Json.494 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1133 Json.1132: - if Json.1132 then - let Json.1073 : U64 = 1i64; - let Json.1072 : U64 = CallByName Num.19 Json.493 Json.1073; - let Json.1071 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) Json.1072; - let Json.1070 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1071; - ret Json.1070; + let Json.1148 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.493 : U64 = UnionAtIndex (Id 6) (Index 0) Json.1148; + let Json.494 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1146 Json.1145: + if Json.1145 then + let Json.1086 : U64 = 1i64; + let Json.1085 : U64 = CallByName Num.19 Json.493 Json.1086; + let Json.1084 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) Json.1085; + let Json.1083 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1084; + ret Json.1083; else - jump Json.1085; + jump Json.1098; in - let Json.1134 : Int1 = CallByName Json.60 Json.494; - jump Json.1133 Json.1134; + let Json.1147 : Int1 = CallByName Json.60 Json.494; + jump Json.1146 Json.1147; case 7: - let Json.1139 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.497 : U64 = UnionAtIndex (Id 7) (Index 0) Json.1139; - let Json.498 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1137 Json.1136: - if Json.1136 then - let Json.1077 : U64 = 1i64; - let Json.1076 : U64 = CallByName Num.19 Json.497 Json.1077; - let Json.1075 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) Json.1076; - let Json.1074 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1075; - ret Json.1074; + let Json.1152 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.497 : U64 = UnionAtIndex (Id 7) (Index 0) Json.1152; + let Json.498 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1150 Json.1149: + if Json.1149 then + let Json.1090 : U64 = 1i64; + let Json.1089 : U64 = CallByName Num.19 Json.497 Json.1090; + let Json.1088 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) Json.1089; + let Json.1087 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1088; + ret Json.1087; else - jump Json.1085; + jump Json.1098; in - let Json.1138 : Int1 = CallByName Json.60 Json.498; - jump Json.1137 Json.1138; + let Json.1151 : Int1 = CallByName Json.60 Json.498; + jump Json.1150 Json.1151; case 8: - let Json.1143 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.501 : U64 = UnionAtIndex (Id 8) (Index 0) Json.1143; - let Json.502 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1141 Json.1140: - if Json.1140 then - let Json.1081 : U64 = 1i64; - let Json.1080 : U64 = CallByName Num.19 Json.501 Json.1081; - let Json.1079 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1080; - let Json.1078 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1079; - ret Json.1078; + let Json.1156 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.501 : U64 = UnionAtIndex (Id 8) (Index 0) Json.1156; + let Json.502 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1154 Json.1153: + if Json.1153 then + let Json.1094 : U64 = 1i64; + let Json.1093 : U64 = CallByName Num.19 Json.501 Json.1094; + let Json.1092 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1093; + let Json.1091 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1092; + ret Json.1091; else - jump Json.1085; + jump Json.1098; in - let Json.1142 : Int1 = CallByName Json.60 Json.502; - jump Json.1141 Json.1142; + let Json.1155 : Int1 = CallByName Json.60 Json.502; + jump Json.1154 Json.1155; default: - jump Json.1085; + jump Json.1098; procedure Json.58 (Json.507): switch Json.507: case 34: - let Json.991 : Int1 = CallByName Bool.2; - ret Json.991; + let Json.1004 : Int1 = CallByName Bool.2; + ret Json.1004; case 92: - let Json.992 : Int1 = CallByName Bool.2; - ret Json.992; + let Json.1005 : Int1 = CallByName Bool.2; + ret Json.1005; case 47: - let Json.993 : Int1 = CallByName Bool.2; - ret Json.993; + let Json.1006 : Int1 = CallByName Bool.2; + ret Json.1006; case 98: - let Json.994 : Int1 = CallByName Bool.2; - ret Json.994; + let Json.1007 : Int1 = CallByName Bool.2; + ret Json.1007; case 102: - let Json.995 : Int1 = CallByName Bool.2; - ret Json.995; + let Json.1008 : Int1 = CallByName Bool.2; + ret Json.1008; case 110: - let Json.996 : Int1 = CallByName Bool.2; - ret Json.996; + let Json.1009 : Int1 = CallByName Bool.2; + ret Json.1009; case 114: - let Json.997 : Int1 = CallByName Bool.2; - ret Json.997; + let Json.1010 : Int1 = CallByName Bool.2; + ret Json.1010; case 116: - let Json.998 : Int1 = CallByName Bool.2; - ret Json.998; + let Json.1011 : Int1 = CallByName Bool.2; + ret Json.1011; default: - let Json.999 : Int1 = CallByName Bool.1; - ret Json.999; + let Json.1012 : Int1 = CallByName Bool.1; + ret Json.1012; procedure Json.59 (Json.508): switch Json.508: case 34: - let Json.969 : U8 = 34i64; - ret Json.969; + let Json.982 : U8 = 34i64; + ret Json.982; case 92: - let Json.970 : U8 = 92i64; - ret Json.970; + let Json.983 : U8 = 92i64; + ret Json.983; case 47: - let Json.971 : U8 = 47i64; - ret Json.971; + let Json.984 : U8 = 47i64; + ret Json.984; case 98: - let Json.972 : U8 = 8i64; - ret Json.972; + let Json.985 : U8 = 8i64; + ret Json.985; case 102: - let Json.973 : U8 = 12i64; - ret Json.973; + let Json.986 : U8 = 12i64; + ret Json.986; case 110: - let Json.974 : U8 = 10i64; - ret Json.974; + let Json.987 : U8 = 10i64; + ret Json.987; case 114: - let Json.975 : U8 = 13i64; - ret Json.975; + let Json.988 : U8 = 13i64; + ret Json.988; case 116: - let Json.976 : U8 = 9i64; - ret Json.976; + let Json.989 : U8 = 9i64; + ret Json.989; default: ret Json.508; procedure Json.60 (Json.509): - let Json.1130 : U8 = 48i64; - let Json.1127 : Int1 = CallByName Num.25 Json.509 Json.1130; - let Json.1129 : U8 = 57i64; - let Json.1128 : Int1 = CallByName Num.23 Json.509 Json.1129; - let Json.1115 : Int1 = CallByName Bool.3 Json.1127 Json.1128; - let Json.1126 : U8 = 97i64; - let Json.1123 : Int1 = CallByName Num.25 Json.509 Json.1126; - let Json.1125 : U8 = 102i64; - let Json.1124 : Int1 = CallByName Num.23 Json.509 Json.1125; - let Json.1117 : Int1 = CallByName Bool.3 Json.1123 Json.1124; - let Json.1122 : U8 = 65i64; - let Json.1119 : Int1 = CallByName Num.25 Json.509 Json.1122; - let Json.1121 : U8 = 70i64; - let Json.1120 : Int1 = CallByName Num.23 Json.509 Json.1121; - let Json.1118 : Int1 = CallByName Bool.3 Json.1119 Json.1120; - let Json.1116 : Int1 = CallByName Bool.4 Json.1117 Json.1118; - let Json.1114 : Int1 = CallByName Bool.4 Json.1115 Json.1116; - ret Json.1114; + let Json.1143 : U8 = 48i64; + let Json.1140 : Int1 = CallByName Num.25 Json.509 Json.1143; + let Json.1142 : U8 = 57i64; + let Json.1141 : Int1 = CallByName Num.23 Json.509 Json.1142; + let Json.1128 : Int1 = CallByName Bool.3 Json.1140 Json.1141; + let Json.1139 : U8 = 97i64; + let Json.1136 : Int1 = CallByName Num.25 Json.509 Json.1139; + let Json.1138 : U8 = 102i64; + let Json.1137 : Int1 = CallByName Num.23 Json.509 Json.1138; + let Json.1130 : Int1 = CallByName Bool.3 Json.1136 Json.1137; + let Json.1135 : U8 = 65i64; + let Json.1132 : Int1 = CallByName Num.25 Json.509 Json.1135; + let Json.1134 : U8 = 70i64; + let Json.1133 : Int1 = CallByName Num.23 Json.509 Json.1134; + let Json.1131 : Int1 = CallByName Bool.3 Json.1132 Json.1133; + let Json.1129 : Int1 = CallByName Bool.4 Json.1130 Json.1131; + let Json.1127 : Int1 = CallByName Bool.4 Json.1128 Json.1129; + ret Json.1127; procedure Json.61 (Json.510): - let Json.948 : U8 = 48i64; - let Json.945 : Int1 = CallByName Num.25 Json.510 Json.948; - let Json.947 : U8 = 57i64; - let Json.946 : Int1 = CallByName Num.23 Json.510 Json.947; - let Json.942 : Int1 = CallByName Bool.3 Json.945 Json.946; - if Json.942 then - let Json.944 : U8 = 48i64; - let Json.943 : U8 = CallByName Num.20 Json.510 Json.944; - ret Json.943; + let Json.961 : U8 = 48i64; + let Json.958 : Int1 = CallByName Num.25 Json.510 Json.961; + let Json.960 : U8 = 57i64; + let Json.959 : Int1 = CallByName Num.23 Json.510 Json.960; + let Json.955 : Int1 = CallByName Bool.3 Json.958 Json.959; + if Json.955 then + let Json.957 : U8 = 48i64; + let Json.956 : U8 = CallByName Num.20 Json.510 Json.957; + ret Json.956; else - let Json.941 : U8 = 97i64; - let Json.938 : Int1 = CallByName Num.25 Json.510 Json.941; - let Json.940 : U8 = 102i64; - let Json.939 : Int1 = CallByName Num.23 Json.510 Json.940; - let Json.933 : Int1 = CallByName Bool.3 Json.938 Json.939; - if Json.933 then - let Json.937 : U8 = 97i64; - let Json.935 : U8 = CallByName Num.20 Json.510 Json.937; - let Json.936 : U8 = 10i64; - let Json.934 : U8 = CallByName Num.19 Json.935 Json.936; - ret Json.934; + let Json.954 : U8 = 97i64; + let Json.951 : Int1 = CallByName Num.25 Json.510 Json.954; + let Json.953 : U8 = 102i64; + let Json.952 : Int1 = CallByName Num.23 Json.510 Json.953; + let Json.946 : Int1 = CallByName Bool.3 Json.951 Json.952; + if Json.946 then + let Json.950 : U8 = 97i64; + let Json.948 : U8 = CallByName Num.20 Json.510 Json.950; + let Json.949 : U8 = 10i64; + let Json.947 : U8 = CallByName Num.19 Json.948 Json.949; + ret Json.947; else - let Json.932 : U8 = 65i64; - let Json.929 : Int1 = CallByName Num.25 Json.510 Json.932; - let Json.931 : U8 = 70i64; - let Json.930 : Int1 = CallByName Num.23 Json.510 Json.931; - let Json.924 : Int1 = CallByName Bool.3 Json.929 Json.930; - if Json.924 then - let Json.928 : U8 = 65i64; - let Json.926 : U8 = CallByName Num.20 Json.510 Json.928; - let Json.927 : U8 = 10i64; - let Json.925 : U8 = CallByName Num.19 Json.926 Json.927; - ret Json.925; + let Json.945 : U8 = 65i64; + let Json.942 : Int1 = CallByName Num.25 Json.510 Json.945; + let Json.944 : U8 = 70i64; + let Json.943 : Int1 = CallByName Num.23 Json.510 Json.944; + let Json.937 : Int1 = CallByName Bool.3 Json.942 Json.943; + if Json.937 then + let Json.941 : U8 = 65i64; + let Json.939 : U8 = CallByName Num.20 Json.510 Json.941; + let Json.940 : U8 = 10i64; + let Json.938 : U8 = CallByName Num.19 Json.939 Json.940; + ret Json.938; else - let Json.923 : Str = "got an invalid hex char"; - Crash Json.923 + let Json.936 : Str = "got an invalid hex char"; + Crash Json.936 procedure Json.62 (Json.511, Json.512): - let Json.914 : U8 = 4i64; - let Json.913 : U8 = CallByName Num.72 Json.511 Json.914; - let Json.912 : U8 = CallByName Num.71 Json.913 Json.512; - ret Json.912; + let Json.927 : U8 = 4i64; + let Json.926 : U8 = CallByName Num.72 Json.511 Json.927; + let Json.925 : U8 = CallByName Num.71 Json.926 Json.512; + ret Json.925; procedure Json.63 (Json.513, Json.514, Json.515, Json.516): let Json.517 : U8 = CallByName Json.61 Json.513; let Json.518 : U8 = CallByName Json.61 Json.514; let Json.519 : U8 = CallByName Json.61 Json.515; let Json.520 : U8 = CallByName Json.61 Json.516; - let Json.921 : U8 = 0i64; - let Json.918 : Int1 = CallByName Bool.11 Json.517 Json.921; - let Json.920 : U8 = 0i64; - let Json.919 : Int1 = CallByName Bool.11 Json.518 Json.920; - let Json.915 : Int1 = CallByName Bool.3 Json.918 Json.919; - if Json.915 then - let Json.917 : U8 = CallByName Json.62 Json.519 Json.520; - let Json.916 : List U8 = Array [Json.917]; - ret Json.916; + let Json.934 : U8 = 0i64; + let Json.931 : Int1 = CallByName Bool.11 Json.517 Json.934; + let Json.933 : U8 = 0i64; + let Json.932 : Int1 = CallByName Bool.11 Json.518 Json.933; + let Json.928 : Int1 = CallByName Bool.3 Json.931 Json.932; + if Json.928 then + let Json.930 : U8 = CallByName Json.62 Json.519 Json.520; + let Json.929 : List U8 = Array [Json.930]; + ret Json.929; else - let Json.910 : U8 = CallByName Json.62 Json.517 Json.518; - let Json.911 : U8 = CallByName Json.62 Json.519 Json.520; - let Json.909 : List U8 = Array [Json.910, Json.911]; - ret Json.909; + let Json.923 : U8 = CallByName Json.62 Json.517 Json.518; + let Json.924 : U8 = CallByName Json.62 Json.519 Json.520; + let Json.922 : List U8 = Array [Json.923, Json.924]; + ret Json.922; procedure Json.64 (): - let Json.954 : U8 = 102i64; - let Json.955 : U8 = 102i64; - let Json.956 : U8 = 100i64; - let Json.957 : U8 = 100i64; - let Json.953 : List U8 = CallByName Json.63 Json.954 Json.955 Json.956 Json.957; - ret Json.953; + let Json.967 : U8 = 102i64; + let Json.968 : U8 = 102i64; + let Json.969 : U8 = 100i64; + let Json.970 : U8 = 100i64; + let Json.966 : List U8 = CallByName Json.63 Json.967 Json.968 Json.969 Json.970; + ret Json.966; -procedure Json.65 (Json.1147): - joinpoint Json.904 Json.886: - let Json.521 : List U8 = StructAtIndex 0 Json.886; +procedure Json.65 (Json.1160): + joinpoint Json.917 Json.899: + let Json.521 : List U8 = StructAtIndex 0 Json.899; inc Json.521; - let Json.522 : List U8 = StructAtIndex 1 Json.886; + let Json.522 : List U8 = StructAtIndex 1 Json.899; inc Json.522; - dec Json.886; - let Json.1022 : U64 = 0i64; - let Json.523 : [C {}, C U8] = CallByName List.2 Json.521 Json.1022; - let Json.1021 : U64 = 1i64; - let Json.524 : [C {}, C U8] = CallByName List.2 Json.521 Json.1021; - let Json.1020 : U64 = 2i64; + dec Json.899; + let Json.1035 : U64 = 0i64; + let Json.523 : [C {}, C U8] = CallByName List.2 Json.521 Json.1035; + let Json.1034 : U64 = 1i64; + let Json.524 : [C {}, C U8] = CallByName List.2 Json.521 Json.1034; + let Json.1033 : U64 = 2i64; inc Json.521; - let Json.525 : List U8 = CallByName List.29 Json.521 Json.1020; - let Json.1019 : U64 = 6i64; + let Json.525 : List U8 = CallByName List.29 Json.521 Json.1033; + let Json.1032 : U64 = 6i64; inc Json.521; - let Json.526 : List U8 = CallByName List.29 Json.521 Json.1019; - let Json.905 : {[C {}, C U8], [C {}, C U8]} = Struct {Json.523, Json.524}; - joinpoint Json.984: - let Json.983 : [C {}, C U8] = StructAtIndex 0 Json.905; - let Json.537 : U8 = UnionAtIndex (Id 1) (Index 0) Json.983; - let Json.980 : List U8 = CallByName List.38 Json.521; - let Json.981 : List U8 = CallByName List.4 Json.522 Json.537; - let Json.979 : {List U8, List U8} = Struct {Json.980, Json.981}; - jump Json.904 Json.979; + let Json.526 : List U8 = CallByName List.29 Json.521 Json.1032; + let Json.918 : {[C {}, C U8], [C {}, C U8]} = Struct {Json.523, Json.524}; + joinpoint Json.997: + let Json.996 : [C {}, C U8] = StructAtIndex 0 Json.918; + let Json.537 : U8 = UnionAtIndex (Id 1) (Index 0) Json.996; + let Json.993 : List U8 = CallByName List.38 Json.521; + let Json.994 : List U8 = CallByName List.4 Json.522 Json.537; + let Json.992 : {List U8, List U8} = Struct {Json.993, Json.994}; + jump Json.917 Json.992; in - let Json.1015 : [C {}, C U8] = StructAtIndex 0 Json.905; - let Json.1016 : U8 = 1i64; - let Json.1017 : U8 = GetTagId Json.1015; - let Json.1018 : Int1 = lowlevel Eq Json.1016 Json.1017; - if Json.1018 then - let Json.1011 : [C {}, C U8] = StructAtIndex 1 Json.905; - let Json.1012 : U8 = 1i64; - let Json.1013 : U8 = GetTagId Json.1011; - let Json.1014 : Int1 = lowlevel Eq Json.1012 Json.1013; - if Json.1014 then - let Json.1010 : [C {}, C U8] = StructAtIndex 0 Json.905; - let Json.528 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1010; - let Json.1009 : [C {}, C U8] = StructAtIndex 1 Json.905; - let Json.529 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1009; - joinpoint Json.1003 Json.985: - if Json.985 then + let Json.1028 : [C {}, C U8] = StructAtIndex 0 Json.918; + let Json.1029 : U8 = 1i64; + let Json.1030 : U8 = GetTagId Json.1028; + let Json.1031 : Int1 = lowlevel Eq Json.1029 Json.1030; + if Json.1031 then + let Json.1024 : [C {}, C U8] = StructAtIndex 1 Json.918; + let Json.1025 : U8 = 1i64; + let Json.1026 : U8 = GetTagId Json.1024; + let Json.1027 : Int1 = lowlevel Eq Json.1025 Json.1026; + if Json.1027 then + let Json.1023 : [C {}, C U8] = StructAtIndex 0 Json.918; + let Json.528 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1023; + let Json.1022 : [C {}, C U8] = StructAtIndex 1 Json.918; + let Json.529 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1022; + joinpoint Json.1016 Json.998: + if Json.998 then dec Json.521; - let Json.962 : U64 = lowlevel ListLen Json.525; - let Json.963 : U64 = 4i64; - let Json.964 : Int1 = lowlevel NumGte Json.962 Json.963; - if Json.964 then - let Json.961 : U64 = 0i64; - let Json.530 : U8 = lowlevel ListGetUnsafe Json.525 Json.961; - let Json.960 : U64 = 1i64; - let Json.531 : U8 = lowlevel ListGetUnsafe Json.525 Json.960; - let Json.959 : U64 = 2i64; - let Json.532 : U8 = lowlevel ListGetUnsafe Json.525 Json.959; - let Json.958 : U64 = 3i64; - let Json.533 : U8 = lowlevel ListGetUnsafe Json.525 Json.958; + let Json.975 : U64 = lowlevel ListLen Json.525; + let Json.976 : U64 = 4i64; + let Json.977 : Int1 = lowlevel NumGte Json.975 Json.976; + if Json.977 then + let Json.974 : U64 = 0i64; + let Json.530 : U8 = lowlevel ListGetUnsafe Json.525 Json.974; + let Json.973 : U64 = 1i64; + let Json.531 : U8 = lowlevel ListGetUnsafe Json.525 Json.973; + let Json.972 : U64 = 2i64; + let Json.532 : U8 = lowlevel ListGetUnsafe Json.525 Json.972; + let Json.971 : U64 = 3i64; + let Json.533 : U8 = lowlevel ListGetUnsafe Json.525 Json.971; dec Json.525; let Json.534 : List U8 = CallByName Json.63 Json.530 Json.531 Json.532 Json.533; - let Json.908 : List U8 = CallByName List.8 Json.522 Json.534; - let Json.907 : {List U8, List U8} = Struct {Json.526, Json.908}; - jump Json.904 Json.907; + let Json.921 : List U8 = CallByName List.8 Json.522 Json.534; + let Json.920 : {List U8, List U8} = Struct {Json.526, Json.921}; + jump Json.917 Json.920; else dec Json.526; - let Json.952 : List U8 = CallByName Json.64; - let Json.951 : List U8 = CallByName List.8 Json.522 Json.952; - let Json.950 : {List U8, List U8} = Struct {Json.525, Json.951}; - jump Json.904 Json.950; + let Json.965 : List U8 = CallByName Json.64; + let Json.964 : List U8 = CallByName List.8 Json.522 Json.965; + let Json.963 : {List U8, List U8} = Struct {Json.525, Json.964}; + jump Json.917 Json.963; else dec Json.526; - let Json.1002 : [C {}, C U8] = StructAtIndex 0 Json.905; - let Json.535 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1002; - let Json.1001 : [C {}, C U8] = StructAtIndex 1 Json.905; - let Json.536 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1001; - joinpoint Json.987 Json.986: - if Json.986 then + let Json.1015 : [C {}, C U8] = StructAtIndex 0 Json.918; + let Json.535 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1015; + let Json.1014 : [C {}, C U8] = StructAtIndex 1 Json.918; + let Json.536 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1014; + joinpoint Json.1000 Json.999: + if Json.999 then dec Json.521; - let Json.968 : U8 = CallByName Json.59 Json.536; - let Json.967 : List U8 = CallByName List.4 Json.522 Json.968; - let Json.966 : {List U8, List U8} = Struct {Json.525, Json.967}; - jump Json.904 Json.966; + let Json.981 : U8 = CallByName Json.59 Json.536; + let Json.980 : List U8 = CallByName List.4 Json.522 Json.981; + let Json.979 : {List U8, List U8} = Struct {Json.525, Json.980}; + jump Json.917 Json.979; else dec Json.525; - jump Json.984; + jump Json.997; in - let Json.1000 : U8 = 92i64; - let Json.989 : Int1 = CallByName Bool.11 Json.535 Json.1000; - let Json.990 : Int1 = CallByName Json.58 Json.536; - let Json.988 : Int1 = CallByName Bool.3 Json.989 Json.990; - jump Json.987 Json.988; + let Json.1013 : U8 = 92i64; + let Json.1002 : Int1 = CallByName Bool.11 Json.535 Json.1013; + let Json.1003 : Int1 = CallByName Json.58 Json.536; + let Json.1001 : Int1 = CallByName Bool.3 Json.1002 Json.1003; + jump Json.1000 Json.1001; in - let Json.1008 : U8 = 92i64; - let Json.1005 : Int1 = CallByName Bool.11 Json.528 Json.1008; - let Json.1007 : U8 = 117i64; - let Json.1006 : Int1 = CallByName Bool.11 Json.529 Json.1007; - let Json.1004 : Int1 = CallByName Bool.3 Json.1005 Json.1006; - jump Json.1003 Json.1004; + let Json.1021 : U8 = 92i64; + let Json.1018 : Int1 = CallByName Bool.11 Json.528 Json.1021; + let Json.1020 : U8 = 117i64; + let Json.1019 : Int1 = CallByName Bool.11 Json.529 Json.1020; + let Json.1017 : Int1 = CallByName Bool.3 Json.1018 Json.1019; + jump Json.1016 Json.1017; else dec Json.526; dec Json.525; - jump Json.984; + jump Json.997; else dec Json.526; dec Json.525; - let Json.982 : {List U8, List U8} = Struct {Json.521, Json.522}; - ret Json.982; + let Json.995 : {List U8, List U8} = Struct {Json.521, Json.522}; + ret Json.995; in - jump Json.904 Json.1147; + jump Json.917 Json.1160; procedure List.1 (List.95): let List.552 : U64 = CallByName List.6 List.95; diff --git a/crates/compiler/test_mono/generated/issue_4772_weakened_monomorphic_destructure.txt b/crates/compiler/test_mono/generated/issue_4772_weakened_monomorphic_destructure.txt index 8e8874496e..be42492fbf 100644 --- a/crates/compiler/test_mono/generated/issue_4772_weakened_monomorphic_destructure.txt +++ b/crates/compiler/test_mono/generated/issue_4772_weakened_monomorphic_destructure.txt @@ -41,523 +41,523 @@ procedure Decode.26 (Decode.105, Decode.106): ret Decode.122; procedure Json.2 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.448 (Json.449, Json.891): +procedure Json.448 (Json.449, Json.904): inc Json.449; - let Json.1028 : {List U8, List U8} = CallByName Json.56 Json.449; - let Json.452 : List U8 = StructAtIndex 0 Json.1028; + let Json.1041 : {List U8, List U8} = CallByName Json.56 Json.449; + let Json.452 : List U8 = StructAtIndex 0 Json.1041; inc Json.452; - let Json.451 : List U8 = StructAtIndex 1 Json.1028; + let Json.451 : List U8 = StructAtIndex 1 Json.1041; inc Json.451; - dec Json.1028; - let Json.1024 : Int1 = CallByName List.1 Json.451; - if Json.1024 then + dec Json.1041; + let Json.1037 : Int1 = CallByName List.1 Json.451; + if Json.1037 then dec Json.452; dec Json.451; - let Json.1027 : {} = Struct {}; - let Json.1026 : [C {}, C Str] = TagId(0) Json.1027; - let Json.1025 : {List U8, [C {}, C Str]} = Struct {Json.449, Json.1026}; - ret Json.1025; + let Json.1040 : {} = Struct {}; + let Json.1039 : [C {}, C Str] = TagId(0) Json.1040; + let Json.1038 : {List U8, [C {}, C Str]} = Struct {Json.449, Json.1039}; + ret Json.1038; else - let Json.1023 : List U8 = Array []; - let Json.903 : {List U8, List U8} = Struct {Json.451, Json.1023}; - let Json.902 : {List U8, List U8} = CallByName Json.65 Json.903; - let Json.456 : List U8 = StructAtIndex 1 Json.902; + let Json.1036 : List U8 = Array []; + let Json.916 : {List U8, List U8} = Struct {Json.451, Json.1036}; + let Json.915 : {List U8, List U8} = CallByName Json.65 Json.916; + let Json.456 : List U8 = StructAtIndex 1 Json.915; inc Json.456; - dec Json.902; - let Json.901 : List U8 = CallByName List.38 Json.456; - let Json.900 : List U8 = CallByName List.32 Json.901; - let Json.457 : [C {U64, U8}, C Str] = CallByName Str.9 Json.900; - let Json.897 : U8 = 1i64; - let Json.898 : U8 = GetTagId Json.457; - let Json.899 : Int1 = lowlevel Eq Json.897 Json.898; - if Json.899 then + dec Json.915; + let Json.914 : List U8 = CallByName List.38 Json.456; + let Json.913 : List U8 = CallByName List.32 Json.914; + let Json.457 : [C {U64, U8}, C Str] = CallByName Str.9 Json.913; + let Json.910 : U8 = 1i64; + let Json.911 : U8 = GetTagId Json.457; + let Json.912 : Int1 = lowlevel Eq Json.910 Json.911; + if Json.912 then dec Json.449; let Json.458 : Str = UnionAtIndex (Id 1) (Index 0) Json.457; inc Json.458; dec Json.457; - let Json.893 : [C {}, C Str] = TagId(1) Json.458; - let Json.892 : {List U8, [C {}, C Str]} = Struct {Json.452, Json.893}; - ret Json.892; + let Json.906 : [C {}, C Str] = TagId(1) Json.458; + let Json.905 : {List U8, [C {}, C Str]} = Struct {Json.452, Json.906}; + ret Json.905; else dec Json.457; dec Json.452; - let Json.896 : {} = Struct {}; - let Json.895 : [C {}, C Str] = TagId(0) Json.896; - let Json.894 : {List U8, [C {}, C Str]} = Struct {Json.449, Json.895}; - ret Json.894; + let Json.909 : {} = Struct {}; + let Json.908 : [C {}, C Str] = TagId(0) Json.909; + let Json.907 : {List U8, [C {}, C Str]} = Struct {Json.449, Json.908}; + ret Json.907; procedure Json.55 (): - let Json.890 : {} = Struct {}; - let Json.889 : {} = CallByName Decode.24 Json.890; - ret Json.889; + let Json.903 : {} = Struct {}; + let Json.902 : {} = CallByName Decode.24 Json.903; + ret Json.902; procedure Json.56 (Json.462): - let Json.1040 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ; - let Json.1041 : {} = Struct {}; - let Json.1029 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 Json.462 Json.1040 Json.1041; - let Json.1037 : U8 = 2i64; - let Json.1038 : U8 = GetTagId Json.1029; - let Json.1039 : Int1 = lowlevel Eq Json.1037 Json.1038; - if Json.1039 then - let Json.464 : U64 = UnionAtIndex (Id 2) (Index 0) Json.1029; + let Json.1053 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ; + let Json.1054 : {} = Struct {}; + let Json.1042 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 Json.462 Json.1053 Json.1054; + let Json.1050 : U8 = 2i64; + let Json.1051 : U8 = GetTagId Json.1042; + let Json.1052 : Int1 = lowlevel Eq Json.1050 Json.1051; + if Json.1052 then + let Json.464 : U64 = UnionAtIndex (Id 2) (Index 0) Json.1042; inc Json.462; - let Json.1031 : List U8 = CallByName List.29 Json.462 Json.464; - let Json.1034 : U64 = 0i64; - let Json.1033 : {U64, U64} = Struct {Json.464, Json.1034}; - let Json.1032 : List U8 = CallByName List.49 Json.462 Json.1033; - let Json.1030 : {List U8, List U8} = Struct {Json.1031, Json.1032}; - ret Json.1030; + let Json.1044 : List U8 = CallByName List.29 Json.462 Json.464; + let Json.1047 : U64 = 0i64; + let Json.1046 : {U64, U64} = Struct {Json.464, Json.1047}; + let Json.1045 : List U8 = CallByName List.49 Json.462 Json.1046; + let Json.1043 : {List U8, List U8} = Struct {Json.1044, Json.1045}; + ret Json.1043; else - let Json.1036 : List U8 = Array []; - let Json.1035 : {List U8, List U8} = Struct {Json.462, Json.1036}; - ret Json.1035; + let Json.1049 : List U8 = Array []; + let Json.1048 : {List U8, List U8} = Struct {Json.462, Json.1049}; + ret Json.1048; procedure Json.57 (Json.465, Json.466): - let Json.1042 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {Json.465, Json.466}; - joinpoint Json.1085: - let Json.1083 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ; - let Json.1082 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) Json.1083; - ret Json.1082; + let Json.1055 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {Json.465, Json.466}; + joinpoint Json.1098: + let Json.1096 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ; + let Json.1095 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) Json.1096; + ret Json.1095; in - let Json.1086 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.1144 : U8 = GetTagId Json.1086; - switch Json.1144: + let Json.1099 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.1157 : U8 = GetTagId Json.1099; + switch Json.1157: case 4: - let Json.467 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1088 Json.1087: - if Json.1087 then - let Json.1045 : U64 = 1i64; - let Json.1044 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1045; - let Json.1043 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1044; - ret Json.1043; + let Json.467 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1101 Json.1100: + if Json.1100 then + let Json.1058 : U64 = 1i64; + let Json.1057 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1058; + let Json.1056 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1057; + ret Json.1056; else - jump Json.1085; + jump Json.1098; in - let Json.1090 : U8 = 34i64; - let Json.1089 : Int1 = CallByName Bool.11 Json.467 Json.1090; - jump Json.1088 Json.1089; + let Json.1103 : U8 = 34i64; + let Json.1102 : Int1 = CallByName Bool.11 Json.467 Json.1103; + jump Json.1101 Json.1102; case 0: - let Json.1101 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.470 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1101; - let Json.471 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1098 Json.1092: - if Json.1092 then - let Json.1049 : U64 = 1i64; - let Json.1048 : U64 = CallByName Num.19 Json.470 Json.1049; - let Json.1047 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) Json.1048; - let Json.1046 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) Json.1047; - ret Json.1046; + let Json.1114 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.470 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1114; + let Json.471 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1111 Json.1105: + if Json.1105 then + let Json.1062 : U64 = 1i64; + let Json.1061 : U64 = CallByName Num.19 Json.470 Json.1062; + let Json.1060 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) Json.1061; + let Json.1059 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) Json.1060; + ret Json.1059; else - let Json.1097 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.474 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1097; - let Json.475 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1094 Json.1093: - if Json.1093 then - let Json.1053 : U64 = 1i64; - let Json.1052 : U64 = CallByName Num.19 Json.474 Json.1053; - let Json.1051 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) Json.1052; - let Json.1050 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1051; - ret Json.1050; + let Json.1110 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.474 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1110; + let Json.475 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1107 Json.1106: + if Json.1106 then + let Json.1066 : U64 = 1i64; + let Json.1065 : U64 = CallByName Num.19 Json.474 Json.1066; + let Json.1064 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) Json.1065; + let Json.1063 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1064; + ret Json.1063; else - let Json.1084 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.478 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1084; - let Json.1057 : U64 = 1i64; - let Json.1056 : U64 = CallByName Num.19 Json.478 Json.1057; - let Json.1055 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1056; - let Json.1054 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1055; - ret Json.1054; + let Json.1097 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.478 : U64 = UnionAtIndex (Id 0) (Index 0) Json.1097; + let Json.1070 : U64 = 1i64; + let Json.1069 : U64 = CallByName Num.19 Json.478 Json.1070; + let Json.1068 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1069; + let Json.1067 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1068; + ret Json.1067; in - let Json.1096 : U8 = 92i64; - let Json.1095 : Int1 = CallByName Bool.11 Json.475 Json.1096; - jump Json.1094 Json.1095; + let Json.1109 : U8 = 92i64; + let Json.1108 : Int1 = CallByName Bool.11 Json.475 Json.1109; + jump Json.1107 Json.1108; in - let Json.1100 : U8 = 34i64; - let Json.1099 : Int1 = CallByName Bool.11 Json.471 Json.1100; - jump Json.1098 Json.1099; + let Json.1113 : U8 = 34i64; + let Json.1112 : Int1 = CallByName Bool.11 Json.471 Json.1113; + jump Json.1111 Json.1112; case 1: - let Json.1110 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.481 : U64 = UnionAtIndex (Id 1) (Index 0) Json.1110; - let Json.482 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1108 Json.1102: - if Json.1102 then - let Json.1061 : U64 = 1i64; - let Json.1060 : U64 = CallByName Num.19 Json.481 Json.1061; - let Json.1059 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1060; - let Json.1058 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1059; - ret Json.1058; + let Json.1123 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.481 : U64 = UnionAtIndex (Id 1) (Index 0) Json.1123; + let Json.482 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1121 Json.1115: + if Json.1115 then + let Json.1074 : U64 = 1i64; + let Json.1073 : U64 = CallByName Num.19 Json.481 Json.1074; + let Json.1072 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1073; + let Json.1071 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1072; + ret Json.1071; else - let Json.1107 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.485 : U64 = UnionAtIndex (Id 1) (Index 0) Json.1107; - let Json.486 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1104 Json.1103: - if Json.1103 then - let Json.1065 : U64 = 1i64; - let Json.1064 : U64 = CallByName Num.19 Json.485 Json.1065; - let Json.1063 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) Json.1064; - let Json.1062 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1063; - ret Json.1062; + let Json.1120 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.485 : U64 = UnionAtIndex (Id 1) (Index 0) Json.1120; + let Json.486 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1117 Json.1116: + if Json.1116 then + let Json.1078 : U64 = 1i64; + let Json.1077 : U64 = CallByName Num.19 Json.485 Json.1078; + let Json.1076 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) Json.1077; + let Json.1075 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1076; + ret Json.1075; else - jump Json.1085; + jump Json.1098; in - let Json.1106 : U8 = 117i64; - let Json.1105 : Int1 = CallByName Bool.11 Json.486 Json.1106; - jump Json.1104 Json.1105; + let Json.1119 : U8 = 117i64; + let Json.1118 : Int1 = CallByName Bool.11 Json.486 Json.1119; + jump Json.1117 Json.1118; in - let Json.1109 : Int1 = CallByName Json.58 Json.482; - jump Json.1108 Json.1109; + let Json.1122 : Int1 = CallByName Json.58 Json.482; + jump Json.1121 Json.1122; case 5: - let Json.1131 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.489 : U64 = UnionAtIndex (Id 5) (Index 0) Json.1131; - let Json.490 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1112 Json.1111: - if Json.1111 then - let Json.1069 : U64 = 1i64; - let Json.1068 : U64 = CallByName Num.19 Json.489 Json.1069; - let Json.1067 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) Json.1068; - let Json.1066 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1067; - ret Json.1066; + let Json.1144 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.489 : U64 = UnionAtIndex (Id 5) (Index 0) Json.1144; + let Json.490 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1125 Json.1124: + if Json.1124 then + let Json.1082 : U64 = 1i64; + let Json.1081 : U64 = CallByName Num.19 Json.489 Json.1082; + let Json.1080 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) Json.1081; + let Json.1079 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1080; + ret Json.1079; else - jump Json.1085; + jump Json.1098; in - let Json.1113 : Int1 = CallByName Json.60 Json.490; - jump Json.1112 Json.1113; + let Json.1126 : Int1 = CallByName Json.60 Json.490; + jump Json.1125 Json.1126; case 6: - let Json.1135 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.493 : U64 = UnionAtIndex (Id 6) (Index 0) Json.1135; - let Json.494 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1133 Json.1132: - if Json.1132 then - let Json.1073 : U64 = 1i64; - let Json.1072 : U64 = CallByName Num.19 Json.493 Json.1073; - let Json.1071 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) Json.1072; - let Json.1070 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1071; - ret Json.1070; + let Json.1148 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.493 : U64 = UnionAtIndex (Id 6) (Index 0) Json.1148; + let Json.494 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1146 Json.1145: + if Json.1145 then + let Json.1086 : U64 = 1i64; + let Json.1085 : U64 = CallByName Num.19 Json.493 Json.1086; + let Json.1084 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) Json.1085; + let Json.1083 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1084; + ret Json.1083; else - jump Json.1085; + jump Json.1098; in - let Json.1134 : Int1 = CallByName Json.60 Json.494; - jump Json.1133 Json.1134; + let Json.1147 : Int1 = CallByName Json.60 Json.494; + jump Json.1146 Json.1147; case 7: - let Json.1139 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.497 : U64 = UnionAtIndex (Id 7) (Index 0) Json.1139; - let Json.498 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1137 Json.1136: - if Json.1136 then - let Json.1077 : U64 = 1i64; - let Json.1076 : U64 = CallByName Num.19 Json.497 Json.1077; - let Json.1075 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) Json.1076; - let Json.1074 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1075; - ret Json.1074; + let Json.1152 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.497 : U64 = UnionAtIndex (Id 7) (Index 0) Json.1152; + let Json.498 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1150 Json.1149: + if Json.1149 then + let Json.1090 : U64 = 1i64; + let Json.1089 : U64 = CallByName Num.19 Json.497 Json.1090; + let Json.1088 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) Json.1089; + let Json.1087 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1088; + ret Json.1087; else - jump Json.1085; + jump Json.1098; in - let Json.1138 : Int1 = CallByName Json.60 Json.498; - jump Json.1137 Json.1138; + let Json.1151 : Int1 = CallByName Json.60 Json.498; + jump Json.1150 Json.1151; case 8: - let Json.1143 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1042; - let Json.501 : U64 = UnionAtIndex (Id 8) (Index 0) Json.1143; - let Json.502 : U8 = StructAtIndex 1 Json.1042; - joinpoint Json.1141 Json.1140: - if Json.1140 then - let Json.1081 : U64 = 1i64; - let Json.1080 : U64 = CallByName Num.19 Json.501 Json.1081; - let Json.1079 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1080; - let Json.1078 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1079; - ret Json.1078; + let Json.1156 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 Json.1055; + let Json.501 : U64 = UnionAtIndex (Id 8) (Index 0) Json.1156; + let Json.502 : U8 = StructAtIndex 1 Json.1055; + joinpoint Json.1154 Json.1153: + if Json.1153 then + let Json.1094 : U64 = 1i64; + let Json.1093 : U64 = CallByName Num.19 Json.501 Json.1094; + let Json.1092 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) Json.1093; + let Json.1091 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) Json.1092; + ret Json.1091; else - jump Json.1085; + jump Json.1098; in - let Json.1142 : Int1 = CallByName Json.60 Json.502; - jump Json.1141 Json.1142; + let Json.1155 : Int1 = CallByName Json.60 Json.502; + jump Json.1154 Json.1155; default: - jump Json.1085; + jump Json.1098; procedure Json.58 (Json.507): switch Json.507: case 34: - let Json.991 : Int1 = CallByName Bool.2; - ret Json.991; + let Json.1004 : Int1 = CallByName Bool.2; + ret Json.1004; case 92: - let Json.992 : Int1 = CallByName Bool.2; - ret Json.992; + let Json.1005 : Int1 = CallByName Bool.2; + ret Json.1005; case 47: - let Json.993 : Int1 = CallByName Bool.2; - ret Json.993; + let Json.1006 : Int1 = CallByName Bool.2; + ret Json.1006; case 98: - let Json.994 : Int1 = CallByName Bool.2; - ret Json.994; + let Json.1007 : Int1 = CallByName Bool.2; + ret Json.1007; case 102: - let Json.995 : Int1 = CallByName Bool.2; - ret Json.995; + let Json.1008 : Int1 = CallByName Bool.2; + ret Json.1008; case 110: - let Json.996 : Int1 = CallByName Bool.2; - ret Json.996; + let Json.1009 : Int1 = CallByName Bool.2; + ret Json.1009; case 114: - let Json.997 : Int1 = CallByName Bool.2; - ret Json.997; + let Json.1010 : Int1 = CallByName Bool.2; + ret Json.1010; case 116: - let Json.998 : Int1 = CallByName Bool.2; - ret Json.998; + let Json.1011 : Int1 = CallByName Bool.2; + ret Json.1011; default: - let Json.999 : Int1 = CallByName Bool.1; - ret Json.999; + let Json.1012 : Int1 = CallByName Bool.1; + ret Json.1012; procedure Json.59 (Json.508): switch Json.508: case 34: - let Json.969 : U8 = 34i64; - ret Json.969; + let Json.982 : U8 = 34i64; + ret Json.982; case 92: - let Json.970 : U8 = 92i64; - ret Json.970; + let Json.983 : U8 = 92i64; + ret Json.983; case 47: - let Json.971 : U8 = 47i64; - ret Json.971; + let Json.984 : U8 = 47i64; + ret Json.984; case 98: - let Json.972 : U8 = 8i64; - ret Json.972; + let Json.985 : U8 = 8i64; + ret Json.985; case 102: - let Json.973 : U8 = 12i64; - ret Json.973; + let Json.986 : U8 = 12i64; + ret Json.986; case 110: - let Json.974 : U8 = 10i64; - ret Json.974; + let Json.987 : U8 = 10i64; + ret Json.987; case 114: - let Json.975 : U8 = 13i64; - ret Json.975; + let Json.988 : U8 = 13i64; + ret Json.988; case 116: - let Json.976 : U8 = 9i64; - ret Json.976; + let Json.989 : U8 = 9i64; + ret Json.989; default: ret Json.508; procedure Json.60 (Json.509): - let Json.1130 : U8 = 48i64; - let Json.1127 : Int1 = CallByName Num.25 Json.509 Json.1130; - let Json.1129 : U8 = 57i64; - let Json.1128 : Int1 = CallByName Num.23 Json.509 Json.1129; - let Json.1115 : Int1 = CallByName Bool.3 Json.1127 Json.1128; - let Json.1126 : U8 = 97i64; - let Json.1123 : Int1 = CallByName Num.25 Json.509 Json.1126; - let Json.1125 : U8 = 102i64; - let Json.1124 : Int1 = CallByName Num.23 Json.509 Json.1125; - let Json.1117 : Int1 = CallByName Bool.3 Json.1123 Json.1124; - let Json.1122 : U8 = 65i64; - let Json.1119 : Int1 = CallByName Num.25 Json.509 Json.1122; - let Json.1121 : U8 = 70i64; - let Json.1120 : Int1 = CallByName Num.23 Json.509 Json.1121; - let Json.1118 : Int1 = CallByName Bool.3 Json.1119 Json.1120; - let Json.1116 : Int1 = CallByName Bool.4 Json.1117 Json.1118; - let Json.1114 : Int1 = CallByName Bool.4 Json.1115 Json.1116; - ret Json.1114; + let Json.1143 : U8 = 48i64; + let Json.1140 : Int1 = CallByName Num.25 Json.509 Json.1143; + let Json.1142 : U8 = 57i64; + let Json.1141 : Int1 = CallByName Num.23 Json.509 Json.1142; + let Json.1128 : Int1 = CallByName Bool.3 Json.1140 Json.1141; + let Json.1139 : U8 = 97i64; + let Json.1136 : Int1 = CallByName Num.25 Json.509 Json.1139; + let Json.1138 : U8 = 102i64; + let Json.1137 : Int1 = CallByName Num.23 Json.509 Json.1138; + let Json.1130 : Int1 = CallByName Bool.3 Json.1136 Json.1137; + let Json.1135 : U8 = 65i64; + let Json.1132 : Int1 = CallByName Num.25 Json.509 Json.1135; + let Json.1134 : U8 = 70i64; + let Json.1133 : Int1 = CallByName Num.23 Json.509 Json.1134; + let Json.1131 : Int1 = CallByName Bool.3 Json.1132 Json.1133; + let Json.1129 : Int1 = CallByName Bool.4 Json.1130 Json.1131; + let Json.1127 : Int1 = CallByName Bool.4 Json.1128 Json.1129; + ret Json.1127; procedure Json.61 (Json.510): - let Json.948 : U8 = 48i64; - let Json.945 : Int1 = CallByName Num.25 Json.510 Json.948; - let Json.947 : U8 = 57i64; - let Json.946 : Int1 = CallByName Num.23 Json.510 Json.947; - let Json.942 : Int1 = CallByName Bool.3 Json.945 Json.946; - if Json.942 then - let Json.944 : U8 = 48i64; - let Json.943 : U8 = CallByName Num.20 Json.510 Json.944; - ret Json.943; + let Json.961 : U8 = 48i64; + let Json.958 : Int1 = CallByName Num.25 Json.510 Json.961; + let Json.960 : U8 = 57i64; + let Json.959 : Int1 = CallByName Num.23 Json.510 Json.960; + let Json.955 : Int1 = CallByName Bool.3 Json.958 Json.959; + if Json.955 then + let Json.957 : U8 = 48i64; + let Json.956 : U8 = CallByName Num.20 Json.510 Json.957; + ret Json.956; else - let Json.941 : U8 = 97i64; - let Json.938 : Int1 = CallByName Num.25 Json.510 Json.941; - let Json.940 : U8 = 102i64; - let Json.939 : Int1 = CallByName Num.23 Json.510 Json.940; - let Json.933 : Int1 = CallByName Bool.3 Json.938 Json.939; - if Json.933 then - let Json.937 : U8 = 97i64; - let Json.935 : U8 = CallByName Num.20 Json.510 Json.937; - let Json.936 : U8 = 10i64; - let Json.934 : U8 = CallByName Num.19 Json.935 Json.936; - ret Json.934; + let Json.954 : U8 = 97i64; + let Json.951 : Int1 = CallByName Num.25 Json.510 Json.954; + let Json.953 : U8 = 102i64; + let Json.952 : Int1 = CallByName Num.23 Json.510 Json.953; + let Json.946 : Int1 = CallByName Bool.3 Json.951 Json.952; + if Json.946 then + let Json.950 : U8 = 97i64; + let Json.948 : U8 = CallByName Num.20 Json.510 Json.950; + let Json.949 : U8 = 10i64; + let Json.947 : U8 = CallByName Num.19 Json.948 Json.949; + ret Json.947; else - let Json.932 : U8 = 65i64; - let Json.929 : Int1 = CallByName Num.25 Json.510 Json.932; - let Json.931 : U8 = 70i64; - let Json.930 : Int1 = CallByName Num.23 Json.510 Json.931; - let Json.924 : Int1 = CallByName Bool.3 Json.929 Json.930; - if Json.924 then - let Json.928 : U8 = 65i64; - let Json.926 : U8 = CallByName Num.20 Json.510 Json.928; - let Json.927 : U8 = 10i64; - let Json.925 : U8 = CallByName Num.19 Json.926 Json.927; - ret Json.925; + let Json.945 : U8 = 65i64; + let Json.942 : Int1 = CallByName Num.25 Json.510 Json.945; + let Json.944 : U8 = 70i64; + let Json.943 : Int1 = CallByName Num.23 Json.510 Json.944; + let Json.937 : Int1 = CallByName Bool.3 Json.942 Json.943; + if Json.937 then + let Json.941 : U8 = 65i64; + let Json.939 : U8 = CallByName Num.20 Json.510 Json.941; + let Json.940 : U8 = 10i64; + let Json.938 : U8 = CallByName Num.19 Json.939 Json.940; + ret Json.938; else - let Json.923 : Str = "got an invalid hex char"; - Crash Json.923 + let Json.936 : Str = "got an invalid hex char"; + Crash Json.936 procedure Json.62 (Json.511, Json.512): - let Json.914 : U8 = 4i64; - let Json.913 : U8 = CallByName Num.72 Json.511 Json.914; - let Json.912 : U8 = CallByName Num.71 Json.913 Json.512; - ret Json.912; + let Json.927 : U8 = 4i64; + let Json.926 : U8 = CallByName Num.72 Json.511 Json.927; + let Json.925 : U8 = CallByName Num.71 Json.926 Json.512; + ret Json.925; procedure Json.63 (Json.513, Json.514, Json.515, Json.516): let Json.517 : U8 = CallByName Json.61 Json.513; let Json.518 : U8 = CallByName Json.61 Json.514; let Json.519 : U8 = CallByName Json.61 Json.515; let Json.520 : U8 = CallByName Json.61 Json.516; - let Json.921 : U8 = 0i64; - let Json.918 : Int1 = CallByName Bool.11 Json.517 Json.921; - let Json.920 : U8 = 0i64; - let Json.919 : Int1 = CallByName Bool.11 Json.518 Json.920; - let Json.915 : Int1 = CallByName Bool.3 Json.918 Json.919; - if Json.915 then - let Json.917 : U8 = CallByName Json.62 Json.519 Json.520; - let Json.916 : List U8 = Array [Json.917]; - ret Json.916; + let Json.934 : U8 = 0i64; + let Json.931 : Int1 = CallByName Bool.11 Json.517 Json.934; + let Json.933 : U8 = 0i64; + let Json.932 : Int1 = CallByName Bool.11 Json.518 Json.933; + let Json.928 : Int1 = CallByName Bool.3 Json.931 Json.932; + if Json.928 then + let Json.930 : U8 = CallByName Json.62 Json.519 Json.520; + let Json.929 : List U8 = Array [Json.930]; + ret Json.929; else - let Json.910 : U8 = CallByName Json.62 Json.517 Json.518; - let Json.911 : U8 = CallByName Json.62 Json.519 Json.520; - let Json.909 : List U8 = Array [Json.910, Json.911]; - ret Json.909; + let Json.923 : U8 = CallByName Json.62 Json.517 Json.518; + let Json.924 : U8 = CallByName Json.62 Json.519 Json.520; + let Json.922 : List U8 = Array [Json.923, Json.924]; + ret Json.922; procedure Json.64 (): - let Json.954 : U8 = 102i64; - let Json.955 : U8 = 102i64; - let Json.956 : U8 = 100i64; - let Json.957 : U8 = 100i64; - let Json.953 : List U8 = CallByName Json.63 Json.954 Json.955 Json.956 Json.957; - ret Json.953; + let Json.967 : U8 = 102i64; + let Json.968 : U8 = 102i64; + let Json.969 : U8 = 100i64; + let Json.970 : U8 = 100i64; + let Json.966 : List U8 = CallByName Json.63 Json.967 Json.968 Json.969 Json.970; + ret Json.966; -procedure Json.65 (Json.1147): - joinpoint Json.904 Json.886: - let Json.521 : List U8 = StructAtIndex 0 Json.886; +procedure Json.65 (Json.1160): + joinpoint Json.917 Json.899: + let Json.521 : List U8 = StructAtIndex 0 Json.899; inc Json.521; - let Json.522 : List U8 = StructAtIndex 1 Json.886; + let Json.522 : List U8 = StructAtIndex 1 Json.899; inc Json.522; - dec Json.886; - let Json.1022 : U64 = 0i64; - let Json.523 : [C {}, C U8] = CallByName List.2 Json.521 Json.1022; - let Json.1021 : U64 = 1i64; - let Json.524 : [C {}, C U8] = CallByName List.2 Json.521 Json.1021; - let Json.1020 : U64 = 2i64; + dec Json.899; + let Json.1035 : U64 = 0i64; + let Json.523 : [C {}, C U8] = CallByName List.2 Json.521 Json.1035; + let Json.1034 : U64 = 1i64; + let Json.524 : [C {}, C U8] = CallByName List.2 Json.521 Json.1034; + let Json.1033 : U64 = 2i64; inc Json.521; - let Json.525 : List U8 = CallByName List.29 Json.521 Json.1020; - let Json.1019 : U64 = 6i64; + let Json.525 : List U8 = CallByName List.29 Json.521 Json.1033; + let Json.1032 : U64 = 6i64; inc Json.521; - let Json.526 : List U8 = CallByName List.29 Json.521 Json.1019; - let Json.905 : {[C {}, C U8], [C {}, C U8]} = Struct {Json.523, Json.524}; - joinpoint Json.984: - let Json.983 : [C {}, C U8] = StructAtIndex 0 Json.905; - let Json.537 : U8 = UnionAtIndex (Id 1) (Index 0) Json.983; - let Json.980 : List U8 = CallByName List.38 Json.521; - let Json.981 : List U8 = CallByName List.4 Json.522 Json.537; - let Json.979 : {List U8, List U8} = Struct {Json.980, Json.981}; - jump Json.904 Json.979; + let Json.526 : List U8 = CallByName List.29 Json.521 Json.1032; + let Json.918 : {[C {}, C U8], [C {}, C U8]} = Struct {Json.523, Json.524}; + joinpoint Json.997: + let Json.996 : [C {}, C U8] = StructAtIndex 0 Json.918; + let Json.537 : U8 = UnionAtIndex (Id 1) (Index 0) Json.996; + let Json.993 : List U8 = CallByName List.38 Json.521; + let Json.994 : List U8 = CallByName List.4 Json.522 Json.537; + let Json.992 : {List U8, List U8} = Struct {Json.993, Json.994}; + jump Json.917 Json.992; in - let Json.1015 : [C {}, C U8] = StructAtIndex 0 Json.905; - let Json.1016 : U8 = 1i64; - let Json.1017 : U8 = GetTagId Json.1015; - let Json.1018 : Int1 = lowlevel Eq Json.1016 Json.1017; - if Json.1018 then - let Json.1011 : [C {}, C U8] = StructAtIndex 1 Json.905; - let Json.1012 : U8 = 1i64; - let Json.1013 : U8 = GetTagId Json.1011; - let Json.1014 : Int1 = lowlevel Eq Json.1012 Json.1013; - if Json.1014 then - let Json.1010 : [C {}, C U8] = StructAtIndex 0 Json.905; - let Json.528 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1010; - let Json.1009 : [C {}, C U8] = StructAtIndex 1 Json.905; - let Json.529 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1009; - joinpoint Json.1003 Json.985: - if Json.985 then + let Json.1028 : [C {}, C U8] = StructAtIndex 0 Json.918; + let Json.1029 : U8 = 1i64; + let Json.1030 : U8 = GetTagId Json.1028; + let Json.1031 : Int1 = lowlevel Eq Json.1029 Json.1030; + if Json.1031 then + let Json.1024 : [C {}, C U8] = StructAtIndex 1 Json.918; + let Json.1025 : U8 = 1i64; + let Json.1026 : U8 = GetTagId Json.1024; + let Json.1027 : Int1 = lowlevel Eq Json.1025 Json.1026; + if Json.1027 then + let Json.1023 : [C {}, C U8] = StructAtIndex 0 Json.918; + let Json.528 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1023; + let Json.1022 : [C {}, C U8] = StructAtIndex 1 Json.918; + let Json.529 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1022; + joinpoint Json.1016 Json.998: + if Json.998 then dec Json.521; - let Json.962 : U64 = lowlevel ListLen Json.525; - let Json.963 : U64 = 4i64; - let Json.964 : Int1 = lowlevel NumGte Json.962 Json.963; - if Json.964 then - let Json.961 : U64 = 0i64; - let Json.530 : U8 = lowlevel ListGetUnsafe Json.525 Json.961; - let Json.960 : U64 = 1i64; - let Json.531 : U8 = lowlevel ListGetUnsafe Json.525 Json.960; - let Json.959 : U64 = 2i64; - let Json.532 : U8 = lowlevel ListGetUnsafe Json.525 Json.959; - let Json.958 : U64 = 3i64; - let Json.533 : U8 = lowlevel ListGetUnsafe Json.525 Json.958; + let Json.975 : U64 = lowlevel ListLen Json.525; + let Json.976 : U64 = 4i64; + let Json.977 : Int1 = lowlevel NumGte Json.975 Json.976; + if Json.977 then + let Json.974 : U64 = 0i64; + let Json.530 : U8 = lowlevel ListGetUnsafe Json.525 Json.974; + let Json.973 : U64 = 1i64; + let Json.531 : U8 = lowlevel ListGetUnsafe Json.525 Json.973; + let Json.972 : U64 = 2i64; + let Json.532 : U8 = lowlevel ListGetUnsafe Json.525 Json.972; + let Json.971 : U64 = 3i64; + let Json.533 : U8 = lowlevel ListGetUnsafe Json.525 Json.971; dec Json.525; let Json.534 : List U8 = CallByName Json.63 Json.530 Json.531 Json.532 Json.533; - let Json.908 : List U8 = CallByName List.8 Json.522 Json.534; - let Json.907 : {List U8, List U8} = Struct {Json.526, Json.908}; - jump Json.904 Json.907; + let Json.921 : List U8 = CallByName List.8 Json.522 Json.534; + let Json.920 : {List U8, List U8} = Struct {Json.526, Json.921}; + jump Json.917 Json.920; else dec Json.526; - let Json.952 : List U8 = CallByName Json.64; - let Json.951 : List U8 = CallByName List.8 Json.522 Json.952; - let Json.950 : {List U8, List U8} = Struct {Json.525, Json.951}; - jump Json.904 Json.950; + let Json.965 : List U8 = CallByName Json.64; + let Json.964 : List U8 = CallByName List.8 Json.522 Json.965; + let Json.963 : {List U8, List U8} = Struct {Json.525, Json.964}; + jump Json.917 Json.963; else dec Json.526; - let Json.1002 : [C {}, C U8] = StructAtIndex 0 Json.905; - let Json.535 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1002; - let Json.1001 : [C {}, C U8] = StructAtIndex 1 Json.905; - let Json.536 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1001; - joinpoint Json.987 Json.986: - if Json.986 then + let Json.1015 : [C {}, C U8] = StructAtIndex 0 Json.918; + let Json.535 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1015; + let Json.1014 : [C {}, C U8] = StructAtIndex 1 Json.918; + let Json.536 : U8 = UnionAtIndex (Id 1) (Index 0) Json.1014; + joinpoint Json.1000 Json.999: + if Json.999 then dec Json.521; - let Json.968 : U8 = CallByName Json.59 Json.536; - let Json.967 : List U8 = CallByName List.4 Json.522 Json.968; - let Json.966 : {List U8, List U8} = Struct {Json.525, Json.967}; - jump Json.904 Json.966; + let Json.981 : U8 = CallByName Json.59 Json.536; + let Json.980 : List U8 = CallByName List.4 Json.522 Json.981; + let Json.979 : {List U8, List U8} = Struct {Json.525, Json.980}; + jump Json.917 Json.979; else dec Json.525; - jump Json.984; + jump Json.997; in - let Json.1000 : U8 = 92i64; - let Json.989 : Int1 = CallByName Bool.11 Json.535 Json.1000; - let Json.990 : Int1 = CallByName Json.58 Json.536; - let Json.988 : Int1 = CallByName Bool.3 Json.989 Json.990; - jump Json.987 Json.988; + let Json.1013 : U8 = 92i64; + let Json.1002 : Int1 = CallByName Bool.11 Json.535 Json.1013; + let Json.1003 : Int1 = CallByName Json.58 Json.536; + let Json.1001 : Int1 = CallByName Bool.3 Json.1002 Json.1003; + jump Json.1000 Json.1001; in - let Json.1008 : U8 = 92i64; - let Json.1005 : Int1 = CallByName Bool.11 Json.528 Json.1008; - let Json.1007 : U8 = 117i64; - let Json.1006 : Int1 = CallByName Bool.11 Json.529 Json.1007; - let Json.1004 : Int1 = CallByName Bool.3 Json.1005 Json.1006; - jump Json.1003 Json.1004; + let Json.1021 : U8 = 92i64; + let Json.1018 : Int1 = CallByName Bool.11 Json.528 Json.1021; + let Json.1020 : U8 = 117i64; + let Json.1019 : Int1 = CallByName Bool.11 Json.529 Json.1020; + let Json.1017 : Int1 = CallByName Bool.3 Json.1018 Json.1019; + jump Json.1016 Json.1017; else dec Json.526; dec Json.525; - jump Json.984; + jump Json.997; else dec Json.526; dec Json.525; - let Json.982 : {List U8, List U8} = Struct {Json.521, Json.522}; - ret Json.982; + let Json.995 : {List U8, List U8} = Struct {Json.521, Json.522}; + ret Json.995; in - jump Json.904 Json.1147; + jump Json.917 Json.1160; procedure List.1 (List.95): let List.546 : U64 = CallByName List.6 List.95; diff --git a/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_types.txt b/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_types.txt index bee1f26b41..f84d74e449 100644 --- a/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_types.txt +++ b/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_types.txt @@ -30,90 +30,90 @@ procedure Encode.26 (Encode.105, Encode.106): ret Encode.108; procedure Json.1 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.146 (Json.147, Json.935, Json.145): - let Json.944 : I64 = 34i64; - let Json.943 : U8 = CallByName Num.127 Json.944; - let Json.941 : List U8 = CallByName List.4 Json.147 Json.943; - let Json.942 : List U8 = CallByName Str.12 Json.145; - let Json.938 : List U8 = CallByName List.8 Json.941 Json.942; - let Json.940 : I64 = 34i64; - let Json.939 : U8 = CallByName Num.127 Json.940; - let Json.937 : List U8 = CallByName List.4 Json.938 Json.939; - ret Json.937; +procedure Json.146 (Json.147, Json.948, Json.145): + let Json.957 : I64 = 34i64; + let Json.956 : U8 = CallByName Num.127 Json.957; + let Json.954 : List U8 = CallByName List.4 Json.147 Json.956; + let Json.955 : List U8 = CallByName Str.12 Json.145; + let Json.951 : List U8 = CallByName List.8 Json.954 Json.955; + let Json.953 : I64 = 34i64; + let Json.952 : U8 = CallByName Num.127 Json.953; + let Json.950 : List U8 = CallByName List.4 Json.951 Json.952; + ret Json.950; -procedure Json.188 (Json.189, Json.891, #Attr.12): +procedure Json.188 (Json.189, Json.904, #Attr.12): let Json.187 : List Str = StructAtIndex 1 #Attr.12; inc Json.187; let Json.186 : Str = StructAtIndex 0 #Attr.12; inc Json.186; dec #Attr.12; - let Json.929 : I64 = 123i64; + let Json.942 : I64 = 123i64; + let Json.941 : U8 = CallByName Num.127 Json.942; + let Json.938 : List U8 = CallByName List.4 Json.189 Json.941; + let Json.940 : I64 = 34i64; + let Json.939 : U8 = CallByName Num.127 Json.940; + let Json.936 : List U8 = CallByName List.4 Json.938 Json.939; + let Json.937 : List U8 = CallByName Str.12 Json.186; + let Json.933 : List U8 = CallByName List.8 Json.936 Json.937; + let Json.935 : I64 = 34i64; + let Json.934 : U8 = CallByName Num.127 Json.935; + let Json.930 : List U8 = CallByName List.4 Json.933 Json.934; + let Json.932 : I64 = 58i64; + let Json.931 : U8 = CallByName Num.127 Json.932; + let Json.927 : List U8 = CallByName List.4 Json.930 Json.931; + let Json.929 : I64 = 91i64; let Json.928 : U8 = CallByName Num.127 Json.929; - let Json.925 : List U8 = CallByName List.4 Json.189 Json.928; - let Json.927 : I64 = 34i64; - let Json.926 : U8 = CallByName Num.127 Json.927; - let Json.923 : List U8 = CallByName List.4 Json.925 Json.926; - let Json.924 : List U8 = CallByName Str.12 Json.186; - let Json.920 : List U8 = CallByName List.8 Json.923 Json.924; - let Json.922 : I64 = 34i64; - let Json.921 : U8 = CallByName Num.127 Json.922; - let Json.917 : List U8 = CallByName List.4 Json.920 Json.921; - let Json.919 : I64 = 58i64; - let Json.918 : U8 = CallByName Num.127 Json.919; - let Json.914 : List U8 = CallByName List.4 Json.917 Json.918; - let Json.916 : I64 = 91i64; - let Json.915 : U8 = CallByName Num.127 Json.916; - let Json.191 : List U8 = CallByName List.4 Json.914 Json.915; - let Json.913 : U64 = CallByName List.6 Json.187; - let Json.901 : {List U8, U64} = Struct {Json.191, Json.913}; - let Json.902 : {} = Struct {}; - let Json.900 : {List U8, U64} = CallByName List.18 Json.187 Json.901 Json.902; + let Json.191 : List U8 = CallByName List.4 Json.927 Json.928; + let Json.926 : U64 = CallByName List.6 Json.187; + let Json.914 : {List U8, U64} = Struct {Json.191, Json.926}; + let Json.915 : {} = Struct {}; + let Json.913 : {List U8, U64} = CallByName List.18 Json.187 Json.914 Json.915; dec Json.187; - let Json.193 : List U8 = StructAtIndex 0 Json.900; + let Json.193 : List U8 = StructAtIndex 0 Json.913; inc Json.193; - dec Json.900; - let Json.899 : I64 = 93i64; - let Json.898 : U8 = CallByName Num.127 Json.899; - let Json.895 : List U8 = CallByName List.4 Json.193 Json.898; - let Json.897 : I64 = 125i64; - let Json.896 : U8 = CallByName Num.127 Json.897; - let Json.894 : List U8 = CallByName List.4 Json.895 Json.896; - ret Json.894; + dec Json.913; + let Json.912 : I64 = 93i64; + let Json.911 : U8 = CallByName Num.127 Json.912; + let Json.908 : List U8 = CallByName List.4 Json.193 Json.911; + let Json.910 : I64 = 125i64; + let Json.909 : U8 = CallByName Num.127 Json.910; + let Json.907 : List U8 = CallByName List.4 Json.908 Json.909; + ret Json.907; -procedure Json.190 (Json.893, Json.196): - let Json.194 : List U8 = StructAtIndex 0 Json.893; +procedure Json.190 (Json.906, Json.196): + let Json.194 : List U8 = StructAtIndex 0 Json.906; inc Json.194; - let Json.195 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.912 : {} = Struct {}; - let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.912; - joinpoint Json.907 Json.198: - let Json.905 : U64 = 1i64; - let Json.904 : U64 = CallByName Num.20 Json.195 Json.905; - let Json.903 : {List U8, U64} = Struct {Json.198, Json.904}; - ret Json.903; + let Json.195 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.925 : {} = Struct {}; + let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.925; + joinpoint Json.920 Json.198: + let Json.918 : U64 = 1i64; + let Json.917 : U64 = CallByName Num.20 Json.195 Json.918; + let Json.916 : {List U8, U64} = Struct {Json.198, Json.917}; + ret Json.916; in - let Json.911 : U64 = 1i64; - let Json.908 : Int1 = CallByName Num.24 Json.195 Json.911; - if Json.908 then - let Json.910 : I64 = 44i64; - let Json.909 : U8 = CallByName Num.127 Json.910; - let Json.906 : List U8 = CallByName List.4 Json.197 Json.909; - jump Json.907 Json.906; + let Json.924 : U64 = 1i64; + let Json.921 : Int1 = CallByName Num.24 Json.195 Json.924; + if Json.921 then + let Json.923 : I64 = 44i64; + let Json.922 : U8 = CallByName Num.127 Json.923; + let Json.919 : List U8 = CallByName List.4 Json.197 Json.922; + jump Json.920 Json.919; else - jump Json.907 Json.197; + jump Json.920 Json.197; procedure Json.23 (Json.145): - let Json.945 : Str = CallByName Encode.23 Json.145; - ret Json.945; + let Json.958 : Str = CallByName Encode.23 Json.145; + ret Json.958; procedure Json.27 (Json.186, Json.187): - let Json.931 : {Str, List Str} = Struct {Json.186, Json.187}; - let Json.930 : {Str, List Str} = CallByName Encode.23 Json.931; - ret Json.930; + let Json.944 : {Str, List Str} = Struct {Json.186, Json.187}; + let Json.943 : {Str, List Str} = CallByName Encode.23 Json.944; + ret Json.943; procedure List.139 (List.140, List.141, List.138): let List.545 : {List U8, U64} = CallByName Json.190 List.140 List.141; diff --git a/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unification_of_unifiable.txt b/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unification_of_unifiable.txt index 31e57dbdeb..ef44858c32 100644 --- a/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unification_of_unifiable.txt +++ b/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unification_of_unifiable.txt @@ -81,143 +81,143 @@ procedure Encode.26 (Encode.105, Encode.106): ret Encode.108; procedure Json.1 (): - let Json.888 : {} = Struct {}; - ret Json.888; + let Json.901 : {} = Struct {}; + ret Json.901; -procedure Json.188 (Json.189, Json.891, #Attr.12): +procedure Json.188 (Json.189, Json.904, #Attr.12): let Json.187 : List [C {}, C {}] = StructAtIndex 1 #Attr.12; inc Json.187; let Json.186 : Str = StructAtIndex 0 #Attr.12; inc Json.186; dec #Attr.12; - let Json.929 : I64 = 123i64; + let Json.942 : I64 = 123i64; + let Json.941 : U8 = CallByName Num.127 Json.942; + let Json.938 : List U8 = CallByName List.4 Json.189 Json.941; + let Json.940 : I64 = 34i64; + let Json.939 : U8 = CallByName Num.127 Json.940; + let Json.936 : List U8 = CallByName List.4 Json.938 Json.939; + let Json.937 : List U8 = CallByName Str.12 Json.186; + let Json.933 : List U8 = CallByName List.8 Json.936 Json.937; + let Json.935 : I64 = 34i64; + let Json.934 : U8 = CallByName Num.127 Json.935; + let Json.930 : List U8 = CallByName List.4 Json.933 Json.934; + let Json.932 : I64 = 58i64; + let Json.931 : U8 = CallByName Num.127 Json.932; + let Json.927 : List U8 = CallByName List.4 Json.930 Json.931; + let Json.929 : I64 = 91i64; let Json.928 : U8 = CallByName Num.127 Json.929; - let Json.925 : List U8 = CallByName List.4 Json.189 Json.928; - let Json.927 : I64 = 34i64; - let Json.926 : U8 = CallByName Num.127 Json.927; - let Json.923 : List U8 = CallByName List.4 Json.925 Json.926; - let Json.924 : List U8 = CallByName Str.12 Json.186; - let Json.920 : List U8 = CallByName List.8 Json.923 Json.924; - let Json.922 : I64 = 34i64; - let Json.921 : U8 = CallByName Num.127 Json.922; - let Json.917 : List U8 = CallByName List.4 Json.920 Json.921; - let Json.919 : I64 = 58i64; - let Json.918 : U8 = CallByName Num.127 Json.919; - let Json.914 : List U8 = CallByName List.4 Json.917 Json.918; - let Json.916 : I64 = 91i64; - let Json.915 : U8 = CallByName Num.127 Json.916; - let Json.191 : List U8 = CallByName List.4 Json.914 Json.915; - let Json.913 : U64 = CallByName List.6 Json.187; - let Json.901 : {List U8, U64} = Struct {Json.191, Json.913}; - let Json.902 : {} = Struct {}; - let Json.900 : {List U8, U64} = CallByName List.18 Json.187 Json.901 Json.902; + let Json.191 : List U8 = CallByName List.4 Json.927 Json.928; + let Json.926 : U64 = CallByName List.6 Json.187; + let Json.914 : {List U8, U64} = Struct {Json.191, Json.926}; + let Json.915 : {} = Struct {}; + let Json.913 : {List U8, U64} = CallByName List.18 Json.187 Json.914 Json.915; dec Json.187; - let Json.193 : List U8 = StructAtIndex 0 Json.900; + let Json.193 : List U8 = StructAtIndex 0 Json.913; inc Json.193; - dec Json.900; - let Json.899 : I64 = 93i64; - let Json.898 : U8 = CallByName Num.127 Json.899; - let Json.895 : List U8 = CallByName List.4 Json.193 Json.898; - let Json.897 : I64 = 125i64; - let Json.896 : U8 = CallByName Num.127 Json.897; - let Json.894 : List U8 = CallByName List.4 Json.895 Json.896; - ret Json.894; + dec Json.913; + let Json.912 : I64 = 93i64; + let Json.911 : U8 = CallByName Num.127 Json.912; + let Json.908 : List U8 = CallByName List.4 Json.193 Json.911; + let Json.910 : I64 = 125i64; + let Json.909 : U8 = CallByName Num.127 Json.910; + let Json.907 : List U8 = CallByName List.4 Json.908 Json.909; + ret Json.907; -procedure Json.188 (Json.189, Json.891, #Attr.12): +procedure Json.188 (Json.189, Json.904, #Attr.12): let Json.187 : List [] = StructAtIndex 1 #Attr.12; inc Json.187; let Json.186 : Str = StructAtIndex 0 #Attr.12; inc Json.186; dec #Attr.12; - let Json.979 : I64 = 123i64; + let Json.992 : I64 = 123i64; + let Json.991 : U8 = CallByName Num.127 Json.992; + let Json.988 : List U8 = CallByName List.4 Json.189 Json.991; + let Json.990 : I64 = 34i64; + let Json.989 : U8 = CallByName Num.127 Json.990; + let Json.986 : List U8 = CallByName List.4 Json.988 Json.989; + let Json.987 : List U8 = CallByName Str.12 Json.186; + let Json.983 : List U8 = CallByName List.8 Json.986 Json.987; + let Json.985 : I64 = 34i64; + let Json.984 : U8 = CallByName Num.127 Json.985; + let Json.980 : List U8 = CallByName List.4 Json.983 Json.984; + let Json.982 : I64 = 58i64; + let Json.981 : U8 = CallByName Num.127 Json.982; + let Json.977 : List U8 = CallByName List.4 Json.980 Json.981; + let Json.979 : I64 = 91i64; let Json.978 : U8 = CallByName Num.127 Json.979; - let Json.975 : List U8 = CallByName List.4 Json.189 Json.978; - let Json.977 : I64 = 34i64; - let Json.976 : U8 = CallByName Num.127 Json.977; - let Json.973 : List U8 = CallByName List.4 Json.975 Json.976; - let Json.974 : List U8 = CallByName Str.12 Json.186; - let Json.970 : List U8 = CallByName List.8 Json.973 Json.974; - let Json.972 : I64 = 34i64; - let Json.971 : U8 = CallByName Num.127 Json.972; - let Json.967 : List U8 = CallByName List.4 Json.970 Json.971; - let Json.969 : I64 = 58i64; - let Json.968 : U8 = CallByName Num.127 Json.969; - let Json.964 : List U8 = CallByName List.4 Json.967 Json.968; - let Json.966 : I64 = 91i64; - let Json.965 : U8 = CallByName Num.127 Json.966; - let Json.191 : List U8 = CallByName List.4 Json.964 Json.965; - let Json.963 : U64 = CallByName List.6 Json.187; - let Json.951 : {List U8, U64} = Struct {Json.191, Json.963}; - let Json.952 : {} = Struct {}; - let Json.950 : {List U8, U64} = CallByName List.18 Json.187 Json.951 Json.952; + let Json.191 : List U8 = CallByName List.4 Json.977 Json.978; + let Json.976 : U64 = CallByName List.6 Json.187; + let Json.964 : {List U8, U64} = Struct {Json.191, Json.976}; + let Json.965 : {} = Struct {}; + let Json.963 : {List U8, U64} = CallByName List.18 Json.187 Json.964 Json.965; dec Json.187; - let Json.193 : List U8 = StructAtIndex 0 Json.950; + let Json.193 : List U8 = StructAtIndex 0 Json.963; inc Json.193; - dec Json.950; - let Json.949 : I64 = 93i64; - let Json.948 : U8 = CallByName Num.127 Json.949; - let Json.945 : List U8 = CallByName List.4 Json.193 Json.948; - let Json.947 : I64 = 125i64; - let Json.946 : U8 = CallByName Num.127 Json.947; - let Json.944 : List U8 = CallByName List.4 Json.945 Json.946; - ret Json.944; + dec Json.963; + let Json.962 : I64 = 93i64; + let Json.961 : U8 = CallByName Num.127 Json.962; + let Json.958 : List U8 = CallByName List.4 Json.193 Json.961; + let Json.960 : I64 = 125i64; + let Json.959 : U8 = CallByName Num.127 Json.960; + let Json.957 : List U8 = CallByName List.4 Json.958 Json.959; + ret Json.957; -procedure Json.190 (Json.893, Json.196): - let Json.194 : List U8 = StructAtIndex 0 Json.893; +procedure Json.190 (Json.906, Json.196): + let Json.194 : List U8 = StructAtIndex 0 Json.906; inc Json.194; - let Json.195 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.912 : {} = Struct {}; - let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.912; - joinpoint Json.907 Json.198: - let Json.905 : U64 = 1i64; - let Json.904 : U64 = CallByName Num.20 Json.195 Json.905; - let Json.903 : {List U8, U64} = Struct {Json.198, Json.904}; - ret Json.903; + let Json.195 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.925 : {} = Struct {}; + let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.925; + joinpoint Json.920 Json.198: + let Json.918 : U64 = 1i64; + let Json.917 : U64 = CallByName Num.20 Json.195 Json.918; + let Json.916 : {List U8, U64} = Struct {Json.198, Json.917}; + ret Json.916; in - let Json.911 : U64 = 1i64; - let Json.908 : Int1 = CallByName Num.24 Json.195 Json.911; - if Json.908 then - let Json.910 : I64 = 44i64; - let Json.909 : U8 = CallByName Num.127 Json.910; - let Json.906 : List U8 = CallByName List.4 Json.197 Json.909; - jump Json.907 Json.906; + let Json.924 : U64 = 1i64; + let Json.921 : Int1 = CallByName Num.24 Json.195 Json.924; + if Json.921 then + let Json.923 : I64 = 44i64; + let Json.922 : U8 = CallByName Num.127 Json.923; + let Json.919 : List U8 = CallByName List.4 Json.197 Json.922; + jump Json.920 Json.919; else - jump Json.907 Json.197; + jump Json.920 Json.197; -procedure Json.190 (Json.893, Json.196): - let Json.194 : List U8 = StructAtIndex 0 Json.893; +procedure Json.190 (Json.906, Json.196): + let Json.194 : List U8 = StructAtIndex 0 Json.906; inc Json.194; - let Json.195 : U64 = StructAtIndex 1 Json.893; - dec Json.893; - let Json.962 : {} = Struct {}; - let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.962; + let Json.195 : U64 = StructAtIndex 1 Json.906; + dec Json.906; + let Json.975 : {} = Struct {}; + let Json.197 : List U8 = CallByName Encode.24 Json.194 Json.196 Json.975; dec Json.194; - joinpoint Json.957 Json.198: - let Json.955 : U64 = 1i64; - let Json.954 : U64 = CallByName Num.20 Json.195 Json.955; - let Json.953 : {List U8, U64} = Struct {Json.198, Json.954}; - ret Json.953; + joinpoint Json.970 Json.198: + let Json.968 : U64 = 1i64; + let Json.967 : U64 = CallByName Num.20 Json.195 Json.968; + let Json.966 : {List U8, U64} = Struct {Json.198, Json.967}; + ret Json.966; in - let Json.961 : U64 = 1i64; - let Json.958 : Int1 = CallByName Num.24 Json.195 Json.961; - if Json.958 then - let Json.960 : I64 = 44i64; - let Json.959 : U8 = CallByName Num.127 Json.960; - let Json.956 : List U8 = CallByName List.4 Json.197 Json.959; - jump Json.957 Json.956; + let Json.974 : U64 = 1i64; + let Json.971 : Int1 = CallByName Num.24 Json.195 Json.974; + if Json.971 then + let Json.973 : I64 = 44i64; + let Json.972 : U8 = CallByName Num.127 Json.973; + let Json.969 : List U8 = CallByName List.4 Json.197 Json.972; + jump Json.970 Json.969; else - jump Json.957 Json.197; + jump Json.970 Json.197; procedure Json.27 (Json.186, Json.187): - let Json.931 : {Str, List [C {}, C {}]} = Struct {Json.186, Json.187}; - let Json.930 : {Str, List [C {}, C {}]} = CallByName Encode.23 Json.931; - ret Json.930; + let Json.944 : {Str, List [C {}, C {}]} = Struct {Json.186, Json.187}; + let Json.943 : {Str, List [C {}, C {}]} = CallByName Encode.23 Json.944; + ret Json.943; procedure Json.27 (Json.186, Json.187): - let Json.981 : {Str, List []} = Struct {Json.186, Json.187}; - let Json.980 : {Str, List []} = CallByName Encode.23 Json.981; - ret Json.980; + let Json.994 : {Str, List []} = Struct {Json.186, Json.187}; + let Json.993 : {Str, List []} = CallByName Encode.23 Json.994; + ret Json.993; procedure List.139 (List.140, List.141, List.138): let List.539 : {List U8, U64} = CallByName Json.190 List.140 List.141;