1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
22 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
23 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
24 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
25 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
26 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
27 typedef struct RootObj RootObj;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
31 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
32 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
33 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
34 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
35 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
36 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
37 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
38 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
39 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
40 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
41 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
42 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
43 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
44 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
45 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
46 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
47 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
48 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
49 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
50 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
51 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
52 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
53 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
54 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
55 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
56 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
57 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
58 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
59 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
60 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
61 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
62 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
63 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
64 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
65 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
66 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
67 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
68 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
69 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
70 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
71 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
72 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
73 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
74 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
75 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
76 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
77 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
78 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
79 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
80 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
81 typedef struct TGenericSeq TGenericSeq;
82 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
83 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
84 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
85 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
86 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
87 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
88 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
89 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
90 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
91 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
92 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
93 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
94 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
95 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
96 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
97 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
98 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
99 typedef struct NimStringDesc NimStringDesc;
100 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
101 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
102 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
103 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
104 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
105 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
106 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
107 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
108 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
109 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
110 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
111 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
112 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
113 typedef struct tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA;
114 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
115 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
116 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
117 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
118 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
119 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
120 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
121 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
122 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
123 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
124 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
125 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
126 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
127 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
128 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
129 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
130 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
131 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
132 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
133 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
134 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
135 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
136 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
137 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
138 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
139 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
140 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
141 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
142 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
143 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
144 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
145 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
146 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
147 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
148 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
149 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
150 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
151 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
152 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
153 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
154 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
155 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
156 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
157 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
158 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
159 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
160 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
161 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
162 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
163 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
164 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
165 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
166 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
167 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
168 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
169 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
170 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
171 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
172 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
173 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
174 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
175 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
176 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
177 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
178 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
179 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
180 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
181 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
182 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
183 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
184 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
185 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
186 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
187 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
188 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
189 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
190 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
191 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
192 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
193 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
194 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
195 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
196 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
197 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
198 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
199 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
200 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
201 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
202 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
203 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
204 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
205 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
206 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
207 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
208 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
209 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
210 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
211 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
212 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
213 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
214 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
215 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
216 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
217 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
218 NU16 line;
219 NI16 col;
220 NI32 fileIndex;
221 };
222 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
223 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
224 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
225 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
226 struct TNimType {
227 NI size;
228 NI align;
229 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
230 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
231 TNimType* base;
232 TNimNode* node;
233 void* finalizer;
234 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
235 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
236 };
237 struct RootObj {
238 TNimType* m_type;
239 };
240 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
241 NI32 module;
242 NI32 item;
243 };
244 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
245 RootObj Sup;
246 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
247 };
248 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
249 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
250 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
251 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
252 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
253 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
254 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
255 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
256 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
257 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
258 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
259 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
260 };
261 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
262 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
263 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
264 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
265 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
266 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
267 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
268 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
269 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
270 NI64 size;
271 NI16 align;
272 NI16 paddingAtEnd;
273 NI16 lockLevel;
274 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
275 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
276 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
277 };
278 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
279 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
280 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
281 typedef NU8 tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g;
282 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
283 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
284 NI counter;
285 };
286 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
287 NI Field0;
288 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
289 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
290 };
291 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
292 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
293 NI counter;
294 };
295 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
296 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
297 NI counter;
298 };
299 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
300 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
301 NI counter;
302 };
303 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
304 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
305 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
306 NI counter;
307 };
308 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
309 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
310 NI counter;
311 };
312 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
313 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
314 NI counter;
315 };
316 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
317 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
318 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
319 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
320 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
321 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
322 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
323 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
324 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
325 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
326 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
327 };
328 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
329 NI counter;
330 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
331 };
332 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
333 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
334 NI counter;
335 };
336 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
337 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
338 NI elems;
339 NI counter;
340 NI max;
341 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
342 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
343 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
344 };
345 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
346 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
347 NI counter;
348 };
349 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
350 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
351 NI counter;
352 };
353 typedef struct {
354 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
355 void* ClE_0;
356 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
357 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
358 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
359 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
360 NI counter;
361 };
362 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
363 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
364 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
365 tySequence__23SMqauuRsbDANhthj9bWlA* data;
366 NI counter;
367 };
368 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
369 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
370 NI counter;
371 };
372 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
373 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
374 NI counter;
375 };
376 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
377 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
378 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
379 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
380 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
381 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
382 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
383 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
384 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
385 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
386 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
387 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
388 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
389 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
390 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
391 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
392 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
393 };
394 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
395 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
396 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
397 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
398 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
399 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
400 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
401 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
402 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
403 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
404 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
405 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
406 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
407 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
408 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
409 NIM_BOOL suggestMode;
410 NIM_BOOL invalidTransitiveClosure;
411 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
412 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
413 RootObj* backend;
414 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
415 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
416 RootObj* vm;
417 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
418 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
419 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
420 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
421 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
422 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
423 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
424 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
425 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
426 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
427 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
428 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
429 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
430 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
431 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
432 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
433 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
434 tySequence__MAQKEADohlpnXTModtugbQ* passes;
435 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
436 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
437 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
438 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
439 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
440 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
441 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
442 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
443 };
444 struct TGenericSeq {
445 NI len;
446 NI reserved;
447 };
448 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
449 struct TNimNode {
450 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
451 NI offset;
452 TNimType* typ;
453 NCSTRING name;
454 NI len;
455 TNimNode** sons;
456 };
457 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
458 NI refcount;
459 TNimType* typ;
460 };
461 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
462 void* bottom;
463 };
464 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
465 NI len;
466 NI cap;
467 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
468 };
469 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
470 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
471 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
472 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
473 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
474 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
475 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
476 };
477 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
478 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
479 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
480 NI key;
481 NI upperBound;
482 NI level;
483 };
484 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
485 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
486 NI Field1;
487 };
488 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
489 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
490 NI len;
491 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
492 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
493 };
494 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
495 NI minLargeObj;
496 NI maxLargeObj;
497 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
498 NU32 flBitmap;
499 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
500 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
501 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
502 NI currMem;
503 NI maxMem;
504 NI freeMem;
505 NI occ;
506 NI lastSize;
507 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
508 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
509 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
510 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
511 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
512 NIM_BOOL locked;
513 NIM_BOOL blockChunkSizeIncrease;
514 NI nextChunkSize;
515 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
516 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
517 };
518 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
519 NI stackScans;
520 NI cycleCollections;
521 NI maxThreshold;
522 NI maxStackSize;
523 NI maxStackCells;
524 NI cycleTableSize;
525 NI64 maxPause;
526 };
527 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
528 NI counter;
529 NI max;
530 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
531 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
532 };
533 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
534 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
535 NI cycleThreshold;
536 NI zctThreshold;
537 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
538 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
539 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
540 NI recGcLock;
541 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
542 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
543 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
544 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
545 NI gcThreadId;
546 };
547 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
548 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
549 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
550 struct NimStringDesc {
551 TGenericSeq Sup;
552 NIM_CHAR data[SEQ_DECL_SIZE];
553 };
554 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
555 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
556 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
557 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
558 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
559 NI intSize;
560 NI floatSize;
561 NI ptrSize;
562 NimStringDesc* tnl;
563 };
564 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
565 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
566 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
567 NIM_BOOL trackPosAttached;
568 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
569 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
570 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
571 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
572 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
573 NI32 systemFileIdx;
574 };
575 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
576 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
577 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
578 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
579 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
580 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
581 NI counter;
582 };
583 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
584 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
585 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
586 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
587 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
588 NI Field0;
589 NI Field1;
590 NI Field2;
591 };
592 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
593 typedef struct {
594 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
595 void* ClE_0;
596 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
597 typedef struct {
598 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
599 void* ClE_0;
600 } tyProc__k2HFjxisIgDALbEUFojxaQ;
601 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
602 typedef struct {
603 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
604 void* ClE_0;
605 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
606 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
607 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
608 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
609 NI linesCompiled;
610 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
611 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
612 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
613 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
614 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
615 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
616 NimStringDesc* unitSep;
617 NI evalTemplateCounter;
618 NI evalMacroCounter;
619 NI8 exitcode;
620 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
621 NimStringDesc* cmdInput;
622 NIM_BOOL projectIsCmd;
623 NIM_BOOL implicitCmd;
624 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
625 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
626 NIM_BOOL hintProcessingDots;
627 NI verbosity;
628 NI numberOfProcessors;
629 NF lastCmdTime;
630 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
631 NI spellSuggestMax;
632 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
633 NimStringDesc* headerFile;
634 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
635 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
636 NimStringDesc* arguments;
637 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
638 NIM_BOOL oldNewlines;
639 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
640 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
641 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
642 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
643 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
644 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
645 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
646 NI mainPackageId;
647 NI errorCounter;
648 NI hintCounter;
649 NI warnCounter;
650 NI errorMax;
651 NI maxLoopIterationsVM;
652 NIM_BOOL isVmTrace;
653 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
654 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
655 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
656 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
657 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
658 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
659 NimStringDesc* outFile;
660 NimStringDesc* outDir;
661 NimStringDesc* jsonBuildFile;
662 NimStringDesc* prefixDir;
663 NimStringDesc* libpath;
664 NimStringDesc* nimcacheDir;
665 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
666 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
667 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
668 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
669 NimStringDesc* projectName;
670 NimStringDesc* projectPath;
671 NimStringDesc* projectFull;
672 NIM_BOOL projectIsStdin;
673 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
674 NI32 projectMainIdx;
675 NI32 projectMainIdx2;
676 NimStringDesc* command;
677 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
678 NimStringDesc* commandLine;
679 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
680 NIM_BOOL keepComments;
681 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
682 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
683 NimStringDesc* docSeeSrcUrl;
684 NimStringDesc* docRoot;
685 NimStringDesc* docCmd;
686 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
687 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
688 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
689 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
690 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
691 NimStringDesc* linkOptionsCmd;
692 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
693 NimStringDesc* linkOptions;
694 NimStringDesc* compileOptions;
695 NimStringDesc* cCompilerPath;
696 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
697 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
698 NI suggestVersion;
699 NI suggestMaxResults;
700 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
701 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
702 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
703 NimStringDesc* cppCustomNamespace;
704 NimStringDesc* nimMainPrefix;
705 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
706 };
707 typedef NIM_BOOL tyArray__ghpD42BXWBF9atU69bA3FcvQ[4];
708 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
709 NI32 module;
710 NI32 symId;
711 NI32 typeId_0;
712 NIM_BOOL sealed;
713 };
714 typedef NimStringDesc* tyArray__JXkBzVsE9bvmcpuZvrueLVg[5];
715 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
716 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
717 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
718 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
719 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
720 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
721 union{
722 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
723 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
724 } _kind_1;
725 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
726 NI bitsize;
727 NI alignment;
728 } _kind_2;
729 };
730 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
731 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
732 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
733 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
734 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
735 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
736 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
737 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
738 NI position;
739 NI offset;
740 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
741 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
742 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
743 };
744 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
745 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
746 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
747 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
748 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
749 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
750 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
751 union{
752 struct {NI64 intVal;
753 } _kind_1;
754 struct {NF floatVal;
755 } _kind_2;
756 struct {NimStringDesc* strVal;
757 } _kind_3;
758 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
759 } _kind_4;
760 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
761 } _kind_5;
762 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
763 } _kind_6;
764 };
765 };
766 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
767 struct tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA {
768 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
769 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
770 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind;
771 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn;
772 tyObject_TType__facALICuu8zUj0hjvbTLFg* asgnForType;
773 NIM_BOOL recurse;
774 NIM_BOOL addMemReset;
775 NIM_BOOL canRaise;
776 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* filterDiscriminator;
777 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
778 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
779 };
780 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
781 RootObj Sup;
782 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
783 };
784 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
785 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
786 NI counter;
787 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
788 };
789 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
790 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
791 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
792 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
793 typedef struct {
794 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
795 void* ClE_0;
796 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
797 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
798 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__qlV9aWvA5wrWVg9bI5PqwJyA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
799 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
800 typedef struct {
801 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
802 void* ClE_0;
803 } tyProc__3cacbJ4la9bDJNibHybQSnA;
804 typedef struct {
805 N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, void* ClE_0);
806 void* ClE_0;
807 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
808 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, NI col);
809 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
810 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
811 NI counter;
812 };
813 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
814 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
815 NI counter;
816 };
817 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
818 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
819 NI counter;
820 };
821 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
822 tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
823 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
824 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
825 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
826 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
827 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
828 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
829 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
830 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
831 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
832 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
833 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
834 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
835 NI instCounter;
836 NI* templInstCounter;
837 NI inGenericContext;
838 NI inStaticContext;
839 NI inUnrolledContext;
840 NI compilesContextId;
841 NI compilesContextIdGenerator;
842 NI inGenericInst;
843 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
844 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
845 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
846 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
847 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
848 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
849 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
850 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
851 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
852 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
853 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
854 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
855 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
856 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
857 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
858 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
859 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
860 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
861 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
862 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
863 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
864 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
865 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
866 NI topStmts;
867 NI lastGenericIdx;
868 NI hloLoopDetector;
869 NI inParallelStmt;
870 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
871 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
872 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
873 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
874 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
875 NimStringDesc* recursiveDep;
876 NIM_BOOL suggestionsMade;
877 NIM_BOOL isAmbiguous;
878 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
879 NI inTypeContext;
880 NI inConceptDecl;
881 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
882 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
883 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
884 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
885 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
886 NI inUncheckedAssignSection;
887 };
888 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
889 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
890 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
891 NimStringDesc* Field0;
892 NI Field1;
893 NI Field2;
894 };
895 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
896 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
897 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
898 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
899 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
900 };
901 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
902 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__NbBRo5rVxVVQby3QsoZkZQ) (tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
903 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
904 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
905 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
906 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
907 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
908 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
909 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
910 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
911 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
912 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
913 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
914 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
915 };
916 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
917 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
918 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
919 };
920 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
921 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
922 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
923 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
924 };
925 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
926 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
927 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
928 };
929 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
930 NimStringDesc* definedSymbols;
931 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
932 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
933 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
934 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
935 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
936 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
937 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
938 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
939 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
940 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
941 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
942 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
943 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
944 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
945 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
946 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
947 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
948 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
949 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
950 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
951 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
952 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
953 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
954 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
955 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
956 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
957 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
958 };
959 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
960 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
961 NI counter;
962 };
963 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
964 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
965 NIM_BOOL symsInit;
966 NIM_BOOL typesInit;
967 NIM_BOOL loadedButAliveSetChanged;
968 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
969 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
970 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
971 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
972 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
973 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
974 };
975 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
976 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
977 NI counter;
978 };
979 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
980 NI32 thisModule;
981 NI32 lastFile;
982 NU32 lastLit;
983 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
984 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
985 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
986 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
987 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
988 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
989 };
990 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
991 NU32 module;
992 NI32 item;
993 };
994 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
995 NI module;
996 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
997 };
998 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
999 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1000 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
1001 };
1002 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
1003 NI Field0;
1004 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1005 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
1006 };
1007 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
1008 NI module;
1009 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
1010 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
1011 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1012 };
1013 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
1014 NI Field0;
1015 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1016 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
1017 };
1018 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
1019 NI Field0;
1020 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1021 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
1022 };
1023 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
1024 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1025 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1026 };
1027 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
1028 NI Field0;
1029 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
1030 };
1031 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
1032 NI Field0;
1033 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1034 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
1035 };
1036 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1037 NI Field0;
1038 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1039 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1040 };
1041 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1042 NI Field0;
1043 NimStringDesc* Field1;
1044 NI32 Field2;
1045 };
1046 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1047 NI Field0;
1048 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1049 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1050 };
1051 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1052 NI Field0;
1053 NI32 Field1;
1054 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1055 };
1056 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1057 NI Field0;
1058 NI32 Field1;
1059 NI32 Field2;
1060 };
1061 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1062 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1063 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1064 };
1065 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1066 NI Field0;
1067 NI Field1;
1068 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1069 };
1070 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1071 NI Field0;
1072 NimStringDesc* Field1;
1073 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1074 };
1075 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1076 NI Field0;
1077 NimStringDesc* Field1;
1078 NI64 Field2;
1079 };
1080 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1081 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1082 NI entries;
1083 };
1084 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1085 NI Field0;
1086 NimStringDesc* Field1;
1087 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1088 };
1089 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1090 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1091 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1092 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1093 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1094 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1095 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1096 NIM_BOOL Field3;
1097 };
1098 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1099 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1100 NimStringDesc* Field1;
1101 };
1102 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1103 NimStringDesc* fullPath;
1104 NimStringDesc* projPath;
1105 NimStringDesc* shortName;
1106 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1107 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1108 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1109 NimStringDesc* dirtyFile;
1110 NimStringDesc* hash;
1111 NIM_BOOL dirty;
1112 };
1113 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1114 NI Field0;
1115 NimStringDesc* Field1;
1116 };
1117 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1118 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1119 NimStringDesc* nimname;
1120 NimStringDesc* cname;
1121 NimStringDesc* obj;
1122 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1123 NimStringDesc* customArgs;
1124 };
1125 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
1126 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
1127 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
1128 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
1129 union{
1130 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
1131 } _mode_2;
1132 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
1133 } _mode_3;
1134 };
1135 };
1136 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
1137 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
1138 RootObj* val;
1139 };
1140 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
1141 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
1142 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1143 };
1144 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
1145 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1146 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
1147 };
1148 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
1149 NI Field0;
1150 NI Field1;
1151 };
1152 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
1153 NI Field0;
1154 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
1155 };
1156 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
1157 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1158 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1159 };
1160 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
1161 NI Field0;
1162 NI Field1;
1163 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
1164 };
1165 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1166 NU32 Field0;
1167 NimStringDesc* Field1;
1168 };
1169 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1170 NU16 line;
1171 NI16 col;
1172 NU32 file;
1173 };
1174 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1175 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1176 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1177 NI32 operand;
1178 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1179 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1180 };
1181 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1182 NU32 Field0;
1183 NI32 Field1;
1184 };
1185 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1186 NU32 Field0;
1187 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1188 };
1189 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1190 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1191 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1192 };
1193 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1194 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1195 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1196 };
1197 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1198 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1199 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1200 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1201 };
1202 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1203 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1204 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1205 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1206 };
1207 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1208 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1209 NI Field1;
1210 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1211 };
1212 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1213 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1214 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1215 NIM_BOOL generated;
1216 NIM_BOOL isOverriden;
1217 NU32 name;
1218 NI32 path;
1219 };
1220 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1221 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1222 NU32 name;
1223 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1224 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1225 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1226 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1227 NI32 ast;
1228 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1229 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1230 NI bitsize;
1231 NI alignment;
1232 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1233 NI position;
1234 NI offset;
1235 NU32 externalName;
1236 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1237 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1238 NI32 constraint;
1239 };
1240 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1241 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1242 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1243 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1244 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1245 NI32 n;
1246 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1247 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1248 NI64 size;
1249 NI16 align;
1250 NI16 paddingAtEnd;
1251 NI16 lockLevel;
1252 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1253 NI32 nonUniqueId;
1254 };
1255 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1256 NI Field0;
1257 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1258 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1259 };
1260 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1261 NI Field0;
1262 NI32 Field1;
1263 NU32 Field2;
1264 };
1265 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1266 TGenericSeq Sup;
1267 tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1268 };
1269 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1270 TGenericSeq Sup;
1271 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1272 };
1273 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1274 TGenericSeq Sup;
1275 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1276 };
1277 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1278 TGenericSeq Sup;
1279 tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1280 };
1281 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1282 TGenericSeq Sup;
1283 tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1284 };
1285 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1286 TGenericSeq Sup;
1287 tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1288 };
1289 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1290 TGenericSeq Sup;
1291 tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1292 };
1293 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1294 TGenericSeq Sup;
1295 tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1296 };
1297 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1298 TGenericSeq Sup;
1299 tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1300 };
1301 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1302 TGenericSeq Sup;
1303 tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1304 };
1305 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1306 TGenericSeq Sup;
1307 tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1308 };
1309 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1310 TGenericSeq Sup;
1311 tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1312 };
1313 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1314 TGenericSeq Sup;
1315 tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1316 };
1317 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1318 TGenericSeq Sup;
1319 tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1320 };
1321 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1322 TGenericSeq Sup;
1323 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1324 };
1325 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1326 TGenericSeq Sup;
1327 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1328 };
1329 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1330 TGenericSeq Sup;
1331 tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1332 };
1333 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1334 TGenericSeq Sup;
1335 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1336 };
1337 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1338 TGenericSeq Sup;
1339 NI32 data[SEQ_DECL_SIZE];
1340 };
1341 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1342 TGenericSeq Sup;
1343 tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1344 };
1345 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1346 TGenericSeq Sup;
1347 tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1348 };
1349 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1350 TGenericSeq Sup;
1351 tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1352 };
1353 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1354 TGenericSeq Sup;
1355 tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1356 };
1357 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1358 TGenericSeq Sup;
1359 tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1360 };
1361 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1362 TGenericSeq Sup;
1363 tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1364 };
1365 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1366 TGenericSeq Sup;
1367 tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1368 };
1369 struct tySequence__MAQKEADohlpnXTModtugbQ {
1370 TGenericSeq Sup;
1371 tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1372 };
1373 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1374 TGenericSeq Sup;
1375 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1376 };
1377 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1378 TGenericSeq Sup;
1379 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1380 };
1381 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1382 TGenericSeq Sup;
1383 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1384 };
1385 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1386 TGenericSeq Sup;
1387 NimStringDesc* data[SEQ_DECL_SIZE];
1388 };
1389 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1390 TGenericSeq Sup;
1391 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1392 };
1393 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1394 TGenericSeq Sup;
1395 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1396 };
1397 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1398 TGenericSeq Sup;
1399 tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1400 };
1401 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1402 TGenericSeq Sup;
1403 tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1404 };
1405 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1406 TGenericSeq Sup;
1407 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1408 };
1409 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1410 TGenericSeq Sup;
1411 tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1412 };
1413 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1414 TGenericSeq Sup;
1415 tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1416 };
1417 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1418 TGenericSeq Sup;
1419 tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1420 };
1421 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1422 TGenericSeq Sup;
1423 tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1424 };
1425 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1426 TGenericSeq Sup;
1427 tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1428 };
1429 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1430 TGenericSeq Sup;
1431 tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1432 };
1433 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1434 TGenericSeq Sup;
1435 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1436 };
1437 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1438 TGenericSeq Sup;
1439 tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1440 };
1441 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1442 TGenericSeq Sup;
1443 NU32 data[SEQ_DECL_SIZE];
1444 };
1445 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1446 TGenericSeq Sup;
1447 tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1448 };
1449 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1450 TGenericSeq Sup;
1451 tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1452 };
1453 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1454 TGenericSeq Sup;
1455 tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1456 };
1457 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1458 TGenericSeq Sup;
1459 tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1460 };
1461 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1462 TGenericSeq Sup;
1463 tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1464 };
1465 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1466 TGenericSeq Sup;
1467 tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1468 };
1469 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1470 TGenericSeq Sup;
1471 tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1472 };
1473 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1474 TGenericSeq Sup;
1475 tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1476 };
1477 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1478 TGenericSeq Sup;
1479 tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1480 };
1481 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1482 TGenericSeq Sup;
1483 tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1484 };
1485 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1486 TGenericSeq Sup;
1487 NI64 data[SEQ_DECL_SIZE];
1488 };
1489 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1490 TGenericSeq Sup;
1491 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1492 };
1493 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1494 TGenericSeq Sup;
1495 tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1496 };
1497 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1498 TGenericSeq Sup;
1499 tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1500 };
1501 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1502 TGenericSeq Sup;
1503 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1504 };
1505 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1506 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3617)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1507 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1508 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1509 N_LIB_PRIVATE N_NIMCALL(void, hashType__sighashes_462)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g flags, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
1510 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getOrDefault__liftdestructors_976)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
1511 static N_INLINE(NI, rawGet__liftdestructors_985)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
1512 N_LIB_PRIVATE N_NIMCALL(NI, hash__modulegraphs_8963)(tyArray__qtqsWM5aXmcpMIVmvq3kAA u);
1513 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1514 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___modulegraphs_8959)(tyArray__qtqsWM5aXmcpMIVmvq3kAA a, tyArray__qtqsWM5aXmcpMIVmvq3kAA b);
1515 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1516 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___liftdestructors_2260)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val);
1517 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
1518 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_177)(NI x);
1519 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1520 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1521 static N_INLINE(void, asgnRef)(void** dest, void* src);
1522 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1523 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1524 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr);
1525 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1526 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1527 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1528 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1529 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5256)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1530 static N_INLINE(NIM_BOOL, mustRehash__liftdestructors_2433)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t);
1531 N_LIB_PRIVATE N_NIMCALL(void, enlarge__liftdestructors_2586)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw* t);
1532 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__liftdestructors_2890)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw* t, tySequence__1U9bG8RcAedEeYkQLZjVFKA** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val, NI hc, NI h);
1533 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1534 static N_INLINE(NI, rawGetKnownHC__liftdestructors_3059)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
1535 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
1536 N_LIB_PRIVATE N_NIMCALL(void, setAttachedOp__modulegraphs_4407)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
1537 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symPrototype__liftdestructors_1862)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1538 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
1539 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSym__ast_3445)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
1540 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1541 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1542 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeVarType__semdata_775)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1543 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1544 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newProcType__ast_5056)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1545 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1546 N_LIB_PRIVATE N_NIMCALL(void, addParam__ast_5065)(tyObject_TType__facALICuu8zUj0hjvbTLFg* procType, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param);
1547 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_1366)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1548 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycle__types_762)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1549 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1550 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1551 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1552 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1553 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1554 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, produceSym__liftdestructors_40)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1555 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, produceSymDistinctType__liftdestructors_1841)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1556 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1557 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1558 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1559 N_LIB_PRIVATE N_NIMCALL(void, setAttachedOpPartial__modulegraphs_5577)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
1560 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, destructorOverriden__liftdestructors_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1561 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newOpCall__liftdestructors_516)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1562 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newAsgnStmt__liftdestructors_107)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1563 N_LIB_PRIVATE N_NIMCALL(void, fillSeqOp__liftdestructors_858)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1564 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setLenSeqCall__liftdestructors_815)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1565 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genBuiltin__liftdestructors_128)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic, NimStringDesc* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i);
1566 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genBuiltin__liftdestructors_113)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic, NimStringDesc* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i);
1567 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, createMagic__modulegraphs_9008)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1568 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysMagic__magicsys_29)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1569 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instantiateGeneric__liftdestructors_570)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst);
1570 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
1571 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1572 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1573 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1574 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1575 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1576 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1577 N_LIB_PRIVATE N_NIMCALL(void, forallElements__liftdestructors_823)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, declareCounter__liftdestructors_752)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, NI64 first);
1579 N_LIB_PRIVATE N_NIMCALL(void, addVar__lowerings_75)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
1580 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntLit__lowerings_695)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI64 value);
1581 N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_88)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
1582 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1583 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genWhileLoop__liftdestructors_171)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1584 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genLen__lowerings_710)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1585 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, at__liftdestructors_53)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i, tyObject_TType__facALICuu8zUj0hjvbTLFg* elemType);
1586 N_LIB_PRIVATE N_NIMCALL(void, fillBody__liftdestructors_34)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1587 N_LIB_PRIVATE N_NIMCALL(void, defaultOp__liftdestructors_134)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1588 N_LIB_PRIVATE N_NIMCALL(void, atomicRefOp__liftdestructors_1376)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1589 N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__liftdestructors_47)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* orig, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1590 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, declareTempOf__liftdestructors_767)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
1591 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal__types_750)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1592 N_LIB_PRIVATE N_NIMCALL(void, addDestructorCall__liftdestructors_661)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* orig, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1593 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1594 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1595 static N_INLINE(NIM_BOOL, useNoGc__liftdestructors_546)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1596 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, usesBuiltinArc__liftdestructors_540)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1597 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__types_470)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__NbBRo5rVxVVQby3QsoZkZQ predicate);
1598 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__liftdestructors_543)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1599 static N_INLINE(NIM_BOOL, isGCedMem__ast_4203)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1600 static N_INLINE(NIM_BOOL, requiresDestructor__liftdestructors_562)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1601 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGarbageCollectedRef__types_612)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1602 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
1603 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, destructorCall__liftdestructors_233)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1604 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genAddr__liftdestructors_158)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1605 N_LIB_PRIVATE N_NIMCALL(void, checkSonsLen__semdata_1077)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI length, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1606 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1607 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDeref__lowerings_626)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k);
1608 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, callCodegenProc__lowerings_635)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg1, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg2, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg3, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* optionalArgs);
1609 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genIf__liftdestructors_183)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* action);
1610 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getCycleParam__liftdestructors_435)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c);
1611 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1612 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1613 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, boolLit__liftdestructors_427)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NIM_BOOL value);
1614 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genAddrOf__lowerings_620)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag typeKind);
1615 N_LIB_PRIVATE N_NIMCALL(void, weakrefOp__liftdestructors_1540)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1616 N_LIB_PRIVATE N_NIMCALL(void, insert__liftdestructors_1579)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* item, NI i);
1617 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1618 N_LIB_PRIVATE N_NIMCALL(void, atomicClosureOp__liftdestructors_1464)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1619 N_LIB_PRIVATE N_NIMCALL(void, closureOp__liftdestructors_1655)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1620 N_LIB_PRIVATE N_NIMCALL(void, ownedRefOp__liftdestructors_1620)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1621 N_LIB_PRIVATE N_NIMCALL(void, ownedClosureOp__liftdestructors_1722)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1622 N_LIB_PRIVATE N_NIMCALL(void, useSeqOrStrOp__liftdestructors_894)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1623 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newHookCall__liftdestructors_461)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1624 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1625 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, considerUserDefinedOp__liftdestructors_710)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1626 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, considerAsgnOrSink__liftdestructors_586)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** field);
1627 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1628 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeepCopyCall__liftdestructors_534)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1629 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSeqCall__liftdestructors_795)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1630 N_LIB_PRIVATE N_NIMCALL(void, fillBodyObjT__liftdestructors_375)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1631 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCaseObj__trees_158)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1632 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ccgIntroducedPtr__ccgutils_153)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* retType);
1633 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTreeIT__ast_3431)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1634 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__semdata_737)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1635 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTreeI__ast_3420)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1636 N_LIB_PRIVATE N_NIMCALL(void, fillBodyObjTImpl__liftdestructors_360)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1637 N_LIB_PRIVATE N_NIMCALL(void, fillBodyObj__liftdestructors_252)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, NIM_BOOL enforceDefaultOp);
1638 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotField__liftdestructors_96)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f);
1639 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1640 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1641 N_LIB_PRIVATE N_NIMCALL(void, illFormedAstLocal__semdata_1074)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1642 N_LIB_PRIVATE N_NIMCALL(void, fillBodyTup__liftdestructors_73)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1643 N_LIB_PRIVATE N_NIMCALL(void, addIncStmt__liftdestructors_782)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i);
1644 N_LIB_PRIVATE N_NIMCALL(void, fillStrOp__liftdestructors_1330)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1645 static N_INLINE(NIM_BOOL, lacksMTypeField__types_4105)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1646 N_LIB_PRIVATE N_NIMCALL(void, genTypeFieldCopy__liftdestructors_1915)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
1647 N_LIB_PRIVATE N_NIMCALL(void, completePartialOp__modulegraphs_5629)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
1648 N_LIB_PRIVATE N_NIMCALL(void, inst__liftdestructors_2075)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1649 N_LIB_PRIVATE N_NIMCALL(void, patchBody__liftdestructors_2038)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1650 static N_INLINE(NIM_BOOL, isTrival__liftdestructors_2101)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1651 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genContainerOf__liftdestructors_188)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* objType, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x);
1652 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__qGuGEzVTCUVhav67HrOxdQ_2 = {
1653 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1654 0x00}
1655 ;
1656 extern TNimType NTIkeyvaluepairseq__1U9bG8RcAedEeYkQLZjVFKA_;
1657 extern NIM_CONST tyArray__JXkBzVsE9bvmcpuZvrueLVg AttachedOpToStr__ast_3848;
1658 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_3, "dest", 4);
1659 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_4, "env", 3);
1660 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_5, "src", 3);
1661 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__qGuGEzVTCUVhav67HrOxdQ_6 = {
1662 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1663 0x00}
1664 ;
1665 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_7, "cyclic", 6);
1666 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__qGuGEzVTCUVhav67HrOxdQ_8 = {
1667 0x10, 0x88, 0x10, 0x00, 0x00, 0x40, 0x80, 0x10,
1668 0x00}
1669 ;
1670 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_9, "len", 3);
1671 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_10, "setLen", 6);
1672 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_11, "cannot generate destructor for generic type: ", 45);
1673 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_13, "/home/runner/work/nightlies/nightlies/nim/compiler/liftdestructors.nim", 70);
1674 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qGuGEzVTCUVhav67HrOxdQ_12 = {((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_13),
1675 ((NI) 328),
1676 ((NI) 14)}
1677 ;
1678 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_14, ":tmp", 4);
1679 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_15, "<", 1);
1680 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_16, "default", 7);
1681 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__qGuGEzVTCUVhav67HrOxdQ_17 = {
1682 0x10, 0x89, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1683 0x00}
1684 ;
1685 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_18, "liftdestructors.nim(392, 14) `op != nil` ", 41);
1686 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_19, "liftdestructors.nim(393, 14) `op == t.destructor` ", 50);
1687 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_20, "wasMoved", 8);
1688 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_21, "type-bound operator could not be resolved", 41);
1689 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qGuGEzVTCUVhav67HrOxdQ_22 = {((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_13),
1690 ((NI) 400),
1691 ((NI) 17)}
1692 ;
1693 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_23, "alignof", 7);
1694 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_24, "nimRawDispose", 13);
1695 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_25, "nimDestroyAndDispose", 20);
1696 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_26, "getTypeInfoV2", 13);
1697 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_27, "nimDecRefIsLastCyclicStatic", 27);
1698 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_28, "nimDecRefIsLastCyclicDyn", 24);
1699 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_29, "nimDecRefIsLast", 15);
1700 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_30, "nimIncRefCyclic", 15);
1701 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_31, "nimIncRef", 9);
1702 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_32, "nimTraceRef", 11);
1703 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_33, "nimTraceRefDyn", 14);
1704 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_34, "nimDecWeakRef", 13);
1705 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1706 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_35, "accessEnv", 9);
1707 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_36, "deepCopy", 8);
1708 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__qGuGEzVTCUVhav67HrOxdQ_37 = {
1709 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1710 0x00}
1711 ;
1712 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_38, "move", 4);
1713 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_39, "liftdestructors.nim(542, 14) `t.destructor != nil` ", 51);
1714 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_40, "liftdestructors.nim(550, 14) `t.destructor != nil` ", 51);
1715 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_41, "newSeq", 6);
1716 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__qGuGEzVTCUVhav67HrOxdQ_42 = {
1717 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1718 0x00}
1719 ;
1720 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_43, "==", 2);
1721 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_44, "liftdestructors.nim(897, 38) `false` ", 37);
1722 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_45, "inc", 3);
1723 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_46, "liftdestructors.nim(510, 14) `t.destructor != nil` ", 51);
1724 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_47, "destroy", 7);
1725 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_48, "nimAsgnStrV2", 12);
1726 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_49, "liftdestructors.nim(566, 14) `t.destructor != nil` ", 51);
1727 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_50, "accessTypeField", 15);
1728 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__qGuGEzVTCUVhav67HrOxdQ_51 = {
1729 0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
1730 0x00}
1731 ;
1732 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_52, "resolved destructor is generic", 30);
1733 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qGuGEzVTCUVhav67HrOxdQ_53 = {((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_13),
1734 ((NI) 1033),
1735 ((NI) 23)}
1736 ;
1737 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_54, "patching mDestroy with mDestroy\?", 32);
1738 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qGuGEzVTCUVhav67HrOxdQ_55 = {((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_13),
1739 ((NI) 1035),
1740 ((NI) 23)}
1741 ;
1742 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_56, "unresolved generic parameter", 28);
1743 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qGuGEzVTCUVhav67HrOxdQ_57 = {((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_13),
1744 ((NI) 1056),
1745 ((NI) 16)}
1746 ;
1747 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1748 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_58, "offsetof", 8);
1749 STRING_LITERAL(TM__qGuGEzVTCUVhav67HrOxdQ_59, "-", 1);
1750 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5209;
N_INLINE(void,nimSetMem__systemZmemory_7)1751 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1752 void* T1_;
1753 T1_ = (void*)0;
1754 T1_ = memset(a, v, ((size_t) (size)));
1755 }
N_INLINE(void,nimZeroMem)1756 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1757 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1758 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1759 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1760 NIM_BOOL result;
1761 result = (NIM_BOOL)0;
1762 result = !((hcode == ((NI) 0)));
1763 return result;
1764 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1765 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1766 NI result;
1767 result = (NI)0;
1768 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1769 return result;
1770 }
N_INLINE(NI,rawGet__liftdestructors_985)1771 static N_INLINE(NI, rawGet__liftdestructors_985)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
1772 NI result;
1773 NI h;
1774 NI T10_;
1775 { result = (NI)0;
1776 (*hc) = hash__modulegraphs_8963(key);
1777 {
1778 if (!((*hc) == ((NI) 0))) goto LA3_;
1779 (*hc) = ((NI) 314159265);
1780 }
1781 LA3_: ;
1782 {
1783 NI T7_;
1784 T7_ = (t.data ? t.data->Sup.len : 0);
1785 if (!(T7_ == ((NI) 0))) goto LA8_;
1786 result = ((NI) -1);
1787 goto BeforeRet_;
1788 }
1789 LA8_: ;
1790 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1791 h = (NI)((*hc) & T10_);
1792 {
1793 while (1) {
1794 NIM_BOOL T13_;
1795 NI T20_;
1796 T13_ = (NIM_BOOL)0;
1797 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1798 if (!T13_) goto LA12;
1799 {
1800 NIM_BOOL T16_;
1801 T16_ = (NIM_BOOL)0;
1802 T16_ = (t.data->data[h].Field0 == (*hc));
1803 if (!(T16_)) goto LA17_;
1804 T16_ = eqeq___modulegraphs_8959(t.data->data[h].Field1, key);
1805 LA17_: ;
1806 if (!T16_) goto LA18_;
1807 result = h;
1808 goto BeforeRet_;
1809 }
1810 LA18_: ;
1811 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1812 h = nextTry__pureZcollectionsZtables_34(h, T20_);
1813 } LA12: ;
1814 }
1815 result = (NI)(((NI) -1) - h);
1816 }BeforeRet_: ;
1817 return result;
1818 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getOrDefault__liftdestructors_976)1819 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getOrDefault__liftdestructors_976)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
1820 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1821 NI hcX60gensym113_;
1822 NI indexX60gensym113_;
1823 result = NIM_NIL;
1824 hcX60gensym113_ = (NI)0;
1825 indexX60gensym113_ = rawGet__liftdestructors_985(t, key, (&hcX60gensym113_));
1826 {
1827 if (!(((NI) 0) <= indexX60gensym113_)) goto LA3_;
1828 result = t.data->data[indexX60gensym113_].Field2;
1829 }
1830 LA3_: ;
1831 return result;
1832 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1833 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1834 NI result;
1835 result = (NI)0;
1836 result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1837 return result;
1838 }
N_INLINE(NI,pluspercent___system_696)1839 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1840 NI result;
1841 result = (NI)0;
1842 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1843 return result;
1844 }
N_INLINE(void,incRef__system_5300)1845 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1846 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1847 }
N_INLINE(NI,minuspercent___system_716)1848 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1849 NI result;
1850 result = (NI)0;
1851 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1852 return result;
1853 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5262)1854 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr) {
1855 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1856 NI T1_;
1857 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1858 T1_ = (NI)0;
1859 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1860 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1861 return result;
1862 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1863 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1864 NIM_BOOL result;
1865 result = (NIM_BOOL)0;
1866 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1867 return result;
1868 }
N_INLINE(void,rtlAddZCT__system_5305)1869 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1870 addZCT__system_5256((&gch__system_5209.zct), c);
1871 }
N_INLINE(void,decRef__system_5307)1872 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1873 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1874 {
1875 NIM_BOOL T3_;
1876 T3_ = (NIM_BOOL)0;
1877 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1878 if (!T3_) goto LA4_;
1879 rtlAddZCT__system_5305(c);
1880 }
1881 LA4_: ;
1882 }
N_INLINE(void,asgnRef)1883 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1884 {
1885 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1886 if (!!((src == NIM_NIL))) goto LA3_;
1887 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1888 T5_ = usrToCell__system_5262(src);
1889 incRef__system_5300(T5_);
1890 }
1891 LA3_: ;
1892 {
1893 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1894 if (!!(((*dest) == NIM_NIL))) goto LA8_;
1895 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1896 T10_ = usrToCell__system_5262((*dest));
1897 decRef__system_5307(T10_);
1898 }
1899 LA8_: ;
1900 (*dest) = src;
1901 }
N_INLINE(NIM_BOOL,mustRehash__liftdestructors_2433)1902 static N_INLINE(NIM_BOOL, mustRehash__liftdestructors_2433)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t) {
1903 NIM_BOOL result;
1904 NIM_BOOL T1_;
1905 NI T2_;
1906 NI T4_;
1907 result = (NIM_BOOL)0;
1908 T1_ = (NIM_BOOL)0;
1909 T2_ = (t.data ? t.data->Sup.len : 0);
1910 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1911 if (T1_) goto LA3_;
1912 T4_ = (t.data ? t.data->Sup.len : 0);
1913 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1914 LA3_: ;
1915 result = T1_;
1916 return result;
1917 }
N_INLINE(void,nimCopyMem)1918 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
1919 void* T1_;
1920 T1_ = (void*)0;
1921 T1_ = memcpy(dest, source, ((size_t) (size)));
1922 }
N_NIMCALL(void,rawInsert__liftdestructors_2890)1923 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__liftdestructors_2890)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw* t, tySequence__1U9bG8RcAedEeYkQLZjVFKA** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val, NI hc, NI h) {
1924 nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
1925 asgnRef((void**) (&(*data)->data[h].Field2), val);
1926 (*data)->data[h].Field0 = hc;
1927 }
N_NIMCALL(void,enlarge__liftdestructors_2586)1928 N_LIB_PRIVATE N_NIMCALL(void, enlarge__liftdestructors_2586)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw* t) {
1929 tySequence__1U9bG8RcAedEeYkQLZjVFKA* n;
1930 NI T1_;
1931 tySequence__1U9bG8RcAedEeYkQLZjVFKA* T2_;
1932 n = NIM_NIL;
1933 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1934 n = (tySequence__1U9bG8RcAedEeYkQLZjVFKA*) newSeq((&NTIkeyvaluepairseq__1U9bG8RcAedEeYkQLZjVFKA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1935 T2_ = NIM_NIL;
1936 T2_ = (*t).data;
1937 unsureAsgnRef((void**) (&(*t).data), n);
1938 n = T2_;
1939 {
1940 NI i;
1941 NI colontmp_;
1942 NI T4_;
1943 NI res;
1944 i = (NI)0;
1945 colontmp_ = (NI)0;
1946 T4_ = ((n ? n->Sup.len : 0)-1);
1947 colontmp_ = T4_;
1948 res = ((NI) 0);
1949 {
1950 while (1) {
1951 NI eh;
1952 if (!(res <= colontmp_)) goto LA6;
1953 i = res;
1954 eh = n->data[i].Field0;
1955 {
1956 NIM_BOOL T9_;
1957 NI j;
1958 NI T12_;
1959 tyArray__qtqsWM5aXmcpMIVmvq3kAA T17_;
1960 tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
1961 T9_ = (NIM_BOOL)0;
1962 T9_ = isFilled__pureZcollectionsZtables_31(eh);
1963 if (!T9_) goto LA10_;
1964 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1965 j = (NI)(eh & T12_);
1966 {
1967 while (1) {
1968 NIM_BOOL T15_;
1969 NI T16_;
1970 T15_ = (NIM_BOOL)0;
1971 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1972 if (!T15_) goto LA14;
1973 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1974 j = nextTry__pureZcollectionsZtables_34(j, T16_);
1975 } LA14: ;
1976 }
1977 nimCopyMem((void*)T17_, (NIM_CONST void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
1978 nimZeroMem((void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
1979 T18_ = NIM_NIL;
1980 T18_ = n->data[i].Field2;
1981 asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
1982 rawInsert__liftdestructors_2890(t, (&(*t).data), T17_, T18_, eh, j);
1983 }
1984 LA10_: ;
1985 res += ((NI) 1);
1986 } LA6: ;
1987 }
1988 }
1989 }
N_INLINE(NI,rawGetKnownHC__liftdestructors_3059)1990 static N_INLINE(NI, rawGetKnownHC__liftdestructors_3059)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
1991 NI result;
1992 NI h;
1993 NI T6_;
1994 { result = (NI)0;
1995 {
1996 NI T3_;
1997 T3_ = (t.data ? t.data->Sup.len : 0);
1998 if (!(T3_ == ((NI) 0))) goto LA4_;
1999 result = ((NI) -1);
2000 goto BeforeRet_;
2001 }
2002 LA4_: ;
2003 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2004 h = (NI)(hc & T6_);
2005 {
2006 while (1) {
2007 NIM_BOOL T9_;
2008 NI T16_;
2009 T9_ = (NIM_BOOL)0;
2010 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2011 if (!T9_) goto LA8;
2012 {
2013 NIM_BOOL T12_;
2014 T12_ = (NIM_BOOL)0;
2015 T12_ = (t.data->data[h].Field0 == hc);
2016 if (!(T12_)) goto LA13_;
2017 T12_ = eqeq___modulegraphs_8959(t.data->data[h].Field1, key);
2018 LA13_: ;
2019 if (!T12_) goto LA14_;
2020 result = h;
2021 goto BeforeRet_;
2022 }
2023 LA14_: ;
2024 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2025 h = nextTry__pureZcollectionsZtables_34(h, T16_);
2026 } LA8: ;
2027 }
2028 result = (NI)(((NI) -1) - h);
2029 }BeforeRet_: ;
2030 return result;
2031 }
N_NIMCALL(void,X5BX5Deq___liftdestructors_2260)2032 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___liftdestructors_2260)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val) {
2033 NI hc;
2034 NI index;
2035 {
2036 NI T3_;
2037 NI correctSizeX60gensym218_;
2038 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
2039 if (!(T3_ == ((NI) 0))) goto LA4_;
2040 correctSizeX60gensym218_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2041 (*t).counter = ((NI) 0);
2042 unsureAsgnRef((void**) (&(*t).data), (tySequence__1U9bG8RcAedEeYkQLZjVFKA*) newSeq((&NTIkeyvaluepairseq__1U9bG8RcAedEeYkQLZjVFKA_), ((NI) (correctSizeX60gensym218_))));
2043 }
2044 LA4_: ;
2045 hc = (NI)0;
2046 index = rawGet__liftdestructors_985((*t), key, (&hc));
2047 {
2048 if (!(((NI) 0) <= index)) goto LA8_;
2049 asgnRef((void**) (&(*t).data->data[index].Field2), val);
2050 }
2051 goto LA6_;
2052 LA8_: ;
2053 {
2054 {
2055 NI T13_;
2056 NI correctSizeX60gensym221_;
2057 T13_ = ((*t).data ? (*t).data->Sup.len : 0);
2058 if (!(T13_ == ((NI) 0))) goto LA14_;
2059 correctSizeX60gensym221_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2060 (*t).counter = ((NI) 0);
2061 unsureAsgnRef((void**) (&(*t).data), (tySequence__1U9bG8RcAedEeYkQLZjVFKA*) newSeq((&NTIkeyvaluepairseq__1U9bG8RcAedEeYkQLZjVFKA_), ((NI) (correctSizeX60gensym221_))));
2062 }
2063 LA14_: ;
2064 {
2065 NIM_BOOL T18_;
2066 T18_ = (NIM_BOOL)0;
2067 T18_ = mustRehash__liftdestructors_2433((*t));
2068 if (!T18_) goto LA19_;
2069 enlarge__liftdestructors_2586(t);
2070 index = rawGetKnownHC__liftdestructors_3059((*t), key, hc);
2071 }
2072 LA19_: ;
2073 index = (NI)(((NI) -1) - index);
2074 rawInsert__liftdestructors_2890(t, (&(*t).data), key, val, hc, index);
2075 (*t).counter += ((NI) 1);
2076 }
2077 LA6_: ;
2078 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)2079 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
2080 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
2081 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2082 (*x).symId += ((NI) 1);
2083 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2084 result.module = (*x).module;
2085 result.item = (*x).symId;
2086 return result;
2087 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)2088 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
2089 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
2090 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2091 (*x).typeId_0 += ((NI) 1);
2092 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2093 result.module = (*x).module;
2094 result.item = (*x).typeId_0;
2095 return result;
2096 }
N_NIMCALL(NIM_BOOL,cyclicType__liftdestructors_1366)2097 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_1366)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2098 NIM_BOOL result;
2099 result = (NIM_BOOL)0;
2100 switch ((*t).kind) {
2101 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2102 {
2103 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
2104 T2_ = NIM_NIL;
2105 T2_ = lastSon__ast_3743(t);
2106 result = canFormAcycle__types_762(T2_);
2107 }
2108 break;
2109 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
2110 {
2111 result = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
2112 }
2113 break;
2114 default:
2115 {
2116 result = NIM_FALSE;
2117 }
2118 break;
2119 }
2120 return result;
2121 }
N_INLINE(NI,len__ast_3198)2122 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2123 NI result;
2124 NI T1_;
2125 result = (NI)0;
2126 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2127 result = T1_;
2128 return result;
2129 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symPrototype__liftdestructors_1862)2130 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symPrototype__liftdestructors_1862)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
2131 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2132 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* procname;
2133 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
2134 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dest;
2135 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T2_;
2136 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T3_;
2137 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* src;
2138 NimStringDesc* T4_;
2139 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T10_;
2140 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T11_;
2141 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
2142 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
2143 result = NIM_NIL;
2144 procname = getIdent__idents_143((*g).cache, AttachedOpToStr__ast_3848[(kind)- 0]);
2145 T1_ = nextSymId__ast_3132(idgen);
2146 result = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), procname, T1_, owner, info, 0);
2147 T2_ = NIM_NIL;
2148 T2_ = getIdent__idents_143((*g).cache, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_3));
2149 T3_ = nextSymId__ast_3132(idgen);
2150 dest = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), T2_, T3_, result, info, 0);
2151 T4_ = NIM_NIL;
2152 {
2153 if (!(kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA7_;
2154 T4_ = copyString(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_4));
2155 }
2156 goto LA5_;
2157 LA7_: ;
2158 {
2159 T4_ = copyString(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_5));
2160 }
2161 LA5_: ;
2162 T10_ = NIM_NIL;
2163 T10_ = getIdent__idents_143((*g).cache, T4_);
2164 T11_ = nextSymId__ast_3132(idgen);
2165 src = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), T10_, T11_, result, info, 0);
2166 asgnRef((void**) (&(*dest).typ), makeVarType__semdata_775((*typ).owner, typ, idgen, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
2167 {
2168 if (!(kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA14_;
2169 asgnRef((void**) (&(*src).typ), getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
2170 }
2171 goto LA12_;
2172 LA14_: ;
2173 {
2174 asgnRef((void**) (&(*src).typ), typ);
2175 }
2176 LA12_: ;
2177 T17_ = nextTypeId__ast_3151(idgen);
2178 asgnRef((void**) (&(*result).typ), newProcType__ast_5056(info, T17_, owner));
2179 addParam__ast_5065((*result).typ, dest);
2180 {
2181 if (!!((kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0)))) goto LA20_;
2182 addParam__ast_5065((*result).typ, src);
2183 }
2184 LA20_: ;
2185 {
2186 NIM_BOOL T24_;
2187 NIM_BOOL T25_;
2188 tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
2189 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* cycleParam;
2190 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T31_;
2191 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T32_;
2192 T24_ = (NIM_BOOL)0;
2193 T25_ = (NIM_BOOL)0;
2194 T25_ = (kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1));
2195 if (!(T25_)) goto LA26_;
2196 T25_ = ((*(*g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5));
2197 LA26_: ;
2198 T24_ = T25_;
2199 if (!(T24_)) goto LA27_;
2200 T28_ = NIM_NIL;
2201 T28_ = skipTypes__ast_3735(typ, TM__qGuGEzVTCUVhav67HrOxdQ_6);
2202 T24_ = cyclicType__liftdestructors_1366(T28_);
2203 LA27_: ;
2204 if (!T24_) goto LA29_;
2205 T31_ = NIM_NIL;
2206 T31_ = getIdent__idents_143((*g).cache, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_7));
2207 T32_ = nextSymId__ast_3132(idgen);
2208 cycleParam = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), T31_, T32_, result, info, 0);
2209 asgnRef((void**) (&(*cycleParam).typ), getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
2210 addParam__ast_5065((*result).typ, cycleParam);
2211 }
2212 LA29_: ;
2213 n = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79), info, ((NI) 7));
2214 {
2215 NI i;
2216 NI colontmp_;
2217 NI i_2;
2218 i = (NI)0;
2219 colontmp_ = (NI)0;
2220 colontmp_ = len__ast_3198(n);
2221 i_2 = ((NI) 0);
2222 {
2223 while (1) {
2224 if (!(i_2 < colontmp_)) goto LA35;
2225 i = i_2;
2226 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info));
2227 i_2 += ((NI) 1);
2228 } LA35: ;
2229 }
2230 }
2231 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(result));
2232 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), (*(*result).typ).n);
2233 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), info));
2234 asgnRef((void**) (&(*result).ast), n);
2235 (*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
2236 (*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 39)) & 63);
2237 return result;
2238 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,produceSymDistinctType__liftdestructors_1841)2239 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, produceSymDistinctType__liftdestructors_1841)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
2240 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2241 tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
2242 result = NIM_NIL;
2243 baseType = (*typ).sons->data[((NI) 0)];
2244 {
2245 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
2246 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
2247 T3_ = NIM_NIL;
2248 T3_ = getAttachedOp__modulegraphs_4011(g, baseType, kind);
2249 if (!(T3_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
2250 T6_ = NIM_NIL;
2251 T6_ = produceSym__liftdestructors_40(g, c, baseType, kind, info, idgen);
2252 (void)(T6_);
2253 }
2254 LA4_: ;
2255 result = getAttachedOp__modulegraphs_4011(g, baseType, kind);
2256 setAttachedOp__modulegraphs_4407(g, ((NI) ((*idgen).module)), typ, kind, result);
2257 return result;
2258 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDeref__lowerings_11)2259 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2260 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2261 result = NIM_NIL;
2262 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*(*n).typ).sons->data[((NI) 0)]);
2263 add__ast_4797(result, n);
2264 return result;
2265 }
N_NIMCALL(NIM_BOOL,destructorOverriden__liftdestructors_60)2266 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, destructorOverriden__liftdestructors_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2267 NIM_BOOL result;
2268 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
2269 NIM_BOOL T1_;
2270 result = (NIM_BOOL)0;
2271 op = getAttachedOp__modulegraphs_4011(g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
2272 T1_ = (NIM_BOOL)0;
2273 T1_ = !((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2274 if (!(T1_)) goto LA2_;
2275 T1_ = (((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
2276 LA2_: ;
2277 result = T1_;
2278 return result;
2279 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newOpCall__liftdestructors_516)2280 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newOpCall__liftdestructors_516)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
2281 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2282 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
2283 result = NIM_NIL;
2284 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*x).info, (*(*op).typ).sons->data[((NI) 0)]);
2285 T1_ = NIM_NIL;
2286 T1_ = newSymNode__ast_3716(op);
2287 add__ast_4797(result, T1_);
2288 add__ast_4797(result, x);
2289 {
2290 if (!!((((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 43))&63U)))!=0))) goto LA4_;
2291 (*c).canRaise = NIM_TRUE;
2292 }
2293 LA4_: ;
2294 return result;
2295 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newAsgnStmt__liftdestructors_107)2296 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newAsgnStmt__liftdestructors_107)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
2297 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2298 result = NIM_NIL;
2299 result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*le).info, ((NI) 2));
2300 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), le);
2301 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), ri);
2302 return result;
2303 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genBuiltin__liftdestructors_113)2304 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genBuiltin__liftdestructors_113)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic, NimStringDesc* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i) {
2305 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2306 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
2307 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
2308 result = NIM_NIL;
2309 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*i).info);
2310 T1_ = NIM_NIL;
2311 T1_ = createMagic__modulegraphs_9008(g, idgen, name, magic);
2312 T2_ = NIM_NIL;
2313 T2_ = newSymNode__ast_3716(T1_);
2314 add__ast_4797(result, T2_);
2315 add__ast_4797(result, i);
2316 return result;
2317 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genBuiltin__liftdestructors_128)2318 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genBuiltin__liftdestructors_128)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic, NimStringDesc* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i) {
2319 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2320 result = NIM_NIL;
2321 result = genBuiltin__liftdestructors_113((*c).g, (*c).idgen, magic, name, i);
2322 return result;
2323 }
N_INLINE(void,copyMem__system_1727)2324 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2325 nimCopyMem(dest, source, size);
2326 }
N_INLINE(void,appendString)2327 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2328 {
2329 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2330 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2331 (*dest).Sup.len += (*src).Sup.len;
2332 }
2333 LA3_: ;
2334 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,instantiateGeneric__liftdestructors_570)2335 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instantiateGeneric__liftdestructors_570)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst) {
2336 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2337 result = NIM_NIL;
2338 {
2339 NIM_BOOL T3_;
2340 T3_ = (NIM_BOOL)0;
2341 T3_ = !(((*c).c == ((tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*) NIM_NIL)));
2342 if (!(T3_)) goto LA4_;
2343 T3_ = !((typeInst == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2344 LA4_: ;
2345 if (!T3_) goto LA5_;
2346 result = (*(*c).c).instTypeBoundOp((*c).c, op, typeInst, (*c).info, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1), ((NI) 1));
2347 }
2348 goto LA1_;
2349 LA5_: ;
2350 {
2351 NimStringDesc* T8_;
2352 NimStringDesc* T9_;
2353 T8_ = NIM_NIL;
2354 T9_ = NIM_NIL;
2355 T9_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
2356 T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + 45);
2357 appendString(T8_, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_11));
2358 appendString(T8_, T9_);
2359 liMessage__msgs_1118((*(*c).g).config, (*c).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__qGuGEzVTCUVhav67HrOxdQ_12, NIM_FALSE);
2360 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2361 }
2362 LA1_: ;
2363 return result;
2364 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,setLenSeqCall__liftdestructors_815)2365 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setLenSeqCall__liftdestructors_815)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
2366 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2367 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lenCall;
2368 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
2369 tyArray__T6RKPw8xfAeNaoei9aZGzXg T1_;
2370 result = NIM_NIL;
2371 lenCall = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_9), y);
2372 asgnRef((void**) (&(*lenCall).typ), getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
2373 op = getSysMagic__magicsys_29((*c).g, (*x).info, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_10), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138));
2374 op = instantiateGeneric__liftdestructors_570(c, op, t, t);
2375 nimZeroMem((void*)T1_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
2376 T1_[0] = newSymNode__ast_3719(op, (*x).info);
2377 T1_[1] = x;
2378 T1_[2] = lenCall;
2379 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 3);
2380 return result;
2381 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,declareCounter__liftdestructors_752)2382 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, declareCounter__liftdestructors_752)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, NI64 first) {
2383 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2384 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* temp;
2385 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
2386 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
2387 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
2388 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
2389 result = NIM_NIL;
2390 T1_ = NIM_NIL;
2391 T1_ = getIdent__idents_143((*(*c).g).cache, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_14));
2392 T2_ = nextSymId__ast_3132((*c).idgen);
2393 temp = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5), T1_, T2_, (*c).fn, (*c).info, 0);
2394 asgnRef((void**) (&(*temp).typ), getSysType__magicsys_60((*c).g, (*body).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
2395 (*temp).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
2396 v = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*c).info);
2397 result = newSymNode__ast_3716(temp);
2398 T3_ = NIM_NIL;
2399 T3_ = newIntLit__lowerings_695((*c).g, (*body).info, first);
2400 addVar__lowerings_75(v, result, T3_);
2401 add__ast_4797(body, v);
2402 return result;
2403 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genWhileLoop__liftdestructors_171)2404 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genWhileLoop__liftdestructors_171)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
2405 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2406 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cmp;
2407 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
2408 result = NIM_NIL;
2409 result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96), (*c).info, ((NI) 2));
2410 cmp = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_15), i);
2411 T1_ = NIM_NIL;
2412 T1_ = genLen__lowerings_710((*c).g, dest);
2413 add__ast_4797(cmp, T1_);
2414 asgnRef((void**) (&(*cmp).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
2415 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), cmp);
2416 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info));
2417 return result;
2418 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,at__liftdestructors_53)2419 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, at__liftdestructors_53)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i, tyObject_TType__facALICuu8zUj0hjvbTLFg* elemType) {
2420 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2421 result = NIM_NIL;
2422 result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*a).info, ((NI) 2));
2423 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), a);
2424 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), i);
2425 asgnRef((void**) (&(*result).typ), elemType);
2426 return result;
2427 }
N_NIMCALL(void,defaultOp__liftdestructors_134)2428 N_LIB_PRIVATE N_NIMCALL(void, defaultOp__liftdestructors_134)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
2429 {
2430 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
2431 if (!((22 &((NU8)1<<((NU)((*c).kind)&7U)))!=0)) goto LA3_;
2432 T5_ = NIM_NIL;
2433 T5_ = newAsgnStmt__liftdestructors_107(x, y);
2434 add__ast_4797(body, T5_);
2435 }
2436 goto LA1_;
2437 LA3_: ;
2438 {
2439 NIM_BOOL T7_;
2440 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
2441 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
2442 T7_ = (NIM_BOOL)0;
2443 T7_ = ((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
2444 if (!(T7_)) goto LA8_;
2445 T7_ = (*c).addMemReset;
2446 LA8_: ;
2447 if (!T7_) goto LA9_;
2448 call = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_16), x);
2449 asgnRef((void**) (&(*call).typ), t);
2450 T11_ = NIM_NIL;
2451 T11_ = newAsgnStmt__liftdestructors_107(x, call);
2452 add__ast_4797(body, T11_);
2453 }
2454 goto LA1_;
2455 LA9_: ;
2456 LA1_: ;
2457 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,declareTempOf__liftdestructors_767)2458 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, declareTempOf__liftdestructors_767)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value) {
2459 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2460 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* temp;
2461 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
2462 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
2463 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
2464 result = NIM_NIL;
2465 T1_ = NIM_NIL;
2466 T1_ = getIdent__idents_143((*(*c).g).cache, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_14));
2467 T2_ = nextSymId__ast_3132((*c).idgen);
2468 temp = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5), T1_, T2_, (*c).fn, (*c).info, 0);
2469 asgnRef((void**) (&(*temp).typ), (*value).typ);
2470 (*temp).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
2471 v = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*c).info);
2472 result = newSymNode__ast_3716(temp);
2473 addVar__lowerings_75(v, result, value);
2474 add__ast_4797(body, v);
2475 return result;
2476 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)2477 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2478 NIM_BOOL result;
2479 NIM_BOOL T1_;
2480 result = (NIM_BOOL)0;
2481 T1_ = (NIM_BOOL)0;
2482 T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2483 if (!(T1_)) goto LA2_;
2484 T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
2485 LA2_: ;
2486 result = T1_;
2487 return result;
2488 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)2489 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2490 NIM_BOOL result;
2491 NIM_BOOL T1_;
2492 NIM_BOOL T2_;
2493 result = (NIM_BOOL)0;
2494 T1_ = (NIM_BOOL)0;
2495 T2_ = (NIM_BOOL)0;
2496 T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2497 if (!(T2_)) goto LA3_;
2498 T2_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
2499 LA3_: ;
2500 T1_ = T2_;
2501 if (!(T1_)) goto LA4_;
2502 T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
2503 LA4_: ;
2504 result = T1_;
2505 return result;
2506 }
N_INLINE(NIM_BOOL,isGCedMem__ast_4203)2507 static N_INLINE(NIM_BOOL, isGCedMem__ast_4203)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2508 NIM_BOOL result;
2509 NIM_BOOL T1_;
2510 NIM_BOOL T3_;
2511 result = (NIM_BOOL)0;
2512 T1_ = (NIM_BOOL)0;
2513 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
2514 if (T1_) goto LA2_;
2515 T3_ = (NIM_BOOL)0;
2516 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
2517 if (!(T3_)) goto LA4_;
2518 T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
2519 LA4_: ;
2520 T1_ = T3_;
2521 LA2_: ;
2522 result = T1_;
2523 return result;
2524 }
N_NIMCALL(NIM_BOOL,wrap__liftdestructors_543)2525 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__liftdestructors_543)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2526 NIM_BOOL result;
2527 result = (NIM_BOOL)0;
2528 result = isGCedMem__ast_4203(t);
2529 return result;
2530 }
N_NIMCALL(NIM_BOOL,usesBuiltinArc__liftdestructors_540)2531 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, usesBuiltinArc__liftdestructors_540)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2532 NIM_BOOL result;
2533 result = (NIM_BOOL)0;
2534 result = searchTypeFor__types_470(t, wrap__liftdestructors_543);
2535 return result;
2536 }
N_INLINE(NIM_BOOL,useNoGc__liftdestructors_546)2537 static N_INLINE(NIM_BOOL, useNoGc__liftdestructors_546)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2538 NIM_BOOL result;
2539 NIM_BOOL T1_;
2540 NIM_BOOL T3_;
2541 result = (NIM_BOOL)0;
2542 T1_ = (NIM_BOOL)0;
2543 T1_ = (((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
2544 if (!(T1_)) goto LA2_;
2545 T3_ = (NIM_BOOL)0;
2546 T3_ = !(((4194320 & (*t).flags) == 0));
2547 if (T3_) goto LA4_;
2548 T3_ = usesBuiltinArc__liftdestructors_540(t);
2549 LA4_: ;
2550 T1_ = T3_;
2551 LA2_: ;
2552 result = T1_;
2553 return result;
2554 }
N_INLINE(NIM_BOOL,requiresDestructor__liftdestructors_562)2555 static N_INLINE(NIM_BOOL, requiresDestructor__liftdestructors_562)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2556 NIM_BOOL result;
2557 NIM_BOOL T1_;
2558 result = (NIM_BOOL)0;
2559 T1_ = (NIM_BOOL)0;
2560 T1_ = (((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
2561 if (!(T1_)) goto LA2_;
2562 T1_ = containsGarbageCollectedRef__types_612(t);
2563 LA2_: ;
2564 result = T1_;
2565 return result;
2566 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genAddr__liftdestructors_158)2567 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genAddr__liftdestructors_158)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
2568 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2569 result = NIM_NIL;
2570 {
2571 if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
2572 checkSonsLen__semdata_1077(x, ((NI) 1), (*(*c).g).config);
2573 result = (*x)._kind_6.sons->data[((NI) 0)];
2574 }
2575 goto LA1_;
2576 LA3_: ;
2577 {
2578 tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
2579 T6_ = NIM_NIL;
2580 T6_ = makeVarType__semdata_775((*(*x).typ).owner, (*x).typ, (*c).idgen, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
2581 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*x).info, T6_);
2582 add__ast_4797(result, x);
2583 }
2584 LA1_: ;
2585 return result;
2586 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,destructorCall__liftdestructors_233)2587 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, destructorCall__liftdestructors_233)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
2588 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2589 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* destroy;
2590 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
2591 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
2592 result = NIM_NIL;
2593 destroy = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*x).info, (*(*op).typ).sons->data[((NI) 0)]);
2594 T1_ = NIM_NIL;
2595 T1_ = newSymNode__ast_3716(op);
2596 add__ast_4797(destroy, T1_);
2597 T2_ = NIM_NIL;
2598 T2_ = genAddr__liftdestructors_158(c, x);
2599 add__ast_4797(destroy, T2_);
2600 {
2601 if (!!((((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 43))&63U)))!=0))) goto LA5_;
2602 (*c).canRaise = NIM_TRUE;
2603 }
2604 LA5_: ;
2605 {
2606 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T11_;
2607 if (!(*c).addMemReset) goto LA9_;
2608 nimZeroMem((void*)T11_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2609 T11_[0] = destroy;
2610 T11_[1] = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_20), x);
2611 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T11_, 2);
2612 }
2613 goto LA7_;
2614 LA9_: ;
2615 {
2616 result = destroy;
2617 }
2618 LA7_: ;
2619 return result;
2620 }
N_NIMCALL(void,addDestructorCall__liftdestructors_661)2621 N_LIB_PRIVATE N_NIMCALL(void, addDestructorCall__liftdestructors_661)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* orig, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
2622 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2623 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
2624 t = skipTypes__ast_3735(orig, TM__qGuGEzVTCUVhav67HrOxdQ_17);
2625 op = getAttachedOp__modulegraphs_4011((*c).g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
2626 {
2627 NIM_BOOL T3_;
2628 T3_ = (NIM_BOOL)0;
2629 T3_ = !((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2630 if (!(T3_)) goto LA4_;
2631 T3_ = (((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
2632 LA4_: ;
2633 if (!T3_) goto LA5_;
2634 {
2635 NIM_BOOL T9_;
2636 T9_ = (NIM_BOOL)0;
2637 T9_ = isGenericRoutine__ast_4627((*op).ast);
2638 if (!T9_) goto LA10_;
2639 op = instantiateGeneric__liftdestructors_570(c, op, t, (*t).typeInst);
2640 setAttachedOp__modulegraphs_4407((*c).g, ((NI) ((*(*c).idgen).module)), t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0), op);
2641 }
2642 LA10_: ;
2643 }
2644 LA5_: ;
2645 {
2646 NIM_BOOL T14_;
2647 NIM_BOOL T16_;
2648 T14_ = (NIM_BOOL)0;
2649 T14_ = (op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
2650 if (!(T14_)) goto LA15_;
2651 T16_ = (NIM_BOOL)0;
2652 T16_ = useNoGc__liftdestructors_546((&(*c)), t);
2653 if (T16_) goto LA17_;
2654 T16_ = requiresDestructor__liftdestructors_562((&(*c)), t);
2655 LA17_: ;
2656 T14_ = T16_;
2657 LA15_: ;
2658 if (!T14_) goto LA18_;
2659 op = produceSym__liftdestructors_40((*c).g, (*c).c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0), (*c).info, (*c).idgen);
2660 {
2661 if (!!(!((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA22_;
2662 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_18));
2663 }
2664 LA22_: ;
2665 {
2666 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T26_;
2667 T26_ = NIM_NIL;
2668 T26_ = getAttachedOp__modulegraphs_4011((*c).g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
2669 if (!!((op == T26_))) goto LA27_;
2670 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_19));
2671 }
2672 LA27_: ;
2673 }
2674 LA18_: ;
2675 {
2676 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
2677 if (!!((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31_;
2678 T33_ = NIM_NIL;
2679 T33_ = destructorCall__liftdestructors_233(c, op, x);
2680 add__ast_4797(body, T33_);
2681 }
2682 goto LA29_;
2683 LA31_: ;
2684 {
2685 NIM_BOOL T35_;
2686 T35_ = (NIM_BOOL)0;
2687 T35_ = useNoGc__liftdestructors_546((&(*c)), t);
2688 if (!T35_) goto LA36_;
2689 internalErrorImpl__msgs_1431((*(*c).g).config, (*c).info, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_21), TM__qGuGEzVTCUVhav67HrOxdQ_22);
2690 }
2691 goto LA29_;
2692 LA36_: ;
2693 LA29_: ;
2694 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genIf__liftdestructors_183)2695 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genIf__liftdestructors_183)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* action) {
2696 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2697 tyArray__jlWPjgtbdjE069arIWHC9c9bg T1_;
2698 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
2699 result = NIM_NIL;
2700 nimZeroMem((void*)T1_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2701 nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2702 T2_[0] = cond;
2703 T2_[1] = action;
2704 T1_[0] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T2_, 2);
2705 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T1_, 1);
2706 return result;
2707 }
N_INLINE(NI,len__ast_4002)2708 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
2709 NI result;
2710 NI T1_;
2711 result = (NI)0;
2712 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
2713 result = T1_;
2714 return result;
2715 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,boolLit__liftdestructors_427)2716 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, boolLit__liftdestructors_427)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NIM_BOOL value) {
2717 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2718 result = NIM_NIL;
2719 result = newIntLit__lowerings_695(g, info, ((NI64) (value)));
2720 asgnRef((void**) (&(*result).typ), getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
2721 return result;
2722 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getCycleParam__liftdestructors_435)2723 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getCycleParam__liftdestructors_435)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c) {
2724 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2725 result = NIM_NIL;
2726 {
2727 NI T3_;
2728 T3_ = (NI)0;
2729 T3_ = len__ast_4002((*(*c).fn).typ);
2730 if (!(T3_ == ((NI) 4))) goto LA4_;
2731 result = lastSon__ast_4832((*(*(*c).fn).typ).n);
2732 }
2733 goto LA1_;
2734 LA4_: ;
2735 {
2736 result = boolLit__liftdestructors_427((*c).g, (*c).info, NIM_TRUE);
2737 }
2738 LA1_: ;
2739 return result;
2740 }
N_NIMCALL(void,atomicRefOp__liftdestructors_1376)2741 N_LIB_PRIVATE N_NIMCALL(void, atomicRefOp__liftdestructors_1376)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
2742 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* actions;
2743 tyObject_TType__facALICuu8zUj0hjvbTLFg* elemType;
2744 NIM_BOOL isCyclic;
2745 NIM_BOOL T1_;
2746 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
2747 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
2748 actions = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
2749 elemType = lastSon__ast_3743(t);
2750 createTypeBoundOps__liftdestructors_47((*c).g, (*c).c, elemType, (*c).info, (*c).idgen);
2751 T1_ = (NIM_BOOL)0;
2752 T1_ = ((*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5));
2753 if (!(T1_)) goto LA2_;
2754 T1_ = canFormAcycle__types_762(elemType);
2755 LA2_: ;
2756 isCyclic = T1_;
2757 {
2758 NIM_BOOL T5_;
2759 T5_ = (NIM_BOOL)0;
2760 T5_ = isCyclic;
2761 if (!(T5_)) goto LA6_;
2762 T5_ = ((6 &((NU8)1<<((NU)((*c).kind)&7U)))!=0);
2763 LA6_: ;
2764 if (!T5_) goto LA7_;
2765 tmp = declareTempOf__liftdestructors_767(c, body, x);
2766 }
2767 goto LA3_;
2768 LA7_: ;
2769 {
2770 tmp = x;
2771 }
2772 LA3_: ;
2773 {
2774 NIM_BOOL T12_;
2775 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
2776 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* alignOf_1;
2777 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
2778 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
2779 T12_ = (NIM_BOOL)0;
2780 T12_ = isFinal__types_750(elemType);
2781 if (!T12_) goto LA13_;
2782 T15_ = NIM_NIL;
2783 T15_ = genDeref__lowerings_626(tmp, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47));
2784 addDestructorCall__liftdestructors_661(c, elemType, actions, T15_);
2785 T16_ = NIM_NIL;
2786 T16_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*c).info, elemType);
2787 alignOf_1 = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_23), T16_);
2788 asgnRef((void**) (&(*alignOf_1).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
2789 T17_ = NIM_NIL;
2790 T17_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_24), (*c).info, tmp, alignOf_1, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2791 add__ast_4797(actions, T17_);
2792 }
2793 goto LA10_;
2794 LA13_: ;
2795 {
2796 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
2797 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
2798 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
2799 T19_ = NIM_NIL;
2800 T19_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
2801 T20_ = NIM_NIL;
2802 T20_ = genDeref__lowerings_626(tmp, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47));
2803 addDestructorCall__liftdestructors_661(c, elemType, T19_, T20_);
2804 T21_ = NIM_NIL;
2805 T21_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_25), (*c).info, tmp, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2806 add__ast_4797(actions, T21_);
2807 }
2808 LA10_: ;
2809 cond = NIM_NIL;
2810 {
2811 if (!isCyclic) goto LA24_;
2812 {
2813 NIM_BOOL T28_;
2814 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typInfo;
2815 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
2816 T28_ = (NIM_BOOL)0;
2817 T28_ = isFinal__types_750(elemType);
2818 if (!T28_) goto LA29_;
2819 T31_ = NIM_NIL;
2820 T31_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*x).info, elemType);
2821 typInfo = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 262), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_26), T31_);
2822 asgnRef((void**) (&(*typInfo).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
2823 cond = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_27), (*c).info, tmp, typInfo, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2824 }
2825 goto LA26_;
2826 LA29_: ;
2827 {
2828 cond = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_28), (*c).info, tmp, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2829 }
2830 LA26_: ;
2831 }
2832 goto LA22_;
2833 LA24_: ;
2834 {
2835 cond = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_29), (*c).info, x, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2836 }
2837 LA22_: ;
2838 asgnRef((void**) (&(*cond).typ), getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
2839 switch ((*c).kind) {
2840 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
2841 {
2842 {
2843 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T39_;
2844 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T40_;
2845 if (!isCyclic) goto LA37_;
2846 T39_ = NIM_NIL;
2847 T39_ = newAsgnStmt__liftdestructors_107(x, y);
2848 add__ast_4797(body, T39_);
2849 T40_ = NIM_NIL;
2850 T40_ = genIf__liftdestructors_183(c, cond, actions);
2851 add__ast_4797(body, T40_);
2852 }
2853 goto LA35_;
2854 LA37_: ;
2855 {
2856 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
2857 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
2858 T42_ = NIM_NIL;
2859 T42_ = genIf__liftdestructors_183(c, cond, actions);
2860 add__ast_4797(body, T42_);
2861 T43_ = NIM_NIL;
2862 T43_ = newAsgnStmt__liftdestructors_107(x, y);
2863 add__ast_4797(body, T43_);
2864 }
2865 LA35_: ;
2866 }
2867 break;
2868 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
2869 {
2870 {
2871 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
2872 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
2873 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T51_;
2874 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T52_;
2875 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T53_;
2876 if (!isCyclic) goto LA47_;
2877 T49_ = NIM_NIL;
2878 T49_ = getCycleParam__liftdestructors_435((&(*c)));
2879 T50_ = NIM_NIL;
2880 T50_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_30), (*c).info, y, T49_, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2881 T51_ = NIM_NIL;
2882 T51_ = genIf__liftdestructors_183(c, y, T50_);
2883 add__ast_4797(body, T51_);
2884 T52_ = NIM_NIL;
2885 T52_ = newAsgnStmt__liftdestructors_107(x, y);
2886 add__ast_4797(body, T52_);
2887 T53_ = NIM_NIL;
2888 T53_ = genIf__liftdestructors_183(c, cond, actions);
2889 add__ast_4797(body, T53_);
2890 }
2891 goto LA45_;
2892 LA47_: ;
2893 {
2894 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T55_;
2895 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T56_;
2896 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T57_;
2897 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
2898 T55_ = NIM_NIL;
2899 T55_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_31), (*c).info, y, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2900 T56_ = NIM_NIL;
2901 T56_ = genIf__liftdestructors_183(c, y, T55_);
2902 add__ast_4797(body, T56_);
2903 T57_ = NIM_NIL;
2904 T57_ = genIf__liftdestructors_183(c, cond, actions);
2905 add__ast_4797(body, T57_);
2906 T58_ = NIM_NIL;
2907 T58_ = newAsgnStmt__liftdestructors_107(x, y);
2908 add__ast_4797(body, T58_);
2909 }
2910 LA45_: ;
2911 }
2912 break;
2913 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
2914 {
2915 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T60_;
2916 T60_ = NIM_NIL;
2917 T60_ = genIf__liftdestructors_183(c, cond, actions);
2918 add__ast_4797(body, T60_);
2919 }
2920 break;
2921 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
2922 {
2923 }
2924 break;
2925 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
2926 {
2927 {
2928 if (!isCyclic) goto LA65_;
2929 {
2930 NIM_BOOL T69_;
2931 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typInfo_2;
2932 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T72_;
2933 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T73_;
2934 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T74_;
2935 T69_ = (NIM_BOOL)0;
2936 T69_ = isFinal__types_750(elemType);
2937 if (!T69_) goto LA70_;
2938 T72_ = NIM_NIL;
2939 T72_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*x).info, elemType);
2940 typInfo_2 = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 262), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_26), T72_);
2941 asgnRef((void**) (&(*typInfo_2).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
2942 T73_ = NIM_NIL;
2943 T73_ = genAddrOf__lowerings_620(x, (*c).idgen, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
2944 T74_ = NIM_NIL;
2945 T74_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_32), (*c).info, T73_, typInfo_2, y, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2946 add__ast_4797(body, T74_);
2947 }
2948 goto LA67_;
2949 LA70_: ;
2950 {
2951 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T76_;
2952 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T77_;
2953 T76_ = NIM_NIL;
2954 T76_ = genAddrOf__lowerings_620(x, (*c).idgen, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
2955 T77_ = NIM_NIL;
2956 T77_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_33), (*c).info, T76_, y, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2957 add__ast_4797(body, T77_);
2958 }
2959 LA67_: ;
2960 }
2961 LA65_: ;
2962 }
2963 break;
2964 }
2965 }
N_NIMCALL(void,insert__liftdestructors_1579)2966 N_LIB_PRIVATE N_NIMCALL(void, insert__liftdestructors_1579)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* item, NI i) {
2967 NI xlX60gensym143_;
2968 NI T1_;
2969 NI jX60gensym143_;
2970 T1_ = ((*x) ? (*x)->Sup.len : 0);
2971 xlX60gensym143_ = T1_;
2972 unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(xlX60gensym143_ + ((NI) 1))))));
2973 jX60gensym143_ = (NI)(xlX60gensym143_ - ((NI) 1));
2974 {
2975 while (1) {
2976 if (!(((NI) (i)) <= jX60gensym143_)) goto LA3;
2977 asgnRef((void**) (&(*x)->data[(NI)(jX60gensym143_ + ((NI) 1))]), (*x)->data[jX60gensym143_]);
2978 jX60gensym143_ -= ((NI) 1);
2979 } LA3: ;
2980 }
2981 asgnRef((void**) (&(*x)->data[i]), item);
2982 }
N_NIMCALL(void,weakrefOp__liftdestructors_1540)2983 N_LIB_PRIVATE N_NIMCALL(void, weakrefOp__liftdestructors_1540)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
2984 switch ((*c).kind) {
2985 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
2986 {
2987 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
2988 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
2989 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
2990 T2_ = NIM_NIL;
2991 T2_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_34), (*c).info, x, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2992 T3_ = NIM_NIL;
2993 T3_ = genIf__liftdestructors_183(c, x, T2_);
2994 add__ast_4797(body, T3_);
2995 T4_ = NIM_NIL;
2996 T4_ = newAsgnStmt__liftdestructors_107(x, y);
2997 add__ast_4797(body, T4_);
2998 }
2999 break;
3000 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
3001 {
3002 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
3003 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
3004 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
3005 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
3006 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
3007 T6_ = NIM_NIL;
3008 T6_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_31), (*c).info, y, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3009 T7_ = NIM_NIL;
3010 T7_ = genIf__liftdestructors_183(c, y, T6_);
3011 add__ast_4797(body, T7_);
3012 T8_ = NIM_NIL;
3013 T8_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_34), (*c).info, x, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3014 T9_ = NIM_NIL;
3015 T9_ = genIf__liftdestructors_183(c, x, T8_);
3016 add__ast_4797(body, T9_);
3017 T10_ = NIM_NIL;
3018 T10_ = newAsgnStmt__liftdestructors_107(x, y);
3019 add__ast_4797(body, T10_);
3020 }
3021 break;
3022 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
3023 {
3024 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* actions;
3025 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
3026 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* des;
3027 actions = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
3028 T12_ = NIM_NIL;
3029 T12_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_34), (*c).info, x, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3030 add__ast_4797(actions, T12_);
3031 des = genIf__liftdestructors_183(c, x, actions);
3032 {
3033 NI T15_;
3034 T15_ = (NI)0;
3035 T15_ = len__ast_3198(body);
3036 if (!(T15_ == ((NI) 0))) goto LA16_;
3037 add__ast_4797(body, des);
3038 }
3039 goto LA13_;
3040 LA16_: ;
3041 {
3042 insert__liftdestructors_1579((&(*body)._kind_6.sons), des, ((NI) 0));
3043 }
3044 LA13_: ;
3045 }
3046 break;
3047 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
3048 {
3049 }
3050 break;
3051 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
3052 {
3053 }
3054 break;
3055 }
3056 }
N_NIMCALL(void,atomicClosureOp__liftdestructors_1464)3057 N_LIB_PRIVATE N_NIMCALL(void, atomicClosureOp__liftdestructors_1464)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3058 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xenv;
3059 NIM_BOOL isCyclic;
3060 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
3061 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* actions;
3062 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
3063 NimStringDesc* decRefProc;
3064 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
3065 xenv = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_35), x);
3066 asgnRef((void**) (&(*xenv).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
3067 isCyclic = ((*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5));
3068 {
3069 NIM_BOOL T3_;
3070 T3_ = (NIM_BOOL)0;
3071 T3_ = isCyclic;
3072 if (!(T3_)) goto LA4_;
3073 T3_ = ((6 &((NU8)1<<((NU)((*c).kind)&7U)))!=0);
3074 LA4_: ;
3075 if (!T3_) goto LA5_;
3076 tmp = declareTempOf__liftdestructors_767(c, body, xenv);
3077 }
3078 goto LA1_;
3079 LA5_: ;
3080 {
3081 tmp = xenv;
3082 }
3083 LA1_: ;
3084 actions = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
3085 T8_ = NIM_NIL;
3086 T8_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_25), (*c).info, tmp, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3087 add__ast_4797(actions, T8_);
3088 {
3089 if (!isCyclic) goto LA11_;
3090 decRefProc = copyString(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_28));
3091 }
3092 goto LA9_;
3093 LA11_: ;
3094 {
3095 decRefProc = copyString(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_29));
3096 }
3097 LA9_: ;
3098 cond = callCodegenProc__lowerings_635((*c).g, decRefProc, (*c).info, tmp, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3099 asgnRef((void**) (&(*cond).typ), getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
3100 switch ((*c).kind) {
3101 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
3102 {
3103 {
3104 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
3105 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
3106 if (!isCyclic) goto LA17_;
3107 T19_ = NIM_NIL;
3108 T19_ = newAsgnStmt__liftdestructors_107(x, y);
3109 add__ast_4797(body, T19_);
3110 T20_ = NIM_NIL;
3111 T20_ = genIf__liftdestructors_183(c, cond, actions);
3112 add__ast_4797(body, T20_);
3113 }
3114 goto LA15_;
3115 LA17_: ;
3116 {
3117 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
3118 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
3119 T22_ = NIM_NIL;
3120 T22_ = genIf__liftdestructors_183(c, cond, actions);
3121 add__ast_4797(body, T22_);
3122 T23_ = NIM_NIL;
3123 T23_ = newAsgnStmt__liftdestructors_107(x, y);
3124 add__ast_4797(body, T23_);
3125 }
3126 LA15_: ;
3127 }
3128 break;
3129 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
3130 {
3131 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* yenv;
3132 yenv = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_35), y);
3133 asgnRef((void**) (&(*yenv).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
3134 {
3135 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
3136 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
3137 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
3138 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
3139 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
3140 if (!isCyclic) goto LA27_;
3141 T29_ = NIM_NIL;
3142 T29_ = getCycleParam__liftdestructors_435((&(*c)));
3143 T30_ = NIM_NIL;
3144 T30_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_30), (*c).info, yenv, T29_, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3145 T31_ = NIM_NIL;
3146 T31_ = genIf__liftdestructors_183(c, yenv, T30_);
3147 add__ast_4797(body, T31_);
3148 T32_ = NIM_NIL;
3149 T32_ = newAsgnStmt__liftdestructors_107(x, y);
3150 add__ast_4797(body, T32_);
3151 T33_ = NIM_NIL;
3152 T33_ = genIf__liftdestructors_183(c, cond, actions);
3153 add__ast_4797(body, T33_);
3154 }
3155 goto LA25_;
3156 LA27_: ;
3157 {
3158 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
3159 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
3160 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T37_;
3161 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T38_;
3162 T35_ = NIM_NIL;
3163 T35_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_31), (*c).info, yenv, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3164 T36_ = NIM_NIL;
3165 T36_ = genIf__liftdestructors_183(c, yenv, T35_);
3166 add__ast_4797(body, T36_);
3167 T37_ = NIM_NIL;
3168 T37_ = genIf__liftdestructors_183(c, cond, actions);
3169 add__ast_4797(body, T37_);
3170 T38_ = NIM_NIL;
3171 T38_ = newAsgnStmt__liftdestructors_107(x, y);
3172 add__ast_4797(body, T38_);
3173 }
3174 LA25_: ;
3175 }
3176 break;
3177 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
3178 {
3179 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T40_;
3180 T40_ = NIM_NIL;
3181 T40_ = genIf__liftdestructors_183(c, cond, actions);
3182 add__ast_4797(body, T40_);
3183 }
3184 break;
3185 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
3186 {
3187 }
3188 break;
3189 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
3190 {
3191 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
3192 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
3193 T43_ = NIM_NIL;
3194 T43_ = genAddrOf__lowerings_620(xenv, (*c).idgen, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
3195 T44_ = NIM_NIL;
3196 T44_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_33), (*c).info, T43_, y, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3197 add__ast_4797(body, T44_);
3198 }
3199 break;
3200 }
3201 }
N_NIMCALL(void,closureOp__liftdestructors_1655)3202 N_LIB_PRIVATE N_NIMCALL(void, closureOp__liftdestructors_1655)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3203 {
3204 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
3205 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
3206 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
3207 if (!((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA3_;
3208 call = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*c).info, ((NI) 2));
3209 asgnRef((void**) (&(*call).typ), t);
3210 T5_ = NIM_NIL;
3211 T5_ = createMagic__modulegraphs_9008((*c).g, (*c).idgen, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_36), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 199));
3212 asgnRef((void**) (&(*call)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(T5_));
3213 asgnRef((void**) (&(*call)._kind_6.sons->data[((NI) 1)]), y);
3214 T6_ = NIM_NIL;
3215 T6_ = newAsgnStmt__liftdestructors_107(x, call);
3216 add__ast_4797(body, T6_);
3217 }
3218 goto LA1_;
3219 LA3_: ;
3220 {
3221 NIM_BOOL T8_;
3222 NIM_BOOL T9_;
3223 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xx;
3224 T8_ = (NIM_BOOL)0;
3225 T9_ = (NIM_BOOL)0;
3226 T9_ = (((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
3227 if (!(T9_)) goto LA10_;
3228 T9_ = (((*(*(*c).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 6))&31U)))!=0);
3229 LA10_: ;
3230 T8_ = T9_;
3231 if (T8_) goto LA11_;
3232 T8_ = ((48 &((NU16)1<<((NU)((*(*(*c).g).config).selectedGC)&15U)))!=0);
3233 LA11_: ;
3234 if (!T8_) goto LA12_;
3235 xx = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_35), x);
3236 asgnRef((void**) (&(*xx).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
3237 switch ((*c).kind) {
3238 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
3239 {
3240 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
3241 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
3242 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
3243 T15_ = NIM_NIL;
3244 T15_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_34), (*c).info, xx, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3245 T16_ = NIM_NIL;
3246 T16_ = genIf__liftdestructors_183(c, xx, T15_);
3247 add__ast_4797(body, T16_);
3248 T17_ = NIM_NIL;
3249 T17_ = newAsgnStmt__liftdestructors_107(x, y);
3250 add__ast_4797(body, T17_);
3251 }
3252 break;
3253 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
3254 {
3255 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* yy;
3256 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
3257 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
3258 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
3259 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
3260 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
3261 yy = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_35), y);
3262 asgnRef((void**) (&(*yy).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
3263 T19_ = NIM_NIL;
3264 T19_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_31), (*c).info, yy, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3265 T20_ = NIM_NIL;
3266 T20_ = genIf__liftdestructors_183(c, yy, T19_);
3267 add__ast_4797(body, T20_);
3268 T21_ = NIM_NIL;
3269 T21_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_34), (*c).info, xx, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3270 T22_ = NIM_NIL;
3271 T22_ = genIf__liftdestructors_183(c, xx, T21_);
3272 add__ast_4797(body, T22_);
3273 T23_ = NIM_NIL;
3274 T23_ = newAsgnStmt__liftdestructors_107(x, y);
3275 add__ast_4797(body, T23_);
3276 }
3277 break;
3278 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
3279 {
3280 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* des;
3281 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T25_;
3282 T25_ = NIM_NIL;
3283 T25_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_34), (*c).info, xx, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3284 des = genIf__liftdestructors_183(c, xx, T25_);
3285 {
3286 NI T28_;
3287 T28_ = (NI)0;
3288 T28_ = len__ast_3198(body);
3289 if (!(T28_ == ((NI) 0))) goto LA29_;
3290 add__ast_4797(body, des);
3291 }
3292 goto LA26_;
3293 LA29_: ;
3294 {
3295 insert__liftdestructors_1579((&(*body)._kind_6.sons), des, ((NI) 0));
3296 }
3297 LA26_: ;
3298 }
3299 break;
3300 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
3301 {
3302 }
3303 break;
3304 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
3305 {
3306 }
3307 break;
3308 }
3309 }
3310 goto LA1_;
3311 LA12_: ;
3312 LA1_: ;
3313 }
N_NIMCALL(void,ownedRefOp__liftdestructors_1620)3314 N_LIB_PRIVATE N_NIMCALL(void, ownedRefOp__liftdestructors_1620)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3315 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* actions;
3316 tyObject_TType__facALICuu8zUj0hjvbTLFg* elemType;
3317 actions = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
3318 elemType = lastSon__ast_3743(t);
3319 {
3320 NIM_BOOL T3_;
3321 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
3322 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* alignOf_1;
3323 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
3324 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
3325 T3_ = (NIM_BOOL)0;
3326 T3_ = isFinal__types_750(elemType);
3327 if (!T3_) goto LA4_;
3328 T6_ = NIM_NIL;
3329 T6_ = genDeref__lowerings_626(x, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47));
3330 addDestructorCall__liftdestructors_661(c, elemType, actions, T6_);
3331 T7_ = NIM_NIL;
3332 T7_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*c).info, elemType);
3333 alignOf_1 = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_23), T7_);
3334 asgnRef((void**) (&(*alignOf_1).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
3335 T8_ = NIM_NIL;
3336 T8_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_24), (*c).info, x, alignOf_1, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3337 add__ast_4797(actions, T8_);
3338 }
3339 goto LA1_;
3340 LA4_: ;
3341 {
3342 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
3343 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
3344 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
3345 T10_ = NIM_NIL;
3346 T10_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
3347 T11_ = NIM_NIL;
3348 T11_ = genDeref__lowerings_626(x, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47));
3349 addDestructorCall__liftdestructors_661(c, elemType, T10_, T11_);
3350 T12_ = NIM_NIL;
3351 T12_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_25), (*c).info, x, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3352 add__ast_4797(actions, T12_);
3353 }
3354 LA1_: ;
3355 switch ((*c).kind) {
3356 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
3357 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
3358 {
3359 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
3360 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
3361 T14_ = NIM_NIL;
3362 T14_ = genIf__liftdestructors_183(c, x, actions);
3363 add__ast_4797(body, T14_);
3364 T15_ = NIM_NIL;
3365 T15_ = newAsgnStmt__liftdestructors_107(x, y);
3366 add__ast_4797(body, T15_);
3367 }
3368 break;
3369 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
3370 {
3371 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
3372 T17_ = NIM_NIL;
3373 T17_ = genIf__liftdestructors_183(c, x, actions);
3374 add__ast_4797(body, T17_);
3375 }
3376 break;
3377 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
3378 {
3379 }
3380 break;
3381 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
3382 {
3383 }
3384 break;
3385 }
3386 }
N_NIMCALL(void,ownedClosureOp__liftdestructors_1722)3387 N_LIB_PRIVATE N_NIMCALL(void, ownedClosureOp__liftdestructors_1722)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3388 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xx;
3389 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* actions;
3390 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3391 xx = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_35), x);
3392 asgnRef((void**) (&(*xx).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
3393 actions = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
3394 T1_ = NIM_NIL;
3395 T1_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_25), (*c).info, xx, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3396 add__ast_4797(actions, T1_);
3397 switch ((*c).kind) {
3398 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
3399 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
3400 {
3401 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
3402 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
3403 T3_ = NIM_NIL;
3404 T3_ = genIf__liftdestructors_183(c, xx, actions);
3405 add__ast_4797(body, T3_);
3406 T4_ = NIM_NIL;
3407 T4_ = newAsgnStmt__liftdestructors_107(x, y);
3408 add__ast_4797(body, T4_);
3409 }
3410 break;
3411 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
3412 {
3413 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
3414 T6_ = NIM_NIL;
3415 T6_ = genIf__liftdestructors_183(c, xx, actions);
3416 add__ast_4797(body, T6_);
3417 }
3418 break;
3419 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
3420 {
3421 }
3422 break;
3423 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
3424 {
3425 }
3426 break;
3427 }
3428 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newHookCall__liftdestructors_461)3429 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newHookCall__liftdestructors_461)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3430 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3431 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3432 result = NIM_NIL;
3433 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*x).info);
3434 T1_ = NIM_NIL;
3435 T1_ = newSymNode__ast_3716(op);
3436 add__ast_4797(result, T1_);
3437 {
3438 if (!!((((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 43))&63U)))!=0))) goto LA4_;
3439 (*c).canRaise = NIM_TRUE;
3440 }
3441 LA4_: ;
3442 {
3443 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
3444 if (!((*(*(*op).typ).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA8_;
3445 T10_ = NIM_NIL;
3446 T10_ = genAddr__liftdestructors_158(c, x);
3447 add__ast_4797(result, T10_);
3448 }
3449 goto LA6_;
3450 LA8_: ;
3451 {
3452 add__ast_4797(result, x);
3453 }
3454 LA6_: ;
3455 {
3456 if (!!((y == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA14_;
3457 add__ast_4797(result, y);
3458 }
3459 LA14_: ;
3460 {
3461 NI T18_;
3462 T18_ = (NI)0;
3463 T18_ = len__ast_4002((*op).typ);
3464 if (!(T18_ == ((NI) 4))) goto LA19_;
3465 {
3466 NI T23_;
3467 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
3468 T23_ = (NI)0;
3469 T23_ = len__ast_4002((*(*c).fn).typ);
3470 if (!(T23_ == ((NI) 4))) goto LA24_;
3471 T26_ = NIM_NIL;
3472 T26_ = getCycleParam__liftdestructors_435((&(*c)));
3473 add__ast_4797(result, T26_);
3474 }
3475 goto LA21_;
3476 LA24_: ;
3477 {
3478 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
3479 T28_ = NIM_NIL;
3480 T28_ = boolLit__liftdestructors_427((*c).g, (*y).info, NIM_TRUE);
3481 add__ast_4797(result, T28_);
3482 }
3483 LA21_: ;
3484 }
3485 LA19_: ;
3486 return result;
3487 }
N_NIMCALL(void,useSeqOrStrOp__liftdestructors_894)3488 N_LIB_PRIVATE N_NIMCALL(void, useSeqOrStrOp__liftdestructors_894)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3489 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
3490 { createTypeBoundOps__liftdestructors_47((*c).g, (*c).c, t, (*body).info, (*c).idgen);
3491 t_2 = t;
3492 {
3493 NIM_BOOL T3_;
3494 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T4_;
3495 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
3496 tyArray__qtqsWM5aXmcpMIVmvq3kAA h;
3497 tyObject_TType__facALICuu8zUj0hjvbTLFg* canon;
3498 T3_ = (NIM_BOOL)0;
3499 T4_ = NIM_NIL;
3500 T4_ = getAttachedOp__modulegraphs_4011((*c).g, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1));
3501 T3_ = (T4_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3502 if (T3_) goto LA5_;
3503 T6_ = NIM_NIL;
3504 T6_ = getAttachedOp__modulegraphs_4011((*c).g, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
3505 T3_ = (T6_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3506 LA5_: ;
3507 if (!T3_) goto LA7_;
3508 nimZeroMem((void*)h, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
3509 hashType__sighashes_462(t_2, 50, h);
3510 canon = getOrDefault__liftdestructors_976((*(*c).g).canonTypes, h);
3511 {
3512 if (!!((canon == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA11_;
3513 t_2 = canon;
3514 }
3515 LA11_: ;
3516 }
3517 LA7_: ;
3518 switch ((*c).kind) {
3519 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
3520 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
3521 {
3522 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T19_;
3523 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
3524 {
3525 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T16_;
3526 T16_ = NIM_NIL;
3527 T16_ = getAttachedOp__modulegraphs_4011((*c).g, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1));
3528 if (!(T16_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA17_;
3529 goto BeforeRet_;
3530 }
3531 LA17_: ;
3532 T19_ = NIM_NIL;
3533 T19_ = getAttachedOp__modulegraphs_4011((*c).g, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1));
3534 T20_ = NIM_NIL;
3535 T20_ = newHookCall__liftdestructors_461(c, T19_, x, y);
3536 add__ast_4797(body, T20_);
3537 }
3538 break;
3539 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
3540 {
3541 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* moveCall;
3542 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T27_;
3543 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
3544 moveCall = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_38), x);
3545 add__ast_4797(moveCall, y);
3546 {
3547 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T24_;
3548 T24_ = NIM_NIL;
3549 T24_ = getAttachedOp__modulegraphs_4011((*c).g, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
3550 if (!!(!((T24_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA25_;
3551 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_39));
3552 }
3553 LA25_: ;
3554 T27_ = NIM_NIL;
3555 T27_ = getAttachedOp__modulegraphs_4011((*c).g, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
3556 T28_ = NIM_NIL;
3557 T28_ = destructorCall__liftdestructors_233(c, T27_, x);
3558 add__ast_4797(moveCall, T28_);
3559 add__ast_4797(body, moveCall);
3560 }
3561 break;
3562 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
3563 {
3564 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T35_;
3565 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
3566 {
3567 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T32_;
3568 T32_ = NIM_NIL;
3569 T32_ = getAttachedOp__modulegraphs_4011((*c).g, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
3570 if (!!(!((T32_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA33_;
3571 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_40));
3572 }
3573 LA33_: ;
3574 T35_ = NIM_NIL;
3575 T35_ = getAttachedOp__modulegraphs_4011((*c).g, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
3576 T36_ = NIM_NIL;
3577 T36_ = destructorCall__liftdestructors_233(c, T35_, x);
3578 add__ast_4797(body, T36_);
3579 }
3580 break;
3581 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
3582 {
3583 {
3584 NIM_BOOL T40_;
3585 tyObject_TType__facALICuu8zUj0hjvbTLFg* T42_;
3586 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
3587 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
3588 T40_ = (NIM_BOOL)0;
3589 T40_ = !(((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
3590 if (!(T40_)) goto LA41_;
3591 T42_ = NIM_NIL;
3592 T42_ = elemType__types_263(t_2);
3593 T40_ = canFormAcycle__types_762(T42_);
3594 LA41_: ;
3595 if (!T40_) goto LA43_;
3596 op = getAttachedOp__modulegraphs_4011((*c).g, t_2, (*c).kind);
3597 {
3598 if (!(op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA47_;
3599 goto BeforeRet_;
3600 }
3601 LA47_: ;
3602 T49_ = NIM_NIL;
3603 T49_ = newHookCall__liftdestructors_461(c, op, x, y);
3604 add__ast_4797(body, T49_);
3605 }
3606 LA43_: ;
3607 }
3608 break;
3609 }
3610 }BeforeRet_: ;
3611 }
N_NIMCALL(NIM_BOOL,considerAsgnOrSink__liftdestructors_586)3612 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, considerAsgnOrSink__liftdestructors_586)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** field) {
3613 NIM_BOOL result;
3614 { result = (NIM_BOOL)0;
3615 {
3616 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
3617 NIM_BOOL destructorOverriden;
3618 if (!(((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA3_;
3619 op = (*field);
3620 destructorOverriden = destructorOverriden__liftdestructors_60((*c).g, t);
3621 {
3622 NIM_BOOL T7_;
3623 NIM_BOOL T8_;
3624 NIM_BOOL T11_;
3625 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
3626 T7_ = (NIM_BOOL)0;
3627 T8_ = (NIM_BOOL)0;
3628 T8_ = !((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3629 if (!(T8_)) goto LA9_;
3630 T8_ = !((op == (*c).fn));
3631 LA9_: ;
3632 T7_ = T8_;
3633 if (!(T7_)) goto LA10_;
3634 T11_ = (NIM_BOOL)0;
3635 T11_ = (((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
3636 if (T11_) goto LA12_;
3637 T11_ = destructorOverriden;
3638 LA12_: ;
3639 T7_ = T11_;
3640 LA10_: ;
3641 if (!T7_) goto LA13_;
3642 {
3643 if (!(((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA17_;
3644 (*(*c).fn).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24)) & 63);
3645 }
3646 LA17_: ;
3647 T19_ = NIM_NIL;
3648 T19_ = newHookCall__liftdestructors_461(c, op, x, y);
3649 add__ast_4797(body, T19_);
3650 result = NIM_TRUE;
3651 }
3652 goto LA5_;
3653 LA13_: ;
3654 {
3655 NIM_BOOL T21_;
3656 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T25_;
3657 T21_ = (NIM_BOOL)0;
3658 T21_ = (op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3659 if (!(T21_)) goto LA22_;
3660 T21_ = destructorOverriden;
3661 LA22_: ;
3662 if (!T21_) goto LA23_;
3663 op = produceSym__liftdestructors_40((*c).g, (*c).c, t, (*c).kind, (*c).info, (*c).idgen);
3664 T25_ = NIM_NIL;
3665 T25_ = newHookCall__liftdestructors_461(c, op, x, y);
3666 add__ast_4797(body, T25_);
3667 result = NIM_TRUE;
3668 }
3669 goto LA5_;
3670 LA23_: ;
3671 LA5_: ;
3672 }
3673 goto LA1_;
3674 LA3_: ;
3675 {
3676 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op_2;
3677 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T53_;
3678 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0)) goto LA27_;
3679 op_2 = NIM_NIL;
3680 {
3681 NIM_BOOL T31_;
3682 T31_ = (NIM_BOOL)0;
3683 T31_ = sameType__types_1815(t, (*c).asgnForType, 0);
3684 if (!T31_) goto LA32_;
3685 {
3686 if (!(*c).recurse) goto LA36_;
3687 op_2 = (*c).fn;
3688 }
3689 goto LA34_;
3690 LA36_: ;
3691 {
3692 (*c).recurse = NIM_TRUE;
3693 result = NIM_FALSE;
3694 goto BeforeRet_;
3695 }
3696 LA34_: ;
3697 }
3698 goto LA29_;
3699 LA32_: ;
3700 {
3701 op_2 = (*field);
3702 {
3703 if (!(op_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA42_;
3704 op_2 = produceSym__liftdestructors_40((*c).g, (*c).c, t, (*c).kind, (*c).info, (*c).idgen);
3705 }
3706 LA42_: ;
3707 }
3708 LA29_: ;
3709 {
3710 if (!(((*op_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA46_;
3711 (*(*c).fn).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24)) & 63);
3712 }
3713 LA46_: ;
3714 {
3715 NIM_BOOL T50_;
3716 T50_ = (NIM_BOOL)0;
3717 T50_ = isGenericRoutine__ast_4627((*op_2).ast);
3718 if (!T50_) goto LA51_;
3719 op_2 = instantiateGeneric__liftdestructors_570(c, op_2, t, (*t).typeInst);
3720 unsureAsgnRef((void**) (&(*field)), op_2);
3721 }
3722 LA51_: ;
3723 T53_ = NIM_NIL;
3724 T53_ = newHookCall__liftdestructors_461(c, op_2, x, y);
3725 add__ast_4797(body, T53_);
3726 result = NIM_TRUE;
3727 }
3728 goto LA1_;
3729 LA27_: ;
3730 LA1_: ;
3731 }BeforeRet_: ;
3732 return result;
3733 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDeepCopyCall__liftdestructors_534)3734 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeepCopyCall__liftdestructors_534)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3735 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3736 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3737 result = NIM_NIL;
3738 T1_ = NIM_NIL;
3739 T1_ = newOpCall__liftdestructors_516(c, op, y);
3740 result = newAsgnStmt__liftdestructors_107(x, T1_);
3741 return result;
3742 }
N_NIMCALL(NIM_BOOL,considerUserDefinedOp__liftdestructors_710)3743 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, considerUserDefinedOp__liftdestructors_710)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3744 NIM_BOOL result;
3745 result = (NIM_BOOL)0;
3746 switch ((*c).kind) {
3747 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
3748 {
3749 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
3750 op = getAttachedOp__modulegraphs_4011((*c).g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
3751 {
3752 NIM_BOOL T4_;
3753 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
3754 T4_ = (NIM_BOOL)0;
3755 T4_ = !((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3756 if (!(T4_)) goto LA5_;
3757 T4_ = (((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
3758 LA5_: ;
3759 if (!T4_) goto LA6_;
3760 {
3761 NIM_BOOL T10_;
3762 T10_ = (NIM_BOOL)0;
3763 T10_ = isGenericRoutine__ast_4627((*op).ast);
3764 if (!T10_) goto LA11_;
3765 op = instantiateGeneric__liftdestructors_570(c, op, t, (*t).typeInst);
3766 setAttachedOp__modulegraphs_4407((*c).g, ((NI) ((*(*c).idgen).module)), t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0), op);
3767 }
3768 LA11_: ;
3769 T13_ = NIM_NIL;
3770 T13_ = destructorCall__liftdestructors_233(c, op, x);
3771 add__ast_4797(body, T13_);
3772 result = NIM_TRUE;
3773 }
3774 LA6_: ;
3775 }
3776 break;
3777 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
3778 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
3779 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
3780 {
3781 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op_2;
3782 op_2 = getAttachedOp__modulegraphs_4011((*c).g, t, (*c).kind);
3783 {
3784 NIM_BOOL T17_;
3785 T17_ = (NIM_BOOL)0;
3786 T17_ = !((op_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3787 if (!(T17_)) goto LA18_;
3788 T17_ = (((*op_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
3789 LA18_: ;
3790 if (!T17_) goto LA19_;
3791 {
3792 NIM_BOOL T23_;
3793 T23_ = (NIM_BOOL)0;
3794 T23_ = isGenericRoutine__ast_4627((*op_2).ast);
3795 if (!T23_) goto LA24_;
3796 op_2 = instantiateGeneric__liftdestructors_570(c, op_2, t, (*t).typeInst);
3797 setAttachedOp__modulegraphs_4407((*c).g, ((NI) ((*(*c).idgen).module)), t, (*c).kind, op_2);
3798 }
3799 LA24_: ;
3800 }
3801 LA19_: ;
3802 result = considerAsgnOrSink__liftdestructors_586(c, t, body, x, y, &op_2);
3803 {
3804 if (!!((op_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA28_;
3805 setAttachedOp__modulegraphs_4407((*c).g, ((NI) ((*(*c).idgen).module)), t, (*c).kind, op_2);
3806 }
3807 LA28_: ;
3808 }
3809 break;
3810 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
3811 {
3812 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op_3;
3813 op_3 = getAttachedOp__modulegraphs_4011((*c).g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4));
3814 {
3815 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
3816 if (!!((op_3 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA33_;
3817 T35_ = NIM_NIL;
3818 T35_ = newDeepCopyCall__liftdestructors_534(c, op_3, x, y);
3819 add__ast_4797(body, T35_);
3820 result = NIM_TRUE;
3821 }
3822 LA33_: ;
3823 }
3824 break;
3825 }
3826 return result;
3827 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newSeqCall__liftdestructors_795)3828 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSeqCall__liftdestructors_795)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
3829 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3830 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lenCall;
3831 result = NIM_NIL;
3832 result = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_41), x);
3833 lenCall = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_9), y);
3834 asgnRef((void**) (&(*lenCall).typ), getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
3835 add__ast_4797(result, lenCall);
3836 return result;
3837 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,dotField__liftdestructors_96)3838 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotField__liftdestructors_96)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f) {
3839 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3840 result = NIM_NIL;
3841 result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*x).info, ((NI) 2));
3842 {
3843 tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
3844 T3_ = NIM_NIL;
3845 T3_ = skipTypes__ast_3735((*x).typ, TM__qGuGEzVTCUVhav67HrOxdQ_6);
3846 if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA4_;
3847 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newDeref__lowerings_11(x));
3848 }
3849 goto LA1_;
3850 LA4_: ;
3851 {
3852 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), x);
3853 }
3854 LA1_: ;
3855 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3719(f, (*x).info));
3856 asgnRef((void**) (&(*result).typ), (*f).typ);
3857 return result;
3858 }
N_INLINE(NI,safeLen__ast_3191)3859 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3860 NI result;
3861 result = (NI)0;
3862 {
3863 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
3864 result = ((NI) 0);
3865 }
3866 goto LA1_;
3867 LA3_: ;
3868 {
3869 result = len__ast_3198(n);
3870 }
3871 LA1_: ;
3872 return result;
3873 }
N_NIMCALL(void,fillBodyObj__liftdestructors_252)3874 N_LIB_PRIVATE N_NIMCALL(void, fillBodyObj__liftdestructors_252)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, NIM_BOOL enforceDefaultOp) {
3875 { switch ((*n).kind) {
3876 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3877 {
3878 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
3879 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
3880 {
3881 if (!!(((*c).filterDiscriminator == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA4_;
3882 goto BeforeRet_;
3883 }
3884 LA4_: ;
3885 f = (*n)._kind_4.sym;
3886 {
3887 if (!((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA8_;
3888 b = y;
3889 }
3890 goto LA6_;
3891 LA8_: ;
3892 {
3893 b = dotField__liftdestructors_96(y, f);
3894 }
3895 LA6_: ;
3896 {
3897 NIM_BOOL T13_;
3898 NIM_BOOL T14_;
3899 NIM_BOOL T15_;
3900 tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
3901 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
3902 T13_ = (NIM_BOOL)0;
3903 T14_ = (NIM_BOOL)0;
3904 T15_ = (NIM_BOOL)0;
3905 T15_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
3906 if (!(T15_)) goto LA16_;
3907 T17_ = NIM_NIL;
3908 T17_ = skipTypes__ast_3735((*f).typ, TM__qGuGEzVTCUVhav67HrOxdQ_6);
3909 T15_ = ((*T17_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T17_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
3910 LA16_: ;
3911 T14_ = T15_;
3912 if (!(T14_)) goto LA18_;
3913 T14_ = ((176 &((NU16)1<<((NU)((*(*(*c).g).config).selectedGC)&15U)))!=0);
3914 LA18_: ;
3915 T13_ = T14_;
3916 if (T13_) goto LA19_;
3917 T13_ = enforceDefaultOp;
3918 LA19_: ;
3919 if (!T13_) goto LA20_;
3920 T22_ = NIM_NIL;
3921 T22_ = dotField__liftdestructors_96(x, f);
3922 defaultOp__liftdestructors_134(c, (*f).typ, body, T22_, b);
3923 }
3924 goto LA11_;
3925 LA20_: ;
3926 {
3927 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
3928 T24_ = NIM_NIL;
3929 T24_ = dotField__liftdestructors_96(x, f);
3930 fillBody__liftdestructors_34(c, (*f).typ, body, T24_, b);
3931 }
3932 LA11_: ;
3933 }
3934 break;
3935 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3936 {
3937 }
3938 break;
3939 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
3940 {
3941 NIM_BOOL localEnforceDefaultOp;
3942 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldfilterDiscriminator;
3943 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseStmt;
3944 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* access;
3945 NI emptyBranches;
3946 localEnforceDefaultOp = enforceDefaultOp;
3947 {
3948 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg prevKind;
3949 if (!((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2))) goto LA29_;
3950 prevKind = (*c).kind;
3951 (*c).kind = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0);
3952 fillBodyObj__liftdestructors_252(c, n, body, x, y, NIM_FALSE);
3953 (*c).kind = prevKind;
3954 localEnforceDefaultOp = NIM_TRUE;
3955 }
3956 LA29_: ;
3957 {
3958 if (!!(((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0)))) goto LA33_;
3959 fillBodyObj__liftdestructors_252(c, (*n)._kind_6.sons->data[((NI) 0)], body, x, y, NIM_FALSE);
3960 }
3961 LA33_: ;
3962 oldfilterDiscriminator = (*c).filterDiscriminator;
3963 {
3964 if (!((*c).filterDiscriminator == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym)) goto LA37_;
3965 unsureAsgnRef((void**) (&(*c).filterDiscriminator), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3966 }
3967 LA37_: ;
3968 caseStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97), (*c).info);
3969 access = dotField__liftdestructors_96(x, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
3970 add__ast_4797(caseStmt, access);
3971 emptyBranches = ((NI) 0);
3972 {
3973 NI i;
3974 NI colontmp_;
3975 NI i_2;
3976 i = (NI)0;
3977 colontmp_ = (NI)0;
3978 colontmp_ = len__ast_3198(n);
3979 i_2 = ((NI) 1);
3980 {
3981 while (1) {
3982 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
3983 NI T42_;
3984 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
3985 NI T44_;
3986 if (!(i_2 < colontmp_)) goto LA41;
3987 i = i_2;
3988 branch = copyTree__ast_4431((*n)._kind_6.sons->data[i]);
3989 T42_ = (NI)0;
3990 T42_ = len__ast_3198(branch);
3991 asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T42_ - ((NI) 1))]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info));
3992 T43_ = NIM_NIL;
3993 T43_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
3994 T44_ = (NI)0;
3995 T44_ = len__ast_3198(branch);
3996 fillBodyObj__liftdestructors_252(c, T43_, (*branch)._kind_6.sons->data[(NI)(T44_ - ((NI) 1))], x, y, localEnforceDefaultOp);
3997 {
3998 NI T47_;
3999 NI T48_;
4000 T47_ = (NI)0;
4001 T47_ = len__ast_3198(branch);
4002 T48_ = (NI)0;
4003 T48_ = len__ast_3198((*branch)._kind_6.sons->data[(NI)(T47_ - ((NI) 1))]);
4004 if (!(T48_ == ((NI) 0))) goto LA49_;
4005 emptyBranches += ((NI) 1);
4006 }
4007 LA49_: ;
4008 add__ast_4797(caseStmt, branch);
4009 i_2 += ((NI) 1);
4010 } LA41: ;
4011 }
4012 }
4013 {
4014 NI T53_;
4015 T53_ = (NI)0;
4016 T53_ = len__ast_3198(n);
4017 if (!!((emptyBranches == (NI)(T53_ - ((NI) 1))))) goto LA54_;
4018 add__ast_4797(body, caseStmt);
4019 }
4020 LA54_: ;
4021 {
4022 if (!((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0))) goto LA58_;
4023 fillBodyObj__liftdestructors_252(c, (*n)._kind_6.sons->data[((NI) 0)], body, x, y, NIM_FALSE);
4024 }
4025 LA58_: ;
4026 unsureAsgnRef((void**) (&(*c).filterDiscriminator), oldfilterDiscriminator);
4027 }
4028 break;
4029 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
4030 {
4031 {
4032 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
4033 t = NIM_NIL;
4034 {
4035 NI i_3;
4036 NI colontmp__2;
4037 NI i_4;
4038 i_3 = (NI)0;
4039 colontmp__2 = (NI)0;
4040 colontmp__2 = safeLen__ast_3191(n);
4041 i_4 = ((NI) 0);
4042 {
4043 while (1) {
4044 if (!(i_4 < colontmp__2)) goto LA64;
4045 i_3 = i_4;
4046 t = (*n)._kind_6.sons->data[i_3];
4047 fillBodyObj__liftdestructors_252(c, t, body, x, y, enforceDefaultOp);
4048 i_4 += ((NI) 1);
4049 } LA64: ;
4050 }
4051 }
4052 }
4053 }
4054 break;
4055 default:
4056 {
4057 illFormedAstLocal__semdata_1074(n, (*(*c).g).config);
4058 }
4059 break;
4060 }
4061 }BeforeRet_: ;
4062 }
N_NIMCALL(void,fillBodyObjTImpl__liftdestructors_360)4063 N_LIB_PRIVATE N_NIMCALL(void, fillBodyObjTImpl__liftdestructors_360)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
4064 {
4065 NIM_BOOL T3_;
4066 NI T4_;
4067 tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
4068 T3_ = (NIM_BOOL)0;
4069 T4_ = (NI)0;
4070 T4_ = len__ast_4002(t);
4071 T3_ = (((NI) 0) < T4_);
4072 if (!(T3_)) goto LA5_;
4073 T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4074 LA5_: ;
4075 if (!T3_) goto LA6_;
4076 T8_ = NIM_NIL;
4077 T8_ = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__qGuGEzVTCUVhav67HrOxdQ_42);
4078 fillBody__liftdestructors_34(c, T8_, body, x, y);
4079 }
4080 LA6_: ;
4081 fillBodyObj__liftdestructors_252(c, (*t).n, body, x, y, NIM_FALSE);
4082 }
N_NIMCALL(void,fillBodyObjT__liftdestructors_375)4083 N_LIB_PRIVATE N_NIMCALL(void, fillBodyObjT__liftdestructors_375)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
4084 NIM_BOOL hasCase;
4085 tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
4086 hasCase = isCaseObj__trees_158((*t).n);
4087 obj = t;
4088 {
4089 while (1) {
4090 NIM_BOOL T3_;
4091 NI T4_;
4092 NIM_BOOL T6_;
4093 T3_ = (NIM_BOOL)0;
4094 T4_ = (NI)0;
4095 T4_ = len__ast_4002(obj);
4096 T3_ = (((NI) 0) < T4_);
4097 if (!(T3_)) goto LA5_;
4098 T3_ = !(((*obj).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4099 LA5_: ;
4100 if (!T3_) goto LA2;
4101 obj = skipTypes__ast_3735((*obj).sons->data[((NI) 0)], TM__qGuGEzVTCUVhav67HrOxdQ_42);
4102 T6_ = (NIM_BOOL)0;
4103 T6_ = hasCase;
4104 if (T6_) goto LA7_;
4105 T6_ = isCaseObj__trees_158((*obj).n);
4106 LA7_: ;
4107 hasCase = T6_;
4108 } LA2: ;
4109 }
4110 {
4111 NIM_BOOL T10_;
4112 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dummy;
4113 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T14_;
4114 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T15_;
4115 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* temp;
4116 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T30_;
4117 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T31_;
4118 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
4119 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* blob;
4120 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* wasMovedCall;
4121 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T32_;
4122 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
4123 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg prevKind;
4124 T10_ = (NIM_BOOL)0;
4125 T10_ = hasCase;
4126 if (!(T10_)) goto LA11_;
4127 T10_ = ((18 &((NU8)1<<((NU)((*c).kind)&7U)))!=0);
4128 LA11_: ;
4129 if (!T10_) goto LA12_;
4130 T14_ = NIM_NIL;
4131 T14_ = getIdent__idents_143((*(*c).g).cache, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_14));
4132 T15_ = nextSymId__ast_3132((*c).idgen);
4133 dummy = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5), T14_, T15_, (*c).fn, (*c).info, 0);
4134 asgnRef((void**) (&(*dummy).typ), (*y).typ);
4135 {
4136 NIM_BOOL T18_;
4137 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
4138 tyArray__T6RKPw8xfAeNaoei9aZGzXg T21_;
4139 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T22_;
4140 tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
4141 tyArray__jlWPjgtbdjE069arIWHC9c9bg T24_;
4142 tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
4143 tyArray__jlWPjgtbdjE069arIWHC9c9bg T26_;
4144 tyArray__jlWPjgtbdjE069arIWHC9c9bg T27_;
4145 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
4146 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
4147 T18_ = (NIM_BOOL)0;
4148 T18_ = ccgIntroducedPtr__ccgutils_153((*(*c).g).config, dummy, (*y).typ);
4149 if (!T18_) goto LA19_;
4150 nimZeroMem((void*)T21_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4151 T22_ = NIM_NIL;
4152 T22_ = getSysMagic__magicsys_29((*c).g, (*c).info, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_43), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87));
4153 T21_[0] = newSymNode__ast_3716(T22_);
4154 T23_ = NIM_NIL;
4155 T23_ = makePtrType__semdata_737((*c).fn, (*x).typ, (*c).idgen);
4156 nimZeroMem((void*)T24_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4157 T24_[0] = x;
4158 T21_[1] = newTreeIT__ast_3431(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63), (*c).info, T23_, T24_, 1);
4159 T25_ = NIM_NIL;
4160 T25_ = makePtrType__semdata_737((*c).fn, (*y).typ, (*c).idgen);
4161 nimZeroMem((void*)T26_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4162 T26_[0] = y;
4163 T21_[2] = newTreeIT__ast_3431(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63), (*c).info, T25_, T26_, 1);
4164 cond = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T21_, 3);
4165 asgnRef((void**) (&(*cond).typ), getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
4166 nimZeroMem((void*)T27_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4167 T27_[0] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*c).info);
4168 T28_ = NIM_NIL;
4169 T28_ = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109), (*c).info, T27_, 1);
4170 T29_ = NIM_NIL;
4171 T29_ = genIf__liftdestructors_183(c, cond, T28_);
4172 add__ast_4797(body, T29_);
4173 }
4174 LA19_: ;
4175 T30_ = NIM_NIL;
4176 T30_ = getIdent__idents_143((*(*c).g).cache, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_14));
4177 T31_ = nextSymId__ast_3132((*c).idgen);
4178 temp = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5), T30_, T31_, (*c).fn, (*c).info, 0);
4179 asgnRef((void**) (&(*temp).typ), (*x).typ);
4180 (*temp).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
4181 v = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*c).info);
4182 blob = newSymNode__ast_3716(temp);
4183 addVar__lowerings_75(v, blob, x);
4184 add__ast_4797(body, v);
4185 wasMovedCall = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*c).info);
4186 T32_ = NIM_NIL;
4187 T32_ = createMagic__modulegraphs_9008((*c).g, (*c).idgen, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_20), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149));
4188 T33_ = NIM_NIL;
4189 T33_ = newSymNode__ast_3716(T32_);
4190 add__ast_4797(wasMovedCall, T33_);
4191 add__ast_4797(wasMovedCall, x);
4192 add__ast_4797(body, wasMovedCall);
4193 fillBodyObjTImpl__liftdestructors_360(c, t, body, x, y);
4194 prevKind = (*c).kind;
4195 (*c).kind = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0);
4196 fillBodyObjTImpl__liftdestructors_360(c, t, body, blob, y);
4197 (*c).kind = prevKind;
4198 }
4199 goto LA8_;
4200 LA12_: ;
4201 {
4202 fillBodyObjTImpl__liftdestructors_360(c, t, body, x, y);
4203 }
4204 LA8_: ;
4205 }
N_NIMCALL(void,fillBodyTup__liftdestructors_73)4206 N_LIB_PRIVATE N_NIMCALL(void, fillBodyTup__liftdestructors_73)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
4207 {
4208 NI i;
4209 NI colontmp_;
4210 NI i_2;
4211 i = (NI)0;
4212 colontmp_ = (NI)0;
4213 colontmp_ = len__ast_4002(t);
4214 i_2 = ((NI) 0);
4215 {
4216 while (1) {
4217 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lit;
4218 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
4219 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
4220 if (!(i_2 < colontmp_)) goto LA3;
4221 i = i_2;
4222 lit = newIntLit__lowerings_695((*c).g, (*x).info, ((NI64) (i)));
4223 {
4224 if (!((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA6_;
4225 b = y;
4226 }
4227 goto LA4_;
4228 LA6_: ;
4229 {
4230 b = at__liftdestructors_53(y, lit, (*t).sons->data[i]);
4231 }
4232 LA4_: ;
4233 T9_ = NIM_NIL;
4234 T9_ = at__liftdestructors_53(x, lit, (*t).sons->data[i]);
4235 fillBody__liftdestructors_34(c, (*t).sons->data[i], body, T9_, b);
4236 i_2 += ((NI) 1);
4237 } LA3: ;
4238 }
4239 }
4240 }
N_NIMCALL(void,fillBody__liftdestructors_34)4241 N_LIB_PRIVATE N_NIMCALL(void, fillBody__liftdestructors_34)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
4242 { switch ((*t).kind) {
4243 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
4244 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
4245 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
4246 {
4247 }
4248 break;
4249 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
4250 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
4251 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
4252 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
4253 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
4254 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
4255 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
4256 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
4257 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
4258 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
4259 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
4260 {
4261 defaultOp__liftdestructors_134(c, t, body, x, y);
4262 }
4263 break;
4264 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
4265 {
4266 {
4267 if (!((48 &((NU16)1<<((NU)((*(*(*c).g).config).selectedGC)&15U)))!=0)) goto LA6_;
4268 atomicRefOp__liftdestructors_1376(c, t, body, x, y);
4269 }
4270 goto LA4_;
4271 LA6_: ;
4272 {
4273 NIM_BOOL T9_;
4274 T9_ = (NIM_BOOL)0;
4275 T9_ = (((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
4276 if (!(T9_)) goto LA10_;
4277 T9_ = (((*(*(*c).g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 6))&31U)))!=0);
4278 LA10_: ;
4279 if (!T9_) goto LA11_;
4280 weakrefOp__liftdestructors_1540(c, t, body, x, y);
4281 }
4282 goto LA4_;
4283 LA11_: ;
4284 {
4285 defaultOp__liftdestructors_134(c, t, body, x, y);
4286 }
4287 LA4_: ;
4288 }
4289 break;
4290 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
4291 {
4292 {
4293 if (!((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA17_;
4294 {
4295 if (!((48 &((NU16)1<<((NU)((*(*(*c).g).config).selectedGC)&15U)))!=0)) goto LA21_;
4296 atomicClosureOp__liftdestructors_1464(c, t, body, x, y);
4297 }
4298 goto LA19_;
4299 LA21_: ;
4300 {
4301 closureOp__liftdestructors_1655(c, t, body, x, y);
4302 }
4303 LA19_: ;
4304 }
4305 goto LA15_;
4306 LA17_: ;
4307 {
4308 defaultOp__liftdestructors_134(c, t, body, x, y);
4309 }
4310 LA15_: ;
4311 }
4312 break;
4313 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
4314 {
4315 tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
4316 base = skipTypes__ast_3735(t, TM__qGuGEzVTCUVhav67HrOxdQ_37);
4317 {
4318 if (!(((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA28_;
4319 switch ((*base).kind) {
4320 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
4321 {
4322 ownedRefOp__liftdestructors_1620(c, base, body, x, y);
4323 goto BeforeRet_;
4324 }
4325 break;
4326 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
4327 {
4328 {
4329 if (!((*base).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA34_;
4330 ownedClosureOp__liftdestructors_1722(c, base, body, x, y);
4331 goto BeforeRet_;
4332 }
4333 LA34_: ;
4334 }
4335 break;
4336 default:
4337 {
4338 }
4339 break;
4340 }
4341 }
4342 LA28_: ;
4343 defaultOp__liftdestructors_134(c, base, body, x, y);
4344 }
4345 break;
4346 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
4347 {
4348 {
4349 NIM_BOOL T40_;
4350 T40_ = (NIM_BOOL)0;
4351 T40_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0);
4352 if (T40_) goto LA41_;
4353 T40_ = useNoGc__liftdestructors_546((&(*c)), t);
4354 LA41_: ;
4355 if (!T40_) goto LA42_;
4356 forallElements__liftdestructors_823(c, t, body, x, y);
4357 }
4358 goto LA38_;
4359 LA42_: ;
4360 {
4361 defaultOp__liftdestructors_134(c, t, body, x, y);
4362 }
4363 LA38_: ;
4364 }
4365 break;
4366 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
4367 {
4368 {
4369 NIM_BOOL T48_;
4370 T48_ = (NIM_BOOL)0;
4371 T48_ = useNoGc__liftdestructors_546((&(*c)), t);
4372 if (!T48_) goto LA49_;
4373 useSeqOrStrOp__liftdestructors_894(c, t, body, x, y);
4374 }
4375 goto LA46_;
4376 LA49_: ;
4377 {
4378 NIM_BOOL T54_;
4379 if (!(((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA52_;
4380 T54_ = (NIM_BOOL)0;
4381 T54_ = considerUserDefinedOp__liftdestructors_710(c, t, body, x, y);
4382 (void)(T54_);
4383 }
4384 goto LA46_;
4385 LA52_: ;
4386 {
4387 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0)) goto LA56_;
4388 {
4389 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T62_;
4390 if (!((22 &((NU8)1<<((NU)((*c).kind)&7U)))!=0)) goto LA60_;
4391 T62_ = NIM_NIL;
4392 T62_ = newSeqCall__liftdestructors_795(c, x, y);
4393 add__ast_4797(body, T62_);
4394 }
4395 LA60_: ;
4396 forallElements__liftdestructors_823(c, t, body, x, y);
4397 }
4398 goto LA46_;
4399 LA56_: ;
4400 {
4401 defaultOp__liftdestructors_134(c, t, body, x, y);
4402 }
4403 LA46_: ;
4404 }
4405 break;
4406 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
4407 {
4408 {
4409 NIM_BOOL T67_;
4410 T67_ = (NIM_BOOL)0;
4411 T67_ = useNoGc__liftdestructors_546((&(*c)), t);
4412 if (!T67_) goto LA68_;
4413 useSeqOrStrOp__liftdestructors_894(c, t, body, x, y);
4414 }
4415 goto LA65_;
4416 LA68_: ;
4417 {
4418 NIM_BOOL T73_;
4419 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0)) goto LA71_;
4420 T73_ = (NIM_BOOL)0;
4421 T73_ = considerUserDefinedOp__liftdestructors_710(c, t, body, x, y);
4422 (void)(T73_);
4423 }
4424 goto LA65_;
4425 LA71_: ;
4426 {
4427 defaultOp__liftdestructors_134(c, t, body, x, y);
4428 }
4429 LA65_: ;
4430 }
4431 break;
4432 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
4433 {
4434 {
4435 NIM_BOOL T78_;
4436 T78_ = (NIM_BOOL)0;
4437 T78_ = considerUserDefinedOp__liftdestructors_710(c, t, body, x, y);
4438 if (!!(T78_)) goto LA79_;
4439 {
4440 NIM_BOOL T83_;
4441 NIM_BOOL T84_;
4442 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T89_;
4443 T83_ = (NIM_BOOL)0;
4444 T84_ = (NIM_BOOL)0;
4445 T84_ = ((6 &((NU8)1<<((NU)((*c).kind)&7U)))!=0);
4446 if (!(T84_)) goto LA85_;
4447 T84_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4448 LA85_: ;
4449 T83_ = T84_;
4450 if (!(T83_)) goto LA86_;
4451 T83_ = (((*(*t).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0);
4452 LA86_: ;
4453 if (!T83_) goto LA87_;
4454 T89_ = NIM_NIL;
4455 T89_ = newAsgnStmt__liftdestructors_107(x, y);
4456 add__ast_4797(body, T89_);
4457 }
4458 goto LA81_;
4459 LA87_: ;
4460 {
4461 fillBodyObjT__liftdestructors_375(c, t, body, x, y);
4462 }
4463 LA81_: ;
4464 }
4465 LA79_: ;
4466 }
4467 break;
4468 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
4469 {
4470 {
4471 NIM_BOOL T94_;
4472 T94_ = (NIM_BOOL)0;
4473 T94_ = considerUserDefinedOp__liftdestructors_710(c, t, body, x, y);
4474 if (!!(T94_)) goto LA95_;
4475 fillBody__liftdestructors_34(c, (*t).sons->data[((NI) 0)], body, x, y);
4476 }
4477 LA95_: ;
4478 }
4479 break;
4480 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
4481 {
4482 fillBodyTup__liftdestructors_73(c, t, body, x, y);
4483 }
4484 break;
4485 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
4486 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
4487 {
4488 {
4489 NIM_BOOL T101_;
4490 NIM_BOOL T103_;
4491 T101_ = (NIM_BOOL)0;
4492 T101_ = ((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
4493 if (!(T101_)) goto LA102_;
4494 T103_ = (NIM_BOOL)0;
4495 T103_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0);
4496 if (T103_) goto LA104_;
4497 T103_ = useNoGc__liftdestructors_546((&(*c)), t);
4498 LA104_: ;
4499 T101_ = T103_;
4500 LA102_: ;
4501 if (!T101_) goto LA105_;
4502 forallElements__liftdestructors_823(c, t, body, x, y);
4503 }
4504 goto LA99_;
4505 LA105_: ;
4506 {
4507 }
4508 LA99_: ;
4509 }
4510 break;
4511 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
4512 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
4513 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
4514 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
4515 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
4516 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
4517 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
4518 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
4519 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
4520 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
4521 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
4522 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
4523 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
4524 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
4525 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
4526 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
4527 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
4528 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
4529 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
4530 {
4531 }
4532 break;
4533 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
4534 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
4535 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
4536 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
4537 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
4538 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
4539 {
4540 tyObject_TType__facALICuu8zUj0hjvbTLFg* T110_;
4541 T110_ = NIM_NIL;
4542 T110_ = lastSon__ast_3743(t);
4543 fillBody__liftdestructors_34(c, T110_, body, x, y);
4544 }
4545 break;
4546 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
4547 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
4548 {
4549 {
4550 if (!NIM_TRUE) goto LA114_;
4551 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_44));
4552 }
4553 LA114_: ;
4554 }
4555 break;
4556 }
4557 }BeforeRet_: ;
4558 }
N_NIMCALL(void,addIncStmt__liftdestructors_782)4559 N_LIB_PRIVATE N_NIMCALL(void, addIncStmt__liftdestructors_782)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i) {
4560 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* incCall;
4561 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4562 incCall = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_45), i);
4563 T1_ = NIM_NIL;
4564 T1_ = newIntLit__lowerings_695((*c).g, (*c).info, IL64(1));
4565 add__ast_4797(incCall, T1_);
4566 add__ast_4797(body, incCall);
4567 }
N_NIMCALL(void,forallElements__liftdestructors_823)4568 N_LIB_PRIVATE N_NIMCALL(void, forallElements__liftdestructors_823)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
4569 NI counterIdx;
4570 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i;
4571 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T1_;
4572 NI64 T2_;
4573 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* whileLoop;
4574 tyObject_TType__facALICuu8zUj0hjvbTLFg* elemType;
4575 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
4576 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
4577 counterIdx = len__ast_3198(body);
4578 T1_ = firstOrd__types_1353((*(*c).g).config, t);
4579 T2_ = (NI64)0;
4580 T2_ = toInt64__int495056_88(T1_);
4581 i = declareCounter__liftdestructors_752(c, body, T2_);
4582 whileLoop = genWhileLoop__liftdestructors_171(c, i, x);
4583 elemType = lastSon__ast_3743(t);
4584 {
4585 if (!((*c).kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA5_;
4586 b = y;
4587 }
4588 goto LA3_;
4589 LA5_: ;
4590 {
4591 b = at__liftdestructors_53(y, i, elemType);
4592 }
4593 LA3_: ;
4594 T8_ = NIM_NIL;
4595 T8_ = at__liftdestructors_53(x, i, elemType);
4596 fillBody__liftdestructors_34(c, elemType, (*whileLoop)._kind_6.sons->data[((NI) 1)], T8_, b);
4597 {
4598 NI T11_;
4599 T11_ = (NI)0;
4600 T11_ = len__ast_3198((*whileLoop)._kind_6.sons->data[((NI) 1)]);
4601 if (!(((NI) 0) < T11_)) goto LA12_;
4602 addIncStmt__liftdestructors_782(c, (*whileLoop)._kind_6.sons->data[((NI) 1)], i);
4603 add__ast_4797(body, whileLoop);
4604 }
4605 goto LA9_;
4606 LA12_: ;
4607 {
4608 asgnRef((void**) (&(*body)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*body)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (counterIdx))));
4609 }
4610 LA9_: ;
4611 }
N_NIMCALL(void,fillSeqOp__liftdestructors_858)4612 N_LIB_PRIVATE N_NIMCALL(void, fillSeqOp__liftdestructors_858)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
4613 switch ((*c).kind) {
4614 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
4615 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
4616 {
4617 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
4618 T2_ = NIM_NIL;
4619 T2_ = setLenSeqCall__liftdestructors_815(c, t, x, y);
4620 add__ast_4797(body, T2_);
4621 forallElements__liftdestructors_823(c, t, body, x, y);
4622 }
4623 break;
4624 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
4625 {
4626 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* moveCall;
4627 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
4628 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
4629 moveCall = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_38), x);
4630 add__ast_4797(moveCall, y);
4631 {
4632 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
4633 T6_ = NIM_NIL;
4634 T6_ = getAttachedOp__modulegraphs_4011((*c).g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
4635 if (!!(!((T6_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA7_;
4636 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_46));
4637 }
4638 LA7_: ;
4639 T9_ = NIM_NIL;
4640 T9_ = getAttachedOp__modulegraphs_4011((*c).g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
4641 T10_ = NIM_NIL;
4642 T10_ = destructorCall__liftdestructors_233(c, T9_, x);
4643 add__ast_4797(moveCall, T10_);
4644 add__ast_4797(body, moveCall);
4645 }
4646 break;
4647 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
4648 {
4649 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
4650 forallElements__liftdestructors_823(c, t, body, x, y);
4651 T12_ = NIM_NIL;
4652 T12_ = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_47), x);
4653 add__ast_4797(body, T12_);
4654 }
4655 break;
4656 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
4657 {
4658 {
4659 tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
4660 NIM_BOOL T17_;
4661 T16_ = NIM_NIL;
4662 T16_ = elemType__types_263(t);
4663 T17_ = (NIM_BOOL)0;
4664 T17_ = canFormAcycle__types_762(T16_);
4665 if (!T17_) goto LA18_;
4666 forallElements__liftdestructors_823(c, t, body, x, y);
4667 }
4668 LA18_: ;
4669 }
4670 break;
4671 }
4672 }
N_NIMCALL(void,fillStrOp__liftdestructors_1330)4673 N_LIB_PRIVATE N_NIMCALL(void, fillStrOp__liftdestructors_1330)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
4674 switch ((*c).kind) {
4675 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1):
4676 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4):
4677 {
4678 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
4679 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
4680 T2_ = NIM_NIL;
4681 T2_ = genAddr__liftdestructors_158(c, x);
4682 T3_ = NIM_NIL;
4683 T3_ = callCodegenProc__lowerings_635((*c).g, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_48), (*c).info, T2_, y, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4684 add__ast_4797(body, T3_);
4685 }
4686 break;
4687 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2):
4688 {
4689 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* moveCall;
4690 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T10_;
4691 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
4692 moveCall = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_38), x);
4693 add__ast_4797(moveCall, y);
4694 {
4695 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
4696 T7_ = NIM_NIL;
4697 T7_ = getAttachedOp__modulegraphs_4011((*c).g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
4698 if (!!(!((T7_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA8_;
4699 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_49));
4700 }
4701 LA8_: ;
4702 T10_ = NIM_NIL;
4703 T10_ = getAttachedOp__modulegraphs_4011((*c).g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
4704 T11_ = NIM_NIL;
4705 T11_ = destructorCall__liftdestructors_233(c, T10_, x);
4706 add__ast_4797(moveCall, T11_);
4707 add__ast_4797(body, moveCall);
4708 }
4709 break;
4710 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0):
4711 {
4712 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
4713 T13_ = NIM_NIL;
4714 T13_ = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_47), x);
4715 add__ast_4797(body, T13_);
4716 }
4717 break;
4718 case ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3):
4719 {
4720 }
4721 break;
4722 }
4723 }
N_INLINE(NIM_BOOL,lacksMTypeField__types_4105)4724 static N_INLINE(NIM_BOOL, lacksMTypeField__types_4105)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
4725 NIM_BOOL result;
4726 NIM_BOOL T1_;
4727 NIM_BOOL T2_;
4728 result = (NIM_BOOL)0;
4729 T1_ = (NIM_BOOL)0;
4730 T2_ = (NIM_BOOL)0;
4731 T2_ = !(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4732 if (!(T2_)) goto LA3_;
4733 T2_ = (((*(*typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
4734 LA3_: ;
4735 T1_ = T2_;
4736 if (T1_) goto LA4_;
4737 T1_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0);
4738 LA4_: ;
4739 result = T1_;
4740 return result;
4741 }
N_NIMCALL(void,genTypeFieldCopy__liftdestructors_1915)4742 N_LIB_PRIVATE N_NIMCALL(void, genTypeFieldCopy__liftdestructors_1915)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
4743 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xx;
4744 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* yy;
4745 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4746 xx = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 157), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_50), x);
4747 yy = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 157), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_50), y);
4748 asgnRef((void**) (&(*xx).typ), getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
4749 asgnRef((void**) (&(*yy).typ), (*xx).typ);
4750 T1_ = NIM_NIL;
4751 T1_ = newAsgnStmt__liftdestructors_107(xx, yy);
4752 add__ast_4797(body, T1_);
4753 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,produceSym__liftdestructors_40)4754 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, produceSym__liftdestructors_40)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
4755 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
4756 tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA a;
4757 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dest;
4758 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* d;
4759 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
4760 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src;
4761 { result = NIM_NIL;
4762 {
4763 if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA3_;
4764 result = produceSymDistinctType__liftdestructors_1841(g, c, typ, kind, info, idgen);
4765 goto BeforeRet_;
4766 }
4767 LA3_: ;
4768 result = getAttachedOp__modulegraphs_4011(g, typ, kind);
4769 {
4770 if (!(result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA7_;
4771 result = symPrototype__liftdestructors_1862(g, typ, (*typ).owner, kind, info, idgen);
4772 }
4773 LA7_: ;
4774 nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA));
4775 nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA));
4776 a.info = info;
4777 a.g = g;
4778 a.kind = kind;
4779 a.c = c;
4780 a.asgnForType = typ;
4781 a.idgen = idgen;
4782 a.fn = result;
4783 dest = (*(*(*(*result).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
4784 T9_ = NIM_NIL;
4785 T9_ = newSymNode__ast_3716(dest);
4786 d = newDeref__lowerings_11(T9_);
4787 {
4788 tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
4789 if (!(kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0))) goto LA12_;
4790 T14_ = NIM_NIL;
4791 T14_ = getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
4792 src = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3), info, T14_);
4793 }
4794 goto LA10_;
4795 LA12_: ;
4796 {
4797 src = newSymNode__ast_3716((*(*(*(*result).typ).n)._kind_6.sons->data[((NI) 2)])._kind_4.sym);
4798 }
4799 LA10_: ;
4800 setAttachedOpPartial__modulegraphs_5577(g, ((NI) ((*idgen).module)), typ, kind, result);
4801 {
4802 NIM_BOOL T18_;
4803 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T22_;
4804 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
4805 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
4806 T18_ = (NIM_BOOL)0;
4807 T18_ = (kind == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4808 if (!(T18_)) goto LA19_;
4809 T18_ = destructorOverriden__liftdestructors_60(g, typ);
4810 LA19_: ;
4811 if (!T18_) goto LA20_;
4812 (*dest).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41)) & 63);
4813 T22_ = NIM_NIL;
4814 T22_ = getAttachedOp__modulegraphs_4011(g, typ, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
4815 T23_ = NIM_NIL;
4816 T23_ = newOpCall__liftdestructors_516((&a), T22_, (*d)._kind_6.sons->data[((NI) 0)]);
4817 add__ast_4797((*(*result).ast)._kind_6.sons->data[((NI) 6)], T23_);
4818 T24_ = NIM_NIL;
4819 T24_ = newAsgnStmt__liftdestructors_107(d, src);
4820 add__ast_4797((*(*result).ast)._kind_6.sons->data[((NI) 6)], T24_);
4821 }
4822 goto LA16_;
4823 LA20_: ;
4824 {
4825 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag tk;
4826 tk = (tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag)0;
4827 {
4828 tyObject_TType__facALICuu8zUj0hjvbTLFg* T30_;
4829 if (!((176 &((NU16)1<<((NU)((*(*g).config).selectedGC)&15U)))!=0)) goto LA28_;
4830 T30_ = NIM_NIL;
4831 T30_ = skipTypes__ast_3735(typ, TM__qGuGEzVTCUVhav67HrOxdQ_8);
4832 tk = (*T30_).kind;
4833 }
4834 goto LA26_;
4835 LA28_: ;
4836 {
4837 tk = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
4838 }
4839 LA26_: ;
4840 switch (tk) {
4841 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
4842 {
4843 fillSeqOp__liftdestructors_858((&a), typ, (*(*result).ast)._kind_6.sons->data[((NI) 6)], d, src);
4844 }
4845 break;
4846 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
4847 {
4848 fillStrOp__liftdestructors_1330((&a), typ, (*(*result).ast)._kind_6.sons->data[((NI) 6)], d, src);
4849 }
4850 break;
4851 default:
4852 {
4853 fillBody__liftdestructors_34((&a), typ, (*(*result).ast)._kind_6.sons->data[((NI) 6)], d, src);
4854 {
4855 NIM_BOOL T37_;
4856 NIM_BOOL T38_;
4857 NIM_BOOL T41_;
4858 T37_ = (NIM_BOOL)0;
4859 T38_ = (NIM_BOOL)0;
4860 T38_ = (tk == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
4861 if (!(T38_)) goto LA39_;
4862 T38_ = ((22 &((NU8)1<<((NU)(a.kind)&7U)))!=0);
4863 LA39_: ;
4864 T37_ = T38_;
4865 if (!(T37_)) goto LA40_;
4866 T41_ = (NIM_BOOL)0;
4867 T41_ = lacksMTypeField__types_4105(typ);
4868 T37_ = !(T41_);
4869 LA40_: ;
4870 if (!T37_) goto LA42_;
4871 genTypeFieldCopy__liftdestructors_1915((&a), typ, (*(*result).ast)._kind_6.sons->data[((NI) 6)], d, src);
4872 }
4873 LA42_: ;
4874 }
4875 break;
4876 }
4877 }
4878 LA16_: ;
4879 {
4880 if (!!(a.canRaise)) goto LA46_;
4881 (*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 43)) & 63);
4882 }
4883 LA46_: ;
4884 completePartialOp__modulegraphs_5629(g, ((NI) ((*idgen).module)), typ, kind, result);
4885 }BeforeRet_: ;
4886 return result;
4887 }
N_NIMCALL(void,patchBody__liftdestructors_2038)4888 N_LIB_PRIVATE N_NIMCALL(void, patchBody__liftdestructors_2038)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
4889 {
4890 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA3_;
4891 {
4892 NIM_BOOL T7_;
4893 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4894 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
4895 T7_ = (NIM_BOOL)0;
4896 T7_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4897 if (!(T7_)) goto LA8_;
4898 T7_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150));
4899 LA8_: ;
4900 if (!T7_) goto LA9_;
4901 t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__qGuGEzVTCUVhav67HrOxdQ_51);
4902 {
4903 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T13_;
4904 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T16_;
4905 T13_ = NIM_NIL;
4906 T13_ = getAttachedOp__modulegraphs_4011(g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
4907 if (!(T13_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA14_;
4908 T16_ = NIM_NIL;
4909 T16_ = produceSym__liftdestructors_40(g, c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0), info, idgen);
4910 (void)(T16_);
4911 }
4912 LA14_: ;
4913 op = getAttachedOp__modulegraphs_4011(g, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
4914 {
4915 if (!!((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA19_;
4916 {
4917 NIM_BOOL T23_;
4918 T23_ = (NIM_BOOL)0;
4919 T23_ = isGenericRoutine__ast_4627((*op).ast);
4920 if (!T23_) goto LA24_;
4921 internalErrorImpl__msgs_1431((*g).config, info, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_52), TM__qGuGEzVTCUVhav67HrOxdQ_53);
4922 }
4923 LA24_: ;
4924 {
4925 if (!((*op).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150))) goto LA28_;
4926 internalErrorImpl__msgs_1431((*g).config, info, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_54), TM__qGuGEzVTCUVhav67HrOxdQ_55);
4927 }
4928 LA28_: ;
4929 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op));
4930 }
4931 LA19_: ;
4932 }
4933 LA9_: ;
4934 }
4935 LA3_: ;
4936 {
4937 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4938 x = NIM_NIL;
4939 {
4940 NI i;
4941 NI colontmp_;
4942 NI i_2;
4943 i = (NI)0;
4944 colontmp_ = (NI)0;
4945 colontmp_ = safeLen__ast_3191(n);
4946 i_2 = ((NI) 0);
4947 {
4948 while (1) {
4949 if (!(i_2 < colontmp_)) goto LA33;
4950 i = i_2;
4951 x = (*n)._kind_6.sons->data[i];
4952 patchBody__liftdestructors_2038(g, c, x, info, idgen);
4953 i_2 += ((NI) 1);
4954 } LA33: ;
4955 }
4956 }
4957 }
4958 }
N_NIMCALL(void,inst__liftdestructors_2075)4959 N_LIB_PRIVATE N_NIMCALL(void, inst__liftdestructors_2075)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
4960 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
4961 op = getAttachedOp__modulegraphs_4011(g, t, kind);
4962 {
4963 NIM_BOOL T3_;
4964 NIM_BOOL T4_;
4965 T3_ = (NIM_BOOL)0;
4966 T4_ = (NIM_BOOL)0;
4967 T4_ = !((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4968 if (!(T4_)) goto LA5_;
4969 T4_ = !(((*op).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4970 LA5_: ;
4971 T3_ = T4_;
4972 if (!(T3_)) goto LA6_;
4973 T3_ = isGenericRoutine__ast_4627((*op).ast);
4974 LA6_: ;
4975 if (!T3_) goto LA7_;
4976 {
4977 tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA a;
4978 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opInst;
4979 if (!!(((*t).typeInst == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA11_;
4980 nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA));
4981 a.info = info;
4982 a.g = g;
4983 a.kind = kind;
4984 a.c = c;
4985 a.idgen = idgen;
4986 opInst = instantiateGeneric__liftdestructors_570((&a), op, t, (*t).typeInst);
4987 {
4988 if (!!(((*opInst).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA15_;
4989 patchBody__liftdestructors_2038(g, c, (*opInst).ast, info, a.idgen);
4990 }
4991 LA15_: ;
4992 setAttachedOp__modulegraphs_4407(g, ((NI) ((*idgen).module)), t, kind, opInst);
4993 }
4994 goto LA9_;
4995 LA11_: ;
4996 {
4997 liMessage__msgs_1118((*g).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_56), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__qGuGEzVTCUVhav67HrOxdQ_57, NIM_FALSE);
4998 }
4999 LA9_: ;
5000 }
5001 LA7_: ;
5002 }
N_INLINE(NIM_BOOL,isTrival__liftdestructors_2101)5003 static N_INLINE(NIM_BOOL, isTrival__liftdestructors_2101)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
5004 NIM_BOOL result;
5005 NIM_BOOL T1_;
5006 NIM_BOOL T3_;
5007 NI T5_;
5008 result = (NIM_BOOL)0;
5009 T1_ = (NIM_BOOL)0;
5010 T1_ = (s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
5011 if (T1_) goto LA2_;
5012 T3_ = (NIM_BOOL)0;
5013 T3_ = !(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
5014 if (!(T3_)) goto LA4_;
5015 T5_ = (NI)0;
5016 T5_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 6)]);
5017 T3_ = (T5_ == ((NI) 0));
5018 LA4_: ;
5019 T1_ = T3_;
5020 LA2_: ;
5021 result = T1_;
5022 return result;
5023 }
N_NIMCALL(void,createTypeBoundOps__liftdestructors_47)5024 N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__liftdestructors_47)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* orig, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
5025 tyObject_TType__facALICuu8zUj0hjvbTLFg* skipped;
5026 tyArray__qtqsWM5aXmcpMIVmvq3kAA h;
5027 tyObject_TType__facALICuu8zUj0hjvbTLFg* canon;
5028 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg lastAttached;
5029 tyArray__ghpD42BXWBF9atU69bA3FcvQ generics;
5030 { {
5031 NIM_BOOL T3_;
5032 T3_ = (NIM_BOOL)0;
5033 T3_ = (orig == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
5034 if (T3_) goto LA4_;
5035 T3_ = !(((IL64(274880004096) & (*orig).flags) == 0));
5036 LA4_: ;
5037 if (!T3_) goto LA5_;
5038 goto BeforeRet_;
5039 }
5040 LA5_: ;
5041 (*orig).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
5042 skipped = skipTypes__ast_3735(orig, TM__qGuGEzVTCUVhav67HrOxdQ_2);
5043 {
5044 NIM_BOOL T9_;
5045 T9_ = (NIM_BOOL)0;
5046 T9_ = isEmptyContainer__types_3617(skipped);
5047 if (T9_) goto LA10_;
5048 T9_ = ((*skipped).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
5049 LA10_: ;
5050 if (!T9_) goto LA11_;
5051 goto BeforeRet_;
5052 }
5053 LA11_: ;
5054 nimZeroMem((void*)h, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
5055 hashType__sighashes_462(skipped, 50, h);
5056 canon = getOrDefault__liftdestructors_976((*g).canonTypes, h);
5057 {
5058 if (!(canon == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA15_;
5059 X5BX5Deq___liftdestructors_2260((&(*g).canonTypes), h, skipped);
5060 canon = skipped;
5061 }
5062 LA15_: ;
5063 {
5064 if (!((*(*g).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5))) goto LA19_;
5065 lastAttached = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3);
5066 }
5067 goto LA17_;
5068 LA19_: ;
5069 {
5070 lastAttached = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2);
5071 }
5072 LA17_: ;
5073 nimZeroMem((void*)generics, sizeof(tyArray__ghpD42BXWBF9atU69bA3FcvQ));
5074 {
5075 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg k;
5076 NI res;
5077 k = (tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg)0;
5078 res = ((NI) 0);
5079 {
5080 while (1) {
5081 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T25_;
5082 if (!(res <= ((NI) (lastAttached)))) goto LA24;
5083 k = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) (res));
5084 T25_ = NIM_NIL;
5085 T25_ = getAttachedOp__modulegraphs_4011(g, canon, k);
5086 generics[(k)- 0] = !((T25_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
5087 {
5088 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T30_;
5089 if (!!(generics[(k)- 0])) goto LA28_;
5090 T30_ = NIM_NIL;
5091 T30_ = symPrototype__liftdestructors_1862(g, canon, (*canon).owner, k, info, idgen);
5092 setAttachedOp__modulegraphs_4407(g, ((NI) ((*idgen).module)), canon, k, T30_);
5093 }
5094 LA28_: ;
5095 res += ((NI) 1);
5096 } LA24: ;
5097 }
5098 }
5099 {
5100 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg k_2;
5101 NI res_2;
5102 k_2 = (tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg)0;
5103 res_2 = ((NI) 0);
5104 {
5105 while (1) {
5106 if (!(res_2 <= ((NI) (lastAttached)))) goto LA33;
5107 k_2 = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) (res_2));
5108 {
5109 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T38_;
5110 if (!!(generics[(k_2)- 0])) goto LA36_;
5111 T38_ = NIM_NIL;
5112 T38_ = produceSym__liftdestructors_40(g, c, canon, k_2, info, idgen);
5113 (void)(T38_);
5114 }
5115 goto LA34_;
5116 LA36_: ;
5117 {
5118 inst__liftdestructors_2075(g, c, canon, k_2, idgen, info);
5119 }
5120 LA34_: ;
5121 {
5122 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T44_;
5123 if (!!((canon == orig))) goto LA42_;
5124 T44_ = NIM_NIL;
5125 T44_ = getAttachedOp__modulegraphs_4011(g, canon, k_2);
5126 setAttachedOp__modulegraphs_4407(g, ((NI) ((*idgen).module)), orig, k_2, T44_);
5127 }
5128 LA42_: ;
5129 res_2 += ((NI) 1);
5130 } LA33: ;
5131 }
5132 }
5133 {
5134 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T47_;
5135 NIM_BOOL T48_;
5136 T47_ = NIM_NIL;
5137 T47_ = getAttachedOp__modulegraphs_4011(g, orig, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
5138 T48_ = (NIM_BOOL)0;
5139 T48_ = isTrival__liftdestructors_2101(T47_);
5140 if (!!(T48_)) goto LA49_;
5141 (*orig).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
5142 }
5143 LA49_: ;
5144 }BeforeRet_: ;
5145 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genContainerOf__liftdestructors_188)5146 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genContainerOf__liftdestructors_188)(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* objType, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x) {
5147 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5148 tyObject_TType__facALICuu8zUj0hjvbTLFg* intType;
5149 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* addrOf;
5150 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
5151 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
5152 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
5153 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* castExpr1;
5154 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
5155 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dotExpr;
5156 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
5157 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
5158 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* offsetOf;
5159 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* minusExpr;
5160 tyObject_TType__facALICuu8zUj0hjvbTLFg* objPtr;
5161 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
5162 result = NIM_NIL;
5163 intType = getSysType__magicsys_60((*c).g, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5164 T1_ = NIM_NIL;
5165 T1_ = makePtrType__semdata_737((*x).owner, (*x).typ, (*c).idgen);
5166 addrOf = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63), (*c).info, T1_);
5167 T2_ = NIM_NIL;
5168 T2_ = newSymNode__ast_3716(x);
5169 T3_ = NIM_NIL;
5170 T3_ = newDeref__lowerings_11(T2_);
5171 add__ast_4797(addrOf, T3_);
5172 castExpr1 = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61), (*c).info, intType);
5173 T4_ = NIM_NIL;
5174 T4_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*c).info, intType);
5175 add__ast_4797(castExpr1, T4_);
5176 add__ast_4797(castExpr1, addrOf);
5177 dotExpr = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*c).info, (*x).typ);
5178 T5_ = NIM_NIL;
5179 T5_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*c).info, objType);
5180 add__ast_4797(dotExpr, T5_);
5181 T6_ = NIM_NIL;
5182 T6_ = newSymNode__ast_3716(field);
5183 add__ast_4797(dotExpr, T6_);
5184 offsetOf = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_58), dotExpr);
5185 asgnRef((void**) (&(*offsetOf).typ), intType);
5186 minusExpr = genBuiltin__liftdestructors_128(c, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47), ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_59), castExpr1);
5187 asgnRef((void**) (&(*minusExpr).typ), intType);
5188 add__ast_4797(minusExpr, offsetOf);
5189 objPtr = makePtrType__semdata_737((*objType).owner, objType, (*c).idgen);
5190 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61), (*c).info, objPtr);
5191 T7_ = NIM_NIL;
5192 T7_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*c).info, objPtr);
5193 add__ast_4797(result, T7_);
5194 add__ast_4797(result, minusExpr);
5195 return result;
5196 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,produceDestructorForDiscriminator__liftdestructors_2002)5197 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, produceDestructorForDiscriminator__liftdestructors_2002)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
5198 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
5199 tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA a;
5200 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* discrimantDest;
5201 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dst;
5202 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
5203 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
5204 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dstSym;
5205 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* d;
5206 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
5207 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
5208 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* placeHolder;
5209 tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
5210 result = NIM_NIL;
5211 result = symPrototype__liftdestructors_1862(g, (*field).typ, (*typ).owner, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0), info, idgen);
5212 nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA));
5213 nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__zhHkNYXgHS1edOXSUpWPKA));
5214 a.info = info;
5215 a.g = g;
5216 a.kind = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0);
5217 a.asgnForType = typ;
5218 a.idgen = idgen;
5219 a.fn = result;
5220 a.asgnForType = typ;
5221 a.filterDiscriminator = field;
5222 a.addMemReset = NIM_TRUE;
5223 discrimantDest = (*(*(*(*result).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
5224 T1_ = NIM_NIL;
5225 T1_ = getIdent__idents_143((*g).cache, ((NimStringDesc*) &TM__qGuGEzVTCUVhav67HrOxdQ_3));
5226 T2_ = nextSymId__ast_3132(idgen);
5227 dst = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T1_, T2_, result, info, 0);
5228 asgnRef((void**) (&(*dst).typ), makePtrType__semdata_737((*typ).owner, typ, idgen));
5229 dstSym = newSymNode__ast_3716(dst);
5230 d = newDeref__lowerings_11(dstSym);
5231 v = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), info);
5232 T3_ = NIM_NIL;
5233 T3_ = genContainerOf__liftdestructors_188((&a), typ, field, discrimantDest);
5234 addVar__lowerings_75(v, dstSym, T3_);
5235 add__ast_4797((*(*result).ast)._kind_6.sons->data[((NI) 6)], v);
5236 T4_ = NIM_NIL;
5237 T4_ = getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
5238 placeHolder = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3), info, T4_);
5239 fillBody__liftdestructors_34((&a), typ, (*(*result).ast)._kind_6.sons->data[((NI) 6)], d, placeHolder);
5240 {
5241 if (!!(a.canRaise)) goto LA7_;
5242 (*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 43)) & 63);
5243 }
5244 LA7_: ;
5245 return result;
5246 }
5247