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_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
23 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
24 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
25 typedef struct RootObj RootObj;
26 typedef struct TNimType TNimType;
27 typedef struct TNimNode TNimNode;
28 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
29 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
30 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
31 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
32 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
33 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
34 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
35 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
36 typedef struct NimStringDesc NimStringDesc;
37 typedef struct TGenericSeq TGenericSeq;
38 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
39 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
40 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
41 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
42 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
43 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
44 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
45 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
46 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
47 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
48 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
49 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
50 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
51 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
52 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
53 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
54 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
55 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
56 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
57 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
58 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
59 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
60 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
61 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
62 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
63 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
64 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
65 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
66 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
67 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
68 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
69 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
70 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
71 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
72 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
73 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
74 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
75 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
76 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
77 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
78 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
79 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
80 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
81 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
82 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
83 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
84 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
85 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
86 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
87 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
88 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
89 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
90 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
91 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
92 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
93 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
94 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
95 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
96 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
97 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
98 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
99 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
100 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
101 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
102 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
103 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
104 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
105 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
106 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
107 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
108 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
109 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
110 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
111 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
112 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
113 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
114 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
115 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
116 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
117 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
118 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
119 typedef struct tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA;
120 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
121 typedef struct tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q;
122 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
123 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
124 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
125 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
126 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
127 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
128 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
129 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
130 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
131 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
132 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
133 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
134 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
135 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
136 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
137 typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
138 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
139 typedef struct tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA;
140 typedef struct tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug;
141 typedef struct tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag;
142 typedef struct tySequence__7PsCyIDXDb8nGSU5UlS9cAA tySequence__7PsCyIDXDb8nGSU5UlS9cAA;
143 typedef struct tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA;
144 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
145 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
146 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
147 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
148 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
149 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
150 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
151 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
152 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
153 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
154 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
155 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
156 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
157 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
158 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
159 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
160 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
161 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
162 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
163 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
164 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
165 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
166 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
167 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
168 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
169 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
170 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
171 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
172 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
173 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
174 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
175 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
176 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
177 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
178 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
179 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
180 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
181 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
182 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
183 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
184 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
185 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
186 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
187 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
188 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
189 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
190 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
191 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
192 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
193 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
194 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
195 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
196 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
197 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
198 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
199 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
200 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
201 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
202 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
203 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
204 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
205 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
206 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
207 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
208 typedef struct tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA;
209 typedef struct tyObject_Connection__EevFKe104MtQGkxxkLKkgg tyObject_Connection__EevFKe104MtQGkxxkLKkgg;
210 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
211 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
212 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
213 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
214 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
215 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
216 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
217 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
218 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
219 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
220 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
221 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
222 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
223 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
224 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
225 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
226 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
227 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
228 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
229 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
230 struct TNimType {
231 NI size;
232 NI align;
233 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
234 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
235 TNimType* base;
236 TNimNode* node;
237 void* finalizer;
238 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
239 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
240 };
241 struct RootObj {
242 TNimType* m_type;
243 };
244 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
245 NI32 module;
246 NI32 item;
247 };
248 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
249   RootObj Sup;
250 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
251 };
252 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
253 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
254 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
255 NU16 line;
256 NI16 col;
257 NI32 fileIndex;
258 };
259 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
260 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
261 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
262 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
263 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
264 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
265 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
266 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
267 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
268 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
269 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
270 };
271 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
272   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
273 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
274 union{
275 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
276 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
277 } _kind_1;
278 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
279 NI bitsize;
280 NI alignment;
281 } _kind_2;
282 };
283 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
284 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
285 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
286 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
287 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
288 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
289 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
290 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
291 NI position;
292 NI offset;
293 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
294 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
295 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
296 };
297 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
298 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
299 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
300 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
301   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
302 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
303 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
304 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
305 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
306 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
307 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
308 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
309 NI64 size;
310 NI16 align;
311 NI16 paddingAtEnd;
312 NI16 lockLevel;
313 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
314 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
315 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
316 };
317 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
318 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
319 struct TGenericSeq {
320 NI len;
321 NI reserved;
322 };
323 struct NimStringDesc {
324   TGenericSeq Sup;
325 NIM_CHAR data[SEQ_DECL_SIZE];
326 };
327 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
328 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
329 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
330 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
331 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
332 union{
333 struct {NI64 intVal;
334 } _kind_1;
335 struct {NF floatVal;
336 } _kind_2;
337 struct {NimStringDesc* strVal;
338 } _kind_3;
339 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
340 } _kind_4;
341 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
342 } _kind_5;
343 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
344 } _kind_6;
345 };
346 };
347 typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
348 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__3AyzgbaZVZwTUW9bffBh5Vw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
349 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
350 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
351 NI elems;
352 NI counter;
353 NI max;
354 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
355 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
356 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
357 };
358 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
359 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
360 NI counter;
361 };
362 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
363 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
364 NI counter;
365 };
366 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
367 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
368 NI counter;
369 };
370 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
371 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
372 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
373 NI counter;
374 };
375 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
376 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
377 NI counter;
378 };
379 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
380 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
381 NI counter;
382 };
383 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
384 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
385 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
386 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
387 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
388 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
389 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
390 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
391 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
392 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
393 };
394 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
395 NI counter;
396 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
397 };
398 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
399 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
400 NI counter;
401 };
402 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
403 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
404 NI counter;
405 };
406 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
407 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
408 NI counter;
409 };
410 typedef struct {
411 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
412 void* ClE_0;
413 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
414 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
415 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
416 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
417 NI counter;
418 };
419 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
420 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
421 NI counter;
422 };
423 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
424 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
425 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
426 tySequence__23SMqauuRsbDANhthj9bWlA* data;
427 NI counter;
428 };
429 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
430 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
431 NI counter;
432 };
433 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
434 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
435 NI counter;
436 };
437 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
438 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
439 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
440 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
441 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
442 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
443 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
444 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
445 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
446 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
447 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
448 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
449 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
450 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
451 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
452 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
453 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
454 };
455 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
456 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
457 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
458 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
459 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
460 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
461 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
462 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
463 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
464 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
465 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
466 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
467 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
468 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
469 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
470 NIM_BOOL suggestMode;
471 NIM_BOOL invalidTransitiveClosure;
472 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
473 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
474 RootObj* backend;
475 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
476 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
477 RootObj* vm;
478 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
479 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
480 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
481 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
482 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
483 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
484 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
485 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
486 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
487 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
488 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
489 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
490 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
491 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
492 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
493 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
494 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
495 tySequence__MAQKEADohlpnXTModtugbQ* passes;
496 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
497 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
498 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
499 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
500 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
501 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
502 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
503 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
504 };
505 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
506 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
507 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
508 NimStringDesc* Field0;
509 NI Field1;
510 NI Field2;
511 };
512 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
513 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
514 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
515 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
516 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
517 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
518 NI id;
519 NimStringDesc* s;
520 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
521 NI h;
522 };
523 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
524 NI refcount;
525 TNimType* typ;
526 };
527 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
528 void* bottom;
529 };
530 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
531 NI len;
532 NI cap;
533 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
534 };
535 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
536 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
537 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
538 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
539 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
540 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
541 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
542 };
543 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
544 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
545 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
546 NI key;
547 NI upperBound;
548 NI level;
549 };
550 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
551 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
552 NI Field1;
553 };
554 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
555 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
556 NI len;
557 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
558 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
559 };
560 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
561 NI minLargeObj;
562 NI maxLargeObj;
563 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
564 NU32 flBitmap;
565 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
566 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
567 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
568 NI currMem;
569 NI maxMem;
570 NI freeMem;
571 NI occ;
572 NI lastSize;
573 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
574 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
575 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
576 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
577 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
578 NIM_BOOL locked;
579 NIM_BOOL blockChunkSizeIncrease;
580 NI nextChunkSize;
581 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
582 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
583 };
584 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
585 NI stackScans;
586 NI cycleCollections;
587 NI maxThreshold;
588 NI maxStackSize;
589 NI maxStackCells;
590 NI cycleTableSize;
591 NI64 maxPause;
592 };
593 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
594 NI counter;
595 NI max;
596 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
597 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
598 };
599 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
600 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
601 NI cycleThreshold;
602 NI zctThreshold;
603 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
604 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
605 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
606 NI recGcLock;
607 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
608 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
609 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
610 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
611 NI gcThreadId;
612 };
613 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
614 struct TNimNode {
615 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
616 NI offset;
617 TNimType* typ;
618 NCSTRING name;
619 NI len;
620 TNimNode** sons;
621 };
622 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
623 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
624   RootObj Sup;
625 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
626 };
627 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
628 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
629 NI counter;
630 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
631 };
632 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
633 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
634 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
635 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
636 typedef struct {
637 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
638 void* ClE_0;
639 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
640 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
641 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);
642 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
643 typedef struct {
644 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
645 void* ClE_0;
646 } tyProc__3cacbJ4la9bDJNibHybQSnA;
647 typedef struct {
648 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);
649 void* ClE_0;
650 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
651 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
652 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);
653 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
654 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
655 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
656 NI counter;
657 };
658 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
659 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
660 NI counter;
661 };
662 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
663 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
664 NI counter;
665 };
666 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
667   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
668 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
669 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
670 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
671 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
672 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
673 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
674 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
675 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
676 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
677 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
678 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
679 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
680 NI instCounter;
681 NI* templInstCounter;
682 NI inGenericContext;
683 NI inStaticContext;
684 NI inUnrolledContext;
685 NI compilesContextId;
686 NI compilesContextIdGenerator;
687 NI inGenericInst;
688 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
689 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
690 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
691 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
692 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
693 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
694 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
695 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
696 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
697 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
698 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
699 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
700 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
701 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
702 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
703 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
704 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
705 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
706 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
707 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
708 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
709 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
710 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
711 NI topStmts;
712 NI lastGenericIdx;
713 NI hloLoopDetector;
714 NI inParallelStmt;
715 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
716 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
717 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
718 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
719 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
720 NimStringDesc* recursiveDep;
721 NIM_BOOL suggestionsMade;
722 NIM_BOOL isAmbiguous;
723 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
724 NI inTypeContext;
725 NI inConceptDecl;
726 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
727 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
728 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
729 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
730 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
731 NI inUncheckedAssignSection;
732 };
733 struct tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q {
734 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* s;
735 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
736 NIM_BOOL beSmart;
737 };
738 struct tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA {
739 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exc;
740 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tags;
741 NI bottom;
742 NI inTryStmt;
743 NI inExceptOrFinallyStmt;
744 NI leftPartOfAsgn;
745 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
746 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ownerModule;
747 tySequence__qwqHTkRvwhrRyENtudHQ7g* init;
748 tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q guards;
749 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* locked;
750 NIM_BOOL gcUnsafe;
751 NIM_BOOL isRecursive;
752 NIM_BOOL isTopLevel;
753 NIM_BOOL hasSideEffect;
754 NIM_BOOL inEnforcedGcSafe;
755 NIM_BOOL hasDangerousAssign;
756 NIM_BOOL isInnerProc;
757 NIM_BOOL inEnforcedNoSideEffects;
758 NI16 maxLockLevel;
759 NI16 currLockLevel;
760 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg currOptions;
761 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
762 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
763 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
764 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA escapingParams;
765 };
766 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
767 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
768 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
769 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
770 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
771 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
772 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
773 NI intSize;
774 NI floatSize;
775 NI ptrSize;
776 NimStringDesc* tnl;
777 };
778 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
779 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
780 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
781 NIM_BOOL trackPosAttached;
782 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
783 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
784 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
785 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
786 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
787 NI32 systemFileIdx;
788 };
789 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
790 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
791 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
792 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
793 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
794 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
795 NI counter;
796 };
797 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
798 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
799 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
800 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
801 NI Field0;
802 NI Field1;
803 NI Field2;
804 };
805 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
806 typedef struct {
807 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
808 void* ClE_0;
809 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
810 typedef struct {
811 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
812 void* ClE_0;
813 } tyProc__k2HFjxisIgDALbEUFojxaQ;
814 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
815 typedef struct {
816 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
817 void* ClE_0;
818 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
819 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
820 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
821 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
822 NI linesCompiled;
823 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
824 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
825 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
826 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
827 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
828 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
829 NimStringDesc* unitSep;
830 NI evalTemplateCounter;
831 NI evalMacroCounter;
832 NI8 exitcode;
833 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
834 NimStringDesc* cmdInput;
835 NIM_BOOL projectIsCmd;
836 NIM_BOOL implicitCmd;
837 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
838 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
839 NIM_BOOL hintProcessingDots;
840 NI verbosity;
841 NI numberOfProcessors;
842 NF lastCmdTime;
843 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
844 NI spellSuggestMax;
845 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
846 NimStringDesc* headerFile;
847 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
848 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
849 NimStringDesc* arguments;
850 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
851 NIM_BOOL oldNewlines;
852 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
853 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
854 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
855 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
856 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
857 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
858 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
859 NI mainPackageId;
860 NI errorCounter;
861 NI hintCounter;
862 NI warnCounter;
863 NI errorMax;
864 NI maxLoopIterationsVM;
865 NIM_BOOL isVmTrace;
866 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
867 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
868 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
869 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
870 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
871 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
872 NimStringDesc* outFile;
873 NimStringDesc* outDir;
874 NimStringDesc* jsonBuildFile;
875 NimStringDesc* prefixDir;
876 NimStringDesc* libpath;
877 NimStringDesc* nimcacheDir;
878 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
879 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
880 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
881 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
882 NimStringDesc* projectName;
883 NimStringDesc* projectPath;
884 NimStringDesc* projectFull;
885 NIM_BOOL projectIsStdin;
886 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
887 NI32 projectMainIdx;
888 NI32 projectMainIdx2;
889 NimStringDesc* command;
890 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
891 NimStringDesc* commandLine;
892 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
893 NIM_BOOL keepComments;
894 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
895 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
896 NimStringDesc* docSeeSrcUrl;
897 NimStringDesc* docRoot;
898 NimStringDesc* docCmd;
899 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
900 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
901 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
902 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
903 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
904 NimStringDesc* linkOptionsCmd;
905 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
906 NimStringDesc* linkOptions;
907 NimStringDesc* compileOptions;
908 NimStringDesc* cCompilerPath;
909 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
910 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
911 NI suggestVersion;
912 NI suggestMaxResults;
913 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
914 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
915 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
916 NimStringDesc* cppCustomNamespace;
917 NimStringDesc* nimMainPrefix;
918 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
919 };
920 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
921 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
922 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
923 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
924 };
925 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
926 NI Field0;
927 NI Field1;
928 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
929 };
930 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
931 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
932 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
933 NI32 module;
934 NI32 symId;
935 NI32 typeId_0;
936 NIM_BOOL sealed;
937 };
938 typedef NU8 tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug;
939 typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
940 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
941 typedef NU8 tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA;
942 typedef NimStringDesc* tyArray__JXkBzVsE9bvmcpuZvrueLVg[5];
943 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
944 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
945 NI Field0;
946 NI Field1;
947 };
948 struct tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA {
949 NI oldLocked;
950 NI16 oldLockLevel;
951 NIM_BOOL enforcedGcSafety;
952 NIM_BOOL enforceNoSideEffects;
953 NI oldExc;
954 NI oldTags;
955 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exc;
956 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tags;
957 };
958 typedef NU8 tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw;
959 struct tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug {
960 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
961 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q mutatedHere;
962 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q connectedVia;
963 tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw flags;
964 NI maxMutation;
965 NI minConnection;
966 tySequence__qwqHTkRvwhrRyENtudHQ7g* mutations;
967 };
968 typedef NU8 tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg;
969 typedef NU8 tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg;
970 struct tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag {
971 NI abstractTime;
972 tySequence__7PsCyIDXDb8nGSU5UlS9cAA* s;
973 tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA* graphs;
974 tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg goals;
975 NIM_BOOL unanalysableMutation;
976 NI inAsgnSource;
977 NI inConstructor;
978 NI inNoSideEffectSection;
979 NI inConditional;
980 NI inLoop;
981 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
982 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
983 };
984 typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
985 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
986 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
987 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
988 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
989 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
990 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
991 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
992 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
993 };
994 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
995 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
996 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
997 };
998 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
999 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
1000 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
1001 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
1002 };
1003 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
1004 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
1005 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
1006 };
1007 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
1008 NimStringDesc* definedSymbols;
1009 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
1010 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
1011 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
1012 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
1013 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
1014 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
1015 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
1016 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
1017 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
1018 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
1019 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
1020 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
1021 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
1022 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
1023 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
1024 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
1025 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
1026 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
1027 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
1028 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
1029 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
1030 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
1031 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
1032 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
1033 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
1034 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
1035 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
1036 };
1037 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
1038 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
1039 NI counter;
1040 };
1041 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
1042 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
1043 NIM_BOOL symsInit;
1044 NIM_BOOL typesInit;
1045 NIM_BOOL loadedButAliveSetChanged;
1046 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
1047 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
1048 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
1049 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1050 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
1051 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
1052 };
1053 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
1054 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
1055 NI counter;
1056 };
1057 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
1058 NI32 thisModule;
1059 NI32 lastFile;
1060 NU32 lastLit;
1061 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
1062 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
1063 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
1064 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
1065 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
1066 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
1067 };
1068 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
1069 NU32 module;
1070 NI32 item;
1071 };
1072 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
1073 NI module;
1074 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
1075 };
1076 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
1077 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1078 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
1079 };
1080 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
1081 NI Field0;
1082 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1083 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
1084 };
1085 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
1086 NI module;
1087 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
1088 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
1089 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1090 };
1091 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
1092 NI Field0;
1093 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1094 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
1095 };
1096 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
1097 NI Field0;
1098 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1099 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
1100 };
1101 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
1102 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1103 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1104 };
1105 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
1106 NI Field0;
1107 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
1108 };
1109 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
1110 NI Field0;
1111 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1112 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
1113 };
1114 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1115 NI Field0;
1116 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1117 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1118 };
1119 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1120 NI Field0;
1121 NimStringDesc* Field1;
1122 NI32 Field2;
1123 };
1124 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1125 NI Field0;
1126 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1127 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1128 };
1129 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1130 NI Field0;
1131 NI32 Field1;
1132 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1133 };
1134 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1135 NI Field0;
1136 NI32 Field1;
1137 NI32 Field2;
1138 };
1139 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1140 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1141 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1142 };
1143 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1144 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1145 NI Field0;
1146 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1147 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1148 };
1149 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1150 NI Field0;
1151 NI Field1;
1152 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1153 };
1154 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1155 NI Field0;
1156 NimStringDesc* Field1;
1157 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1158 };
1159 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1160 NI Field0;
1161 NimStringDesc* Field1;
1162 NI64 Field2;
1163 };
1164 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1165 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1166 NI entries;
1167 };
1168 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1169 NI Field0;
1170 NimStringDesc* Field1;
1171 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1172 };
1173 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1174 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1175 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1176 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1177 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1178 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1179 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1180 NIM_BOOL Field3;
1181 };
1182 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
1183 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
1184 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
1185 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
1186 union{
1187 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
1188 } _mode_2;
1189 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
1190 } _mode_3;
1191 };
1192 };
1193 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
1194 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
1195 RootObj* val;
1196 };
1197 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
1198 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
1199 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1200 };
1201 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
1202 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1203 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
1204 };
1205 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
1206 NI Field0;
1207 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
1208 };
1209 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1210 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1211 NimStringDesc* Field1;
1212 };
1213 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1214 NimStringDesc* fullPath;
1215 NimStringDesc* projPath;
1216 NimStringDesc* shortName;
1217 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1218 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1219 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1220 NimStringDesc* dirtyFile;
1221 NimStringDesc* hash;
1222 NIM_BOOL dirty;
1223 };
1224 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1225 NI Field0;
1226 NimStringDesc* Field1;
1227 };
1228 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1229 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1230 NimStringDesc* nimname;
1231 NimStringDesc* cname;
1232 NimStringDesc* obj;
1233 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1234 NimStringDesc* customArgs;
1235 };
1236 typedef NU8 tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA;
1237 struct tyObject_Connection__EevFKe104MtQGkxxkLKkgg {
1238 tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA kind;
1239 union{
1240 NI parent;
1241 NI graphIndex;
1242 };
1243 };
1244 typedef NU8 tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ;
1245 struct tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA {
1246 tyObject_Connection__EevFKe104MtQGkxxkLKkgg con;
1247 tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ flags;
1248 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1249 NI reassignedTo;
1250 NI aliveStart;
1251 NI aliveEnd;
1252 tySequence__qwqHTkRvwhrRyENtudHQ7g* borrowsFrom;
1253 };
1254 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1255 NU32 Field0;
1256 NimStringDesc* Field1;
1257 };
1258 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1259 NU16 line;
1260 NI16 col;
1261 NU32 file;
1262 };
1263 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1264 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1265 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1266 NI32 operand;
1267 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1268 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1269 };
1270 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1271 NU32 Field0;
1272 NI32 Field1;
1273 };
1274 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1275 NU32 Field0;
1276 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1277 };
1278 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1279 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1280 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1281 };
1282 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1283 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1284 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1285 };
1286 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1287 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1288 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1289 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1290 };
1291 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1292 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1293 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1294 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1295 };
1296 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1297 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1298 NI Field1;
1299 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1300 };
1301 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1302 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1303 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1304 NIM_BOOL generated;
1305 NIM_BOOL isOverriden;
1306 NU32 name;
1307 NI32 path;
1308 };
1309 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1310 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1311 NU32 name;
1312 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1313 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1314 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1315 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1316 NI32 ast;
1317 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1318 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1319 NI bitsize;
1320 NI alignment;
1321 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1322 NI position;
1323 NI offset;
1324 NU32 externalName;
1325 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1326 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1327 NI32 constraint;
1328 };
1329 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1330 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1331 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1332 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1333 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1334 NI32 n;
1335 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1336 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1337 NI64 size;
1338 NI16 align;
1339 NI16 paddingAtEnd;
1340 NI16 lockLevel;
1341 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1342 NI32 nonUniqueId;
1343 };
1344 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1345 NI Field0;
1346 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1347 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1348 };
1349 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1350 NI Field0;
1351 NI32 Field1;
1352 NU32 Field2;
1353 };
1354 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1355   TGenericSeq Sup;
1356   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1357 };
1358 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
1359   TGenericSeq Sup;
1360   NI data[SEQ_DECL_SIZE];
1361 };
1362 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1363   TGenericSeq Sup;
1364   tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1365 };
1366 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1367   TGenericSeq Sup;
1368   tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1369 };
1370 struct tySequence__8Np6tlClE5az1CyqZdN19bQ {
1371   TGenericSeq Sup;
1372   tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE];
1373 };
1374 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1375   TGenericSeq Sup;
1376   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1377 };
1378 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1379   TGenericSeq Sup;
1380   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1381 };
1382 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1383   TGenericSeq Sup;
1384   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1385 };
1386 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1387   TGenericSeq Sup;
1388   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1389 };
1390 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1391   TGenericSeq Sup;
1392   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1393 };
1394 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1395   TGenericSeq Sup;
1396   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1397 };
1398 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1399   TGenericSeq Sup;
1400   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1401 };
1402 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1403   TGenericSeq Sup;
1404   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1405 };
1406 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1407   TGenericSeq Sup;
1408   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1409 };
1410 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1411   TGenericSeq Sup;
1412   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1413 };
1414 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1415   TGenericSeq Sup;
1416   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1417 };
1418 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1419   TGenericSeq Sup;
1420   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1421 };
1422 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1423   TGenericSeq Sup;
1424   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1425 };
1426 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1427   TGenericSeq Sup;
1428   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1429 };
1430 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1431   TGenericSeq Sup;
1432   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1433 };
1434 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1435   TGenericSeq Sup;
1436   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1437 };
1438 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1439   TGenericSeq Sup;
1440   NI32 data[SEQ_DECL_SIZE];
1441 };
1442 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1443   TGenericSeq Sup;
1444   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1445 };
1446 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1447   TGenericSeq Sup;
1448   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1449 };
1450 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1451   TGenericSeq Sup;
1452   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1453 };
1454 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1455   TGenericSeq Sup;
1456   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1457 };
1458 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1459   TGenericSeq Sup;
1460   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1461 };
1462 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1463   TGenericSeq Sup;
1464   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1465 };
1466 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1467   TGenericSeq Sup;
1468   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1469 };
1470 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1471   TGenericSeq Sup;
1472   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1473 };
1474 struct tySequence__MAQKEADohlpnXTModtugbQ {
1475   TGenericSeq Sup;
1476   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1477 };
1478 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1479   TGenericSeq Sup;
1480   tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1481 };
1482 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1483   TGenericSeq Sup;
1484   tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1485 };
1486 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1487   TGenericSeq Sup;
1488   tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1489 };
1490 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1491   TGenericSeq Sup;
1492   tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1493 };
1494 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1495   TGenericSeq Sup;
1496   tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1497 };
1498 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1499   TGenericSeq Sup;
1500   tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1501 };
1502 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1503   TGenericSeq Sup;
1504   tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1505 };
1506 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1507   TGenericSeq Sup;
1508   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1509 };
1510 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1511   TGenericSeq Sup;
1512   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1513 };
1514 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1515   TGenericSeq Sup;
1516   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1517 };
1518 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1519   TGenericSeq Sup;
1520   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1521 };
1522 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1523   TGenericSeq Sup;
1524   NimStringDesc* data[SEQ_DECL_SIZE];
1525 };
1526 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1527   TGenericSeq Sup;
1528   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1529 };
1530 struct tySequence__7PsCyIDXDb8nGSU5UlS9cAA {
1531   TGenericSeq Sup;
1532   tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA data[SEQ_DECL_SIZE];
1533 };
1534 struct tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA {
1535   TGenericSeq Sup;
1536   tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug data[SEQ_DECL_SIZE];
1537 };
1538 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1539   TGenericSeq Sup;
1540   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1541 };
1542 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1543   TGenericSeq Sup;
1544   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1545 };
1546 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1547   TGenericSeq Sup;
1548   NU32 data[SEQ_DECL_SIZE];
1549 };
1550 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1551   TGenericSeq Sup;
1552   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1553 };
1554 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1555   TGenericSeq Sup;
1556   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1557 };
1558 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1559   TGenericSeq Sup;
1560   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1561 };
1562 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1563   TGenericSeq Sup;
1564   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1565 };
1566 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1567   TGenericSeq Sup;
1568   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1569 };
1570 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1571   TGenericSeq Sup;
1572   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1573 };
1574 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1575   TGenericSeq Sup;
1576   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1577 };
1578 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1579   TGenericSeq Sup;
1580   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1581 };
1582 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1583   TGenericSeq Sup;
1584   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1585 };
1586 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1587   TGenericSeq Sup;
1588   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1589 };
1590 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1591   TGenericSeq Sup;
1592   NI64 data[SEQ_DECL_SIZE];
1593 };
1594 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1595   TGenericSeq Sup;
1596   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1597 };
1598 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1599   TGenericSeq Sup;
1600   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1601 };
1602 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1603   TGenericSeq Sup;
1604   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1605 };
1606 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1607   TGenericSeq Sup;
1608   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1609 };
1610 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1611 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, effectSpec__trees_284)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw effectType);
1612 N_LIB_PRIVATE N_NIMCALL(void, checkRaisesSpec__sempass50_4403)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NIM_BOOL emitWarnings, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* real, NimStringDesc* msg, NIM_BOOL hints, tyProc__3AyzgbaZVZwTUW9bffBh5Vw effectPredicate, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* hintsArg);
1613 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1614 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1615 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1616 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1617 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1618 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1619 N_LIB_PRIVATE N_NIMCALL(void, pushInfoContext__msgs_490)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* detail);
1620 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1621 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);
1622 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1623 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1624 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1625 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1626 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1627 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1628 N_LIB_PRIVATE N_NIMCALL(void, popInfoContext__msgs_507)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1629 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1630 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1631 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, subtypeRelation__sempass50_4390)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* real);
1632 N_LIB_PRIVATE N_NIMCALL(NI, safeInheritanceDiff__types_3383)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1633 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, excType__sempass50_2211)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1634 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getEbase__sempass50_2207)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1635 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, sysTypeFromName__magicsys_55)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name);
1636 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1637 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1638 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___ast_3858)(NI16 x);
1639 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1640 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1641 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1642 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1643 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1644 static N_INLINE(void, nimGCunrefRC1)(void* p);
1645 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1646 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1647 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1648 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1649 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1650 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
1651 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
1652 static N_INLINE(void, asgnRef)(void** dest, void* src);
1653 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1654 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1655 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1656 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, propSpec__trees_316)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw effectType);
1657 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasRealBody__sempass50_4681)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1658 N_LIB_PRIVATE N_NIMCALL(void, initEffects__sempass50_4653)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* t, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1659 N_LIB_PRIVATE N_NIMCALL(void, rawInitEffects__sempass50_4641)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects);
1660 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1661 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getModule__astalgo_216)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1662 N_LIB_PRIVATE N_NIMCALL(void, track__sempass50_2338)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1663 N_LIB_PRIVATE N_NIMCALL(void, useVar__sempass50_2113)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1664 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocalVar__sempass50_162)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1665 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1666 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item);
1667 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item);
1668 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, requiresInit__typeallowed_578)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1669 N_LIB_PRIVATE N_NIMCALL(void, useVarNoInitCheck__sempass50_959)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1670 N_LIB_PRIVATE N_NIMCALL(void, guardGlobal__sempass50_221)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard);
1671 static N_INLINE(NIM_BOOL, isGCedMem__ast_4203)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1672 N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass50_361)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* reason);
1673 N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass50_995)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* reason, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q useLoc);
1674 N_LIB_PRIVATE N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw**, mgetOrPut__sempass50_1047)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, NI key, tySequence__vGU8AyGT6KxtLJwEg0BpNw* val);
1675 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
1676 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_177)(NI x);
1677 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1678 static N_INLINE(NI, rawGet__sempass50_491)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key, NI* hc);
1679 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1680 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1681 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1682 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b);
1683 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1684 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1685 static N_INLINE(NIM_BOOL, mustRehash__sempass50_1168)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t);
1686 N_LIB_PRIVATE N_NIMCALL(void, enlarge__sempass50_1321)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t);
1687 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__sempass50_1625)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, tySequence__Hkw5zrAn53wlKDHdJF1GFA** data, NI key, tySequence__vGU8AyGT6KxtLJwEg0BpNw* val, NI hc, NI h);
1688 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1689 static N_INLINE(NI, rawGetKnownHC__sempass50_1794)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key, NI hc);
1690 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1691 N_LIB_PRIVATE N_NIMCALL(void, addRaiseEffect__sempass50_2237)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom);
1692 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefectException__types_4020)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1693 N_LIB_PRIVATE N_NIMCALL(void, throws__sempass50_2182)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
1694 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1695 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1696 N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__sempass50_142)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1697 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);
1698 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createRaise__sempass50_2223)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1699 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1700 N_LIB_PRIVATE N_NIMCALL(void, trackCall__sempass50_3367)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1701 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getConstExpr__semfold_81)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
1702 N_LIB_PRIVATE N_NIMCALL(void, mergeLockLevels__sempass50_2606)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI16 lockLevel);
1703 N_LIB_PRIVATE N_NIMCALL(NI16, getLockLevel__sempass50_2591)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1704 N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass50_2877)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reason, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q useLoc);
1705 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);
1706 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1707 N_LIB_PRIVATE N_NIMCALL(void, propagateEffects__sempass50_2610)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1708 N_LIB_PRIVATE N_NIMCALL(void, mergeRaises__sempass50_2273)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom);
1709 N_LIB_PRIVATE N_NIMCALL(void, mergeTags__sempass50_2281)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom);
1710 N_LIB_PRIVATE N_NIMCALL(void, addTag__sempass50_2259)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom);
1711 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createTag__sempass50_2230)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1712 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
1713 N_LIB_PRIVATE N_NIMCALL(void, warnAboutGcUnsafe__sempass50_358)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1714 static N_INLINE(NIM_BOOL, isNoEffectList__sempass50_2756)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1715 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isForwardedProc__sempass50_2549)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1716 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIndirectCall__sempass50_2513)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1717 N_LIB_PRIVATE N_NIMCALL(void, assumeTheWorst__sempass50_2727)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* op);
1718 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, importedFromC__sempass50_2580)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1719 N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass50_368)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reason);
1720 N_LIB_PRIVATE N_NIMCALL(void, trackOperandForIndirectCall__sempass50_2790)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* formals, NI argIndex, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caller);
1721 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvCastAndClosure__astalgo_114)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1722 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1723 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3588)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1724 static N_INLINE(NIM_BOOL, isTrival__sempass50_2779)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caller);
1725 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedProcVar__sempass50_2732)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1726 N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_760)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1727 static N_INLINE(void, makeVolatile__sempass50_301)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1728 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1729 N_LIB_PRIVATE N_NIMCALL(void, notNilCheck__sempass50_2659)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType);
1730 N_LIB_PRIVATE N_NIMCALL(void, procVarCheck__sempass50_2639)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1731 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypesOrNil__ast_4185)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1732 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAddrNode__astalgo_4297)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1733 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNode__ast_4545)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kinds);
1734 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesNotNil__guards_1044)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
1735 N_LIB_PRIVATE N_NIMCALL(void, initVarViaNew__sempass50_341)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1736 N_LIB_PRIVATE N_NIMCALL(void, initVar__sempass50_312)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL volatileCheck);
1737 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1738 N_LIB_PRIVATE N_NIMCALL(void, checkBounds__sempass50_3346)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx);
1739 N_LIB_PRIVATE N_NIMCALL(void, checkLe__sempass50_3342)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1740 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, proveLe__guards_1619)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1741 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowBound__guards_261)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1742 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, highBound__guards_265)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1743 static N_INLINE(NI, find__sempass50_3619)(tyArray__JXkBzVsE9bvmcpuZvrueLVg a, NimStringDesc* item);
1744 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1745 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1746 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1747 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
1748 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
1749 N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass50_24)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
1750 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1751 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1752 N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
1753 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1754 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1755 N_LIB_PRIVATE N_NIMCALL(void, guardDotAccess__sempass50_237)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1756 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecord__astalgo_84)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field);
1757 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1758 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1759 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTree__guards_680)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1760 N_LIB_PRIVATE N_NIMCALL(void, checkFieldAccess__guards_1800)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1761 N_LIB_PRIVATE N_NIMCALL(void, trackTryStmt__sempass50_2341)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1762 N_LIB_PRIVATE N_NIMCALL(void, addToIntersection__sempass50_2160)(tySequence__8Np6tlClE5az1CyqZdN19bQ** inter, NI s);
1763 N_LIB_PRIVATE N_NIMCALL(void, catchesAll__sempass50_2326)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked);
1764 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1765 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_4935)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1766 N_LIB_PRIVATE N_NIMCALL(void, catches__sempass50_2293)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TType__facALICuu8zUj0hjvbTLFg* e);
1767 N_LIB_PRIVATE N_NIMCALL(void, trackPragmaStmt__sempass50_2560)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1768 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1769 N_LIB_PRIVATE N_NIMCALL(void, listEffects__sempass50_2289)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a);
1770 N_LIB_PRIVATE N_NIMCALL(void, addAsgnFact__guards_1730)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
1771 N_LIB_PRIVATE N_NIMCALL(void, trackCase__sempass50_3048)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1772 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, interestingCaseExpr__guards_114)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m);
1773 N_LIB_PRIVATE N_NIMCALL(void, addCaseBranchFacts__guards_1755)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
1774 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, breaksBlock__sempass50_3013)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1775 N_LIB_PRIVATE N_NIMCALL(void, trackIf__sempass50_3149)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1776 N_LIB_PRIVATE N_NIMCALL(void, addFact__guards_609)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn);
1777 N_LIB_PRIVATE N_NIMCALL(void, addFactNeg__guards_632)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1778 N_LIB_PRIVATE N_NIMCALL(void, trackBlock__sempass50_3265)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1779 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubnodeWith__ast_4570)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1780 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__trees_375)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1781 static N_INLINE(NIM_BOOL, fromSystem__astalgo_238)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op);
1782 N_LIB_PRIVATE N_NIMCALL(void, addFactLe__guards_1634)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1783 N_LIB_PRIVATE N_NIMCALL(void, addFactLt__guards_1642)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1784 N_LIB_PRIVATE N_NIMCALL(void, addDiscriminantFact__guards_1717)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1785 N_LIB_PRIVATE N_NIMCALL(void, createBlockContext__sempass50_3741)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* Result);
1786 N_LIB_PRIVATE N_NIMCALL(void, lockLocations__sempass50_206)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma);
1787 N_LIB_PRIVATE N_NIMCALL(NI16, getLockLevel__sempass50_182)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1788 N_LIB_PRIVATE N_NIMCALL(void, castBlock__sempass50_3790)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* bc);
1789 N_LIB_PRIVATE N_NIMCALL(void, applyBlockContext__sempass50_3762)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA bc);
1790 N_LIB_PRIVATE N_NIMCALL(void, unapplyBlockContext__sempass50_3765)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA bc);
1791 N_LIB_PRIVATE N_NIMCALL(void, trackInnerProc__sempass50_3814)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1792 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1793 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, loadProcBody__icZic_8390)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1794 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allowCStringConv__sempass50_3856)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1795 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCharArrayPtr__types_4078)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowPointerToChar);
1796 N_LIB_PRIVATE N_NIMCALL(void, checkRange__sempass50_3350)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1797 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, errorToString__errorhandling_107)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1798 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1799 static N_INLINE(NIM_BOOL, isClosure__ast_5019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1800 N_LIB_PRIVATE N_NIMCALL(void, patchResult__sempass50_3308)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1801 N_LIB_PRIVATE N_NIMCALL(void, computeGraphPartitions__varpartitions_1607)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg goals, tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* Result);
1802 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSideEffect__varpartitions_131)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* info);
1803 N_LIB_PRIVATE N_NIMCALL(void, checkBorrowedLocations__varpartitions_1719)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* par, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
1804 N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass50_411)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL onlyWarning, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1805 N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass50_386)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL onlyWarning, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleCheck, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1806 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1807 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___varpartitions_108)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g);
1808 N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass50_953)(NimStringDesc** result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* context);
1809 N_LIB_PRIVATE N_NIMCALL(void, nsuAddf)(NimStringDesc** s, NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1810 N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass50_416)(NimStringDesc** result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleCheck, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* context, NI indentLevel);
1811 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__sempass50_484)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key);
1812 N_LIB_PRIVATE N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw**, X5BX5D___sempass50_821)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, NI key);
1813 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__ast_1357)(NI key) __attribute__((noreturn));
1814 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatStr)(NimStringDesc* s, NI n);
1815 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1816 N_LIB_PRIVATE N_NIMCALL(void, checkNil__nilcheck_9345)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1817 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_2, " ", 1);
1818 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_4, "/home/runner/work/nightlies/nightlies/nim/compiler/sempass2.nim", 63);
1819 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_3 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1820 ((NI) 1288),
1821 ((NI) 13)}
1822 ;
1823 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_5, "\'$1\' cannot raise \'$2\'", 22);
1824 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_6 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1825 ((NI) 1295),
1826 ((NI) 15)}
1827 ;
1828 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_7, "can raise an unlisted exception: ", 33);
1829 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_8, "Exception", 9);
1830 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_9 = {
1831 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1832 0x00}
1833 ;
1834 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_10, "can have an unlisted effect: ", 29);
1835 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_11, "base method is GC-safe, but \'$1\' is not", 39);
1836 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_12 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1837 ((NI) 1313),
1838 ((NI) 14)}
1839 ;
1840 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_13, "base method has lock level $1, but dispatcher has $2", 52);
1841 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_14 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1842 ((NI) 1322),
1843 ((NI) 13)}
1844 ;
1845 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_15, "(", 1);
1846 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_16, ", ", 2);
1847 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_17, ")", 1);
1848 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_18 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1849 ((NI) 1335),
1850 ((NI) 19)}
1851 ;
1852 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1853 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1854 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1855 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_19 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1856 ((NI) 323),
1857 ((NI) 15)}
1858 ;
1859 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_20 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1860 ((NI) 325),
1861 ((NI) 15)}
1862 ;
1863 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_21, "unguarded access: ", 18);
1864 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_22 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1865 ((NI) 144),
1866 ((NI) 14)}
1867 ;
1868 extern NIM_CONST tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw routineKinds__ast_467;
1869 extern TNimType NTIkeyvaluepairseq__Hkw5zrAn53wlKDHdJF1GFA_;
1870 extern TNimType NTIseqLLtlineinfo_psymTT__vGU8AyGT6KxtLJwEg0BpNw_;
1871 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_23 = {
1872 0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
1873 0x00}
1874 ;
1875 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_24, "expected lock level < ", 22);
1876 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_25, " but got lock level ", 20);
1877 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_26 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1878 ((NI) 530),
1879 ((NI) 17)}
1880 ;
1881 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_27, "RootEffect", 10);
1882 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_28 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1883 ((NI) 209),
1884 ((NI) 9)}
1885 ;
1886 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_29 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1887 ((NI) 618),
1888 ((NI) 19)}
1889 ;
1890 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_30 = {
1891 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1892 0x00}
1893 ;
1894 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_31, " is not GC safe", 15);
1895 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_32 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1896 ((NI) 657),
1897 ((NI) 16)}
1898 ;
1899 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_33, "\'$1\' cannot be passed to a procvar", 34);
1900 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_34 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1901 ((NI) 554),
1902 ((NI) 14)}
1903 ;
1904 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_35 = {
1905 0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
1906 0x00}
1907 ;
1908 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__wkTG4eaV3t1uo3x09apjcwA_36 = {
1909 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
1910 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1911 0x00, 0x00, 0x00, 0x00, 0x00}
1912 ;
1913 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_37, "cannot prove \'$1\' is not nil", 28);
1914 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_38 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1915 ((NI) 577),
1916 ((NI) 15)}
1917 ;
1918 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_39, "\'$1\' is provably nil", 20);
1919 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_40 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1920 ((NI) 580),
1921 ((NI) 15)}
1922 ;
1923 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_41 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1924 ((NI) 875),
1925 ((NI) 17)}
1926 ;
1927 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_42, "cannot prove: ", 14);
1928 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_43, " <= ", 4);
1929 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_44 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1930 ((NI) 769),
1931 ((NI) 11)}
1932 ;
1933 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_45, "can prove: ", 11);
1934 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_46, " > ", 3);
1935 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_47 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1936 ((NI) 774),
1937 ((NI) 11)}
1938 ;
1939 extern NIM_CONST tyArray__JXkBzVsE9bvmcpuZvrueLVg AttachedOpToStr__ast_3848;
1940 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_48, "=", 1);
1941 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_49 = {
1942 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
1943 0x00}
1944 ;
1945 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_50, "could not turn \'$1\' to a sink parameter", 39);
1946 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_52, "/home/runner/work/nightlies/nightlies/nim/compiler/sinkparameter_inference.nim", 78);
1947 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_51 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_52),
1948 ((NI) 50),
1949 ((NI) 15)}
1950 ;
1951 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_53 = {
1952 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1953 0x00}
1954 ;
1955 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_54, "invalid guard field: ", 21);
1956 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_55 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1957 ((NI) 167),
1958 ((NI) 16)}
1959 ;
1960 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_56 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1961 ((NI) 180),
1962 ((NI) 14)}
1963 ;
1964 extern TNimType NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_;
1965 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_57 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1966 ((NI) 401),
1967 ((NI) 33)}
1968 ;
1969 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_58 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1970 ((NI) 402),
1971 ((NI) 33)}
1972 ;
1973 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_59, "_", 1);
1974 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_60 = {
1975 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1976 0x00}
1977 ;
1978 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_61, "..", 2);
1979 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_62, "countup", 7);
1980 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_63, "countdown", 9);
1981 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_64, "..<", 3);
1982 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_65, "locks pragma without argument", 29);
1983 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_66 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1984 ((NI) 115),
1985 ((NI) 14)}
1986 ;
1987 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_67, "invalid lock level: ", 20);
1988 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_68 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1989 ((NI) 122),
1990 ((NI) 18)}
1991 ;
1992 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_69, "multi-lock requires the same static lock level for every operand", 64);
1993 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_70 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1994 ((NI) 125),
1995 ((NI) 18)}
1996 ;
1997 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_71, "invalid nested locking", 22);
1998 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_72 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1999 ((NI) 131),
2000 ((NI) 16)}
2001 ;
2002 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_73, "invalid pragma block: ", 22);
2003 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_74 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2004 ((NI) 976),
2005 ((NI) 14)}
2006 ;
2007 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_75, "implicit conversion to \'cstring\' from a non-const location: $1; this will become a compile time error in the future", 115);
2008 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_76 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2009 ((NI) 1216),
2010 ((NI) 13)}
2011 ;
2012 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_77, "conversion to enum with holes is unsafe: $1", 43);
2013 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_78 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2014 ((NI) 1223),
2015 ((NI) 15)}
2016 ;
2017 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_79, "enum conversion: $1", 19);
2018 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_80 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2019 ((NI) 1225),
2020 ((NI) 15)}
2021 ;
2022 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_81 = {
2023 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2024 0x00}
2025 ;
2026 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_82 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2027 ((NI) 1260),
2028 ((NI) 14)}
2029 ;
2030 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_83, "result", 6);
2031 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_84 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2032 ((NI) 1428),
2033 ((NI) 13)}
2034 ;
2035 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_85, "routine has no return type, but .requires contains \'result\'", 59);
2036 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_86 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2037 ((NI) 759),
2038 ((NI) 16)}
2039 ;
2040 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_87, "\'$#\' is not GC-safe as it calls \'$#\'", 36);
2041 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_88 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2042 ((NI) 249),
2043 ((NI) 15)}
2044 ;
2045 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_89, "\'$#\' is not GC-safe as it accesses \'$#\' which is a global using GC\'ed memory", 76);
2046 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_90 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2047 ((NI) 253),
2048 ((NI) 15)}
2049 ;
2050 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_91 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2051 ((NI) 260),
2052 ((NI) 13)}
2053 ;
2054 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_92, "\'$#\' is not GC-safe as it performs an indirect call via \'$#\'", 60);
2055 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_93 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2056 ((NI) 264),
2057 ((NI) 13)}
2058 ;
2059 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_94, "\'$#\' is not GC-safe as it performs an indirect call here", 56);
2060 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_95 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2061 ((NI) 268),
2062 ((NI) 13)}
2063 ;
2064 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_96, "\'$1\' can have side effects$2", 28);
2065 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_97 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2066 ((NI) 1481),
2067 ((NI) 18)}
2068 ;
2069 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_98, "\'$#\' can have side effects\012", 27);
2070 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_99, "$# $# Hint: \'$#\' $#\012", 20);
2071 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_100, ">", 1);
2072 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_101, "accesses global state \'$#\'", 26);
2073 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_102, "accessed by \'$#\'", 16);
2074 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_103, "calls `.sideEffect` \'$#\'", 24);
2075 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_104, "called by \'$#\'", 14);
2076 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_105, "calls routine via hidden pointer indirection", 44);
2077 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_106, "calls routine via pointer indirection", 37);
2078 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_107 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2079 ((NI) 1485),
2080 ((NI) 15)}
2081 ;
2082 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_108 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2083 ((NI) 1487),
2084 ((NI) 18)}
2085 ;
2086 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_109, "declared lock level is $1, but real lock level is $2", 52);
2087 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_110 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2088 ((NI) 1496),
2089 ((NI) 11)}
2090 ;
2091 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__wkTG4eaV3t1uo3x09apjcwA_111 = {
2092 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2093 0x00, 0x80, 0x1f, 0x04, 0x04, 0x00, 0x00, 0x00,
2094 0x00, 0x00, 0x00, 0x80, 0x00}
2095 ;
2096 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_INLINE(NI,len__ast_3198)2097 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2098 	NI result;
2099 	NI T1_;
2100 	result = (NI)0;
2101 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2102 	result = T1_;
2103 	return result;
2104 }
N_INLINE(void,nimSetMem__systemZmemory_7)2105 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2106 	void* T1_;
2107 	T1_ = (void*)0;
2108 	T1_ = memset(a, v, ((size_t) (size)));
2109 }
N_INLINE(void,nimZeroMem)2110 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2111 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
2112 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)2113 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2114 	initPackedSet__pureZcollectionsZintsets_16(Result);
2115 }
N_INLINE(NI,safeLen__ast_3191)2116 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2117 	NI result;
2118 	result = (NI)0;
2119 	{
2120 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
2121 		result = ((NI) 0);
2122 	}
2123 	goto LA1_;
2124 	LA3_: ;
2125 	{
2126 		result = len__ast_3198(n);
2127 	}
2128 	LA1_: ;
2129 	return result;
2130 }
N_INLINE(void,nimCopyMem)2131 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2132 	void* T1_;
2133 	T1_ = (void*)0;
2134 	T1_ = memcpy(dest, source, ((size_t) (size)));
2135 }
N_INLINE(void,copyMem__system_1727)2136 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2137 	nimCopyMem(dest, source, size);
2138 }
N_INLINE(void,appendString)2139 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2140 	{
2141 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2142 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2143 		(*dest).Sup.len += (*src).Sup.len;
2144 	}
2145 	LA3_: ;
2146 }
N_NIMCALL(void,checkRaisesSpec__sempass50_4403)2147 N_LIB_PRIVATE N_NIMCALL(void, checkRaisesSpec__sempass50_4403)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NIM_BOOL emitWarnings, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* real, NimStringDesc* msg, NIM_BOOL hints, tyProc__3AyzgbaZVZwTUW9bffBh5Vw effectPredicate, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* hintsArg) {
2148 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA used;
2149 	nimZeroMem((void*)(&used), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2150 	initIntSet__pureZcollectionsZintsets_238((&used));
2151 	{
2152 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
2153 		r = NIM_NIL;
2154 		{
2155 			NI i;
2156 			NI colontmp_;
2157 			NI i_2;
2158 			i = (NI)0;
2159 			colontmp_ = (NI)0;
2160 			colontmp_ = safeLen__ast_3191(real);
2161 			i_2 = ((NI) 0);
2162 			{
2163 				while (1) {
2164 					if (!(i_2 < colontmp_)) goto LA4;
2165 					i = i_2;
2166 					r = (*real)._kind_6.sons->data[i];
2167 					{
2168 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rr;
2169 						tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w T24_;
2170 						NimStringDesc* T30_;
2171 						NimStringDesc* T31_;
2172 						NimStringDesc* T32_;
2173 						{
2174 							NI s;
2175 							NI colontmp__2;
2176 							NI i_3;
2177 							s = (NI)0;
2178 							colontmp__2 = (NI)0;
2179 							colontmp__2 = len__ast_3198(spec);
2180 							i_3 = ((NI) 0);
2181 							{
2182 								while (1) {
2183 									if (!(i_3 < colontmp__2)) goto LA8;
2184 									s = i_3;
2185 									{
2186 										NIM_BOOL T11_;
2187 										T11_ = (NIM_BOOL)0;
2188 										T11_ = effectPredicate(g, (*spec)._kind_6.sons->data[s], r);
2189 										if (!T11_) goto LA12_;
2190 										incl__pureZcollectionsZintsets_55((&used), s);
2191 										goto LA5;
2192 									}
2193 									LA12_: ;
2194 									i_3 += ((NI) 1);
2195 								} LA8: ;
2196 							}
2197 						}
2198 						pushInfoContext__msgs_490((*g).config, (*spec).info, ((NimStringDesc*) NIM_NIL));
2199 						{
2200 							if (!((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108))) goto LA16_;
2201 							rr = (*r)._kind_6.sons->data[((NI) 0)];
2202 						}
2203 						goto LA14_;
2204 						LA16_: ;
2205 						{
2206 							rr = r;
2207 						}
2208 						LA14_: ;
2209 						{
2210 							while (1) {
2211 								NIM_BOOL T21_;
2212 								NI T23_;
2213 								T21_ = (NIM_BOOL)0;
2214 								T21_ = ((*rr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*rr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
2215 								if (!(T21_)) goto LA22_;
2216 								T23_ = (NI)0;
2217 								T23_ = len__ast_3198(rr);
2218 								T21_ = (((NI) 0) < T23_);
2219 								LA22_: ;
2220 								if (!T21_) goto LA20;
2221 								rr = lastSon__ast_4832(rr);
2222 							} LA20: ;
2223 						}
2224 						T24_ = (tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w)0;
2225 						{
2226 							if (!emitWarnings) goto LA27_;
2227 							T24_ = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 66);
2228 						}
2229 						goto LA25_;
2230 						LA27_: ;
2231 						{
2232 							T24_ = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14);
2233 						}
2234 						LA25_: ;
2235 						T30_ = NIM_NIL;
2236 						T31_ = NIM_NIL;
2237 						T31_ = renderTree__renderer_46(rr, 0);
2238 						T32_ = NIM_NIL;
2239 						T32_ = typeToString__types_50((*r).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
2240 						T30_ = rawNewString((T31_ ? T31_->Sup.len : 0) + (msg ? msg->Sup.len : 0) + (T32_ ? T32_->Sup.len : 0) + 1);
2241 appendString(T30_, T31_);
2242 appendString(T30_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_2));
2243 appendString(T30_, msg);
2244 appendString(T30_, T32_);
2245 						liMessage__msgs_1118((*g).config, (*r).info, T24_, T30_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_3, NIM_FALSE);
2246 						popInfoContext__msgs_507((*g).config);
2247 					} LA5: ;
2248 					i_2 += ((NI) 1);
2249 				} LA4: ;
2250 			}
2251 		}
2252 	}
2253 	{
2254 		if (!hints) goto LA35_;
2255 		{
2256 			NI s_2;
2257 			NI colontmp__3;
2258 			NI i_4;
2259 			s_2 = (NI)0;
2260 			colontmp__3 = (NI)0;
2261 			colontmp__3 = len__ast_3198(spec);
2262 			i_4 = ((NI) 0);
2263 			{
2264 				while (1) {
2265 					if (!(i_4 < colontmp__3)) goto LA39;
2266 					s_2 = i_4;
2267 					{
2268 						NIM_BOOL T42_;
2269 						tyArray__Re75IspeoxXy2oCZHwcRrA T45_;
2270 						NimStringDesc* T46_;
2271 						T42_ = (NIM_BOOL)0;
2272 						T42_ = contains__astalgo_3496((&used), s_2);
2273 						if (!!(T42_)) goto LA43_;
2274 						nimZeroMem((void*)T45_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
2275 						T45_[0] = renderTree__renderer_46(hintsArg, 0);
2276 						T45_[1] = renderTree__renderer_46((*spec)._kind_6.sons->data[s_2], 0);
2277 						T46_ = NIM_NIL;
2278 						T46_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_5), T45_, 2);
2279 						liMessage__msgs_1118((*g).config, (*(*spec)._kind_6.sons->data[s_2]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 74), T46_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_6, NIM_FALSE);
2280 					}
2281 					LA43_: ;
2282 					i_4 += ((NI) 1);
2283 				} LA39: ;
2284 			}
2285 		}
2286 	}
2287 	LA35_: ;
2288 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getEbase__sempass50_2207)2289 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getEbase__sempass50_2207)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2290 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
2291 	result = NIM_NIL;
2292 	result = sysTypeFromName__magicsys_55(g, info, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_8));
2293 	return result;
2294 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,excType__sempass50_2211)2295 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, excType__sempass50_2211)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2296 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
2297 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2298 	result = NIM_NIL;
2299 	{
2300 		NIM_BOOL T3_;
2301 		T3_ = (NIM_BOOL)0;
2302 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
2303 		if (T3_) goto LA4_;
2304 		T3_ = ((*n).typ == 0);
2305 		LA4_: ;
2306 		if (!T3_) goto LA5_;
2307 		t = getEbase__sempass50_2207(g, (*n).info);
2308 	}
2309 	goto LA1_;
2310 	LA5_: ;
2311 	{
2312 		t = (*n).typ;
2313 	}
2314 	LA1_: ;
2315 	result = skipTypes__ast_3735(t, TM__wkTG4eaV3t1uo3x09apjcwA_9);
2316 	return result;
2317 }
N_NIMCALL(NIM_BOOL,subtypeRelation__sempass50_4390)2318 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, subtypeRelation__sempass50_4390)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* real) {
2319 	NIM_BOOL result;
2320 {	result = (NIM_BOOL)0;
2321 	{
2322 		if (!((*(*spec).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57))) goto LA3_;
2323 		{
2324 			tyObject_TType__facALICuu8zUj0hjvbTLFg** t;
2325 			NI i;
2326 			NI L;
2327 			NI T6_;
2328 			t = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
2329 			i = ((NI) 0);
2330 			T6_ = ((*(*spec).typ).sons ? (*(*spec).typ).sons->Sup.len : 0);
2331 			L = T6_;
2332 			{
2333 				while (1) {
2334 					if (!(i < L)) goto LA8;
2335 					t = &(*(*spec).typ).sons->data[i];
2336 					{
2337 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
2338 						NI T12_;
2339 						T11_ = NIM_NIL;
2340 						T11_ = excType__sempass50_2211(g, real);
2341 						T12_ = (NI)0;
2342 						T12_ = safeInheritanceDiff__types_3383(T11_, (*t));
2343 						if (!(T12_ <= ((NI) 0))) goto LA13_;
2344 						result = NIM_TRUE;
2345 						goto BeforeRet_;
2346 					}
2347 					LA13_: ;
2348 					i += ((NI) 1);
2349 				} LA8: ;
2350 			}
2351 		}
2352 	}
2353 	goto LA1_;
2354 	LA3_: ;
2355 	{
2356 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
2357 		NI T17_;
2358 		T16_ = NIM_NIL;
2359 		T16_ = excType__sempass50_2211(g, real);
2360 		T17_ = (NI)0;
2361 		T17_ = safeInheritanceDiff__types_3383(T16_, (*spec).typ);
2362 		result = (T17_ <= ((NI) 0));
2363 		goto BeforeRet_;
2364 	}
2365 	LA1_: ;
2366 	}BeforeRet_: ;
2367 	return result;
2368 }
N_NIMCALL(void,checkMethodEffects__sempass50_4507)2369 N_LIB_PRIVATE N_NIMCALL(void, checkMethodEffects__sempass50_4507)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disp, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* branch) {
2370 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* actual;
2371 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
2372 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raisesSpec;
2373 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tagsSpec;
2374 {	actual = (*(*(*branch).typ).n)._kind_6.sons->data[((NI) 0)];
2375 	{
2376 		NI T3_;
2377 		T3_ = (NI)0;
2378 		T3_ = len__ast_3198(actual);
2379 		if (!!((T3_ == ((NI) 5)))) goto LA4_;
2380 		goto BeforeRet_;
2381 	}
2382 	LA4_: ;
2383 	p = (*(*disp).ast)._kind_6.sons->data[((NI) 4)];
2384 	raisesSpec = effectSpec__trees_284(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174));
2385 	{
2386 		if (!!((raisesSpec == 0))) goto LA8_;
2387 		checkRaisesSpec__sempass50_4403(g, NIM_FALSE, raisesSpec, (*actual)._kind_6.sons->data[((NI) 0)], ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_7), NIM_FALSE, subtypeRelation__sempass50_4390, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2388 	}
2389 	LA8_: ;
2390 	tagsSpec = effectSpec__trees_284(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179));
2391 	{
2392 		if (!!((tagsSpec == 0))) goto LA12_;
2393 		checkRaisesSpec__sempass50_4403(g, NIM_FALSE, tagsSpec, (*actual)._kind_6.sons->data[((NI) 3)], ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_10), NIM_FALSE, subtypeRelation__sempass50_4390, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2394 	}
2395 	LA12_: ;
2396 	{
2397 		NIM_BOOL T16_;
2398 		NimStringDesc* T20_;
2399 		T16_ = (NIM_BOOL)0;
2400 		T16_ = (((*disp).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0);
2401 		if (!(T16_)) goto LA17_;
2402 		T16_ = ((130 & (*(*branch).typ).flags) == 0);
2403 		LA17_: ;
2404 		if (!T16_) goto LA18_;
2405 		T20_ = NIM_NIL;
2406 		T20_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_11), (*(*branch).name).s);
2407 		liMessage__msgs_1118((*g).config, (*branch).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_12, NIM_FALSE);
2408 	}
2409 	LA18_: ;
2410 	{
2411 		tyArray__Re75IspeoxXy2oCZHwcRrA T25_;
2412 		NimStringDesc* T26_;
2413 		if (!((*(*disp).typ).lockLevel < (*(*branch).typ).lockLevel)) goto LA23_;
2414 		nimZeroMem((void*)T25_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
2415 		T25_[0] = dollar___ast_3858((*(*branch).typ).lockLevel);
2416 		T25_[1] = dollar___ast_3858((*(*disp).typ).lockLevel);
2417 		T26_ = NIM_NIL;
2418 		T26_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_13), T25_, 2);
2419 		liMessage__msgs_1118((*g).config, (*branch).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 52), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_14, NIM_FALSE);
2420 	}
2421 	LA23_: ;
2422 	}BeforeRet_: ;
2423 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)2424 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
2425 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
2426 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)2427 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
2428 	NimStringDesc* result;
2429 	result = NIM_NIL;
2430 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
2431 appendString(result, info.Field0);
2432 	{
2433 		if (!(((NI) 0) < info.Field1)) goto LA3_;
2434 		result = resizeString(result, 1);
2435 appendString(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_15));
2436 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
2437 		{
2438 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
2439 			result = resizeString(result, 2);
2440 appendString(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_16));
2441 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
2442 		}
2443 		LA7_: ;
2444 		result = resizeString(result, 1);
2445 appendString(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_17));
2446 	}
2447 	LA3_: ;
2448 	return result;
2449 }
N_INLINE(NI,minuspercent___system_716)2450 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2451 	NI result;
2452 	result = (NI)0;
2453 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
2454 	return result;
2455 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2456 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2457 	NIM_BOOL result;
2458 	result = (NIM_BOOL)0;
2459 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
2460 	return result;
2461 }
N_INLINE(void,rtlAddZCT__system_5313)2462 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2463 	addZCT__system_5264((&gch__system_5217.zct), c);
2464 }
N_INLINE(void,decRef__system_5315)2465 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2466 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2467 	{
2468 		NIM_BOOL T3_;
2469 		T3_ = (NIM_BOOL)0;
2470 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2471 		if (!T3_) goto LA4_;
2472 		rtlAddZCT__system_5313(c);
2473 	}
2474 	LA4_: ;
2475 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)2476 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
2477 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2478 	NI T1_;
2479 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2480 	T1_ = (NI)0;
2481 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
2482 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2483 	return result;
2484 }
N_INLINE(void,nimGCunrefRC1)2485 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2486 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2487 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2488 	T1_ = usrToCell__system_5270(p);
2489 	decRef__system_5315(T1_);
2490 }
N_INLINE(NI,pluspercent___system_696)2491 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2492 	NI result;
2493 	result = (NI)0;
2494 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
2495 	return result;
2496 }
N_INLINE(void,incRef__system_5308)2497 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2498 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2499 }
N_INLINE(void,asgnRef)2500 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2501 	{
2502 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2503 		if (!!((src == NIM_NIL))) goto LA3_;
2504 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2505 		T5_ = usrToCell__system_5270(src);
2506 		incRef__system_5308(T5_);
2507 	}
2508 	LA3_: ;
2509 	{
2510 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2511 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
2512 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2513 		T10_ = usrToCell__system_5270((*dest));
2514 		decRef__system_5315(T10_);
2515 	}
2516 	LA8_: ;
2517 	(*dest) = src;
2518 }
N_NIMCALL(void,setEffectsForProcType__sempass50_4540)2519 N_LIB_PRIVATE N_NIMCALL(void, setEffectsForProcType__sempass50_4540)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2520 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects;
2521 {	effects = (*(*t).n)._kind_6.sons->data[((NI) 0)];
2522 	{
2523 		NIM_BOOL T3_;
2524 		T3_ = (NIM_BOOL)0;
2525 		T3_ = !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25)));
2526 		if (T3_) goto LA4_;
2527 		T3_ = !(((*effects).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
2528 		LA4_: ;
2529 		if (!T3_) goto LA5_;
2530 		goto BeforeRet_;
2531 	}
2532 	LA5_: ;
2533 	{
2534 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raisesSpec;
2535 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tagsSpec;
2536 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* requiresSpec;
2537 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ensuresSpec;
2538 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA9_;
2539 		{
2540 			NI T13_;
2541 			NimStringDesc* argX60gensym540_;
2542 			T13_ = (NI)0;
2543 			T13_ = len__ast_3198(effects);
2544 			if (!!((T13_ == ((NI) 0)))) goto LA14_;
2545 			argX60gensym540_ = toFileLineCol__msgs_615(TM__wkTG4eaV3t1uo3x09apjcwA_18);
2546 			internalErrorImpl__msgs_1431((*g).config, unknownLineInfo__lineinfos_280, argX60gensym540_, TM__wkTG4eaV3t1uo3x09apjcwA_18);
2547 		}
2548 		LA14_: ;
2549 		if ((*effects)._kind_6.sons) { nimGCunrefRC1((*effects)._kind_6.sons); (*effects)._kind_6.sons = NIM_NIL; }
2550 		(*effects)._kind_6.sons = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) 5));
2551 		raisesSpec = effectSpec__trees_284(n, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174));
2552 		{
2553 			if (!!((raisesSpec == 0))) goto LA18_;
2554 			asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), raisesSpec);
2555 		}
2556 		goto LA16_;
2557 		LA18_: ;
2558 		{
2559 			NIM_BOOL T21_;
2560 			NIM_BOOL T23_;
2561 			T21_ = (NIM_BOOL)0;
2562 			T21_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2563 			if (!(T21_)) goto LA22_;
2564 			T23_ = (NIM_BOOL)0;
2565 			T23_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
2566 			if (T23_) goto LA24_;
2567 			T23_ = ((192 & (*s).flags) == 64);
2568 			LA24_: ;
2569 			T21_ = T23_;
2570 			LA22_: ;
2571 			if (!T21_) goto LA25_;
2572 			asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*effects).info));
2573 		}
2574 		goto LA16_;
2575 		LA25_: ;
2576 		LA16_: ;
2577 		tagsSpec = effectSpec__trees_284(n, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179));
2578 		{
2579 			if (!!((tagsSpec == 0))) goto LA29_;
2580 			asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), tagsSpec);
2581 		}
2582 		goto LA27_;
2583 		LA29_: ;
2584 		{
2585 			NIM_BOOL T32_;
2586 			NIM_BOOL T34_;
2587 			T32_ = (NIM_BOOL)0;
2588 			T32_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2589 			if (!(T32_)) goto LA33_;
2590 			T34_ = (NIM_BOOL)0;
2591 			T34_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
2592 			if (T34_) goto LA35_;
2593 			T34_ = ((192 & (*s).flags) == 64);
2594 			LA35_: ;
2595 			T32_ = T34_;
2596 			LA33_: ;
2597 			if (!T32_) goto LA36_;
2598 			asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*effects).info));
2599 		}
2600 		goto LA27_;
2601 		LA36_: ;
2602 		LA27_: ;
2603 		requiresSpec = propSpec__trees_316(n, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 180));
2604 		{
2605 			if (!!((requiresSpec == 0))) goto LA40_;
2606 			asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 1)]), requiresSpec);
2607 		}
2608 		LA40_: ;
2609 		ensuresSpec = propSpec__trees_316(n, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 181));
2610 		{
2611 			if (!!((ensuresSpec == 0))) goto LA44_;
2612 			asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 2)]), ensuresSpec);
2613 		}
2614 		LA44_: ;
2615 		asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 4)]), n);
2616 	}
2617 	LA9_: ;
2618 	{
2619 		NIM_BOOL T48_;
2620 		T48_ = (NIM_BOOL)0;
2621 		T48_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2622 		if (!(T48_)) goto LA49_;
2623 		T48_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
2624 		LA49_: ;
2625 		if (!T48_) goto LA50_;
2626 		{
2627 			if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 20)))) goto LA54_;
2628 			(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1)) & 63);
2629 		}
2630 		LA54_: ;
2631 	}
2632 	LA50_: ;
2633 	}BeforeRet_: ;
2634 }
N_NIMCALL(NIM_BOOL,hasRealBody__sempass50_4681)2635 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasRealBody__sempass50_4681)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2636 	NIM_BOOL result;
2637 	result = (NIM_BOOL)0;
2638 	result = ((80 & (*s).flags) == 0);
2639 	return result;
2640 }
N_NIMCALL(void,rawInitEffects__sempass50_4641)2641 N_LIB_PRIVATE N_NIMCALL(void, rawInitEffects__sempass50_4641)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects) {
2642 	if ((*effects)._kind_6.sons) { nimGCunrefRC1((*effects)._kind_6.sons); (*effects)._kind_6.sons = NIM_NIL; }
2643 	(*effects)._kind_6.sons = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) 5));
2644 	asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*effects).info));
2645 	asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*effects).info));
2646 	asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 1)]), (*g).emptyNode);
2647 	asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 2)]), (*g).emptyNode);
2648 	asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 4)]), (*g).emptyNode);
2649 }
N_NIMCALL(void,initEffects__sempass50_4653)2650 N_LIB_PRIVATE N_NIMCALL(void, initEffects__sempass50_4653)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* t, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
2651 	rawInitEffects__sempass50_4641(g, effects);
2652 	unsureAsgnRef((void**) (&(*t).exc), (*effects)._kind_6.sons->data[((NI) 0)]);
2653 	unsureAsgnRef((void**) (&(*t).tags), (*effects)._kind_6.sons->data[((NI) 3)]);
2654 	unsureAsgnRef((void**) (&(*t).owner), s);
2655 	unsureAsgnRef((void**) (&(*t).ownerModule), getModule__astalgo_216(s));
2656 	unsureAsgnRef((void**) (&(*t).init), NIM_NIL);
2657 	unsureAsgnRef((void**) (&(*t).guards.s), NIM_NIL);
2658 	unsureAsgnRef((void**) (&(*t).guards.g), g);
2659 	(*t).currOptions = ((*(*g).config).options | (*s).options);
2660 	(*t).guards.beSmart = (((*t).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
2661 	unsureAsgnRef((void**) (&(*t).locked), NIM_NIL);
2662 	unsureAsgnRef((void**) (&(*t).graph), g);
2663 	unsureAsgnRef((void**) (&(*t).config), (*g).config);
2664 	unsureAsgnRef((void**) (&(*t).c), c);
2665 }
N_NIMCALL(NIM_BOOL,isLocalVar__sempass50_162)2666 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocalVar__sempass50_162)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2667 	NIM_BOOL result;
2668 	NIM_BOOL T1_;
2669 	NIM_BOOL T2_;
2670 	NIM_BOOL T3_;
2671 	result = (NIM_BOOL)0;
2672 	T1_ = (NIM_BOOL)0;
2673 	T2_ = (NIM_BOOL)0;
2674 	T3_ = (NIM_BOOL)0;
2675 	T3_ = ((2304 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2676 	if (!(T3_)) goto LA4_;
2677 	T3_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0));
2678 	LA4_: ;
2679 	T2_ = T3_;
2680 	if (!(T2_)) goto LA5_;
2681 	T2_ = ((*s).owner == (*a).owner);
2682 	LA5_: ;
2683 	T1_ = T2_;
2684 	if (!(T1_)) goto LA6_;
2685 	T1_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2686 	LA6_: ;
2687 	result = T1_;
2688 	return result;
2689 }
N_INLINE(NI,find__sigmatch_4304)2690 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item) {
2691 	NI result;
2692 {	result = (NI)0;
2693 	result = ((NI) 0);
2694 	{
2695 		NI* i;
2696 		NI i_2;
2697 		i = (NI*)0;
2698 		i_2 = ((NI) 0);
2699 		{
2700 			while (1) {
2701 				if (!(i_2 < aLen_0)) goto LA3;
2702 				i = (&a[i_2]);
2703 				{
2704 					if (!((*i) == item)) goto LA6_;
2705 					goto BeforeRet_;
2706 				}
2707 				LA6_: ;
2708 				result += ((NI) 1);
2709 				i_2 += ((NI) 1);
2710 			} LA3: ;
2711 		}
2712 	}
2713 	result = ((NI) -1);
2714 	}BeforeRet_: ;
2715 	return result;
2716 }
N_INLINE(NIM_BOOL,contains__sigmatch_4299)2717 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item) {
2718 	NIM_BOOL result;
2719 	NI T1_;
2720 {	result = (NIM_BOOL)0;
2721 	T1_ = (NI)0;
2722 	T1_ = find__sigmatch_4304(a, aLen_0, item);
2723 	result = (((NI) 0) <= T1_);
2724 	goto BeforeRet_;
2725 	}BeforeRet_: ;
2726 	return result;
2727 }
N_NIMCALL(void,guardGlobal__sempass50_221)2728 N_LIB_PRIVATE N_NIMCALL(void, guardGlobal__sempass50_221)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard) {
2729 {	{
2730 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** L;
2731 		NI i;
2732 		NI L_2;
2733 		NI T2_;
2734 		L = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
2735 		i = ((NI) 0);
2736 		T2_ = ((*a).locked ? (*a).locked->Sup.len : 0);
2737 		L_2 = T2_;
2738 		{
2739 			while (1) {
2740 				if (!(i < L_2)) goto LA4;
2741 				L = &(*a).locked->data[i];
2742 				{
2743 					NIM_BOOL T7_;
2744 					T7_ = (NIM_BOOL)0;
2745 					T7_ = ((*(*L)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2746 					if (!(T7_)) goto LA8_;
2747 					T7_ = ((*(*L))._kind_4.sym == guard);
2748 					LA8_: ;
2749 					if (!T7_) goto LA9_;
2750 					goto BeforeRet_;
2751 				}
2752 				LA9_: ;
2753 				i += ((NI) 1);
2754 			} LA4: ;
2755 		}
2756 	}
2757 	{
2758 		NimStringDesc* T15_;
2759 		NimStringDesc* T16_;
2760 		if (!!((*a).isTopLevel)) goto LA13_;
2761 		T15_ = NIM_NIL;
2762 		T16_ = NIM_NIL;
2763 		T16_ = renderTree__renderer_46(n, 0);
2764 		T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 18);
2765 appendString(T15_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_21));
2766 appendString(T15_, T16_);
2767 		liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_22, NIM_FALSE);
2768 	}
2769 	LA13_: ;
2770 	}BeforeRet_: ;
2771 }
N_INLINE(NIM_BOOL,isGCedMem__ast_4203)2772 static N_INLINE(NIM_BOOL, isGCedMem__ast_4203)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2773 	NIM_BOOL result;
2774 	NIM_BOOL T1_;
2775 	NIM_BOOL T3_;
2776 	result = (NIM_BOOL)0;
2777 	T1_ = (NIM_BOOL)0;
2778 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
2779 	if (T1_) goto LA2_;
2780 	T3_ = (NIM_BOOL)0;
2781 	T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
2782 	if (!(T3_)) goto LA4_;
2783 	T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
2784 	LA4_: ;
2785 	T1_ = T3_;
2786 	LA2_: ;
2787 	result = T1_;
2788 	return result;
2789 }
N_NIMCALL(void,markGcUnsafe__sempass50_361)2790 N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass50_361)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* reason) {
2791 	{
2792 		if (!!((*a).inEnforcedGcSafe)) goto LA3_;
2793 		(*a).gcUnsafe = NIM_TRUE;
2794 		{
2795 			if (!((520192 &((NU32)1<<((NU)((*(*a).owner).kind)&31U)))!=0)) goto LA7_;
2796 			asgnRef((void**) (&(*(*a).owner)._kind_1.gcUnsafetyReason), reason);
2797 		}
2798 		LA7_: ;
2799 	}
2800 	LA3_: ;
2801 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)2802 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
2803 	NI result;
2804 	result = (NI)0;
2805 	result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
2806 	return result;
2807 }
N_INLINE(NU64,hiXorLoFallback64__pureZhashes_35)2808 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) {
2809 	NU64 result;
2810 	NU64 aH;
2811 	NU64 aL;
2812 	NU64 bH;
2813 	NU64 bL;
2814 	NU64 rHH;
2815 	NU64 rHL;
2816 	NU64 rLH;
2817 	NU64 rLL;
2818 	NU64 t;
2819 	NU64 c;
2820 	NU64 lo;
2821 	NU64 T6_;
2822 	NU64 hi;
2823 {	result = (NU64)0;
2824 	aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
2825 	aL = (NU64)(a & 4294967295ULL);
2826 	bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
2827 	bL = (NU64)(b & 4294967295ULL);
2828 	rHH = (NU64)((NU64)(aH) * (NU64)(bH));
2829 	rHL = (NU64)((NU64)(aH) * (NU64)(bL));
2830 	rLH = (NU64)((NU64)(aL) * (NU64)(bH));
2831 	rLL = (NU64)((NU64)(aL) * (NU64)(bL));
2832 	t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
2833 	{
2834 		if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
2835 		c = 1ULL;
2836 	}
2837 	goto LA1_;
2838 	LA3_: ;
2839 	{
2840 		c = 0ULL;
2841 	}
2842 	LA1_: ;
2843 	lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
2844 	T6_ = (NU64)0;
2845 	{
2846 		if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
2847 		T6_ = 1ULL;
2848 	}
2849 	goto LA7_;
2850 	LA9_: ;
2851 	{
2852 		T6_ = 0ULL;
2853 	}
2854 	LA7_: ;
2855 	c += T6_;
2856 	hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
2857 	result = (NU64)(hi ^ lo);
2858 	goto BeforeRet_;
2859 	}BeforeRet_: ;
2860 	return result;
2861 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)2862 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
2863 	NU64 result;
2864 	result = (NU64)0;
2865 	result = hiXorLoFallback64__pureZhashes_35(a, b);
2866 	return result;
2867 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)2868 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
2869 	NI result;
2870 	NU64 T1_;
2871 	NU64 T2_;
2872 	result = (NI)0;
2873 	T1_ = (NU64)0;
2874 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
2875 	T2_ = (NU64)0;
2876 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
2877 	result = ((NI) (T2_));
2878 	return result;
2879 }
N_INLINE(NI,hash__pureZhashes_128)2880 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
2881 	NI result;
2882 	result = (NI)0;
2883 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
2884 	return result;
2885 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)2886 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
2887 	NIM_BOOL result;
2888 	result = (NIM_BOOL)0;
2889 	result = !((hcode == ((NI) 0)));
2890 	return result;
2891 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)2892 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
2893 	NI result;
2894 	result = (NI)0;
2895 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2896 	return result;
2897 }
N_INLINE(NI,rawGet__sempass50_491)2898 static N_INLINE(NI, rawGet__sempass50_491)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key, NI* hc) {
2899 	NI result;
2900 	NI h;
2901 	NI T10_;
2902 {	result = (NI)0;
2903 	(*hc) = hash__pureZhashes_128(key);
2904 	{
2905 		if (!((*hc) == ((NI) 0))) goto LA3_;
2906 		(*hc) = ((NI) 314159265);
2907 	}
2908 	LA3_: ;
2909 	{
2910 		NI T7_;
2911 		T7_ = (t.data ? t.data->Sup.len : 0);
2912 		if (!(T7_ == ((NI) 0))) goto LA8_;
2913 		result = ((NI) -1);
2914 		goto BeforeRet_;
2915 	}
2916 	LA8_: ;
2917 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2918 	h = (NI)((*hc) & T10_);
2919 	{
2920 		while (1) {
2921 			NIM_BOOL T13_;
2922 			NI T20_;
2923 			T13_ = (NIM_BOOL)0;
2924 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2925 			if (!T13_) goto LA12;
2926 			{
2927 				NIM_BOOL T16_;
2928 				T16_ = (NIM_BOOL)0;
2929 				T16_ = (t.data->data[h].Field0 == (*hc));
2930 				if (!(T16_)) goto LA17_;
2931 				T16_ = (t.data->data[h].Field1 == key);
2932 				LA17_: ;
2933 				if (!T16_) goto LA18_;
2934 				result = h;
2935 				goto BeforeRet_;
2936 			}
2937 			LA18_: ;
2938 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2939 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
2940 		} LA12: ;
2941 	}
2942 	result = (NI)(((NI) -1) - h);
2943 	}BeforeRet_: ;
2944 	return result;
2945 }
N_INLINE(NIM_BOOL,mustRehash__sempass50_1168)2946 static N_INLINE(NIM_BOOL, mustRehash__sempass50_1168)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t) {
2947 	NIM_BOOL result;
2948 	NIM_BOOL T1_;
2949 	NI T2_;
2950 	NI T4_;
2951 	result = (NIM_BOOL)0;
2952 	T1_ = (NIM_BOOL)0;
2953 	T2_ = (t.data ? t.data->Sup.len : 0);
2954 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2955 	if (T1_) goto LA3_;
2956 	T4_ = (t.data ? t.data->Sup.len : 0);
2957 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2958 	LA3_: ;
2959 	result = T1_;
2960 	return result;
2961 }
N_NIMCALL(void,rawInsert__sempass50_1625)2962 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__sempass50_1625)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, tySequence__Hkw5zrAn53wlKDHdJF1GFA** data, NI key, tySequence__vGU8AyGT6KxtLJwEg0BpNw* val, NI hc, NI h) {
2963 	(*data)->data[h].Field1 = key;
2964 	genericSeqAssign((&(*data)->data[h].Field2), val, (&NTIseqLLtlineinfo_psymTT__vGU8AyGT6KxtLJwEg0BpNw_));
2965 	(*data)->data[h].Field0 = hc;
2966 }
N_NIMCALL(void,enlarge__sempass50_1321)2967 N_LIB_PRIVATE N_NIMCALL(void, enlarge__sempass50_1321)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t) {
2968 	tySequence__Hkw5zrAn53wlKDHdJF1GFA* n;
2969 	NI T1_;
2970 	tySequence__Hkw5zrAn53wlKDHdJF1GFA* T2_;
2971 	n = NIM_NIL;
2972 	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2973 	n = (tySequence__Hkw5zrAn53wlKDHdJF1GFA*) newSeq((&NTIkeyvaluepairseq__Hkw5zrAn53wlKDHdJF1GFA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2974 	T2_ = NIM_NIL;
2975 	T2_ = (*t).data;
2976 	unsureAsgnRef((void**) (&(*t).data), n);
2977 	n = T2_;
2978 	{
2979 		NI i;
2980 		NI colontmp_;
2981 		NI T4_;
2982 		NI res;
2983 		i = (NI)0;
2984 		colontmp_ = (NI)0;
2985 		T4_ = ((n ? n->Sup.len : 0)-1);
2986 		colontmp_ = T4_;
2987 		res = ((NI) 0);
2988 		{
2989 			while (1) {
2990 				NI eh;
2991 				if (!(res <= colontmp_)) goto LA6;
2992 				i = res;
2993 				eh = n->data[i].Field0;
2994 				{
2995 					NIM_BOOL T9_;
2996 					NI j;
2997 					NI T12_;
2998 					NI T17_;
2999 					tySequence__vGU8AyGT6KxtLJwEg0BpNw* T18_;
3000 					T9_ = (NIM_BOOL)0;
3001 					T9_ = isFilled__pureZcollectionsZtables_31(eh);
3002 					if (!T9_) goto LA10_;
3003 					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
3004 					j = (NI)(eh & T12_);
3005 					{
3006 						while (1) {
3007 							NIM_BOOL T15_;
3008 							NI T16_;
3009 							T15_ = (NIM_BOOL)0;
3010 							T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
3011 							if (!T15_) goto LA14;
3012 							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
3013 							j = nextTry__pureZcollectionsZtables_34(j, T16_);
3014 						} LA14: ;
3015 					}
3016 					T17_ = (NI)0;
3017 					T17_ = n->data[i].Field1;
3018 					n->data[i].Field1 = 0;
3019 					T18_ = NIM_NIL;
3020 					T18_ = n->data[i].Field2;
3021 					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
3022 					rawInsert__sempass50_1625(t, (&(*t).data), T17_, T18_, eh, j);
3023 				}
3024 				LA10_: ;
3025 				res += ((NI) 1);
3026 			} LA6: ;
3027 		}
3028 	}
3029 }
N_INLINE(NI,rawGetKnownHC__sempass50_1794)3030 static N_INLINE(NI, rawGetKnownHC__sempass50_1794)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key, NI hc) {
3031 	NI result;
3032 	NI h;
3033 	NI T6_;
3034 {	result = (NI)0;
3035 	{
3036 		NI T3_;
3037 		T3_ = (t.data ? t.data->Sup.len : 0);
3038 		if (!(T3_ == ((NI) 0))) goto LA4_;
3039 		result = ((NI) -1);
3040 		goto BeforeRet_;
3041 	}
3042 	LA4_: ;
3043 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
3044 	h = (NI)(hc & T6_);
3045 	{
3046 		while (1) {
3047 			NIM_BOOL T9_;
3048 			NI T16_;
3049 			T9_ = (NIM_BOOL)0;
3050 			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
3051 			if (!T9_) goto LA8;
3052 			{
3053 				NIM_BOOL T12_;
3054 				T12_ = (NIM_BOOL)0;
3055 				T12_ = (t.data->data[h].Field0 == hc);
3056 				if (!(T12_)) goto LA13_;
3057 				T12_ = (t.data->data[h].Field1 == key);
3058 				LA13_: ;
3059 				if (!T12_) goto LA14_;
3060 				result = h;
3061 				goto BeforeRet_;
3062 			}
3063 			LA14_: ;
3064 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
3065 			h = nextTry__pureZcollectionsZtables_34(h, T16_);
3066 		} LA8: ;
3067 	}
3068 	result = (NI)(((NI) -1) - h);
3069 	}BeforeRet_: ;
3070 	return result;
3071 }
N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw **,mgetOrPut__sempass50_1047)3072 N_LIB_PRIVATE N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw**, mgetOrPut__sempass50_1047)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, NI key, tySequence__vGU8AyGT6KxtLJwEg0BpNw* val) {
3073 	tySequence__vGU8AyGT6KxtLJwEg0BpNw** result;
3074 	NI hc;
3075 	NI index;
3076 	result = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
3077 	{
3078 		NI T3_;
3079 		NI correctSizeX60gensym95_;
3080 		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
3081 		if (!(T3_ == ((NI) 0))) goto LA4_;
3082 		correctSizeX60gensym95_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
3083 		(*t).counter = ((NI) 0);
3084 		unsureAsgnRef((void**) (&(*t).data), (tySequence__Hkw5zrAn53wlKDHdJF1GFA*) newSeq((&NTIkeyvaluepairseq__Hkw5zrAn53wlKDHdJF1GFA_), ((NI) (correctSizeX60gensym95_))));
3085 	}
3086 	LA4_: ;
3087 	hc = (NI)0;
3088 	index = rawGet__sempass50_491((*t), key, (&hc));
3089 	{
3090 		if (!(index < ((NI) 0))) goto LA8_;
3091 		{
3092 			NI T12_;
3093 			NI correctSizeX60gensym98_;
3094 			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
3095 			if (!(T12_ == ((NI) 0))) goto LA13_;
3096 			correctSizeX60gensym98_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
3097 			(*t).counter = ((NI) 0);
3098 			unsureAsgnRef((void**) (&(*t).data), (tySequence__Hkw5zrAn53wlKDHdJF1GFA*) newSeq((&NTIkeyvaluepairseq__Hkw5zrAn53wlKDHdJF1GFA_), ((NI) (correctSizeX60gensym98_))));
3099 		}
3100 		LA13_: ;
3101 		{
3102 			NIM_BOOL T17_;
3103 			T17_ = (NIM_BOOL)0;
3104 			T17_ = mustRehash__sempass50_1168((*t));
3105 			if (!T17_) goto LA18_;
3106 			enlarge__sempass50_1321(t);
3107 			index = rawGetKnownHC__sempass50_1794((*t), key, hc);
3108 		}
3109 		LA18_: ;
3110 		index = (NI)(((NI) -1) - index);
3111 		rawInsert__sempass50_1625(t, (&(*t).data), key, val, hc, index);
3112 		(*t).counter += ((NI) 1);
3113 	}
3114 	LA8_: ;
3115 	result = (&(*t).data->data[index].Field2);
3116 	return result;
3117 }
N_NIMCALL(void,markSideEffect__sempass50_995)3118 N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass50_995)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* reason, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q useLoc) {
3119 	{
3120 		if (!!((*a).inEnforcedNoSideEffects)) goto LA3_;
3121 		(*a).hasSideEffect = NIM_TRUE;
3122 		{
3123 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
3124 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym93_;
3125 			tySequence__vGU8AyGT6KxtLJwEg0BpNw* T9_;
3126 			tySequence__vGU8AyGT6KxtLJwEg0BpNw** T10_;
3127 			tyTuple__KvKIqRIx9anKcDMu8DPSkHw T11_;
3128 			NI T12_;
3129 			if (!((routineKinds__ast_467 &((NU32)1<<((NU)((*(*a).owner).kind)&31U)))!=0)) goto LA7_;
3130 			sym = NIM_NIL;
3131 			sym = reason;
3132 			xX60gensym93_ = (*a).owner;
3133 			T9_ = NIM_NIL;
3134 			T9_ = NIM_NIL;
3135 			T10_ = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
3136 			T10_ = mgetOrPut__sempass50_1047((&(*(*a).c).sideEffects), (NI)((NI)((NU32)(((NI) ((*xX60gensym93_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym93_).Sup.itemId.item))), T9_);
3137 			nimZeroMem((void*)(&T11_), sizeof(tyTuple__KvKIqRIx9anKcDMu8DPSkHw));
3138 			T11_.Field0 = useLoc;
3139 			T11_.Field1 = sym;
3140 			unsureAsgnRef((void**) (&(*T10_)), (tySequence__vGU8AyGT6KxtLJwEg0BpNw*) incrSeqV3((TGenericSeq*)((*T10_)), (&NTIseqLLtlineinfo_psymTT__vGU8AyGT6KxtLJwEg0BpNw_)));
3141 			T12_ = (*T10_)->Sup.len++;
3142 			(*T10_)->data[T12_].Field0 = T11_.Field0;
3143 			asgnRef((void**) (&(*T10_)->data[T12_].Field1), T11_.Field1);
3144 		}
3145 		LA7_: ;
3146 	}
3147 	LA3_: ;
3148 }
N_NIMCALL(void,useVarNoInitCheck__sempass50_959)3149 N_LIB_PRIVATE N_NIMCALL(void, useVarNoInitCheck__sempass50_959)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3150 	{
3151 		NIM_BOOL T3_;
3152 		NIM_BOOL T4_;
3153 		T3_ = (NIM_BOOL)0;
3154 		T4_ = (NIM_BOOL)0;
3155 		T4_ = !(((67108872 & (*s).flags) == 0));
3156 		if (!(T4_)) goto LA5_;
3157 		T4_ = ((768 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
3158 		LA5_: ;
3159 		T3_ = T4_;
3160 		if (!(T3_)) goto LA6_;
3161 		T3_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263)));
3162 		LA6_: ;
3163 		if (!T3_) goto LA7_;
3164 		{
3165 			if (!!(((*s)._kind_2.guard == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11_;
3166 			guardGlobal__sempass50_221(a, n, (*s)._kind_2.guard);
3167 		}
3168 		LA11_: ;
3169 		{
3170 			NIM_BOOL T15_;
3171 			NIM_BOOL T17_;
3172 			T15_ = (NIM_BOOL)0;
3173 			T15_ = ((67108872 & (*s).flags) == 8);
3174 			if (!(T15_)) goto LA16_;
3175 			T17_ = (NIM_BOOL)0;
3176 			T17_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 22))&63U)))!=0);
3177 			if (T17_) goto LA18_;
3178 			T17_ = isGCedMem__ast_4203((*s).typ);
3179 			LA18_: ;
3180 			T15_ = T17_;
3181 			LA16_: ;
3182 			if (!T15_) goto LA19_;
3183 			markGcUnsafe__sempass50_361(a, s);
3184 		}
3185 		LA19_: ;
3186 		markSideEffect__sempass50_995(a, s, (*n).info);
3187 	}
3188 	LA7_: ;
3189 	{
3190 		NIM_BOOL T23_;
3191 		NIM_BOOL T24_;
3192 		T23_ = (NIM_BOOL)0;
3193 		T24_ = (NIM_BOOL)0;
3194 		T24_ = !(((*s).owner == (*a).owner));
3195 		if (!(T24_)) goto LA25_;
3196 		T24_ = ((2099976 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
3197 		LA25_: ;
3198 		T23_ = T24_;
3199 		if (!(T23_)) goto LA26_;
3200 		T23_ = ((67108872 & (*s).flags) == 0);
3201 		LA26_: ;
3202 		if (!T23_) goto LA27_;
3203 		(*a).isInnerProc = NIM_TRUE;
3204 	}
3205 	LA27_: ;
3206 }
N_NIMCALL(void,useVar__sempass50_2113)3207 N_LIB_PRIVATE N_NIMCALL(void, useVar__sempass50_2113)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3208 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3209 	s = (*n)._kind_4.sym;
3210 	{
3211 		if (!(((NI) 0) < (*a).inExceptOrFinallyStmt)) goto LA3_;
3212 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 44)) & 63);
3213 	}
3214 	LA3_: ;
3215 	{
3216 		NIM_BOOL T7_;
3217 		T7_ = (NIM_BOOL)0;
3218 		T7_ = isLocalVar__sempass50_162(a, s);
3219 		if (!T7_) goto LA8_;
3220 		{
3221 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym110_;
3222 			NI T14_;
3223 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA12_;
3224 			xX60gensym110_ = s;
3225 			unsureAsgnRef((void**) (&(*a).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*a).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
3226 			T14_ = (*a).init->Sup.len++;
3227 			(*a).init->data[T14_] = (NI)((NI)((NU32)(((NI) ((*xX60gensym110_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym110_).Sup.itemId.item)));
3228 		}
3229 		goto LA10_;
3230 		LA12_: ;
3231 		{
3232 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym112_;
3233 			NIM_BOOL T16_;
3234 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym117_;
3235 			NI T27_;
3236 			xX60gensym112_ = s;
3237 			T16_ = (NIM_BOOL)0;
3238 			T16_ = contains__sigmatch_4299((*a).init->data, ((*a).init ? (*a).init->Sup.len : 0), (NI)((NI)((NU32)(((NI) ((*xX60gensym112_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym112_).Sup.itemId.item))));
3239 			if (!!(T16_)) goto LA17_;
3240 			{
3241 				NIM_BOOL T21_;
3242 				T21_ = (NIM_BOOL)0;
3243 				T21_ = requiresInit__typeallowed_578((*s).typ);
3244 				if (!T21_) goto LA22_;
3245 				liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), (*(*s).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_19, NIM_FALSE);
3246 			}
3247 			goto LA19_;
3248 			LA22_: ;
3249 			{
3250 				if (!((*a).leftPartOfAsgn <= ((NI) 0))) goto LA25_;
3251 				liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 49), (*(*s).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_20, NIM_FALSE);
3252 			}
3253 			goto LA19_;
3254 			LA25_: ;
3255 			LA19_: ;
3256 			xX60gensym117_ = s;
3257 			unsureAsgnRef((void**) (&(*a).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*a).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
3258 			T27_ = (*a).init->Sup.len++;
3259 			(*a).init->data[T27_] = (NI)((NI)((NU32)(((NI) ((*xX60gensym117_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym117_).Sup.itemId.item)));
3260 		}
3261 		goto LA10_;
3262 		LA17_: ;
3263 		LA10_: ;
3264 	}
3265 	LA8_: ;
3266 	useVarNoInitCheck__sempass50_959(a, n, s);
3267 }
N_NIMCALL(void,throws__sempass50_2182)3268 N_LIB_PRIVATE N_NIMCALL(void, throws__sempass50_2182)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
3269 	{
3270 		NIM_BOOL T3_;
3271 		T3_ = (NIM_BOOL)0;
3272 		T3_ = ((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
3273 		if (T3_) goto LA4_;
3274 		T3_ = !(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)));
3275 		LA4_: ;
3276 		if (!T3_) goto LA5_;
3277 		{
3278 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
3279 			if (!!((orig == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
3280 			x = copyTree__ast_4431(orig);
3281 			asgnRef((void**) (&(*x).typ), (*n).typ);
3282 			add__ast_4797(tracked, x);
3283 		}
3284 		goto LA7_;
3285 		LA9_: ;
3286 		{
3287 			add__ast_4797(tracked, n);
3288 		}
3289 		LA7_: ;
3290 	}
3291 	LA5_: ;
3292 }
N_NIMCALL(void,addRaiseEffect__sempass50_2237)3293 N_LIB_PRIVATE N_NIMCALL(void, addRaiseEffect__sempass50_2237)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom) {
3294 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
3295 {	aa = (*a).exc;
3296 	{
3297 		NI i;
3298 		NI colontmp_;
3299 		NI i_2;
3300 		i = (NI)0;
3301 		colontmp_ = (NI)0;
3302 		colontmp_ = len__ast_3198(aa);
3303 		i_2 = (*a).bottom;
3304 		{
3305 			while (1) {
3306 				if (!(i_2 < colontmp_)) goto LA3;
3307 				i = i_2;
3308 				{
3309 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
3310 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
3311 					NIM_BOOL T8_;
3312 					T6_ = NIM_NIL;
3313 					T6_ = excType__sempass50_2211((*a).graph, (*aa)._kind_6.sons->data[i]);
3314 					T7_ = NIM_NIL;
3315 					T7_ = excType__sempass50_2211((*a).graph, e);
3316 					T8_ = (NIM_BOOL)0;
3317 					T8_ = sameType__types_1815(T6_, T7_, 0);
3318 					if (!T8_) goto LA9_;
3319 					goto BeforeRet_;
3320 				}
3321 				LA9_: ;
3322 				i_2 += ((NI) 1);
3323 			} LA3: ;
3324 		}
3325 	}
3326 	{
3327 		if (!!(((*e).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA13_;
3328 		{
3329 			NIM_BOOL T17_;
3330 			NIM_BOOL T19_;
3331 			T17_ = (NIM_BOOL)0;
3332 			T17_ = (((*(*a).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0);
3333 			if (T17_) goto LA18_;
3334 			T19_ = (NIM_BOOL)0;
3335 			T19_ = isDefectException__types_4020((*e).typ);
3336 			T17_ = !(T19_);
3337 			LA18_: ;
3338 			if (!T17_) goto LA20_;
3339 			throws__sempass50_2182((*a).exc, e, comesFrom);
3340 		}
3341 		LA20_: ;
3342 	}
3343 	LA13_: ;
3344 	}BeforeRet_: ;
3345 }
N_NIMCALL(void,createTypeBoundOps__sempass50_142)3346 N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__sempass50_142)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
3347 {	{
3348 		if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
3349 		goto BeforeRet_;
3350 	}
3351 	LA3_: ;
3352 	createTypeBoundOps__liftdestructors_47((*tracked).graph, (*tracked).c, typ, info, (*(*tracked).c).Sup.idgen);
3353 	{
3354 		NIM_BOOL T7_;
3355 		T7_ = (NIM_BOOL)0;
3356 		T7_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0);
3357 		if (T7_) goto LA8_;
3358 		T7_ = (((*(*tracked).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
3359 		LA8_: ;
3360 		if (!T7_) goto LA9_;
3361 		(*(*tracked).owner).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 42)) & 63);
3362 	}
3363 	LA9_: ;
3364 	}BeforeRet_: ;
3365 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,createRaise__sempass50_2223)3366 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createRaise__sempass50_2223)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3367 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3368 	result = NIM_NIL;
3369 	result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
3370 	asgnRef((void**) (&(*result).typ), getEbase__sempass50_2207(g, (*n).info));
3371 	{
3372 		if (!!((n == 0))) goto LA3_;
3373 		(*result).info = (*n).info;
3374 	}
3375 	LA3_: ;
3376 	return result;
3377 }
N_NIMCALL(void,mergeLockLevels__sempass50_2606)3378 N_LIB_PRIVATE N_NIMCALL(void, mergeLockLevels__sempass50_2606)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI16 lockLevel) {
3379 	{
3380 		if (!((*tracked).currLockLevel <= lockLevel)) goto LA3_;
3381 		{
3382 			NimStringDesc* T9_;
3383 			NimStringDesc* T10_;
3384 			NimStringDesc* T11_;
3385 			if (!(((NI16) 0) < (*tracked).currLockLevel)) goto LA7_;
3386 			T9_ = NIM_NIL;
3387 			T10_ = NIM_NIL;
3388 			T10_ = dollar___ast_3858((*tracked).currLockLevel);
3389 			T11_ = NIM_NIL;
3390 			T11_ = dollar___ast_3858(lockLevel);
3391 			T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + (T11_ ? T11_->Sup.len : 0) + 42);
3392 appendString(T9_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_24));
3393 appendString(T9_, T10_);
3394 appendString(T9_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_25));
3395 appendString(T9_, T11_);
3396 			liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T9_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_26, NIM_FALSE);
3397 		}
3398 		LA7_: ;
3399 		(*tracked).maxLockLevel = (((*tracked).maxLockLevel >= lockLevel) ? (*tracked).maxLockLevel : lockLevel);
3400 	}
3401 	LA3_: ;
3402 }
N_NIMCALL(NI16,getLockLevel__sempass50_2591)3403 N_LIB_PRIVATE N_NIMCALL(NI16, getLockLevel__sempass50_2591)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3404 	NI16 result;
3405 	result = (NI16)0;
3406 	result = (*(*s).typ).lockLevel;
3407 	{
3408 		if (!(result == ((NI16) -1))) goto LA3_;
3409 		{
3410 			NIM_BOOL T7_;
3411 			T7_ = (NIM_BOOL)0;
3412 			T7_ = !(((4160 & (*s).flags) == 0));
3413 			if (T7_) goto LA8_;
3414 			T7_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0);
3415 			LA8_: ;
3416 			if (!T7_) goto LA9_;
3417 			result = ((NI16) 0);
3418 		}
3419 		goto LA5_;
3420 		LA9_: ;
3421 		{
3422 			result = ((NI16) 1001);
3423 		}
3424 		LA5_: ;
3425 	}
3426 	LA3_: ;
3427 	return result;
3428 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)3429 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3430 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3431 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3432 	(*x).symId += ((NI) 1);
3433 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3434 	result.module = (*x).module;
3435 	result.item = (*x).symId;
3436 	return result;
3437 }
N_NIMCALL(void,markSideEffect__sempass50_2877)3438 N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass50_2877)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reason, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q useLoc) {
3439 	{
3440 		if (!!((*a).inEnforcedNoSideEffects)) goto LA3_;
3441 		(*a).hasSideEffect = NIM_TRUE;
3442 		{
3443 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
3444 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym225_;
3445 			tySequence__vGU8AyGT6KxtLJwEg0BpNw* T20_;
3446 			tySequence__vGU8AyGT6KxtLJwEg0BpNw** T21_;
3447 			tyTuple__KvKIqRIx9anKcDMu8DPSkHw T22_;
3448 			NI T23_;
3449 			if (!((routineKinds__ast_467 &((NU32)1<<((NU)((*(*a).owner).kind)&31U)))!=0)) goto LA7_;
3450 			sym = NIM_NIL;
3451 			{
3452 				if (!((*reason).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
3453 				sym = (*reason)._kind_4.sym;
3454 			}
3455 			goto LA9_;
3456 			LA11_: ;
3457 			{
3458 				tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
3459 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T19_;
3460 				{
3461 					if (!((*reason).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA16_;
3462 					kind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3);
3463 				}
3464 				goto LA14_;
3465 				LA16_: ;
3466 				{
3467 					kind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0);
3468 				}
3469 				LA14_: ;
3470 				T19_ = nextSymId__ast_3132((*(*a).c).Sup.idgen);
3471 				sym = newSym__ast_3445(kind, (*(*a).owner).name, T19_, (*a).owner, (*reason).info, 0);
3472 			}
3473 			LA9_: ;
3474 			xX60gensym225_ = (*a).owner;
3475 			T20_ = NIM_NIL;
3476 			T20_ = NIM_NIL;
3477 			T21_ = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
3478 			T21_ = mgetOrPut__sempass50_1047((&(*(*a).c).sideEffects), (NI)((NI)((NU32)(((NI) ((*xX60gensym225_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym225_).Sup.itemId.item))), T20_);
3479 			nimZeroMem((void*)(&T22_), sizeof(tyTuple__KvKIqRIx9anKcDMu8DPSkHw));
3480 			T22_.Field0 = useLoc;
3481 			T22_.Field1 = sym;
3482 			unsureAsgnRef((void**) (&(*T21_)), (tySequence__vGU8AyGT6KxtLJwEg0BpNw*) incrSeqV3((TGenericSeq*)((*T21_)), (&NTIseqLLtlineinfo_psymTT__vGU8AyGT6KxtLJwEg0BpNw_)));
3483 			T23_ = (*T21_)->Sup.len++;
3484 			(*T21_)->data[T23_].Field0 = T22_.Field0;
3485 			asgnRef((void**) (&(*T21_)->data[T23_].Field1), T22_.Field1);
3486 		}
3487 		LA7_: ;
3488 	}
3489 	LA3_: ;
3490 }
N_NIMCALL(void,mergeRaises__sempass50_2273)3491 N_LIB_PRIVATE N_NIMCALL(void, mergeRaises__sempass50_2273)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom) {
3492 	{
3493 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
3494 		if (!(b == 0)) goto LA3_;
3495 		T5_ = NIM_NIL;
3496 		T5_ = createRaise__sempass50_2223((*a).graph, comesFrom);
3497 		addRaiseEffect__sempass50_2237(a, T5_, comesFrom);
3498 	}
3499 	goto LA1_;
3500 	LA3_: ;
3501 	{
3502 		{
3503 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effect;
3504 			effect = NIM_NIL;
3505 			{
3506 				NI i;
3507 				NI colontmp_;
3508 				NI i_2;
3509 				i = (NI)0;
3510 				colontmp_ = (NI)0;
3511 				colontmp_ = safeLen__ast_3191(b);
3512 				i_2 = ((NI) 0);
3513 				{
3514 					while (1) {
3515 						if (!(i_2 < colontmp_)) goto LA10;
3516 						i = i_2;
3517 						effect = (*b)._kind_6.sons->data[i];
3518 						addRaiseEffect__sempass50_2237(a, effect, comesFrom);
3519 						i_2 += ((NI) 1);
3520 					} LA10: ;
3521 				}
3522 			}
3523 		}
3524 	}
3525 	LA1_: ;
3526 }
N_NIMCALL(void,addTag__sempass50_2259)3527 N_LIB_PRIVATE N_NIMCALL(void, addTag__sempass50_2259)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom) {
3528 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
3529 {	aa = (*a).tags;
3530 	{
3531 		NI i;
3532 		NI colontmp_;
3533 		NI i_2;
3534 		i = (NI)0;
3535 		colontmp_ = (NI)0;
3536 		colontmp_ = len__ast_3198(aa);
3537 		i_2 = ((NI) 0);
3538 		{
3539 			while (1) {
3540 				if (!(i_2 < colontmp_)) goto LA3;
3541 				i = i_2;
3542 				{
3543 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
3544 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
3545 					NIM_BOOL T8_;
3546 					T6_ = NIM_NIL;
3547 					T6_ = skipTypes__ast_3735((*(*aa)._kind_6.sons->data[i]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_9);
3548 					T7_ = NIM_NIL;
3549 					T7_ = skipTypes__ast_3735((*e).typ, TM__wkTG4eaV3t1uo3x09apjcwA_9);
3550 					T8_ = (NIM_BOOL)0;
3551 					T8_ = sameType__types_1815(T6_, T7_, 0);
3552 					if (!T8_) goto LA9_;
3553 					goto BeforeRet_;
3554 				}
3555 				LA9_: ;
3556 				i_2 += ((NI) 1);
3557 			} LA3: ;
3558 		}
3559 	}
3560 	throws__sempass50_2182((*a).tags, e, comesFrom);
3561 	}BeforeRet_: ;
3562 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,createTag__sempass50_2230)3563 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createTag__sempass50_2230)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3564 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3565 	result = NIM_NIL;
3566 	result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
3567 	asgnRef((void**) (&(*result).typ), sysTypeFromName__magicsys_55(g, (*n).info, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_27)));
3568 	{
3569 		if (!!((n == 0))) goto LA3_;
3570 		(*result).info = (*n).info;
3571 	}
3572 	LA3_: ;
3573 	return result;
3574 }
N_NIMCALL(void,mergeTags__sempass50_2281)3575 N_LIB_PRIVATE N_NIMCALL(void, mergeTags__sempass50_2281)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom) {
3576 	{
3577 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
3578 		if (!(b == 0)) goto LA3_;
3579 		T5_ = NIM_NIL;
3580 		T5_ = createTag__sempass50_2230((*a).graph, comesFrom);
3581 		addTag__sempass50_2259(a, T5_, comesFrom);
3582 	}
3583 	goto LA1_;
3584 	LA3_: ;
3585 	{
3586 		{
3587 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effect;
3588 			effect = NIM_NIL;
3589 			{
3590 				NI i;
3591 				NI colontmp_;
3592 				NI i_2;
3593 				i = (NI)0;
3594 				colontmp_ = (NI)0;
3595 				colontmp_ = safeLen__ast_3191(b);
3596 				i_2 = ((NI) 0);
3597 				{
3598 					while (1) {
3599 						if (!(i_2 < colontmp_)) goto LA10;
3600 						i = i_2;
3601 						effect = (*b)._kind_6.sons->data[i];
3602 						addTag__sempass50_2259(a, effect, comesFrom);
3603 						i_2 += ((NI) 1);
3604 					} LA10: ;
3605 				}
3606 			}
3607 		}
3608 	}
3609 	LA1_: ;
3610 }
N_INLINE(NIM_BOOL,hasWarn__options_557)3611 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note) {
3612 	NIM_BOOL result;
3613 	NIM_BOOL T1_;
3614 	result = (NIM_BOOL)0;
3615 	T1_ = (NIM_BOOL)0;
3616 	T1_ = (((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 13))&31U)))!=0);
3617 	if (!(T1_)) goto LA2_;
3618 	T1_ = (((*conf).notes[(NU)((note- 16))>>3] &(1U<<((NU)((note- 16))&7U)))!=0);
3619 	LA2_: ;
3620 	result = T1_;
3621 	return result;
3622 }
N_NIMCALL(void,warnAboutGcUnsafe__sempass50_358)3623 N_LIB_PRIVATE N_NIMCALL(void, warnAboutGcUnsafe__sempass50_358)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
3624 	NimStringDesc* T1_;
3625 	T1_ = NIM_NIL;
3626 	T1_ = renderTree__renderer_46(n, 0);
3627 	liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 47), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_28, NIM_FALSE);
3628 }
N_NIMCALL(void,propagateEffects__sempass50_2610)3629 N_LIB_PRIVATE N_NIMCALL(void, propagateEffects__sempass50_2610)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3630 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma;
3631 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec;
3632 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tagSpec;
3633 	NI16 T16_;
3634 	pragma = (*(*s).ast)._kind_6.sons->data[((NI) 4)];
3635 	spec = effectSpec__trees_284(pragma, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174));
3636 	mergeRaises__sempass50_2273(tracked, spec, n);
3637 	tagSpec = effectSpec__trees_284(pragma, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179));
3638 	mergeTags__sempass50_2281(tracked, tagSpec, n);
3639 	{
3640 		NIM_BOOL T3_;
3641 		T3_ = (NIM_BOOL)0;
3642 		T3_ = ((130 & (*(*s).typ).flags) == 0);
3643 		if (!(T3_)) goto LA4_;
3644 		T3_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
3645 		LA4_: ;
3646 		if (!T3_) goto LA5_;
3647 		{
3648 			NIM_BOOL T9_;
3649 			T9_ = (NIM_BOOL)0;
3650 			T9_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
3651 			if (!T9_) goto LA10_;
3652 			warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
3653 		}
3654 		LA10_: ;
3655 		markGcUnsafe__sempass50_361(tracked, s);
3656 	}
3657 	LA5_: ;
3658 	{
3659 		if (!!((((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0))) goto LA14_;
3660 		markSideEffect__sempass50_995(tracked, s, (*n).info);
3661 	}
3662 	LA14_: ;
3663 	T16_ = (NI16)0;
3664 	T16_ = getLockLevel__sempass50_2591(s);
3665 	mergeLockLevels__sempass50_2606(tracked, n, T16_);
3666 }
N_INLINE(NIM_BOOL,isNoEffectList__sempass50_2756)3667 static N_INLINE(NIM_BOOL, isNoEffectList__sempass50_2756)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3668 	NIM_BOOL result;
3669 	NIM_BOOL T1_;
3670 	NI T2_;
3671 	NIM_BOOL T4_;
3672 	result = (NIM_BOOL)0;
3673 	T1_ = (NIM_BOOL)0;
3674 	T2_ = (NI)0;
3675 	T2_ = len__ast_3198(n);
3676 	T1_ = (T2_ == ((NI) 0));
3677 	if (T1_) goto LA3_;
3678 	T4_ = (NIM_BOOL)0;
3679 	T4_ = ((*n)._kind_6.sons->data[((NI) 3)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3680 	if (!(T4_)) goto LA5_;
3681 	T4_ = ((*n)._kind_6.sons->data[((NI) 0)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3682 	LA5_: ;
3683 	T1_ = T4_;
3684 	LA3_: ;
3685 	result = T1_;
3686 	return result;
3687 }
N_NIMCALL(NIM_BOOL,isForwardedProc__sempass50_2549)3688 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isForwardedProc__sempass50_2549)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3689 	NIM_BOOL result;
3690 	NIM_BOOL T1_;
3691 	result = (NIM_BOOL)0;
3692 	T1_ = (NIM_BOOL)0;
3693 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3694 	if (!(T1_)) goto LA2_;
3695 	T1_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
3696 	LA2_: ;
3697 	result = T1_;
3698 	return result;
3699 }
N_NIMCALL(NIM_BOOL,isIndirectCall__sempass50_2513)3700 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIndirectCall__sempass50_2513)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3701 	NIM_BOOL result;
3702 	result = (NIM_BOOL)0;
3703 	{
3704 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
3705 		result = NIM_TRUE;
3706 	}
3707 	goto LA1_;
3708 	LA3_: ;
3709 	{
3710 		if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3))) goto LA6_;
3711 		{
3712 			if (!(((*(*tracked).c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 16))&31U)))!=0)) goto LA10_;
3713 			{
3714 				NIM_BOOL T14_;
3715 				T14_ = (NIM_BOOL)0;
3716 				T14_ = ((*tracked).owner == (*(*n)._kind_4.sym).owner);
3717 				if (!(T14_)) goto LA15_;
3718 				T14_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 47))&63U)))!=0);
3719 				LA15_: ;
3720 				if (!T14_) goto LA16_;
3721 				result = NIM_FALSE;
3722 			}
3723 			goto LA12_;
3724 			LA16_: ;
3725 			{
3726 				result = NIM_TRUE;
3727 			}
3728 			LA12_: ;
3729 		}
3730 		goto LA8_;
3731 		LA10_: ;
3732 		{
3733 			NIM_BOOL T20_;
3734 			T20_ = (NIM_BOOL)0;
3735 			T20_ = !(((*tracked).owner == (*(*n)._kind_4.sym).owner));
3736 			if (T20_) goto LA21_;
3737 			T20_ = ((*tracked).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3738 			LA21_: ;
3739 			result = T20_;
3740 		}
3741 		LA8_: ;
3742 	}
3743 	goto LA1_;
3744 	LA6_: ;
3745 	{
3746 		if (!!(((520192 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0))) goto LA23_;
3747 		result = NIM_TRUE;
3748 	}
3749 	goto LA1_;
3750 	LA23_: ;
3751 	LA1_: ;
3752 	return result;
3753 }
N_NIMCALL(void,assumeTheWorst__sempass50_2727)3754 N_LIB_PRIVATE N_NIMCALL(void, assumeTheWorst__sempass50_2727)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* op) {
3755 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3756 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
3757 	NI16 lockLevel;
3758 	T1_ = NIM_NIL;
3759 	T1_ = createRaise__sempass50_2223((*tracked).graph, n);
3760 	addRaiseEffect__sempass50_2237(tracked, T1_, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3761 	T2_ = NIM_NIL;
3762 	T2_ = createTag__sempass50_2230((*tracked).graph, n);
3763 	addTag__sempass50_2259(tracked, T2_, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3764 	{
3765 		if (!((*op).lockLevel == ((NI16) -1))) goto LA5_;
3766 		lockLevel = ((NI16) 1001);
3767 	}
3768 	goto LA3_;
3769 	LA5_: ;
3770 	{
3771 		lockLevel = (*op).lockLevel;
3772 	}
3773 	LA3_: ;
3774 	mergeLockLevels__sempass50_2606(tracked, n, lockLevel);
3775 }
N_NIMCALL(NIM_BOOL,importedFromC__sempass50_2580)3776 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, importedFromC__sempass50_2580)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3777 	NIM_BOOL result;
3778 	NIM_BOOL T1_;
3779 	result = (NIM_BOOL)0;
3780 	T1_ = (NIM_BOOL)0;
3781 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3782 	if (!(T1_)) goto LA2_;
3783 	T1_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0);
3784 	LA2_: ;
3785 	result = T1_;
3786 	return result;
3787 }
N_NIMCALL(void,markGcUnsafe__sempass50_368)3788 N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass50_368)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reason) {
3789 	{
3790 		if (!!((*a).inEnforcedGcSafe)) goto LA3_;
3791 		(*a).gcUnsafe = NIM_TRUE;
3792 		{
3793 			if (!((520192 &((NU32)1<<((NU)((*(*a).owner).kind)&31U)))!=0)) goto LA7_;
3794 			{
3795 				if (!((*reason).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
3796 				asgnRef((void**) (&(*(*a).owner)._kind_1.gcUnsafetyReason), (*reason)._kind_4.sym);
3797 			}
3798 			goto LA9_;
3799 			LA11_: ;
3800 			{
3801 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
3802 				T14_ = nextSymId__ast_3132((*(*a).c).Sup.idgen);
3803 				asgnRef((void**) (&(*(*a).owner)._kind_1.gcUnsafetyReason), newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), (*(*a).owner).name, T14_, (*a).owner, (*reason).info, 0));
3804 			}
3805 			LA9_: ;
3806 		}
3807 		LA7_: ;
3808 	}
3809 	LA3_: ;
3810 }
N_INLINE(NI,len__ast_4002)3811 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
3812 	NI result;
3813 	NI T1_;
3814 	result = (NI)0;
3815 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
3816 	result = T1_;
3817 	return result;
3818 }
N_INLINE(NIM_BOOL,isTrival__sempass50_2779)3819 static N_INLINE(NIM_BOOL, isTrival__sempass50_2779)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caller) {
3820 	NIM_BOOL result;
3821 	NIM_BOOL T1_;
3822 	result = (NIM_BOOL)0;
3823 	T1_ = (NIM_BOOL)0;
3824 	T1_ = ((*caller).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3825 	if (!(T1_)) goto LA2_;
3826 	T1_ = ((*(*caller)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92) || (*(*caller)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143) || (*(*caller)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148) || (*(*caller)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149) || (*(*caller)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 142));
3827 	LA2_: ;
3828 	result = T1_;
3829 	return result;
3830 }
N_NIMCALL(NIM_BOOL,isOwnedProcVar__sempass50_2732)3831 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedProcVar__sempass50_2732)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3832 	NIM_BOOL result;
3833 	NIM_BOOL T1_;
3834 	NIM_BOOL T2_;
3835 	result = (NIM_BOOL)0;
3836 	T1_ = (NIM_BOOL)0;
3837 	T2_ = (NIM_BOOL)0;
3838 	T2_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3839 	if (!(T2_)) goto LA3_;
3840 	T2_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
3841 	LA3_: ;
3842 	T1_ = T2_;
3843 	if (!(T1_)) goto LA4_;
3844 	T1_ = ((*tracked).owner == (*(*n)._kind_4.sym).owner);
3845 	LA4_: ;
3846 	result = T1_;
3847 	{
3848 		NIM_BOOL T9_;
3849 		if (!(((*(*tracked).c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 16))&31U)))!=0)) goto LA7_;
3850 		T9_ = (NIM_BOOL)0;
3851 		T9_ = result;
3852 		if (!(T9_)) goto LA10_;
3853 		T9_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 47))&63U)))!=0);
3854 		LA10_: ;
3855 		result = T9_;
3856 	}
3857 	LA7_: ;
3858 	return result;
3859 }
N_INLINE(void,makeVolatile__sempass50_301)3860 static N_INLINE(void, makeVolatile__sempass50_301)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3861 	{
3862 		NIM_BOOL T3_;
3863 		T3_ = (NIM_BOOL)0;
3864 		T3_ = (((NI) 0) < (*a).inTryStmt);
3865 		if (!(T3_)) goto LA4_;
3866 		T3_ = ((*(*a).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 1));
3867 		LA4_: ;
3868 		if (!T3_) goto LA5_;
3869 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9)) & 63);
3870 	}
3871 	LA5_: ;
3872 }
N_NIMCALL(void,procVarCheck__sempass50_2639)3873 N_LIB_PRIVATE N_NIMCALL(void, procVarCheck__sempass50_2639)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
3874 	{
3875 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA3_;
3876 		{
3877 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
3878 			x = NIM_NIL;
3879 			{
3880 				NI i;
3881 				NI colontmp_;
3882 				NI i_2;
3883 				i = (NI)0;
3884 				colontmp_ = (NI)0;
3885 				colontmp_ = safeLen__ast_3191(n);
3886 				i_2 = ((NI) 0);
3887 				{
3888 					while (1) {
3889 						if (!(i_2 < colontmp_)) goto LA8;
3890 						i = i_2;
3891 						x = (*n)._kind_6.sons->data[i];
3892 						procVarCheck__sempass50_2639(x, conf);
3893 						i_2 += ((NI) 1);
3894 					} LA8: ;
3895 				}
3896 			}
3897 		}
3898 	}
3899 	goto LA1_;
3900 	LA3_: ;
3901 	{
3902 		NIM_BOOL T10_;
3903 		NIM_BOOL T11_;
3904 		NimStringDesc* T16_;
3905 		T10_ = (NIM_BOOL)0;
3906 		T11_ = (NIM_BOOL)0;
3907 		T11_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3908 		if (!(T11_)) goto LA12_;
3909 		T11_ = !(((*(*n)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
3910 		LA12_: ;
3911 		T10_ = T11_;
3912 		if (!(T10_)) goto LA13_;
3913 		T10_ = ((520192 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0);
3914 		LA13_: ;
3915 		if (!T10_) goto LA14_;
3916 		T16_ = NIM_NIL;
3917 		T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_33), (*(*(*n)._kind_4.sym).name).s);
3918 		liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_34, NIM_FALSE);
3919 	}
3920 	goto LA1_;
3921 	LA14_: ;
3922 	LA1_: ;
3923 }
N_NIMCALL(void,notNilCheck__sempass50_2659)3924 N_LIB_PRIVATE N_NIMCALL(void, notNilCheck__sempass50_2659)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType) {
3925 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
3926 	tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType_2;
3927 {	n_2 = skipConv__types_3588(n);
3928 	{
3929 		NIM_BOOL T3_;
3930 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
3931 		T3_ = (NIM_BOOL)0;
3932 		T3_ = (paramType == 0);
3933 		if (T3_) goto LA4_;
3934 		T3_ = !(((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
3935 		LA4_: ;
3936 		if (!T3_) goto LA5_;
3937 		T7_ = NIM_NIL;
3938 		T7_ = skipConvCastAndClosure__astalgo_114(n_2);
3939 		procVarCheck__sempass50_2639(T7_, (*tracked).config);
3940 	}
3941 	LA5_: ;
3942 	paramType_2 = skipTypesOrNil__ast_4185(paramType, TM__wkTG4eaV3t1uo3x09apjcwA_30);
3943 	{
3944 		NIM_BOOL T10_;
3945 		NIM_BOOL T11_;
3946 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ntyp;
3947 		T10_ = (NIM_BOOL)0;
3948 		T11_ = (NIM_BOOL)0;
3949 		T11_ = !((paramType_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3950 		if (!(T11_)) goto LA12_;
3951 		T11_ = (((*paramType_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
3952 		LA12_: ;
3953 		T10_ = T11_;
3954 		if (!(T10_)) goto LA13_;
3955 		T10_ = !(((*n_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3956 		LA13_: ;
3957 		if (!T10_) goto LA14_;
3958 		ntyp = skipTypesOrNil__ast_4185((*n_2).typ, TM__wkTG4eaV3t1uo3x09apjcwA_35);
3959 		{
3960 			NIM_BOOL T18_;
3961 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T47_;
3962 			T18_ = (NIM_BOOL)0;
3963 			T18_ = !((ntyp == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3964 			if (!(T18_)) goto LA19_;
3965 			T18_ = !((((*ntyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
3966 			LA19_: ;
3967 			if (!T18_) goto LA20_;
3968 			{
3969 				NIM_BOOL T24_;
3970 				T24_ = (NIM_BOOL)0;
3971 				T24_ = isAddrNode__astalgo_4297(n_2);
3972 				if (!T24_) goto LA25_;
3973 				{
3974 					NIM_BOOL T29_;
3975 					T29_ = (NIM_BOOL)0;
3976 					T29_ = containsNode__ast_4545(n_2, TM__wkTG4eaV3t1uo3x09apjcwA_36);
3977 					if (!!(T29_)) goto LA30_;
3978 					goto BeforeRet_;
3979 				}
3980 				LA30_: ;
3981 			}
3982 			goto LA22_;
3983 			LA25_: ;
3984 			{
3985 				NIM_BOOL T33_;
3986 				NIM_BOOL T34_;
3987 				NIM_BOOL T35_;
3988 				NIM_BOOL T36_;
3989 				NIM_BOOL T40_;
3990 				NIM_BOOL T41_;
3991 				T33_ = (NIM_BOOL)0;
3992 				T34_ = (NIM_BOOL)0;
3993 				T35_ = (NIM_BOOL)0;
3994 				T36_ = (NIM_BOOL)0;
3995 				T36_ = ((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3996 				if (!(T36_)) goto LA37_;
3997 				T36_ = ((520192 &((NU32)1<<((NU)((*(*n_2)._kind_4.sym).kind)&31U)))!=0);
3998 				LA37_: ;
3999 				T35_ = T36_;
4000 				if (T35_) goto LA38_;
4001 				T35_ = ((*n_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
4002 				LA38_: ;
4003 				T34_ = T35_;
4004 				if (T34_) goto LA39_;
4005 				T40_ = (NIM_BOOL)0;
4006 				T41_ = (NIM_BOOL)0;
4007 				T41_ = ((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
4008 				if (!(T41_)) goto LA42_;
4009 				T41_ = ((*(*n_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4010 				LA42_: ;
4011 				T40_ = T41_;
4012 				if (!(T40_)) goto LA43_;
4013 				T40_ = ((*(*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144));
4014 				LA43_: ;
4015 				T34_ = T40_;
4016 				LA39_: ;
4017 				T33_ = T34_;
4018 				if (T33_) goto LA44_;
4019 				T33_ = ((*(*n_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
4020 				LA44_: ;
4021 				if (!T33_) goto LA45_;
4022 				goto BeforeRet_;
4023 			}
4024 			goto LA22_;
4025 			LA45_: ;
4026 			LA22_: ;
4027 			T47_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4028 			T47_ = impliesNotNil__guards_1044((*tracked).guards, n_2);
4029 			switch (T47_) {
4030 			case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0):
4031 			{
4032 				NimStringDesc* T49_;
4033 				NimStringDesc* T50_;
4034 				T49_ = NIM_NIL;
4035 				T49_ = renderTree__renderer_46(n_2, 0);
4036 				T50_ = NIM_NIL;
4037 				T50_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_37), T49_);
4038 				liMessage__msgs_1118((*tracked).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_38, NIM_FALSE);
4039 			}
4040 			break;
4041 			case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1):
4042 			{
4043 				NimStringDesc* T52_;
4044 				NimStringDesc* T53_;
4045 				T52_ = NIM_NIL;
4046 				T52_ = renderTree__renderer_46(n_2, 0);
4047 				T53_ = NIM_NIL;
4048 				T53_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_39), T52_);
4049 				liMessage__msgs_1118((*tracked).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T53_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_40, NIM_FALSE);
4050 			}
4051 			break;
4052 			case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2):
4053 			{
4054 			}
4055 			break;
4056 			}
4057 		}
4058 		LA20_: ;
4059 	}
4060 	LA14_: ;
4061 	}BeforeRet_: ;
4062 }
N_NIMCALL(void,trackOperandForIndirectCall__sempass50_2790)4063 N_LIB_PRIVATE N_NIMCALL(void, trackOperandForIndirectCall__sempass50_2790)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* formals, NI argIndex, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caller) {
4064 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4065 	tyObject_TType__facALICuu8zUj0hjvbTLFg* op;
4066 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
4067 	tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType;
4068 	a = skipConvCastAndClosure__astalgo_114(n);
4069 	op = (*a).typ;
4070 	{
4071 		NIM_BOOL T3_;
4072 		NIM_BOOL T4_;
4073 		NI T6_;
4074 		T3_ = (NIM_BOOL)0;
4075 		T4_ = (NIM_BOOL)0;
4076 		T4_ = !((formals == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4077 		if (!(T4_)) goto LA5_;
4078 		T6_ = (NI)0;
4079 		T6_ = len__ast_4002(formals);
4080 		T4_ = (argIndex < T6_);
4081 		LA5_: ;
4082 		T3_ = T4_;
4083 		if (!(T3_)) goto LA7_;
4084 		T3_ = !(((*formals).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4085 		LA7_: ;
4086 		if (!T3_) goto LA8_;
4087 		param = (*(*(*formals).n)._kind_6.sons->data[argIndex])._kind_4.sym;
4088 	}
4089 	goto LA1_;
4090 	LA8_: ;
4091 	{
4092 		param = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
4093 	}
4094 	LA1_: ;
4095 	{
4096 		NIM_BOOL T13_;
4097 		NIM_BOOL T14_;
4098 		NIM_BOOL T15_;
4099 		NIM_BOOL T16_;
4100 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
4101 		NIM_BOOL T21_;
4102 		NIM_BOOL T23_;
4103 		NIM_BOOL T24_;
4104 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effectList;
4105 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
4106 		T13_ = (NIM_BOOL)0;
4107 		T14_ = (NIM_BOOL)0;
4108 		T15_ = (NIM_BOOL)0;
4109 		T16_ = (NIM_BOOL)0;
4110 		T16_ = !((op == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4111 		if (!(T16_)) goto LA17_;
4112 		T16_ = ((*op).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4113 		LA17_: ;
4114 		T15_ = T16_;
4115 		if (!(T15_)) goto LA18_;
4116 		T19_ = NIM_NIL;
4117 		T19_ = skipConv__types_3588(n);
4118 		T15_ = !(((*T19_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
4119 		LA18_: ;
4120 		T14_ = T15_;
4121 		if (!(T14_)) goto LA20_;
4122 		T21_ = (NIM_BOOL)0;
4123 		T21_ = isTrival__sempass50_2779(caller);
4124 		T14_ = !(T21_);
4125 		LA20_: ;
4126 		T13_ = T14_;
4127 		if (!(T13_)) goto LA22_;
4128 		T23_ = (NIM_BOOL)0;
4129 		T24_ = (NIM_BOOL)0;
4130 		T24_ = !((param == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4131 		if (!(T24_)) goto LA25_;
4132 		T24_ = (((*param).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 47))&63U)))!=0);
4133 		LA25_: ;
4134 		T23_ = T24_;
4135 		if (T23_) goto LA26_;
4136 		T23_ = !((((*(*tracked).c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 16))&31U)))!=0));
4137 		LA26_: ;
4138 		T13_ = T23_;
4139 		LA22_: ;
4140 		if (!T13_) goto LA27_;
4141 		{
4142 			NimStringDesc* argX60gensym217_;
4143 			if (!!(((*(*(*op).n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)))) goto LA31_;
4144 			argX60gensym217_ = toFileLineCol__msgs_615(TM__wkTG4eaV3t1uo3x09apjcwA_29);
4145 			internalErrorImpl__msgs_1431((*tracked).config, unknownLineInfo__lineinfos_280, argX60gensym217_, TM__wkTG4eaV3t1uo3x09apjcwA_29);
4146 		}
4147 		LA31_: ;
4148 		effectList = (*(*op).n)._kind_6.sons->data[((NI) 0)];
4149 		s = skipConv__types_3588(n);
4150 		{
4151 			NIM_BOOL T35_;
4152 			T35_ = (NIM_BOOL)0;
4153 			T35_ = ((*s).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61));
4154 			if (!(T35_)) goto LA36_;
4155 			T35_ = ((*(*(*s)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4156 			LA36_: ;
4157 			if (!T35_) goto LA37_;
4158 			s = (*s)._kind_6.sons->data[((NI) 1)];
4159 		}
4160 		LA37_: ;
4161 		{
4162 			NIM_BOOL T41_;
4163 			NIM_BOOL T42_;
4164 			T41_ = (NIM_BOOL)0;
4165 			T42_ = (NIM_BOOL)0;
4166 			T42_ = ((*s).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4167 			if (!(T42_)) goto LA43_;
4168 			T42_ = ((520192 &((NU32)1<<((NU)((*(*s)._kind_4.sym).kind)&31U)))!=0);
4169 			LA43_: ;
4170 			T41_ = T42_;
4171 			if (!(T41_)) goto LA44_;
4172 			T41_ = isNoEffectList__sempass50_2756(effectList);
4173 			LA44_: ;
4174 			if (!T41_) goto LA45_;
4175 			propagateEffects__sempass50_2610(tracked, n, (*s)._kind_4.sym);
4176 		}
4177 		goto LA39_;
4178 		LA45_: ;
4179 		{
4180 			NIM_BOOL T48_;
4181 			T48_ = (NIM_BOOL)0;
4182 			T48_ = isNoEffectList__sempass50_2756(effectList);
4183 			if (!T48_) goto LA49_;
4184 			{
4185 				NIM_BOOL T53_;
4186 				T53_ = (NIM_BOOL)0;
4187 				T53_ = isForwardedProc__sempass50_2549(n);
4188 				if (!T53_) goto LA54_;
4189 				propagateEffects__sempass50_2610(tracked, n, (*n)._kind_4.sym);
4190 			}
4191 			goto LA51_;
4192 			LA54_: ;
4193 			{
4194 				NIM_BOOL T57_;
4195 				T57_ = (NIM_BOOL)0;
4196 				T57_ = isOwnedProcVar__sempass50_2732(tracked, a);
4197 				if (!!(T57_)) goto LA58_;
4198 				assumeTheWorst__sempass50_2727(tracked, n, op);
4199 			}
4200 			goto LA51_;
4201 			LA58_: ;
4202 			LA51_: ;
4203 			{
4204 				NIM_BOOL T62_;
4205 				NIM_BOOL T64_;
4206 				T62_ = (NIM_BOOL)0;
4207 				T62_ = ((130 & (*op).flags) == 0);
4208 				if (!(T62_)) goto LA63_;
4209 				T64_ = (NIM_BOOL)0;
4210 				T64_ = isOwnedProcVar__sempass50_2732(tracked, a);
4211 				T62_ = !(T64_);
4212 				LA63_: ;
4213 				if (!T62_) goto LA65_;
4214 				{
4215 					NIM_BOOL T69_;
4216 					T69_ = (NIM_BOOL)0;
4217 					T69_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
4218 					if (!T69_) goto LA70_;
4219 					warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
4220 				}
4221 				LA70_: ;
4222 				markGcUnsafe__sempass50_368(tracked, a);
4223 			}
4224 			goto LA60_;
4225 			LA65_: ;
4226 			{
4227 				NIM_BOOL T73_;
4228 				NIM_BOOL T75_;
4229 				T73_ = (NIM_BOOL)0;
4230 				T73_ = !((((*op).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
4231 				if (!(T73_)) goto LA74_;
4232 				T75_ = (NIM_BOOL)0;
4233 				T75_ = isOwnedProcVar__sempass50_2732(tracked, a);
4234 				T73_ = !(T75_);
4235 				LA74_: ;
4236 				if (!T73_) goto LA76_;
4237 				markSideEffect__sempass50_2877(tracked, a, (*n).info);
4238 			}
4239 			goto LA60_;
4240 			LA76_: ;
4241 			LA60_: ;
4242 		}
4243 		goto LA39_;
4244 		LA49_: ;
4245 		{
4246 			mergeRaises__sempass50_2273(tracked, (*effectList)._kind_6.sons->data[((NI) 0)], n);
4247 			mergeTags__sempass50_2281(tracked, (*effectList)._kind_6.sons->data[((NI) 3)], n);
4248 			{
4249 				if (!((130 & (*op).flags) == 0)) goto LA81_;
4250 				{
4251 					NIM_BOOL T85_;
4252 					T85_ = (NIM_BOOL)0;
4253 					T85_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
4254 					if (!T85_) goto LA86_;
4255 					warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
4256 				}
4257 				LA86_: ;
4258 				markGcUnsafe__sempass50_368(tracked, a);
4259 			}
4260 			goto LA79_;
4261 			LA81_: ;
4262 			{
4263 				if (!!((((*op).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0))) goto LA89_;
4264 				markSideEffect__sempass50_2877(tracked, a, (*n).info);
4265 			}
4266 			goto LA79_;
4267 			LA89_: ;
4268 			LA79_: ;
4269 		}
4270 		LA39_: ;
4271 	}
4272 	LA27_: ;
4273 	{
4274 		NIM_BOOL T93_;
4275 		NI T95_;
4276 		T93_ = (NIM_BOOL)0;
4277 		T93_ = !((formals == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4278 		if (!(T93_)) goto LA94_;
4279 		T95_ = (NI)0;
4280 		T95_ = len__ast_4002(formals);
4281 		T93_ = (argIndex < T95_);
4282 		LA94_: ;
4283 		if (!T93_) goto LA96_;
4284 		paramType = (*formals).sons->data[argIndex];
4285 	}
4286 	goto LA91_;
4287 	LA96_: ;
4288 	{
4289 		paramType = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
4290 	}
4291 	LA91_: ;
4292 	{
4293 		NIM_BOOL T101_;
4294 		T101_ = (NIM_BOOL)0;
4295 		T101_ = !((paramType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4296 		if (!(T101_)) goto LA102_;
4297 		T101_ = ((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
4298 		LA102_: ;
4299 		if (!T101_) goto LA103_;
4300 		invalidateFacts__guards_760((&(*tracked).guards), n);
4301 		{
4302 			NIM_BOOL T107_;
4303 			T107_ = (NIM_BOOL)0;
4304 			T107_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4305 			if (!(T107_)) goto LA108_;
4306 			T107_ = isLocalVar__sempass50_162(tracked, (*n)._kind_4.sym);
4307 			LA108_: ;
4308 			if (!T107_) goto LA109_;
4309 			makeVolatile__sempass50_301(tracked, (*n)._kind_4.sym);
4310 		}
4311 		LA109_: ;
4312 	}
4313 	LA103_: ;
4314 	{
4315 		NIM_BOOL T113_;
4316 		NIM_BOOL T114_;
4317 		tyObject_TType__facALICuu8zUj0hjvbTLFg* argtype;
4318 		T113_ = (NIM_BOOL)0;
4319 		T114_ = (NIM_BOOL)0;
4320 		T114_ = !((paramType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4321 		if (!(T114_)) goto LA115_;
4322 		T114_ = ((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4323 		LA115_: ;
4324 		T113_ = T114_;
4325 		if (!(T113_)) goto LA116_;
4326 		T113_ = (((*paramType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0);
4327 		LA116_: ;
4328 		if (!T113_) goto LA117_;
4329 		argtype = skipTypes__ast_3735((*a).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
4330 		{
4331 			NIM_BOOL T121_;
4332 			NIM_BOOL T122_;
4333 			NimStringDesc* T127_;
4334 			NimStringDesc* T128_;
4335 			T121_ = (NIM_BOOL)0;
4336 			T122_ = (NIM_BOOL)0;
4337 			T122_ = ((*argtype).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4338 			if (!(T122_)) goto LA123_;
4339 			T122_ = ((130 & (*argtype).flags) == 0);
4340 			LA123_: ;
4341 			T121_ = T122_;
4342 			if (!(T121_)) goto LA124_;
4343 			T121_ = !((*tracked).inEnforcedGcSafe);
4344 			LA124_: ;
4345 			if (!T121_) goto LA125_;
4346 			T127_ = NIM_NIL;
4347 			T128_ = NIM_NIL;
4348 			T128_ = dollar___renderer_2106(n);
4349 			T127_ = rawNewString((T128_ ? T128_->Sup.len : 0) + 15);
4350 appendString(T127_, T128_);
4351 appendString(T127_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_31));
4352 			liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T127_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_32, NIM_FALSE);
4353 		}
4354 		LA125_: ;
4355 	}
4356 	LA117_: ;
4357 	notNilCheck__sempass50_2659(tracked, n, paramType);
4358 }
N_NIMCALL(void,initVar__sempass50_312)4359 N_LIB_PRIVATE N_NIMCALL(void, initVar__sempass50_312)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL volatileCheck) {
4360 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
4361 {	{
4362 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
4363 		goto BeforeRet_;
4364 	}
4365 	LA3_: ;
4366 	s = (*n)._kind_4.sym;
4367 	{
4368 		NIM_BOOL T7_;
4369 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym55_;
4370 		NI T22_;
4371 		T7_ = (NIM_BOOL)0;
4372 		T7_ = isLocalVar__sempass50_162(a, s);
4373 		if (!T7_) goto LA8_;
4374 		{
4375 			if (!volatileCheck) goto LA12_;
4376 			makeVolatile__sempass50_301(a, s);
4377 		}
4378 		LA12_: ;
4379 		{
4380 			NI* x;
4381 			NI i;
4382 			NI L;
4383 			NI T15_;
4384 			x = (NI*)0;
4385 			i = ((NI) 0);
4386 			T15_ = ((*a).init ? (*a).init->Sup.len : 0);
4387 			L = T15_;
4388 			{
4389 				while (1) {
4390 					if (!(i < L)) goto LA17;
4391 					x = (&(*a).init->data[i]);
4392 					{
4393 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym54_;
4394 						xX60gensym54_ = s;
4395 						if (!((*x) == (NI)((NI)((NU32)(((NI) ((*xX60gensym54_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym54_).Sup.itemId.item))))) goto LA20_;
4396 						goto BeforeRet_;
4397 					}
4398 					LA20_: ;
4399 					i += ((NI) 1);
4400 				} LA17: ;
4401 			}
4402 		}
4403 		xX60gensym55_ = s;
4404 		unsureAsgnRef((void**) (&(*a).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*a).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
4405 		T22_ = (*a).init->Sup.len++;
4406 		(*a).init->data[T22_] = (NI)((NI)((NU32)(((NI) ((*xX60gensym55_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym55_).Sup.itemId.item)));
4407 	}
4408 	LA8_: ;
4409 	}BeforeRet_: ;
4410 }
N_NIMCALL(void,initVarViaNew__sempass50_341)4411 N_LIB_PRIVATE N_NIMCALL(void, initVarViaNew__sempass50_341)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4412 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
4413 {	{
4414 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
4415 		goto BeforeRet_;
4416 	}
4417 	LA3_: ;
4418 	s = (*n)._kind_4.sym;
4419 	{
4420 		if (!(((393216 & (*(*s).typ).flags) & ~ 131072)==0)) goto LA7_;
4421 		initVar__sempass50_312(a, n, NIM_TRUE);
4422 	}
4423 	goto LA5_;
4424 	LA7_: ;
4425 	{
4426 		NIM_BOOL T10_;
4427 		T10_ = (NIM_BOOL)0;
4428 		T10_ = isLocalVar__sempass50_162(a, s);
4429 		if (!T10_) goto LA11_;
4430 		makeVolatile__sempass50_301(a, s);
4431 	}
4432 	goto LA5_;
4433 	LA11_: ;
4434 	LA5_: ;
4435 	}BeforeRet_: ;
4436 }
N_NIMCALL(void,checkLe__sempass50_3342)4437 N_LIB_PRIVATE N_NIMCALL(void, checkLe__sempass50_3342)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4438 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T1_;
4439 	T1_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4440 	T1_ = proveLe__guards_1619((*c).guards, a, b);
4441 	switch (T1_) {
4442 	case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0):
4443 	{
4444 		NimStringDesc* T3_;
4445 		NimStringDesc* T4_;
4446 		NimStringDesc* T5_;
4447 		T3_ = NIM_NIL;
4448 		T4_ = NIM_NIL;
4449 		T4_ = dollar___renderer_2106(a);
4450 		T5_ = NIM_NIL;
4451 		T5_ = dollar___renderer_2106(b);
4452 		T3_ = rawNewString((T4_ ? T4_->Sup.len : 0) + (T5_ ? T5_->Sup.len : 0) + 18);
4453 appendString(T3_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_42));
4454 appendString(T3_, T4_);
4455 appendString(T3_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_43));
4456 appendString(T3_, T5_);
4457 		liMessage__msgs_1118((*c).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 46), T3_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_44, NIM_FALSE);
4458 	}
4459 	break;
4460 	case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2):
4461 	{
4462 	}
4463 	break;
4464 	case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1):
4465 	{
4466 		NimStringDesc* T8_;
4467 		NimStringDesc* T9_;
4468 		NimStringDesc* T10_;
4469 		T8_ = NIM_NIL;
4470 		T9_ = NIM_NIL;
4471 		T9_ = dollar___renderer_2106(a);
4472 		T10_ = NIM_NIL;
4473 		T10_ = dollar___renderer_2106(b);
4474 		T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 14);
4475 appendString(T8_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_45));
4476 appendString(T8_, T9_);
4477 appendString(T8_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_46));
4478 appendString(T8_, T10_);
4479 		liMessage__msgs_1118((*c).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 46), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_47, NIM_FALSE);
4480 	}
4481 	break;
4482 	}
4483 }
N_NIMCALL(void,checkBounds__sempass50_3346)4484 N_LIB_PRIVATE N_NIMCALL(void, checkBounds__sempass50_3346)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx) {
4485 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4486 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
4487 	T1_ = NIM_NIL;
4488 	T1_ = lowBound__guards_261((*c).config, arr);
4489 	checkLe__sempass50_3342(c, T1_, idx);
4490 	T2_ = NIM_NIL;
4491 	T2_ = highBound__guards_265((*c).config, arr, (&(*(*c).guards.g).operators));
4492 	checkLe__sempass50_3342(c, idx, T2_);
4493 }
N_INLINE(int,nimCmpMem)4494 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
4495 	int result;
4496 	result = (int)0;
4497 	result = memcmp(a, b, ((size_t) (size)));
4498 	return result;
4499 }
N_INLINE(NIM_BOOL,equalMem__system_1735)4500 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
4501 	NIM_BOOL result;
4502 	int T1_;
4503 	result = (NIM_BOOL)0;
4504 	T1_ = (int)0;
4505 	T1_ = nimCmpMem(a, b, size);
4506 	result = (T1_ == ((NI32) 0));
4507 	return result;
4508 }
N_INLINE(NIM_BOOL,eqStrings)4509 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
4510 	NIM_BOOL result;
4511 	NI alen;
4512 	NI blen;
4513 {	result = (NIM_BOOL)0;
4514 	alen = (a ? a->Sup.len : 0);
4515 	blen = (b ? b->Sup.len : 0);
4516 	{
4517 		if (!(alen == blen)) goto LA3_;
4518 		{
4519 			if (!(alen == ((NI) 0))) goto LA7_;
4520 			result = NIM_TRUE;
4521 			goto BeforeRet_;
4522 		}
4523 		LA7_: ;
4524 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
4525 		goto BeforeRet_;
4526 	}
4527 	LA3_: ;
4528 	}BeforeRet_: ;
4529 	return result;
4530 }
N_INLINE(NI,find__sempass50_3619)4531 static N_INLINE(NI, find__sempass50_3619)(tyArray__JXkBzVsE9bvmcpuZvrueLVg a, NimStringDesc* item) {
4532 	NI result;
4533 {	result = (NI)0;
4534 	result = ((NI) 0);
4535 	{
4536 		NimStringDesc* i;
4537 		tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg i_2;
4538 		i = NIM_NIL;
4539 		i_2 = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0);
4540 		{
4541 			while (1) {
4542 				i = a[(i_2)- 0];
4543 				{
4544 					if (!eqStrings(i, item)) goto LA6_;
4545 					goto BeforeRet_;
4546 				}
4547 				LA6_: ;
4548 				result += ((NI) 1);
4549 				{
4550 					if (!(((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4) <= i_2)) goto LA10_;
4551 					goto LA2;
4552 				}
4553 				LA10_: ;
4554 				i_2 += ((NI) 1);
4555 			}
4556 		} LA2: ;
4557 	}
4558 	result = ((NI) -1);
4559 	}BeforeRet_: ;
4560 	return result;
4561 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)4562 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
4563 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
4564 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4565 	(*x).typeId_0 += ((NI) 1);
4566 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4567 	result.module = (*x).module;
4568 	result.item = (*x).typeId_0;
4569 	return result;
4570 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)4571 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4572 	NIM_BOOL result;
4573 	NIM_BOOL T1_;
4574 	result = (NIM_BOOL)0;
4575 	T1_ = (NIM_BOOL)0;
4576 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4577 	if (T1_) goto LA2_;
4578 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
4579 	LA2_: ;
4580 	result = T1_;
4581 	return result;
4582 }
N_NIMCALL(void,checkForSink__sempass50_24)4583 N_LIB_PRIVATE N_NIMCALL(void, checkForSink__sempass50_24)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
4584 {	{
4585 		if (!!((((*config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 25))&31U)))!=0))) goto LA3_;
4586 		goto BeforeRet_;
4587 	}
4588 	LA3_: ;
4589 	switch ((*arg).kind) {
4590 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4591 	{
4592 		{
4593 			NIM_BOOL T8_;
4594 			NIM_BOOL T9_;
4595 			NIM_BOOL T10_;
4596 			NIM_BOOL T11_;
4597 			NIM_BOOL T12_;
4598 			T8_ = (NIM_BOOL)0;
4599 			T9_ = (NIM_BOOL)0;
4600 			T10_ = (NIM_BOOL)0;
4601 			T11_ = (NIM_BOOL)0;
4602 			T12_ = (NIM_BOOL)0;
4603 			T12_ = ((*(*arg)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
4604 			if (!(T12_)) goto LA13_;
4605 			T12_ = ((*(*arg)._kind_4.sym).owner == owner);
4606 			LA13_: ;
4607 			T11_ = T12_;
4608 			if (!(T11_)) goto LA14_;
4609 			T11_ = !(((*owner).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4610 			LA14_: ;
4611 			T10_ = T11_;
4612 			if (!(T10_)) goto LA15_;
4613 			T10_ = ((*(*owner).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4614 			LA15_: ;
4615 			T9_ = T10_;
4616 			if (!(T9_)) goto LA16_;
4617 			T9_ = !(((IL64(2147483664) & (*(*(*arg)._kind_4.sym).typ).flags) == 0));
4618 			LA16_: ;
4619 			T8_ = T9_;
4620 			if (!(T8_)) goto LA17_;
4621 			T8_ = !(((*(*(*arg)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*(*arg)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*(*(*arg)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
4622 			LA17_: ;
4623 			if (!T8_) goto LA18_;
4624 			{
4625 				tyObject_TType__facALICuu8zUj0hjvbTLFg* argType;
4626 				tyObject_TType__facALICuu8zUj0hjvbTLFg* sinkType;
4627 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T24_;
4628 				if (!!((((*owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5))&63U)))!=0))) goto LA22_;
4629 				argType = (*(*arg)._kind_4.sym).typ;
4630 				T24_ = nextTypeId__ast_3151(idgen);
4631 				sinkType = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46), T24_, owner);
4632 				(*sinkType).size = (*argType).size;
4633 				(*sinkType).align = (*argType).align;
4634 				(*sinkType).paddingAtEnd = (*argType).paddingAtEnd;
4635 				add__concepts_23(sinkType, argType);
4636 				asgnRef((void**) (&(*(*arg)._kind_4.sym).typ), sinkType);
4637 				asgnRef((void**) (&(*(*owner).typ).sons->data[(NI)((*(*arg)._kind_4.sym).position + ((NI) 1))]), sinkType);
4638 			}
4639 			goto LA20_;
4640 			LA22_: ;
4641 			{
4642 				tyArray__nHXaesL0DJZHyVS07ARPRA T28_;
4643 				NimStringDesc* T29_;
4644 				if (!!((((*(*arg)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5))&63U)))!=0))) goto LA26_;
4645 				(*(*arg)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5)) & 63);
4646 				nimZeroMem((void*)T28_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
4647 				T28_[0] = copyString((*(*(*arg)._kind_4.sym).name).s);
4648 				T29_ = NIM_NIL;
4649 				T29_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_50), T28_, 1);
4650 				liMessage__msgs_1118(config, (*arg).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 93), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_51, NIM_FALSE);
4651 			}
4652 			goto LA20_;
4653 			LA26_: ;
4654 			LA20_: ;
4655 		}
4656 		LA18_: ;
4657 	}
4658 	break;
4659 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4660 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4661 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
4662 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
4663 	{
4664 		{
4665 			NIM_BOOL T33_;
4666 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
4667 			T33_ = (NIM_BOOL)0;
4668 			T33_ = isEmptyType__ast_4779((*arg).typ);
4669 			if (!!(T33_)) goto LA34_;
4670 			T36_ = NIM_NIL;
4671 			T36_ = lastSon__ast_4832(arg);
4672 			checkForSink__sempass50_24(config, idgen, owner, T36_);
4673 		}
4674 		LA34_: ;
4675 	}
4676 	break;
4677 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
4678 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
4679 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
4680 	{
4681 		{
4682 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
4683 			branch = NIM_NIL;
4684 			{
4685 				NI i;
4686 				NI colontmp_;
4687 				NI i_2;
4688 				i = (NI)0;
4689 				colontmp_ = (NI)0;
4690 				colontmp_ = safeLen__ast_3191(arg);
4691 				i_2 = ((NI) 0);
4692 				{
4693 					while (1) {
4694 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
4695 						if (!(i_2 < colontmp_)) goto LA41;
4696 						i = i_2;
4697 						branch = (*arg)._kind_6.sons->data[i];
4698 						value = lastSon__ast_4832(branch);
4699 						{
4700 							NIM_BOOL T44_;
4701 							T44_ = (NIM_BOOL)0;
4702 							T44_ = isEmptyType__ast_4779((*value).typ);
4703 							if (!!(T44_)) goto LA45_;
4704 							checkForSink__sempass50_24(config, idgen, owner, value);
4705 						}
4706 						LA45_: ;
4707 						i_2 += ((NI) 1);
4708 					} LA41: ;
4709 				}
4710 			}
4711 		}
4712 	}
4713 	break;
4714 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4715 	{
4716 		{
4717 			NI i_3;
4718 			NI colontmp__2;
4719 			NI i_4;
4720 			i_3 = (NI)0;
4721 			colontmp__2 = (NI)0;
4722 			colontmp__2 = len__ast_3198(arg);
4723 			i_4 = ((NI) 1);
4724 			{
4725 				while (1) {
4726 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value_2;
4727 					if (!(i_4 < colontmp__2)) goto LA50;
4728 					i_3 = i_4;
4729 					value_2 = lastSon__ast_4832((*arg)._kind_6.sons->data[i_3]);
4730 					{
4731 						NIM_BOOL T53_;
4732 						T53_ = (NIM_BOOL)0;
4733 						T53_ = isEmptyType__ast_4779((*value_2).typ);
4734 						if (!!(T53_)) goto LA54_;
4735 						checkForSink__sempass50_24(config, idgen, owner, value_2);
4736 					}
4737 					LA54_: ;
4738 					i_4 += ((NI) 1);
4739 				} LA50: ;
4740 			}
4741 		}
4742 	}
4743 	break;
4744 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
4745 	{
4746 		checkForSink__sempass50_24(config, idgen, owner, (*arg)._kind_6.sons->data[((NI) 0)]);
4747 	}
4748 	break;
4749 	default:
4750 	{
4751 	}
4752 	break;
4753 	}
4754 	}BeforeRet_: ;
4755 }
N_NIMCALL(void,trackCall__sempass50_3367)4756 N_LIB_PRIVATE N_NIMCALL(void, trackCall__sempass50_3367)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4757 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4758 	tyObject_TType__facALICuu8zUj0hjvbTLFg* op;
4759 	a = (*n)._kind_6.sons->data[((NI) 0)];
4760 	op = (*a).typ;
4761 	{
4762 		if (!!(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
4763 		{
4764 			NIM_BOOL T7_;
4765 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
4766 			T7_ = (NIM_BOOL)0;
4767 			T7_ = !(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
4768 			if (!(T7_)) goto LA8_;
4769 			T9_ = NIM_NIL;
4770 			T9_ = skipTypes__ast_3735((*n).typ, TM__wkTG4eaV3t1uo3x09apjcwA_23);
4771 			T7_ = !(((*T9_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27)));
4772 			LA8_: ;
4773 			if (!T7_) goto LA10_;
4774 			createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
4775 		}
4776 		LA10_: ;
4777 	}
4778 	LA3_: ;
4779 	{
4780 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
4781 		T14_ = NIM_NIL;
4782 		T14_ = getConstExpr__semfold_81((*tracked).ownerModule, n, (*(*tracked).c).Sup.idgen, (*tracked).graph);
4783 		if (!(T14_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA15_;
4784 		{
4785 			NIM_BOOL T19_;
4786 			T19_ = (NIM_BOOL)0;
4787 			T19_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61));
4788 			if (!(T19_)) goto LA20_;
4789 			T19_ = ((*(*(*a)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4790 			LA20_: ;
4791 			if (!T19_) goto LA21_;
4792 			a = (*a)._kind_6.sons->data[((NI) 1)];
4793 		}
4794 		LA21_: ;
4795 		{
4796 			NIM_BOOL T25_;
4797 			NIM_BOOL T26_;
4798 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effectList;
4799 			T25_ = (NIM_BOOL)0;
4800 			T26_ = (NIM_BOOL)0;
4801 			T26_ = !((op == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4802 			if (!(T26_)) goto LA27_;
4803 			T26_ = ((*op).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4804 			LA27_: ;
4805 			T25_ = T26_;
4806 			if (!(T25_)) goto LA28_;
4807 			T25_ = ((*(*(*op).n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152));
4808 			LA28_: ;
4809 			if (!T25_) goto LA29_;
4810 			{
4811 				NI16 T39_;
4812 				if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA33_;
4813 				{
4814 					if (!((*a)._kind_4.sym == (*tracked).owner)) goto LA37_;
4815 					(*tracked).isRecursive = NIM_TRUE;
4816 				}
4817 				LA37_: ;
4818 				T39_ = (NI16)0;
4819 				T39_ = getLockLevel__sempass50_2591((*a)._kind_4.sym);
4820 				mergeLockLevels__sempass50_2606(tracked, n, T39_);
4821 				{
4822 					if (!(((*(*a)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 13))&63U)))!=0)) goto LA42_;
4823 					markSideEffect__sempass50_2877(tracked, a, (*n).info);
4824 				}
4825 				LA42_: ;
4826 			}
4827 			goto LA31_;
4828 			LA33_: ;
4829 			{
4830 				mergeLockLevels__sempass50_2606(tracked, n, (*op).lockLevel);
4831 			}
4832 			LA31_: ;
4833 			effectList = (*(*op).n)._kind_6.sons->data[((NI) 0)];
4834 			{
4835 				NIM_BOOL T47_;
4836 				T47_ = (NIM_BOOL)0;
4837 				T47_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4838 				if (!(T47_)) goto LA48_;
4839 				T47_ = ((*(*a)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
4840 				LA48_: ;
4841 				if (!T47_) goto LA49_;
4842 				propagateEffects__sempass50_2610(tracked, n, (*a)._kind_4.sym);
4843 			}
4844 			goto LA45_;
4845 			LA49_: ;
4846 			{
4847 				NIM_BOOL T52_;
4848 				T52_ = (NIM_BOOL)0;
4849 				T52_ = isNoEffectList__sempass50_2756(effectList);
4850 				if (!T52_) goto LA53_;
4851 				{
4852 					NIM_BOOL T57_;
4853 					T57_ = (NIM_BOOL)0;
4854 					T57_ = isForwardedProc__sempass50_2549(a);
4855 					if (!T57_) goto LA58_;
4856 					propagateEffects__sempass50_2610(tracked, n, (*a)._kind_4.sym);
4857 				}
4858 				goto LA55_;
4859 				LA58_: ;
4860 				{
4861 					NIM_BOOL T61_;
4862 					T61_ = (NIM_BOOL)0;
4863 					T61_ = isIndirectCall__sempass50_2513(tracked, a);
4864 					if (!T61_) goto LA62_;
4865 					assumeTheWorst__sempass50_2727(tracked, n, op);
4866 					{
4867 						NIM_BOOL T66_;
4868 						NIM_BOOL T68_;
4869 						T66_ = (NIM_BOOL)0;
4870 						T66_ = ((130 & (*op).flags) == 0);
4871 						if (!(T66_)) goto LA67_;
4872 						T68_ = (NIM_BOOL)0;
4873 						T68_ = importedFromC__sempass50_2580(a);
4874 						T66_ = !(T68_);
4875 						LA67_: ;
4876 						if (!T66_) goto LA69_;
4877 						{
4878 							NIM_BOOL T73_;
4879 							T73_ = (NIM_BOOL)0;
4880 							T73_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4881 							if (!(T73_)) goto LA74_;
4882 							T73_ = ((*a)._kind_4.sym == (*tracked).owner);
4883 							LA74_: ;
4884 							if (!!(T73_)) goto LA75_;
4885 							{
4886 								NIM_BOOL T79_;
4887 								T79_ = (NIM_BOOL)0;
4888 								T79_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
4889 								if (!T79_) goto LA80_;
4890 								warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
4891 							}
4892 							LA80_: ;
4893 							markGcUnsafe__sempass50_368(tracked, a);
4894 						}
4895 						LA75_: ;
4896 					}
4897 					LA69_: ;
4898 					{
4899 						NIM_BOOL T84_;
4900 						NIM_BOOL T86_;
4901 						T84_ = (NIM_BOOL)0;
4902 						T84_ = !((((*op).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
4903 						if (!(T84_)) goto LA85_;
4904 						T86_ = (NIM_BOOL)0;
4905 						T86_ = importedFromC__sempass50_2580(a);
4906 						T84_ = !(T86_);
4907 						LA85_: ;
4908 						if (!T84_) goto LA87_;
4909 						{
4910 							NIM_BOOL T91_;
4911 							T91_ = (NIM_BOOL)0;
4912 							T91_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4913 							if (!(T91_)) goto LA92_;
4914 							T91_ = ((*a)._kind_4.sym == (*tracked).owner);
4915 							LA92_: ;
4916 							if (!!(T91_)) goto LA93_;
4917 							markSideEffect__sempass50_2877(tracked, a, (*n).info);
4918 						}
4919 						LA93_: ;
4920 					}
4921 					LA87_: ;
4922 				}
4923 				goto LA55_;
4924 				LA62_: ;
4925 				{
4926 					{
4927 						NIM_BOOL T98_;
4928 						NIM_BOOL T99_;
4929 						T98_ = (NIM_BOOL)0;
4930 						T99_ = (NIM_BOOL)0;
4931 						T99_ = (((*(*tracked).c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 16))&31U)))!=0);
4932 						if (!(T99_)) goto LA100_;
4933 						T99_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4934 						LA100_: ;
4935 						T98_ = T99_;
4936 						if (!(T98_)) goto LA101_;
4937 						T98_ = ((520192 &((NU32)1<<((NU)((*(*a)._kind_4.sym).kind)&31U)))!=0);
4938 						LA101_: ;
4939 						if (!T98_) goto LA102_;
4940 						propagateEffects__sempass50_2610(tracked, n, (*a)._kind_4.sym);
4941 					}
4942 					LA102_: ;
4943 				}
4944 				LA55_: ;
4945 			}
4946 			goto LA45_;
4947 			LA53_: ;
4948 			{
4949 				mergeRaises__sempass50_2273(tracked, (*effectList)._kind_6.sons->data[((NI) 0)], n);
4950 				mergeTags__sempass50_2281(tracked, (*effectList)._kind_6.sons->data[((NI) 3)], n);
4951 				{
4952 					NIM_BOOL T107_;
4953 					NIM_BOOL T109_;
4954 					T107_ = (NIM_BOOL)0;
4955 					T107_ = ((130 & (*op).flags) == 0);
4956 					if (!(T107_)) goto LA108_;
4957 					T109_ = (NIM_BOOL)0;
4958 					T109_ = importedFromC__sempass50_2580(a);
4959 					T107_ = !(T109_);
4960 					LA108_: ;
4961 					if (!T107_) goto LA110_;
4962 					{
4963 						NIM_BOOL T114_;
4964 						T114_ = (NIM_BOOL)0;
4965 						T114_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4966 						if (!(T114_)) goto LA115_;
4967 						T114_ = ((*a)._kind_4.sym == (*tracked).owner);
4968 						LA115_: ;
4969 						if (!!(T114_)) goto LA116_;
4970 						{
4971 							NIM_BOOL T120_;
4972 							T120_ = (NIM_BOOL)0;
4973 							T120_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
4974 							if (!T120_) goto LA121_;
4975 							warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
4976 						}
4977 						LA121_: ;
4978 						markGcUnsafe__sempass50_368(tracked, a);
4979 					}
4980 					LA116_: ;
4981 				}
4982 				LA110_: ;
4983 				{
4984 					NIM_BOOL T125_;
4985 					NIM_BOOL T127_;
4986 					T125_ = (NIM_BOOL)0;
4987 					T125_ = !((((*op).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
4988 					if (!(T125_)) goto LA126_;
4989 					T127_ = (NIM_BOOL)0;
4990 					T127_ = importedFromC__sempass50_2580(a);
4991 					T125_ = !(T127_);
4992 					LA126_: ;
4993 					if (!T125_) goto LA128_;
4994 					{
4995 						NIM_BOOL T132_;
4996 						T132_ = (NIM_BOOL)0;
4997 						T132_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4998 						if (!(T132_)) goto LA133_;
4999 						T132_ = ((*a)._kind_4.sym == (*tracked).owner);
5000 						LA133_: ;
5001 						if (!!(T132_)) goto LA134_;
5002 						markSideEffect__sempass50_2877(tracked, a, (*n).info);
5003 					}
5004 					LA134_: ;
5005 				}
5006 				LA128_: ;
5007 			}
5008 			LA45_: ;
5009 		}
5010 		LA29_: ;
5011 		{
5012 			NIM_BOOL T138_;
5013 			T138_ = (NIM_BOOL)0;
5014 			T138_ = !(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
5015 			if (T138_) goto LA139_;
5016 			T138_ = !(((*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 154) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 28)));
5017 			LA139_: ;
5018 			if (!T138_) goto LA140_;
5019 			{
5020 				NI i;
5021 				NI colontmp_;
5022 				NI i_2;
5023 				i = (NI)0;
5024 				colontmp_ = (NI)0;
5025 				colontmp_ = len__ast_3198(n);
5026 				i_2 = ((NI) 1);
5027 				{
5028 					while (1) {
5029 						if (!(i_2 < colontmp_)) goto LA144;
5030 						i = i_2;
5031 						trackOperandForIndirectCall__sempass50_2790(tracked, (*n)._kind_6.sons->data[i], op, i, a);
5032 						i_2 += ((NI) 1);
5033 					} LA144: ;
5034 				}
5035 			}
5036 		}
5037 		LA140_: ;
5038 		{
5039 			NIM_BOOL T147_;
5040 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
5041 			T147_ = (NIM_BOOL)0;
5042 			T147_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5043 			if (!(T147_)) goto LA148_;
5044 			T147_ = ((*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34));
5045 			LA148_: ;
5046 			if (!T147_) goto LA149_;
5047 			arg = (*n)._kind_6.sons->data[((NI) 1)];
5048 			initVarViaNew__sempass50_341(tracked, arg);
5049 			{
5050 				NIM_BOOL T153_;
5051 				NI T154_;
5052 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T156_;
5053 				T153_ = (NIM_BOOL)0;
5054 				T154_ = (NI)0;
5055 				T154_ = len__ast_4002((*arg).typ);
5056 				T153_ = !((T154_ == ((NI) 0)));
5057 				if (!(T153_)) goto LA155_;
5058 				T156_ = NIM_NIL;
5059 				T156_ = lastSon__ast_3743((*arg).typ);
5060 				T153_ = !(((262144 & (*T156_).flags) == 0));
5061 				LA155_: ;
5062 				if (!T153_) goto LA157_;
5063 				{
5064 					NIM_BOOL T161_;
5065 					NIM_BOOL T162_;
5066 					T161_ = (NIM_BOOL)0;
5067 					T162_ = (NIM_BOOL)0;
5068 					T162_ = ((*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34));
5069 					if (!(T162_)) goto LA163_;
5070 					T162_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*n)._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
5071 					LA163_: ;
5072 					T161_ = T162_;
5073 					if (!(T161_)) goto LA164_;
5074 					T161_ = ((*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal == IL64(0));
5075 					LA164_: ;
5076 					if (!T161_) goto LA165_;
5077 				}
5078 				goto LA159_;
5079 				LA165_: ;
5080 				{
5081 					NimStringDesc* T168_;
5082 					T168_ = NIM_NIL;
5083 					T168_ = dollar___renderer_2106(arg);
5084 					liMessage__msgs_1118((*tracked).config, (*arg).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), T168_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_41, NIM_FALSE);
5085 				}
5086 				LA159_: ;
5087 			}
5088 			LA157_: ;
5089 			{
5090 				NI T171_;
5091 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T174_;
5092 				T171_ = (NI)0;
5093 				T171_ = len__ast_4002((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5094 				if (!(((NI) 0) < T171_)) goto LA172_;
5095 				T174_ = NIM_NIL;
5096 				T174_ = lastSon__ast_3743((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5097 				createTypeBoundOps__sempass50_142(tracked, T174_, (*n).info);
5098 				createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*n).info);
5099 			}
5100 			LA172_: ;
5101 		}
5102 		goto LA145_;
5103 		LA149_: ;
5104 		{
5105 			NIM_BOOL T176_;
5106 			NIM_BOOL T177_;
5107 			T176_ = (NIM_BOOL)0;
5108 			T177_ = (NIM_BOOL)0;
5109 			T177_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5110 			if (!(T177_)) goto LA178_;
5111 			T177_ = ((*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6));
5112 			LA178_: ;
5113 			T176_ = T177_;
5114 			if (!(T176_)) goto LA179_;
5115 			T176_ = (((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
5116 			LA179_: ;
5117 			if (!T176_) goto LA180_;
5118 			checkBounds__sempass50_3346(tracked, (*n)._kind_6.sons->data[((NI) 1)], (*n)._kind_6.sons->data[((NI) 2)]);
5119 		}
5120 		goto LA145_;
5121 		LA180_: ;
5122 		LA145_: ;
5123 		{
5124 			NIM_BOOL T184_;
5125 			T184_ = (NIM_BOOL)0;
5126 			T184_ = !(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
5127 			if (T184_) goto LA185_;
5128 			T184_ = !(((*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 28)));
5129 			LA185_: ;
5130 			if (!T184_) goto LA186_;
5131 			{
5132 				NI i_3;
5133 				NI colontmp__2;
5134 				NI i_4;
5135 				i_3 = (NI)0;
5136 				colontmp__2 = (NI)0;
5137 				colontmp__2 = safeLen__ast_3191(n);
5138 				i_4 = ((NI) 0);
5139 				{
5140 					while (1) {
5141 						if (!(i_4 < colontmp__2)) goto LA190;
5142 						i_3 = i_4;
5143 						track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_3]);
5144 						i_4 += ((NI) 1);
5145 					} LA190: ;
5146 				}
5147 			}
5148 		}
5149 		LA186_: ;
5150 	}
5151 	LA15_: ;
5152 	{
5153 		NIM_BOOL T193_;
5154 		NIM_BOOL T194_;
5155 		NIM_BOOL T195_;
5156 		NI opKind;
5157 		NimStringDesc* T201_;
5158 		T193_ = (NIM_BOOL)0;
5159 		T194_ = (NIM_BOOL)0;
5160 		T195_ = (NIM_BOOL)0;
5161 		T195_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5162 		if (!(T195_)) goto LA196_;
5163 		T195_ = (((NI) 0) < ((*(*(*a)._kind_4.sym).name).s ? (*(*(*a)._kind_4.sym).name).s->Sup.len : 0));
5164 		LA196_: ;
5165 		T194_ = T195_;
5166 		if (!(T194_)) goto LA197_;
5167 		T194_ = ((NU8)((*(*(*a)._kind_4.sym).name).s->data[((NI) 0)]) == (NU8)(61));
5168 		LA197_: ;
5169 		T193_ = T194_;
5170 		if (!(T193_)) goto LA198_;
5171 		T193_ = !(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
5172 		LA198_: ;
5173 		if (!T193_) goto LA199_;
5174 		T201_ = NIM_NIL;
5175 		T201_ = nsuNormalize((*(*(*a)._kind_4.sym).name).s);
5176 		opKind = find__sempass50_3619(AttachedOpToStr__ast_3848, T201_);
5177 		{
5178 			if (!eqStrings((*(*(*a)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_48))) goto LA204_;
5179 			opKind = ((NI) 1);
5180 		}
5181 		LA204_: ;
5182 		{
5183 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5184 			if (!!((opKind == ((NI) -1)))) goto LA208_;
5185 			t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_49);
5186 			{
5187 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T212_;
5188 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op_2;
5189 				T212_ = NIM_NIL;
5190 				T212_ = getAttachedOp__modulegraphs_4011((*tracked).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) (opKind)));
5191 				if (!!(((*a)._kind_4.sym == T212_))) goto LA213_;
5192 				createTypeBoundOps__sempass50_142(tracked, t, (*n).info);
5193 				op_2 = getAttachedOp__modulegraphs_4011((*tracked).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) (opKind)));
5194 				{
5195 					if (!!((op_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA217_;
5196 					asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym), op_2);
5197 				}
5198 				LA217_: ;
5199 			}
5200 			LA213_: ;
5201 		}
5202 		LA208_: ;
5203 	}
5204 	LA199_: ;
5205 	{
5206 		NIM_BOOL T221_;
5207 		T221_ = (NIM_BOOL)0;
5208 		T221_ = !((op == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5209 		if (!(T221_)) goto LA222_;
5210 		T221_ = ((*op).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
5211 		LA222_: ;
5212 		if (!T221_) goto LA223_;
5213 		{
5214 			NI i_5;
5215 			NI colontmp__3;
5216 			NI T226_;
5217 			NI T227_;
5218 			NI i_6;
5219 			i_5 = (NI)0;
5220 			colontmp__3 = (NI)0;
5221 			T226_ = (NI)0;
5222 			T226_ = safeLen__ast_3191(n);
5223 			T227_ = (NI)0;
5224 			T227_ = len__ast_4002(op);
5225 			colontmp__3 = ((T226_ <= T227_) ? T226_ : T227_);
5226 			i_6 = ((NI) 1);
5227 			{
5228 				while (1) {
5229 					if (!(i_6 < colontmp__3)) goto LA229;
5230 					i_5 = i_6;
5231 					switch ((*(*op).sons->data[i_5]).kind) {
5232 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5233 					{
5234 						createTypeBoundOps__sempass50_142(tracked, (*(*op).sons->data[i_5]).sons->data[((NI) 0)], (*n).info);
5235 						checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*n)._kind_6.sons->data[i_5]);
5236 					}
5237 					break;
5238 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
5239 					{
5240 						(*tracked).hasDangerousAssign = NIM_TRUE;
5241 					}
5242 					break;
5243 					default:
5244 					{
5245 					}
5246 					break;
5247 					}
5248 					i_6 += ((NI) 1);
5249 				} LA229: ;
5250 			}
5251 		}
5252 	}
5253 	LA223_: ;
5254 }
N_NIMCALL(void,guardDotAccess__sempass50_237)5255 N_LIB_PRIVATE N_NIMCALL(void, guardDotAccess__sempass50_237)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5256 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri;
5257 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* g;
5258 {	ri = (*n)._kind_6.sons->data[((NI) 1)];
5259 	{
5260 		NIM_BOOL T3_;
5261 		T3_ = (NIM_BOOL)0;
5262 		T3_ = !(((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
5263 		if (T3_) goto LA4_;
5264 		T3_ = !(((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)));
5265 		LA4_: ;
5266 		if (!T3_) goto LA5_;
5267 		goto BeforeRet_;
5268 	}
5269 	LA5_: ;
5270 	g = (*(*ri)._kind_4.sym)._kind_2.guard;
5271 	{
5272 		NIM_BOOL T9_;
5273 		T9_ = (NIM_BOOL)0;
5274 		T9_ = (g == 0);
5275 		if (T9_) goto LA10_;
5276 		T9_ = (*a).isTopLevel;
5277 		LA10_: ;
5278 		if (!T9_) goto LA11_;
5279 		goto BeforeRet_;
5280 	}
5281 	LA11_: ;
5282 	{
5283 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
5284 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
5285 		if (!((*g).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0))) goto LA15_;
5286 		field = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
5287 		ty = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_53);
5288 		{
5289 			NIM_BOOL T19_;
5290 			T19_ = (NIM_BOOL)0;
5291 			T19_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
5292 			if (!(T19_)) goto LA20_;
5293 			T19_ = !(((*ty).n == 0));
5294 			LA20_: ;
5295 			if (!T19_) goto LA21_;
5296 			field = lookupInRecord__astalgo_84((*ty).n, (*g).name);
5297 		}
5298 		goto LA17_;
5299 		LA21_: ;
5300 		{
5301 			{
5302 				while (1) {
5303 					NIM_BOOL T26_;
5304 					T26_ = (NIM_BOOL)0;
5305 					T26_ = !((ty == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5306 					if (!(T26_)) goto LA27_;
5307 					T26_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5308 					LA27_: ;
5309 					if (!T26_) goto LA25;
5310 					field = lookupInRecord__astalgo_84((*ty).n, (*g).name);
5311 					{
5312 						if (!!((field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA30_;
5313 						goto LA24;
5314 					}
5315 					LA30_: ;
5316 					ty = (*ty).sons->data[((NI) 0)];
5317 					{
5318 						if (!(ty == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA34_;
5319 						goto LA24;
5320 					}
5321 					LA34_: ;
5322 					ty = skipTypes__ast_3735(ty, TM__wkTG4eaV3t1uo3x09apjcwA_9);
5323 				} LA25: ;
5324 			} LA24: ;
5325 		}
5326 		LA17_: ;
5327 		{
5328 			NimStringDesc* T40_;
5329 			if (!(field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA38_;
5330 			T40_ = NIM_NIL;
5331 			T40_ = rawNewString(((*(*g).name).s ? (*(*g).name).s->Sup.len : 0) + 21);
5332 appendString(T40_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_54));
5333 appendString(T40_, (*(*g).name).s);
5334 			liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_55, NIM_FALSE);
5335 			goto BeforeRet_;
5336 		}
5337 		LA38_: ;
5338 		g = field;
5339 	}
5340 	LA15_: ;
5341 	{
5342 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dot;
5343 		NimStringDesc* T54_;
5344 		NimStringDesc* T55_;
5345 		if (!((*g).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19))) goto LA43_;
5346 		dot = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info, ((NI) 2));
5347 		asgnRef((void**) (&(*dot)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 0)]);
5348 		asgnRef((void**) (&(*dot)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(g));
5349 		asgnRef((void**) (&(*dot).typ), (*g).typ);
5350 		{
5351 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** L;
5352 			NI i;
5353 			NI L_2;
5354 			NI T46_;
5355 			L = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5356 			i = ((NI) 0);
5357 			T46_ = ((*a).locked ? (*a).locked->Sup.len : 0);
5358 			L_2 = T46_;
5359 			{
5360 				while (1) {
5361 					if (!(i < L_2)) goto LA48;
5362 					L = &(*a).locked->data[i];
5363 					{
5364 						NIM_BOOL T51_;
5365 						T51_ = (NIM_BOOL)0;
5366 						T51_ = sameTree__guards_680(dot, (*L));
5367 						if (!T51_) goto LA52_;
5368 						goto BeforeRet_;
5369 					}
5370 					LA52_: ;
5371 					i += ((NI) 1);
5372 				} LA48: ;
5373 			}
5374 		}
5375 		T54_ = NIM_NIL;
5376 		T55_ = NIM_NIL;
5377 		T55_ = renderTree__renderer_46(n, 0);
5378 		T54_ = rawNewString((T55_ ? T55_->Sup.len : 0) + 18);
5379 appendString(T54_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_21));
5380 appendString(T54_, T55_);
5381 		liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T54_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_56, NIM_FALSE);
5382 	}
5383 	goto LA41_;
5384 	LA43_: ;
5385 	{
5386 		guardGlobal__sempass50_221(a, n, g);
5387 	}
5388 	LA41_: ;
5389 	}BeforeRet_: ;
5390 }
N_NIMCALL(void,addToIntersection__sempass50_2160)5391 N_LIB_PRIVATE N_NIMCALL(void, addToIntersection__sempass50_2160)(tySequence__8Np6tlClE5az1CyqZdN19bQ** inter, NI s) {
5392 	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T9_;
5393 	NI T10_;
5394 {	{
5395 		NI j;
5396 		NI colontmp_;
5397 		NI T2_;
5398 		NI i;
5399 		j = (NI)0;
5400 		colontmp_ = (NI)0;
5401 		T2_ = ((*inter) ? (*inter)->Sup.len : 0);
5402 		colontmp_ = T2_;
5403 		i = ((NI) 0);
5404 		{
5405 			while (1) {
5406 				if (!(i < colontmp_)) goto LA4;
5407 				j = i;
5408 				{
5409 					if (!(s == (*inter)->data[j].Field0)) goto LA7_;
5410 					(*inter)->data[j].Field1 += ((NI) 1);
5411 					goto BeforeRet_;
5412 				}
5413 				LA7_: ;
5414 				i += ((NI) 1);
5415 			} LA4: ;
5416 		}
5417 	}
5418 	T9_.Field0 = s;
5419 	T9_.Field1 = ((NI) 1);
5420 	unsureAsgnRef((void**) (&(*inter)), (tySequence__8Np6tlClE5az1CyqZdN19bQ*) incrSeqV3((TGenericSeq*)((*inter)), (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_)));
5421 	T10_ = (*inter)->Sup.len++;
5422 	(*inter)->data[T10_] = T9_;
5423 	}BeforeRet_: ;
5424 }
N_NIMCALL(void,catchesAll__sempass50_2326)5425 N_LIB_PRIVATE N_NIMCALL(void, catchesAll__sempass50_2326)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked) {
5426 	{
5427 		NI T3_;
5428 		T3_ = (NI)0;
5429 		T3_ = len__ast_3198((*tracked).exc);
5430 		if (!(((NI) 0) < T3_)) goto LA4_;
5431 		asgnRef((void**) (&(*(*tracked).exc)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*tracked).exc)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((*tracked).bottom))));
5432 	}
5433 	LA4_: ;
5434 }
N_NIMCALL(void,catches__sempass50_2293)5435 N_LIB_PRIVATE N_NIMCALL(void, catches__sempass50_2293)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TType__facALICuu8zUj0hjvbTLFg* e) {
5436 	tyObject_TType__facALICuu8zUj0hjvbTLFg* e_2;
5437 	NI L;
5438 	NI i;
5439 	e_2 = skipTypes__ast_3735(e, TM__wkTG4eaV3t1uo3x09apjcwA_9);
5440 	L = len__ast_3198((*tracked).exc);
5441 	i = (*tracked).bottom;
5442 	{
5443 		while (1) {
5444 			if (!(i < L)) goto LA2;
5445 			{
5446 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5447 				NI T6_;
5448 				T5_ = NIM_NIL;
5449 				T5_ = excType__sempass50_2211((*tracked).graph, (*(*tracked).exc)._kind_6.sons->data[i]);
5450 				T6_ = (NI)0;
5451 				T6_ = safeInheritanceDiff__types_3383(T5_, e_2);
5452 				if (!(T6_ <= ((NI) 0))) goto LA7_;
5453 				asgnRef((void**) (&(*(*tracked).exc)._kind_6.sons->data[i]), (*(*tracked).exc)._kind_6.sons->data[(NI)(L - ((NI) 1))]);
5454 				L -= ((NI) 1);
5455 			}
5456 			goto LA3_;
5457 			LA7_: ;
5458 			{
5459 				i += ((NI) 1);
5460 			}
5461 			LA3_: ;
5462 		} LA2: ;
5463 	}
5464 	{
5465 		NI T12_;
5466 		T12_ = (NI)0;
5467 		T12_ = len__ast_3198((*tracked).exc);
5468 		if (!(((NI) 0) < T12_)) goto LA13_;
5469 		asgnRef((void**) (&(*(*tracked).exc)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*tracked).exc)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (L))));
5470 	}
5471 	goto LA10_;
5472 	LA13_: ;
5473 	{
5474 	}
5475 	LA10_: ;
5476 }
N_NIMCALL(void,trackTryStmt__sempass50_2341)5477 N_LIB_PRIVATE N_NIMCALL(void, trackTryStmt__sempass50_2341)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5478 	NI oldBottom;
5479 	NI oldState;
5480 	NI T1_;
5481 	tySequence__8Np6tlClE5az1CyqZdN19bQ* inter;
5482 	NI branches;
5483 	NIM_BOOL hasFinally;
5484 	oldBottom = (*tracked).bottom;
5485 	(*tracked).bottom = len__ast_3198((*tracked).exc);
5486 	T1_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5487 	oldState = T1_;
5488 	inter = NIM_NIL;
5489 	(*tracked).inTryStmt += ((NI) 1);
5490 	track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
5491 	(*tracked).inTryStmt -= ((NI) 1);
5492 	{
5493 		NI i;
5494 		NI colontmp_;
5495 		NI T3_;
5496 		NI i_2;
5497 		i = (NI)0;
5498 		colontmp_ = (NI)0;
5499 		T3_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5500 		colontmp_ = T3_;
5501 		i_2 = oldState;
5502 		{
5503 			while (1) {
5504 				if (!(i_2 < colontmp_)) goto LA5;
5505 				i = i_2;
5506 				addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i]);
5507 				i_2 += ((NI) 1);
5508 			} LA5: ;
5509 		}
5510 	}
5511 	branches = ((NI) 1);
5512 	hasFinally = NIM_FALSE;
5513 	(*tracked).inExceptOrFinallyStmt += ((NI) 1);
5514 	{
5515 		NI i_3;
5516 		NI colontmp__2;
5517 		NI i_4;
5518 		i_3 = (NI)0;
5519 		colontmp__2 = (NI)0;
5520 		colontmp__2 = len__ast_3198(n);
5521 		i_4 = ((NI) 1);
5522 		{
5523 			while (1) {
5524 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
5525 				if (!(i_4 < colontmp__2)) goto LA8;
5526 				i_3 = i_4;
5527 				b = (*n)._kind_6.sons->data[i_3];
5528 				{
5529 					if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA11_;
5530 					branches += ((NI) 1);
5531 					{
5532 						NI T15_;
5533 						T15_ = (NI)0;
5534 						T15_ = len__ast_3198(b);
5535 						if (!(T15_ == ((NI) 1))) goto LA16_;
5536 						catchesAll__sempass50_2326(tracked);
5537 					}
5538 					goto LA13_;
5539 					LA16_: ;
5540 					{
5541 						{
5542 							NI j;
5543 							NI colontmp__3;
5544 							NI T20_;
5545 							NI i_5;
5546 							j = (NI)0;
5547 							colontmp__3 = (NI)0;
5548 							T20_ = (NI)0;
5549 							T20_ = len__ast_3198(b);
5550 							colontmp__3 = (NI)(T20_ - ((NI) 1));
5551 							i_5 = ((NI) 0);
5552 							{
5553 								while (1) {
5554 									if (!(i_5 < colontmp__3)) goto LA22;
5555 									j = i_5;
5556 									{
5557 										NIM_BOOL T25_;
5558 										T25_ = (NIM_BOOL)0;
5559 										T25_ = isInfixAs__ast_4935((*b)._kind_6.sons->data[j]);
5560 										if (!T25_) goto LA26_;
5561 										catches__sempass50_2293(tracked, (*(*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]).typ);
5562 										createTypeBoundOps__sempass50_142(tracked, (*(*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 2)]).typ, (*(*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 2)]).info);
5563 									}
5564 									goto LA23_;
5565 									LA26_: ;
5566 									{
5567 										catches__sempass50_2293(tracked, (*(*b)._kind_6.sons->data[j]).typ);
5568 									}
5569 									LA23_: ;
5570 									i_5 += ((NI) 1);
5571 								} LA22: ;
5572 							}
5573 						}
5574 					}
5575 					LA13_: ;
5576 				}
5577 				goto LA9_;
5578 				LA11_: ;
5579 				{
5580 				}
5581 				LA9_: ;
5582 				i_4 += ((NI) 1);
5583 			} LA8: ;
5584 		}
5585 	}
5586 	{
5587 		NI i_6;
5588 		NI colontmp__4;
5589 		NI i_7;
5590 		i_6 = (NI)0;
5591 		colontmp__4 = (NI)0;
5592 		colontmp__4 = len__ast_3198(n);
5593 		i_7 = ((NI) 1);
5594 		{
5595 			while (1) {
5596 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
5597 				if (!(i_7 < colontmp__4)) goto LA32;
5598 				i_6 = i_7;
5599 				b_2 = (*n)._kind_6.sons->data[i_6];
5600 				{
5601 					NI T37_;
5602 					if (!((*b_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA35_;
5603 					unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5604 					T37_ = (NI)0;
5605 					T37_ = len__ast_3198(b_2);
5606 					track__sempass50_2338(tracked, (*b_2)._kind_6.sons->data[(NI)(T37_ - ((NI) 1))]);
5607 					{
5608 						NI i_8;
5609 						NI colontmp__5;
5610 						NI T39_;
5611 						NI i_9;
5612 						i_8 = (NI)0;
5613 						colontmp__5 = (NI)0;
5614 						T39_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5615 						colontmp__5 = T39_;
5616 						i_9 = oldState;
5617 						{
5618 							while (1) {
5619 								if (!(i_9 < colontmp__5)) goto LA41;
5620 								i_8 = i_9;
5621 								addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i_8]);
5622 								i_9 += ((NI) 1);
5623 							} LA41: ;
5624 						}
5625 					}
5626 				}
5627 				goto LA33_;
5628 				LA35_: ;
5629 				{
5630 					NI T43_;
5631 					unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5632 					T43_ = (NI)0;
5633 					T43_ = len__ast_3198(b_2);
5634 					track__sempass50_2338(tracked, (*b_2)._kind_6.sons->data[(NI)(T43_ - ((NI) 1))]);
5635 					hasFinally = NIM_TRUE;
5636 				}
5637 				LA33_: ;
5638 				i_7 += ((NI) 1);
5639 			} LA32: ;
5640 		}
5641 	}
5642 	(*tracked).bottom = oldBottom;
5643 	(*tracked).inExceptOrFinallyStmt -= ((NI) 1);
5644 	{
5645 		if (!!(hasFinally)) goto LA46_;
5646 		unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5647 	}
5648 	LA46_: ;
5649 	{
5650 		NI* id;
5651 		NI* count;
5652 		NI i_10;
5653 		NI L;
5654 		NI T49_;
5655 		id = (NI*)0;
5656 		count = (NI*)0;
5657 		i_10 = ((NI) 0);
5658 		T49_ = (inter ? inter->Sup.len : 0);
5659 		L = T49_;
5660 		{
5661 			while (1) {
5662 				if (!(i_10 < L)) goto LA51;
5663 				id = (&inter->data[i_10].Field0);
5664 				count = (&inter->data[i_10].Field1);
5665 				{
5666 					NI T56_;
5667 					if (!((*count) == branches)) goto LA54_;
5668 					unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*tracked).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
5669 					T56_ = (*tracked).init->Sup.len++;
5670 					(*tracked).init->data[T56_] = (*id);
5671 				}
5672 				LA54_: ;
5673 				i_10 += ((NI) 1);
5674 			} LA51: ;
5675 		}
5676 	}
5677 }
N_NIMCALL(void,listEffects__sempass50_2289)5678 N_LIB_PRIVATE N_NIMCALL(void, listEffects__sempass50_2289)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a) {
5679 	{
5680 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
5681 		e = NIM_NIL;
5682 		{
5683 			NI i;
5684 			NI colontmp_;
5685 			NI i_2;
5686 			i = (NI)0;
5687 			colontmp_ = (NI)0;
5688 			colontmp_ = safeLen__ast_3191((*a).exc);
5689 			i_2 = ((NI) 0);
5690 			{
5691 				while (1) {
5692 					NimStringDesc* T5_;
5693 					if (!(i_2 < colontmp_)) goto LA4;
5694 					i = i_2;
5695 					e = (*(*a).exc)._kind_6.sons->data[i];
5696 					T5_ = NIM_NIL;
5697 					T5_ = typeToString__types_50((*e).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
5698 					liMessage__msgs_1118((*a).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 98), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_57, NIM_FALSE);
5699 					i_2 += ((NI) 1);
5700 				} LA4: ;
5701 			}
5702 		}
5703 	}
5704 	{
5705 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e_2;
5706 		e_2 = NIM_NIL;
5707 		{
5708 			NI i_3;
5709 			NI colontmp__2;
5710 			NI i_4;
5711 			i_3 = (NI)0;
5712 			colontmp__2 = (NI)0;
5713 			colontmp__2 = safeLen__ast_3191((*a).tags);
5714 			i_4 = ((NI) 0);
5715 			{
5716 				while (1) {
5717 					NimStringDesc* T10_;
5718 					if (!(i_4 < colontmp__2)) goto LA9;
5719 					i_3 = i_4;
5720 					e_2 = (*(*a).tags)._kind_6.sons->data[i_3];
5721 					T10_ = NIM_NIL;
5722 					T10_ = typeToString__types_50((*e_2).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
5723 					liMessage__msgs_1118((*a).config, (*e_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 98), T10_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_58, NIM_FALSE);
5724 					i_4 += ((NI) 1);
5725 				} LA9: ;
5726 			}
5727 		}
5728 	}
5729 }
N_NIMCALL(void,trackPragmaStmt__sempass50_2560)5730 N_LIB_PRIVATE N_NIMCALL(void, trackPragmaStmt__sempass50_2560)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5731 	{
5732 		NI i;
5733 		NI colontmp_;
5734 		NI i_2;
5735 		i = (NI)0;
5736 		colontmp_ = (NI)0;
5737 		colontmp_ = len__ast_3198(n);
5738 		i_2 = ((NI) 0);
5739 		{
5740 			while (1) {
5741 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
5742 				tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw pragma;
5743 				if (!(i_2 < colontmp_)) goto LA3;
5744 				i = i_2;
5745 				it = (*n)._kind_6.sons->data[i];
5746 				pragma = whichPragma__trees_244(it);
5747 				{
5748 					if (!(pragma == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 178))) goto LA6_;
5749 					listEffects__sempass50_2289(tracked);
5750 				}
5751 				LA6_: ;
5752 				i_2 += ((NI) 1);
5753 			} LA3: ;
5754 		}
5755 	}
5756 }
N_NIMCALL(NIM_BOOL,breaksBlock__sempass50_3013)5757 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, breaksBlock__sempass50_3013)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5758 	NIM_BOOL result;
5759 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
5760 	NIM_BOOL T6_;
5761 	NIM_BOOL T8_;
5762 	NIM_BOOL T9_;
5763 	result = (NIM_BOOL)0;
5764 	it = n;
5765 	{
5766 		while (1) {
5767 			NIM_BOOL T3_;
5768 			NI T5_;
5769 			T3_ = (NIM_BOOL)0;
5770 			T3_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
5771 			if (!(T3_)) goto LA4_;
5772 			T5_ = (NI)0;
5773 			T5_ = len__ast_3198(it);
5774 			T3_ = (((NI) 0) < T5_);
5775 			LA4_: ;
5776 			if (!T3_) goto LA2;
5777 			it = lastSon__ast_4832(it);
5778 		} LA2: ;
5779 	}
5780 	T6_ = (NIM_BOOL)0;
5781 	T6_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108));
5782 	if (T6_) goto LA7_;
5783 	T8_ = (NIM_BOOL)0;
5784 	T9_ = (NIM_BOOL)0;
5785 	T9_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
5786 	if (!(T9_)) goto LA10_;
5787 	T9_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5788 	LA10_: ;
5789 	T8_ = T9_;
5790 	if (!(T8_)) goto LA11_;
5791 	T8_ = (((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0);
5792 	LA11_: ;
5793 	T6_ = T8_;
5794 	LA7_: ;
5795 	result = T6_;
5796 	return result;
5797 }
N_NIMCALL(void,trackCase__sempass50_3048)5798 N_LIB_PRIVATE N_NIMCALL(void, trackCase__sempass50_3048)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5799 	NI oldState;
5800 	NI T1_;
5801 	NI oldFacts;
5802 	NI T2_;
5803 	NIM_BOOL stringCase;
5804 	NIM_BOOL T3_;
5805 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5806 	NIM_BOOL interesting;
5807 	NIM_BOOL T6_;
5808 	NIM_BOOL T7_;
5809 	tySequence__8Np6tlClE5az1CyqZdN19bQ* inter;
5810 	NI toCover;
5811 	track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
5812 	T1_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5813 	oldState = T1_;
5814 	T2_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
5815 	oldFacts = T2_;
5816 	T3_ = (NIM_BOOL)0;
5817 	T3_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5818 	if (!(T3_)) goto LA4_;
5819 	T5_ = NIM_NIL;
5820 	T5_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_60);
5821 	T3_ = ((*T5_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T5_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
5822 	LA4_: ;
5823 	stringCase = T3_;
5824 	T6_ = (NIM_BOOL)0;
5825 	T7_ = (NIM_BOOL)0;
5826 	T7_ = !(stringCase);
5827 	if (!(T7_)) goto LA8_;
5828 	T7_ = interestingCaseExpr__guards_114((*n)._kind_6.sons->data[((NI) 0)]);
5829 	LA8_: ;
5830 	T6_ = T7_;
5831 	if (!(T6_)) goto LA9_;
5832 	T6_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 42));
5833 	LA9_: ;
5834 	interesting = T6_;
5835 	inter = NIM_NIL;
5836 	toCover = ((NI) 0);
5837 	{
5838 		NI i;
5839 		NI colontmp_;
5840 		NI i_2;
5841 		i = (NI)0;
5842 		colontmp_ = (NI)0;
5843 		colontmp_ = len__ast_3198(n);
5844 		i_2 = ((NI) 1);
5845 		{
5846 			while (1) {
5847 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
5848 				if (!(i_2 < colontmp_)) goto LA12;
5849 				i = i_2;
5850 				branch = (*n)._kind_6.sons->data[i];
5851 				unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5852 				{
5853 					if (!interesting) goto LA15_;
5854 					unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
5855 					addCaseBranchFacts__guards_1755((&(*tracked).guards), n, i);
5856 				}
5857 				LA15_: ;
5858 				{
5859 					NI i_3;
5860 					NI colontmp__2;
5861 					NI i_4;
5862 					i_3 = (NI)0;
5863 					colontmp__2 = (NI)0;
5864 					colontmp__2 = len__ast_3198(branch);
5865 					i_4 = ((NI) 0);
5866 					{
5867 						while (1) {
5868 							if (!(i_4 < colontmp__2)) goto LA19;
5869 							i_3 = i_4;
5870 							track__sempass50_2338(tracked, (*branch)._kind_6.sons->data[i_3]);
5871 							i_4 += ((NI) 1);
5872 						} LA19: ;
5873 					}
5874 				}
5875 				{
5876 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
5877 					NIM_BOOL T23_;
5878 					T22_ = NIM_NIL;
5879 					T22_ = lastSon__ast_4832(branch);
5880 					T23_ = (NIM_BOOL)0;
5881 					T23_ = breaksBlock__sempass50_3013(T22_);
5882 					if (!!(T23_)) goto LA24_;
5883 					toCover += ((NI) 1);
5884 				}
5885 				LA24_: ;
5886 				{
5887 					NI i_5;
5888 					NI colontmp__3;
5889 					NI T27_;
5890 					NI i_6;
5891 					i_5 = (NI)0;
5892 					colontmp__3 = (NI)0;
5893 					T27_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5894 					colontmp__3 = T27_;
5895 					i_6 = oldState;
5896 					{
5897 						while (1) {
5898 							if (!(i_6 < colontmp__3)) goto LA29;
5899 							i_5 = i_6;
5900 							addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i_5]);
5901 							i_6 += ((NI) 1);
5902 						} LA29: ;
5903 					}
5904 				}
5905 				i_2 += ((NI) 1);
5906 			} LA12: ;
5907 		}
5908 	}
5909 	unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5910 	{
5911 		NIM_BOOL T32_;
5912 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
5913 		T32_ = (NIM_BOOL)0;
5914 		T32_ = !(stringCase);
5915 		if (T32_) goto LA33_;
5916 		T34_ = NIM_NIL;
5917 		T34_ = lastSon__ast_4832(n);
5918 		T32_ = ((*T34_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88));
5919 		LA33_: ;
5920 		if (!T32_) goto LA35_;
5921 		{
5922 			NI* id;
5923 			NI* count;
5924 			NI i_7;
5925 			NI L;
5926 			NI T38_;
5927 			id = (NI*)0;
5928 			count = (NI*)0;
5929 			i_7 = ((NI) 0);
5930 			T38_ = (inter ? inter->Sup.len : 0);
5931 			L = T38_;
5932 			{
5933 				while (1) {
5934 					if (!(i_7 < L)) goto LA40;
5935 					id = (&inter->data[i_7].Field0);
5936 					count = (&inter->data[i_7].Field1);
5937 					{
5938 						NI T45_;
5939 						if (!(toCover <= (*count))) goto LA43_;
5940 						unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*tracked).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
5941 						T45_ = (*tracked).init->Sup.len++;
5942 						(*tracked).init->data[T45_] = (*id);
5943 					}
5944 					LA43_: ;
5945 					i_7 += ((NI) 1);
5946 				} LA40: ;
5947 			}
5948 		}
5949 	}
5950 	LA35_: ;
5951 	unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
5952 }
N_NIMCALL(void,trackIf__sempass50_3149)5953 N_LIB_PRIVATE N_NIMCALL(void, trackIf__sempass50_3149)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5954 	NI oldFacts;
5955 	NI T1_;
5956 	NI oldState;
5957 	NI T2_;
5958 	tySequence__8Np6tlClE5az1CyqZdN19bQ* inter;
5959 	NI toCover;
5960 	track__sempass50_2338(tracked, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
5961 	T1_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
5962 	oldFacts = T1_;
5963 	addFact__guards_609((&(*tracked).guards), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
5964 	T2_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5965 	oldState = T2_;
5966 	inter = NIM_NIL;
5967 	toCover = ((NI) 0);
5968 	track__sempass50_2338(tracked, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
5969 	{
5970 		NIM_BOOL T5_;
5971 		T5_ = (NIM_BOOL)0;
5972 		T5_ = breaksBlock__sempass50_3013((*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
5973 		if (!!(T5_)) goto LA6_;
5974 		toCover += ((NI) 1);
5975 	}
5976 	LA6_: ;
5977 	{
5978 		NI i;
5979 		NI colontmp_;
5980 		NI T9_;
5981 		NI i_2;
5982 		i = (NI)0;
5983 		colontmp_ = (NI)0;
5984 		T9_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5985 		colontmp_ = T9_;
5986 		i_2 = oldState;
5987 		{
5988 			while (1) {
5989 				if (!(i_2 < colontmp_)) goto LA11;
5990 				i = i_2;
5991 				addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i]);
5992 				i_2 += ((NI) 1);
5993 			} LA11: ;
5994 		}
5995 	}
5996 	{
5997 		NI i_3;
5998 		NI colontmp__2;
5999 		NI i_4;
6000 		i_3 = (NI)0;
6001 		colontmp__2 = (NI)0;
6002 		colontmp__2 = len__ast_3198(n);
6003 		i_4 = ((NI) 1);
6004 		{
6005 			while (1) {
6006 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
6007 				if (!(i_4 < colontmp__2)) goto LA14;
6008 				i_3 = i_4;
6009 				branch = (*n)._kind_6.sons->data[i_3];
6010 				unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
6011 				{
6012 					NI j;
6013 					NI colontmp__3;
6014 					NI res;
6015 					j = (NI)0;
6016 					colontmp__3 = (NI)0;
6017 					colontmp__3 = (NI)(i_3 - ((NI) 1));
6018 					res = ((NI) 0);
6019 					{
6020 						while (1) {
6021 							if (!(res <= colontmp__3)) goto LA17;
6022 							j = res;
6023 							addFactNeg__guards_632((&(*tracked).guards), (*(*n)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)]);
6024 							res += ((NI) 1);
6025 						} LA17: ;
6026 					}
6027 				}
6028 				{
6029 					NI T20_;
6030 					T20_ = (NI)0;
6031 					T20_ = len__ast_3198(branch);
6032 					if (!(((NI) 1) < T20_)) goto LA21_;
6033 					addFact__guards_609((&(*tracked).guards), (*branch)._kind_6.sons->data[((NI) 0)]);
6034 				}
6035 				LA21_: ;
6036 				unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
6037 				{
6038 					NI i_5;
6039 					NI colontmp__4;
6040 					NI i_6;
6041 					i_5 = (NI)0;
6042 					colontmp__4 = (NI)0;
6043 					colontmp__4 = len__ast_3198(branch);
6044 					i_6 = ((NI) 0);
6045 					{
6046 						while (1) {
6047 							if (!(i_6 < colontmp__4)) goto LA25;
6048 							i_5 = i_6;
6049 							track__sempass50_2338(tracked, (*branch)._kind_6.sons->data[i_5]);
6050 							i_6 += ((NI) 1);
6051 						} LA25: ;
6052 					}
6053 				}
6054 				{
6055 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
6056 					NIM_BOOL T29_;
6057 					T28_ = NIM_NIL;
6058 					T28_ = lastSon__ast_4832(branch);
6059 					T29_ = (NIM_BOOL)0;
6060 					T29_ = breaksBlock__sempass50_3013(T28_);
6061 					if (!!(T29_)) goto LA30_;
6062 					toCover += ((NI) 1);
6063 				}
6064 				LA30_: ;
6065 				{
6066 					NI i_7;
6067 					NI colontmp__5;
6068 					NI T33_;
6069 					NI i_8;
6070 					i_7 = (NI)0;
6071 					colontmp__5 = (NI)0;
6072 					T33_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
6073 					colontmp__5 = T33_;
6074 					i_8 = oldState;
6075 					{
6076 						while (1) {
6077 							if (!(i_8 < colontmp__5)) goto LA35;
6078 							i_7 = i_8;
6079 							addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i_7]);
6080 							i_8 += ((NI) 1);
6081 						} LA35: ;
6082 					}
6083 				}
6084 				i_4 += ((NI) 1);
6085 			} LA14: ;
6086 		}
6087 	}
6088 	unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
6089 	{
6090 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T38_;
6091 		NI T39_;
6092 		T38_ = NIM_NIL;
6093 		T38_ = lastSon__ast_4832(n);
6094 		T39_ = (NI)0;
6095 		T39_ = len__ast_3198(T38_);
6096 		if (!(T39_ == ((NI) 1))) goto LA40_;
6097 		{
6098 			NI* id;
6099 			NI* count;
6100 			NI i_9;
6101 			NI L;
6102 			NI T43_;
6103 			id = (NI*)0;
6104 			count = (NI*)0;
6105 			i_9 = ((NI) 0);
6106 			T43_ = (inter ? inter->Sup.len : 0);
6107 			L = T43_;
6108 			{
6109 				while (1) {
6110 					if (!(i_9 < L)) goto LA45;
6111 					id = (&inter->data[i_9].Field0);
6112 					count = (&inter->data[i_9].Field1);
6113 					{
6114 						NI T50_;
6115 						if (!(toCover <= (*count))) goto LA48_;
6116 						unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*tracked).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
6117 						T50_ = (*tracked).init->Sup.len++;
6118 						(*tracked).init->data[T50_] = (*id);
6119 					}
6120 					LA48_: ;
6121 					i_9 += ((NI) 1);
6122 				} LA45: ;
6123 			}
6124 		}
6125 	}
6126 	LA40_: ;
6127 	unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
6128 }
N_NIMCALL(void,trackBlock__sempass50_3265)6129 N_LIB_PRIVATE N_NIMCALL(void, trackBlock__sempass50_3265)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6130 	{
6131 		NI oldState;
6132 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
6133 		oldState = ((NI) -1);
6134 		{
6135 			NI i;
6136 			NI colontmp_;
6137 			NI i_2;
6138 			i = (NI)0;
6139 			colontmp_ = (NI)0;
6140 			colontmp_ = len__ast_3198(n);
6141 			i_2 = ((NI) 0);
6142 			{
6143 				while (1) {
6144 					if (!(i_2 < colontmp_)) goto LA7;
6145 					i = i_2;
6146 					{
6147 						NIM_BOOL T10_;
6148 						T10_ = (NIM_BOOL)0;
6149 						T10_ = hasSubnodeWith__ast_4570((*n)._kind_6.sons->data[i], ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110));
6150 						if (!T10_) goto LA11_;
6151 						{
6152 							NI T17_;
6153 							if (!(oldState < ((NI) 0))) goto LA15_;
6154 							T17_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
6155 							oldState = T17_;
6156 						}
6157 						LA15_: ;
6158 					}
6159 					LA11_: ;
6160 					track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i]);
6161 					i_2 += ((NI) 1);
6162 				} LA7: ;
6163 			}
6164 		}
6165 		{
6166 			if (!(((NI) 0) < oldState)) goto LA20_;
6167 			unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
6168 		}
6169 		LA20_: ;
6170 	}
6171 	goto LA1_;
6172 	LA3_: ;
6173 	{
6174 		track__sempass50_2338(tracked, n);
6175 	}
6176 	LA1_: ;
6177 }
N_INLINE(NIM_BOOL,fromSystem__astalgo_238)6178 static N_INLINE(NIM_BOOL, fromSystem__astalgo_238)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op) {
6179 	NIM_BOOL result;
6180 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
6181 	result = (NIM_BOOL)0;
6182 	T1_ = NIM_NIL;
6183 	T1_ = getModule__astalgo_216(op);
6184 	result = (((*T1_).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
6185 	return result;
6186 }
N_NIMCALL(void,createBlockContext__sempass50_3741)6187 N_LIB_PRIVATE N_NIMCALL(void, createBlockContext__sempass50_3741)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* Result) {
6188 	NI T1_;
6189 	(*Result).oldLocked = 0;
6190 	(*Result).oldLockLevel = 0;
6191 	(*Result).enforcedGcSafety = 0;
6192 	(*Result).enforceNoSideEffects = 0;
6193 	(*Result).oldExc = 0;
6194 	(*Result).oldTags = 0;
6195 	unsureAsgnRef((void**)&(*Result).exc, NIM_NIL);
6196 	unsureAsgnRef((void**)&(*Result).tags, NIM_NIL);
6197 	T1_ = ((*tracked).locked ? (*tracked).locked->Sup.len : 0);
6198 	(*Result).oldLocked = T1_;
6199 	(*Result).oldLockLevel = (*tracked).currLockLevel;
6200 	(*Result).enforcedGcSafety = NIM_FALSE;
6201 	(*Result).enforceNoSideEffects = NIM_FALSE;
6202 	(*Result).oldExc = len__ast_3198((*tracked).exc);
6203 	(*Result).oldTags = len__ast_3198((*tracked).tags);
6204 }
N_NIMCALL(NI16,getLockLevel__sempass50_182)6205 N_LIB_PRIVATE N_NIMCALL(NI16, getLockLevel__sempass50_182)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
6206 	NI16 result;
6207 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
6208 	result = (NI16)0;
6209 	t_2 = t;
6210 	{
6211 		NIM_BOOL T3_;
6212 		NI T5_;
6213 		T3_ = (NIM_BOOL)0;
6214 		T3_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
6215 		if (!(T3_)) goto LA4_;
6216 		T5_ = (NI)0;
6217 		T5_ = len__ast_4002(t_2);
6218 		T3_ = (T5_ == ((NI) 3));
6219 		LA4_: ;
6220 		if (!T3_) goto LA6_;
6221 		t_2 = (*t_2).sons->data[((NI) 1)];
6222 	}
6223 	LA6_: ;
6224 	{
6225 		NIM_BOOL T10_;
6226 		NIM_BOOL T11_;
6227 		T10_ = (NIM_BOOL)0;
6228 		T11_ = (NIM_BOOL)0;
6229 		T11_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
6230 		if (!(T11_)) goto LA12_;
6231 		T11_ = !(((*t_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6232 		LA12_: ;
6233 		T10_ = T11_;
6234 		if (!(T10_)) goto LA13_;
6235 		T10_ = ((*(*t_2).n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*t_2).n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10));
6236 		LA13_: ;
6237 		if (!T10_) goto LA14_;
6238 		result = ((NI16) ((*(*t_2).n)._kind_1.intVal));
6239 	}
6240 	LA14_: ;
6241 	return result;
6242 }
N_NIMCALL(void,lockLocations__sempass50_206)6243 N_LIB_PRIVATE N_NIMCALL(void, lockLocations__sempass50_206)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma) {
6244 	NI16 firstLL;
6245 {	{
6246 		if (!!(((*pragma).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3_;
6247 		liMessage__msgs_1118((*a).config, (*pragma).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_65), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_66, NIM_FALSE);
6248 		goto BeforeRet_;
6249 	}
6250 	LA3_: ;
6251 	firstLL = ((NI16) -1);
6252 	{
6253 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
6254 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp_;
6255 		x = NIM_NIL;
6256 		colontmp_ = NIM_NIL;
6257 		colontmp_ = (*pragma)._kind_6.sons->data[((NI) 1)];
6258 		{
6259 			NI i;
6260 			NI colontmp__2;
6261 			NI i_2;
6262 			i = (NI)0;
6263 			colontmp__2 = (NI)0;
6264 			colontmp__2 = safeLen__ast_3191(colontmp_);
6265 			i_2 = ((NI) 0);
6266 			{
6267 				while (1) {
6268 					NI16 thisLL;
6269 					NI T27_;
6270 					if (!(i_2 < colontmp__2)) goto LA8;
6271 					i = i_2;
6272 					x = (*colontmp_)._kind_6.sons->data[i];
6273 					thisLL = getLockLevel__sempass50_182((*x).typ);
6274 					{
6275 						if (!!((thisLL == ((NI16) 0)))) goto LA11_;
6276 						{
6277 							NIM_BOOL T15_;
6278 							NimStringDesc* T19_;
6279 							NimStringDesc* T20_;
6280 							T15_ = (NIM_BOOL)0;
6281 							T15_ = (thisLL < ((NI16) 0));
6282 							if (T15_) goto LA16_;
6283 							T15_ = (((NI16) 1000) < thisLL);
6284 							LA16_: ;
6285 							if (!T15_) goto LA17_;
6286 							T19_ = NIM_NIL;
6287 							T20_ = NIM_NIL;
6288 							T20_ = dollar___ast_3858(thisLL);
6289 							T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 20);
6290 appendString(T19_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_67));
6291 appendString(T19_, T20_);
6292 							liMessage__msgs_1118((*a).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_68, NIM_FALSE);
6293 						}
6294 						goto LA13_;
6295 						LA17_: ;
6296 						{
6297 							if (!(firstLL < ((NI16) 0))) goto LA22_;
6298 							firstLL = thisLL;
6299 						}
6300 						goto LA13_;
6301 						LA22_: ;
6302 						{
6303 							if (!!((firstLL == thisLL))) goto LA25_;
6304 							liMessage__msgs_1118((*a).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_69), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_70, NIM_FALSE);
6305 						}
6306 						goto LA13_;
6307 						LA25_: ;
6308 						LA13_: ;
6309 						(*a).maxLockLevel = (((*a).maxLockLevel >= firstLL) ? (*a).maxLockLevel : firstLL);
6310 					}
6311 					LA11_: ;
6312 					unsureAsgnRef((void**) (&(*a).locked), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*a).locked), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6313 					T27_ = (*a).locked->Sup.len++;
6314 					asgnRef((void**) (&(*a).locked->data[T27_]), x);
6315 					i_2 += ((NI) 1);
6316 				} LA8: ;
6317 			}
6318 		}
6319 	}
6320 	{
6321 		NIM_BOOL T30_;
6322 		T30_ = (NIM_BOOL)0;
6323 		T30_ = (((NI16) 0) <= firstLL);
6324 		if (!(T30_)) goto LA31_;
6325 		T30_ = !((firstLL == (*a).currLockLevel));
6326 		LA31_: ;
6327 		if (!T30_) goto LA32_;
6328 		{
6329 			NIM_BOOL T36_;
6330 			T36_ = (NIM_BOOL)0;
6331 			T36_ = (((NI16) 0) < (*a).currLockLevel);
6332 			if (!(T36_)) goto LA37_;
6333 			T36_ = ((*a).currLockLevel <= firstLL);
6334 			LA37_: ;
6335 			if (!T36_) goto LA38_;
6336 			liMessage__msgs_1118((*a).config, (*pragma).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_71), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_72, NIM_FALSE);
6337 		}
6338 		LA38_: ;
6339 		(*a).currLockLevel = firstLL;
6340 	}
6341 	LA32_: ;
6342 	}BeforeRet_: ;
6343 }
N_NIMCALL(void,castBlock__sempass50_3790)6344 N_LIB_PRIVATE N_NIMCALL(void, castBlock__sempass50_3790)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* bc) {
6345 	tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T1_;
6346 	T1_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
6347 	T1_ = whichPragma__trees_244(pragma);
6348 	switch (T1_) {
6349 	case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 110):
6350 	{
6351 		(*bc).enforcedGcSafety = NIM_TRUE;
6352 	}
6353 	break;
6354 	case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 109):
6355 	{
6356 		(*bc).enforceNoSideEffects = NIM_TRUE;
6357 	}
6358 	break;
6359 	case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179):
6360 	{
6361 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
6362 		n = (*pragma)._kind_6.sons->data[((NI) 1)];
6363 		{
6364 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA7_;
6365 			unsureAsgnRef((void**) (&(*bc).tags), n);
6366 		}
6367 		goto LA5_;
6368 		LA7_: ;
6369 		{
6370 			unsureAsgnRef((void**) (&(*bc).tags), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*pragma).info));
6371 			add__ast_4797((*bc).tags, n);
6372 		}
6373 		LA5_: ;
6374 	}
6375 	break;
6376 	case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174):
6377 	{
6378 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
6379 		n_2 = (*pragma)._kind_6.sons->data[((NI) 1)];
6380 		{
6381 			if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA13_;
6382 			unsureAsgnRef((void**) (&(*bc).exc), n_2);
6383 		}
6384 		goto LA11_;
6385 		LA13_: ;
6386 		{
6387 			unsureAsgnRef((void**) (&(*bc).exc), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*pragma).info));
6388 			add__ast_4797((*bc).exc, n_2);
6389 		}
6390 		LA11_: ;
6391 	}
6392 	break;
6393 	case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 86):
6394 	{
6395 	}
6396 	break;
6397 	default:
6398 	{
6399 		NimStringDesc* T18_;
6400 		NimStringDesc* T19_;
6401 		T18_ = NIM_NIL;
6402 		T19_ = NIM_NIL;
6403 		T19_ = dollar___renderer_2106(pragma);
6404 		T18_ = rawNewString((T19_ ? T19_->Sup.len : 0) + 22);
6405 appendString(T18_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_73));
6406 appendString(T18_, T19_);
6407 		liMessage__msgs_1118((*tracked).config, (*pragma).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_74, NIM_FALSE);
6408 	}
6409 	break;
6410 	}
6411 }
N_NIMCALL(void,applyBlockContext__sempass50_3762)6412 N_LIB_PRIVATE N_NIMCALL(void, applyBlockContext__sempass50_3762)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA bc) {
6413 	{
6414 		if (!bc.enforcedGcSafety) goto LA3_;
6415 		(*tracked).inEnforcedGcSafe = NIM_TRUE;
6416 	}
6417 	LA3_: ;
6418 	{
6419 		if (!bc.enforceNoSideEffects) goto LA7_;
6420 		(*tracked).inEnforcedNoSideEffects = NIM_TRUE;
6421 	}
6422 	LA7_: ;
6423 }
N_NIMCALL(void,unapplyBlockContext__sempass50_3765)6424 N_LIB_PRIVATE N_NIMCALL(void, unapplyBlockContext__sempass50_3765)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA bc) {
6425 	{
6426 		if (!bc.enforcedGcSafety) goto LA3_;
6427 		(*tracked).inEnforcedGcSafe = NIM_FALSE;
6428 	}
6429 	LA3_: ;
6430 	{
6431 		if (!bc.enforceNoSideEffects) goto LA7_;
6432 		(*tracked).inEnforcedNoSideEffects = NIM_FALSE;
6433 	}
6434 	LA7_: ;
6435 	unsureAsgnRef((void**) (&(*tracked).locked), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).locked)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (bc.oldLocked))));
6436 	(*tracked).currLockLevel = bc.oldLockLevel;
6437 	{
6438 		if (!!((bc.exc == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA11_;
6439 		asgnRef((void**) (&(*(*tracked).exc)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*tracked).exc)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (bc.oldExc))));
6440 		{
6441 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
6442 			e = NIM_NIL;
6443 			{
6444 				NI i;
6445 				NI colontmp_;
6446 				NI i_2;
6447 				i = (NI)0;
6448 				colontmp_ = (NI)0;
6449 				colontmp_ = safeLen__ast_3191(bc.exc);
6450 				i_2 = ((NI) 0);
6451 				{
6452 					while (1) {
6453 						if (!(i_2 < colontmp_)) goto LA16;
6454 						i = i_2;
6455 						e = (*bc.exc)._kind_6.sons->data[i];
6456 						addRaiseEffect__sempass50_2237(tracked, e, e);
6457 						i_2 += ((NI) 1);
6458 					} LA16: ;
6459 				}
6460 			}
6461 		}
6462 	}
6463 	LA11_: ;
6464 	{
6465 		if (!!((bc.tags == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA19_;
6466 		asgnRef((void**) (&(*(*tracked).tags)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*tracked).tags)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (bc.oldTags))));
6467 		{
6468 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
6469 			t = NIM_NIL;
6470 			{
6471 				NI i_3;
6472 				NI colontmp__2;
6473 				NI i_4;
6474 				i_3 = (NI)0;
6475 				colontmp__2 = (NI)0;
6476 				colontmp__2 = safeLen__ast_3191(bc.tags);
6477 				i_4 = ((NI) 0);
6478 				{
6479 					while (1) {
6480 						if (!(i_4 < colontmp__2)) goto LA24;
6481 						i_3 = i_4;
6482 						t = (*bc.tags)._kind_6.sons->data[i_3];
6483 						addTag__sempass50_2259(tracked, t, t);
6484 						i_4 += ((NI) 1);
6485 					} LA24: ;
6486 				}
6487 			}
6488 		}
6489 	}
6490 	LA19_: ;
6491 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getBody__modulegraphs_11241)6492 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
6493 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
6494 	result = NIM_NIL;
6495 	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
6496 	{
6497 		NIM_BOOL T3_;
6498 		T3_ = (NIM_BOOL)0;
6499 		T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
6500 		if (!(T3_)) goto LA4_;
6501 		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
6502 		LA4_: ;
6503 		if (!T3_) goto LA5_;
6504 		result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
6505 		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
6506 	}
6507 	LA5_: ;
6508 	return result;
6509 }
N_NIMCALL(void,trackInnerProc__sempass50_3814)6510 N_LIB_PRIVATE N_NIMCALL(void, trackInnerProc__sempass50_3814)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6511 	switch ((*n).kind) {
6512 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6513 	{
6514 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
6515 		s = (*n)._kind_4.sym;
6516 		{
6517 			NIM_BOOL T4_;
6518 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym355_;
6519 			T4_ = (NIM_BOOL)0;
6520 			T4_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
6521 			if (!(T4_)) goto LA5_;
6522 			T4_ = ((*s).owner == (*tracked).owner);
6523 			LA5_: ;
6524 			if (!T4_) goto LA6_;
6525 			xX60gensym355_ = s;
6526 			incl__pureZcollectionsZintsets_55((&(*tracked).escapingParams), (NI)((NI)((NU32)(((NI) ((*xX60gensym355_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym355_).Sup.itemId.item))));
6527 		}
6528 		LA6_: ;
6529 	}
6530 	break;
6531 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
6532 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
6533 	{
6534 	}
6535 	break;
6536 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
6537 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
6538 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
6539 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
6540 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
6541 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
6542 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
6543 	{
6544 		{
6545 			NIM_BOOL T12_;
6546 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
6547 			T12_ = (NIM_BOOL)0;
6548 			T12_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6549 			if (!(T12_)) goto LA13_;
6550 			T12_ = !(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6551 			LA13_: ;
6552 			if (!T12_) goto LA14_;
6553 			T16_ = NIM_NIL;
6554 			T16_ = getBody__modulegraphs_11241((*tracked).graph, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
6555 			trackInnerProc__sempass50_3814(tracked, T16_);
6556 		}
6557 		LA14_: ;
6558 	}
6559 	break;
6560 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
6561 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
6562 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
6563 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 161):
6564 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
6565 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
6566 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
6567 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
6568 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
6569 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
6570 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
6571 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
6572 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
6573 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
6574 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
6575 	{
6576 	}
6577 	break;
6578 	default:
6579 	{
6580 		{
6581 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ch;
6582 			ch = NIM_NIL;
6583 			{
6584 				NI i;
6585 				NI colontmp_;
6586 				NI i_2;
6587 				i = (NI)0;
6588 				colontmp_ = (NI)0;
6589 				colontmp_ = safeLen__ast_3191(n);
6590 				i_2 = ((NI) 0);
6591 				{
6592 					while (1) {
6593 						if (!(i_2 < colontmp_)) goto LA22;
6594 						i = i_2;
6595 						ch = (*n)._kind_6.sons->data[i];
6596 						trackInnerProc__sempass50_3814(tracked, ch);
6597 						i_2 += ((NI) 1);
6598 					} LA22: ;
6599 				}
6600 			}
6601 		}
6602 	}
6603 	break;
6604 	}
6605 }
N_NIMCALL(NIM_BOOL,allowCStringConv__sempass50_3856)6606 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allowCStringConv__sempass50_3856)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6607 	NIM_BOOL result;
6608 	result = (NIM_BOOL)0;
6609 	switch ((*n).kind) {
6610 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
6611 	{
6612 		result = NIM_TRUE;
6613 	}
6614 	break;
6615 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6616 	{
6617 		result = ((1032 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0);
6618 	}
6619 	break;
6620 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
6621 	{
6622 		result = isCharArrayPtr__types_4078((*n).typ, NIM_TRUE);
6623 	}
6624 	break;
6625 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
6626 	{
6627 		NIM_BOOL T5_;
6628 		T5_ = (NIM_BOOL)0;
6629 		T5_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6630 		if (!(T5_)) goto LA6_;
6631 		T5_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16));
6632 		LA6_: ;
6633 		result = isCharArrayPtr__types_4078((*n).typ, T5_);
6634 	}
6635 	break;
6636 	default:
6637 	{
6638 		result = isCharArrayPtr__types_4078((*n).typ, NIM_FALSE);
6639 	}
6640 	break;
6641 	}
6642 	return result;
6643 }
N_NIMCALL(void,checkRange__sempass50_3350)6644 N_LIB_PRIVATE N_NIMCALL(void, checkRange__sempass50_3350)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
6645 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
6646 	t = skipTypes__ast_3735(typ, TM__wkTG4eaV3t1uo3x09apjcwA_81);
6647 	{
6648 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lowBound;
6649 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* highBound;
6650 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA3_;
6651 		lowBound = copyTree__ast_4431((*(*t).n)._kind_6.sons->data[((NI) 0)]);
6652 		(*lowBound).info = (*value).info;
6653 		highBound = copyTree__ast_4431((*(*t).n)._kind_6.sons->data[((NI) 1)]);
6654 		(*highBound).info = (*value).info;
6655 		checkLe__sempass50_3342(c, lowBound, value);
6656 		checkLe__sempass50_3342(c, value, highBound);
6657 	}
6658 	LA3_: ;
6659 }
N_NIMCALL(void,track__sempass50_2338)6660 N_LIB_PRIVATE N_NIMCALL(void, track__sempass50_2338)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6661 	switch ((*n).kind) {
6662 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6663 	{
6664 		useVar__sempass50_2113(tracked, n);
6665 		{
6666 			NIM_BOOL T4_;
6667 			T4_ = (NIM_BOOL)0;
6668 			T4_ = !(((*(*n)._kind_4.sym).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6669 			if (!(T4_)) goto LA5_;
6670 			T4_ = (((*(*(*n)._kind_4.sym).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0);
6671 			LA5_: ;
6672 			if (!T4_) goto LA6_;
6673 			(*(*tracked).owner).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 42)) & 63);
6674 			{
6675 				NIM_BOOL T10_;
6676 				T10_ = (NIM_BOOL)0;
6677 				T10_ = !(!(((IL64(2147483664) & (*(*n).typ).flags) == 0)));
6678 				if (!(T10_)) goto LA11_;
6679 				T10_ = sameType__types_1815((*n).typ, (*(*n)._kind_4.sym).typ, 0);
6680 				LA11_: ;
6681 				if (!T10_) goto LA12_;
6682 				asgnRef((void**) (&(*n).typ), (*(*n)._kind_4.sym).typ);
6683 			}
6684 			LA12_: ;
6685 		}
6686 		LA6_: ;
6687 	}
6688 	break;
6689 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
6690 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
6691 	{
6692 		{
6693 			NIM_BOOL T17_;
6694 			T17_ = (NIM_BOOL)0;
6695 			T17_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6696 			if (!(T17_)) goto LA18_;
6697 			T17_ = isLocalVar__sempass50_162(tracked, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
6698 			LA18_: ;
6699 			if (!T17_) goto LA19_;
6700 			useVarNoInitCheck__sempass50_959(tracked, (*n)._kind_6.sons->data[((NI) 0)], (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
6701 		}
6702 		goto LA15_;
6703 		LA19_: ;
6704 		{
6705 			track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
6706 		}
6707 		LA15_: ;
6708 	}
6709 	break;
6710 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
6711 	{
6712 		{
6713 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA25_;
6714 			(*(*n)._kind_6.sons->data[((NI) 0)]).info = (*n).info;
6715 			addRaiseEffect__sempass50_2237(tracked, (*n)._kind_6.sons->data[((NI) 0)], n);
6716 			{
6717 				NI i;
6718 				NI colontmp_;
6719 				NI i_2;
6720 				i = (NI)0;
6721 				colontmp_ = (NI)0;
6722 				colontmp_ = safeLen__ast_3191(n);
6723 				i_2 = ((NI) 0);
6724 				{
6725 					while (1) {
6726 						if (!(i_2 < colontmp_)) goto LA29;
6727 						i = i_2;
6728 						track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i]);
6729 						i_2 += ((NI) 1);
6730 					} LA29: ;
6731 				}
6732 			}
6733 			createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
6734 		}
6735 		goto LA23_;
6736 		LA25_: ;
6737 		{
6738 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
6739 			T31_ = NIM_NIL;
6740 			T31_ = createRaise__sempass50_2223((*tracked).graph, n);
6741 			addRaiseEffect__sempass50_2237(tracked, T31_, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
6742 		}
6743 		LA23_: ;
6744 	}
6745 	break;
6746 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
6747 	{
6748 		trackCall__sempass50_3367(tracked, n);
6749 	}
6750 	break;
6751 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
6752 	{
6753 		guardDotAccess__sempass50_237(tracked, n);
6754 		{
6755 			NI i_3;
6756 			NI colontmp__2;
6757 			NI i_4;
6758 			i_3 = (NI)0;
6759 			colontmp__2 = (NI)0;
6760 			colontmp__2 = len__ast_3198(n);
6761 			i_4 = ((NI) 0);
6762 			{
6763 				while (1) {
6764 					if (!(i_4 < colontmp__2)) goto LA36;
6765 					i_3 = i_4;
6766 					track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_3]);
6767 					i_4 += ((NI) 1);
6768 				} LA36: ;
6769 			}
6770 		}
6771 	}
6772 	break;
6773 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
6774 	{
6775 		track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
6776 		{
6777 			NIM_BOOL T40_;
6778 			T40_ = (NIM_BOOL)0;
6779 			T40_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 42));
6780 			if (!T40_) goto LA41_;
6781 			checkFieldAccess__guards_1800((*tracked).guards, n, (*tracked).config);
6782 		}
6783 		LA41_: ;
6784 	}
6785 	break;
6786 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
6787 	{
6788 		trackTryStmt__sempass50_2341(tracked, n);
6789 	}
6790 	break;
6791 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
6792 	{
6793 		trackPragmaStmt__sempass50_2560(tracked, n);
6794 	}
6795 	break;
6796 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
6797 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
6798 	{
6799 		track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
6800 		initVar__sempass50_312(tracked, (*n)._kind_6.sons->data[((NI) 0)], NIM_TRUE);
6801 		invalidateFacts__guards_760((&(*tracked).guards), (*n)._kind_6.sons->data[((NI) 0)]);
6802 		(*tracked).leftPartOfAsgn += ((NI) 1);
6803 		track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
6804 		(*tracked).leftPartOfAsgn -= ((NI) 1);
6805 		addAsgnFact__guards_1730((&(*tracked).guards), (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)]);
6806 		notNilCheck__sempass50_2659(tracked, (*n)._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
6807 		{
6808 			if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA48_;
6809 			createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
6810 		}
6811 		LA48_: ;
6812 		{
6813 			NIM_BOOL T52_;
6814 			NIM_BOOL T54_;
6815 			T52_ = (NIM_BOOL)0;
6816 			T52_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
6817 			if (T52_) goto LA53_;
6818 			T54_ = (NIM_BOOL)0;
6819 			T54_ = isLocalVar__sempass50_162(tracked, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
6820 			T52_ = !(T54_);
6821 			LA53_: ;
6822 			if (!T52_) goto LA55_;
6823 			checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*n)._kind_6.sons->data[((NI) 1)]);
6824 			{
6825 				NIM_BOOL T59_;
6826 				T59_ = (NIM_BOOL)0;
6827 				T59_ = !((*tracked).hasDangerousAssign);
6828 				if (!(T59_)) goto LA60_;
6829 				T59_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
6830 				LA60_: ;
6831 				if (!T59_) goto LA61_;
6832 				(*tracked).hasDangerousAssign = NIM_TRUE;
6833 			}
6834 			LA61_: ;
6835 		}
6836 		LA55_: ;
6837 	}
6838 	break;
6839 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
6840 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
6841 	{
6842 		{
6843 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
6844 			child = NIM_NIL;
6845 			{
6846 				NI i_5;
6847 				NI colontmp__3;
6848 				NI i_6;
6849 				i_5 = (NI)0;
6850 				colontmp__3 = (NI)0;
6851 				colontmp__3 = safeLen__ast_3191(n);
6852 				i_6 = ((NI) 0);
6853 				{
6854 					while (1) {
6855 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* last;
6856 						if (!(i_6 < colontmp__3)) goto LA67;
6857 						i_5 = i_6;
6858 						child = (*n)._kind_6.sons->data[i_5];
6859 						last = lastSon__ast_4832(child);
6860 						{
6861 							if (!!(((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA70_;
6862 							track__sempass50_2338(tracked, last);
6863 						}
6864 						LA70_: ;
6865 						{
6866 							if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA74_;
6867 							{
6868 								NI T80_;
6869 								if (!((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA78_;
6870 								T80_ = (NI)0;
6871 								T80_ = len__ast_3198(child);
6872 								createTypeBoundOps__sempass50_142(tracked, (*(*child)._kind_6.sons->data[(NI)(T80_ - ((NI) 1))]).typ, (*child).info);
6873 								{
6874 									NI i_7;
6875 									NI colontmp__4;
6876 									NI T82_;
6877 									NI i_8;
6878 									i_7 = (NI)0;
6879 									colontmp__4 = (NI)0;
6880 									T82_ = (NI)0;
6881 									T82_ = len__ast_3198(child);
6882 									colontmp__4 = (NI)(T82_ - ((NI) 2));
6883 									i_8 = ((NI) 0);
6884 									{
6885 										while (1) {
6886 											if (!(i_8 < colontmp__4)) goto LA84;
6887 											i_7 = i_8;
6888 											createTypeBoundOps__sempass50_142(tracked, (*(*child)._kind_6.sons->data[i_7]).typ, (*child).info);
6889 											i_8 += ((NI) 1);
6890 										} LA84: ;
6891 									}
6892 								}
6893 							}
6894 							goto LA76_;
6895 							LA78_: ;
6896 							{
6897 								createTypeBoundOps__sempass50_142(tracked, (*(*child)._kind_6.sons->data[((NI) 0)]).typ, (*child).info);
6898 							}
6899 							LA76_: ;
6900 						}
6901 						LA74_: ;
6902 						{
6903 							NIM_BOOL T88_;
6904 							T88_ = (NIM_BOOL)0;
6905 							T88_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35));
6906 							if (!(T88_)) goto LA89_;
6907 							T88_ = !(((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
6908 							LA89_: ;
6909 							if (!T88_) goto LA90_;
6910 							{
6911 								NI i_9;
6912 								NI colontmp__5;
6913 								NI T93_;
6914 								NI i_10;
6915 								i_9 = (NI)0;
6916 								colontmp__5 = (NI)0;
6917 								T93_ = (NI)0;
6918 								T93_ = len__ast_3198(child);
6919 								colontmp__5 = (NI)(T93_ - ((NI) 2));
6920 								i_10 = ((NI) 0);
6921 								{
6922 									while (1) {
6923 										if (!(i_10 < colontmp__5)) goto LA95;
6924 										i_9 = i_10;
6925 										initVar__sempass50_312(tracked, (*child)._kind_6.sons->data[i_9], NIM_FALSE);
6926 										addAsgnFact__guards_1730((&(*tracked).guards), (*child)._kind_6.sons->data[i_9], last);
6927 										notNilCheck__sempass50_2659(tracked, last, (*(*child)._kind_6.sons->data[i_9]).typ);
6928 										i_10 += ((NI) 1);
6929 									} LA95: ;
6930 								}
6931 							}
6932 						}
6933 						goto LA86_;
6934 						LA90_: ;
6935 						{
6936 							NIM_BOOL T97_;
6937 							T97_ = (NIM_BOOL)0;
6938 							T97_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
6939 							if (!(T97_)) goto LA98_;
6940 							T97_ = !(((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
6941 							LA98_: ;
6942 							if (!T97_) goto LA99_;
6943 							{
6944 								NI i_11;
6945 								NI colontmp__6;
6946 								NI T102_;
6947 								NI i_12;
6948 								i_11 = (NI)0;
6949 								colontmp__6 = (NI)0;
6950 								T102_ = (NI)0;
6951 								T102_ = len__ast_3198(child);
6952 								colontmp__6 = (NI)(T102_ - ((NI) 1));
6953 								i_12 = ((NI) 0);
6954 								{
6955 									while (1) {
6956 										if (!(i_12 < colontmp__6)) goto LA104;
6957 										i_11 = i_12;
6958 										{
6959 											{
6960 												NIM_BOOL T108_;
6961 												NIM_BOOL T110_;
6962 												T108_ = (NIM_BOOL)0;
6963 												T108_ = ((*(*child)._kind_6.sons->data[i_11]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
6964 												if (T108_) goto LA109_;
6965 												T110_ = (NIM_BOOL)0;
6966 												T110_ = ((*(*child)._kind_6.sons->data[i_11]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6967 												if (!(T110_)) goto LA111_;
6968 												T110_ = eqStrings((*(*(*(*child)._kind_6.sons->data[i_11])._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_59));
6969 												LA111_: ;
6970 												T108_ = T110_;
6971 												LA109_: ;
6972 												if (!T108_) goto LA112_;
6973 												goto LA105;
6974 											}
6975 											LA112_: ;
6976 											initVar__sempass50_312(tracked, (*child)._kind_6.sons->data[i_11], NIM_FALSE);
6977 											{
6978 												if (!((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA116_;
6979 												addAsgnFact__guards_1730((&(*tracked).guards), (*child)._kind_6.sons->data[i_11], (*last)._kind_6.sons->data[i_11]);
6980 												notNilCheck__sempass50_2659(tracked, (*last)._kind_6.sons->data[i_11], (*(*child)._kind_6.sons->data[i_11]).typ);
6981 											}
6982 											LA116_: ;
6983 										} LA105: ;
6984 										i_12 += ((NI) 1);
6985 									} LA104: ;
6986 								}
6987 							}
6988 						}
6989 						goto LA86_;
6990 						LA99_: ;
6991 						LA86_: ;
6992 						i_6 += ((NI) 1);
6993 					} LA67: ;
6994 				}
6995 			}
6996 		}
6997 	}
6998 	break;
6999 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
7000 	{
7001 		{
7002 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
7003 			child_2 = NIM_NIL;
7004 			{
7005 				NI i_13;
7006 				NI colontmp__7;
7007 				NI i_14;
7008 				i_13 = (NI)0;
7009 				colontmp__7 = (NI)0;
7010 				colontmp__7 = safeLen__ast_3191(n);
7011 				i_14 = ((NI) 0);
7012 				{
7013 					while (1) {
7014 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* last_2;
7015 						if (!(i_14 < colontmp__7)) goto LA122;
7016 						i_13 = i_14;
7017 						child_2 = (*n)._kind_6.sons->data[i_13];
7018 						last_2 = lastSon__ast_4832(child_2);
7019 						track__sempass50_2338(tracked, last_2);
7020 						i_14 += ((NI) 1);
7021 					} LA122: ;
7022 				}
7023 			}
7024 		}
7025 	}
7026 	break;
7027 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
7028 	{
7029 		trackCase__sempass50_3048(tracked, n);
7030 	}
7031 	break;
7032 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
7033 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
7034 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
7035 	{
7036 		trackIf__sempass50_3149(tracked, n);
7037 	}
7038 	break;
7039 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
7040 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
7041 	{
7042 		trackBlock__sempass50_3265(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
7043 	}
7044 	break;
7045 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
7046 	{
7047 		{
7048 			NIM_BOOL T129_;
7049 			T129_ = (NIM_BOOL)0;
7050 			T129_ = isTrue__trees_375((*n)._kind_6.sons->data[((NI) 0)]);
7051 			if (!T129_) goto LA130_;
7052 			trackBlock__sempass50_3265(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
7053 		}
7054 		goto LA127_;
7055 		LA130_: ;
7056 		{
7057 			NI oldState;
7058 			NI T133_;
7059 			NI oldFacts;
7060 			NI T134_;
7061 			T133_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
7062 			oldState = T133_;
7063 			T134_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
7064 			oldFacts = T134_;
7065 			addFact__guards_609((&(*tracked).guards), (*n)._kind_6.sons->data[((NI) 0)]);
7066 			track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
7067 			track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
7068 			unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
7069 			unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
7070 		}
7071 		LA127_: ;
7072 	}
7073 	break;
7074 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
7075 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
7076 	{
7077 		NI oldState_2;
7078 		NI T136_;
7079 		NI oldFacts_2;
7080 		NI T137_;
7081 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* iterCall;
7082 		NI T138_;
7083 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
7084 		NI T175_;
7085 		T136_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
7086 		oldState_2 = T136_;
7087 		T137_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
7088 		oldFacts_2 = T137_;
7089 		T138_ = (NI)0;
7090 		T138_ = len__ast_3198(n);
7091 		iterCall = (*n)._kind_6.sons->data[(NI)(T138_ - ((NI) 2))];
7092 		{
7093 			NIM_BOOL T141_;
7094 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
7095 			T141_ = (NIM_BOOL)0;
7096 			T141_ = (((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
7097 			if (!(T141_)) goto LA142_;
7098 			T141_ = ((*iterCall).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*iterCall).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*iterCall).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*iterCall).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*iterCall).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*iterCall).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*iterCall).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
7099 			LA142_: ;
7100 			if (!T141_) goto LA143_;
7101 			op = (*iterCall)._kind_6.sons->data[((NI) 0)];
7102 			{
7103 				NIM_BOOL T147_;
7104 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* iterVar;
7105 				T147_ = (NIM_BOOL)0;
7106 				T147_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7107 				if (!(T147_)) goto LA148_;
7108 				T147_ = fromSystem__astalgo_238((*op)._kind_4.sym);
7109 				LA148_: ;
7110 				if (!T147_) goto LA149_;
7111 				iterVar = (*n)._kind_6.sons->data[((NI) 0)];
7112 				if (eqStrings((*(*(*op)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_61))) goto LA151_;
7113 				if (eqStrings((*(*(*op)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_62))) goto LA151_;
7114 				if (eqStrings((*(*(*op)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_63))) goto LA151_;
7115 				if (eqStrings((*(*(*op)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_64))) goto LA152_;
7116 				goto LA153_;
7117 				LA151_: ;
7118 				{
7119 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lower;
7120 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* upper;
7121 					lower = (*iterCall)._kind_6.sons->data[((NI) 1)];
7122 					upper = (*iterCall)._kind_6.sons->data[((NI) 2)];
7123 					addFactLe__guards_1634((&(*tracked).guards), lower, iterVar);
7124 					addFactLe__guards_1634((&(*tracked).guards), iterVar, upper);
7125 				}
7126 				goto LA154_;
7127 				LA152_: ;
7128 				{
7129 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lower_2;
7130 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* upper_2;
7131 					lower_2 = (*iterCall)._kind_6.sons->data[((NI) 1)];
7132 					upper_2 = (*iterCall)._kind_6.sons->data[((NI) 2)];
7133 					addFactLe__guards_1634((&(*tracked).guards), lower_2, iterVar);
7134 					addFactLt__guards_1642((&(*tracked).guards), iterVar, upper_2);
7135 				}
7136 				goto LA154_;
7137 				LA153_: ;
7138 				{
7139 				}
7140 				LA154_: ;
7141 			}
7142 			LA149_: ;
7143 		}
7144 		LA143_: ;
7145 		{
7146 			NI i_15;
7147 			NI colontmp__8;
7148 			NI T159_;
7149 			NI i_16;
7150 			i_15 = (NI)0;
7151 			colontmp__8 = (NI)0;
7152 			T159_ = (NI)0;
7153 			T159_ = len__ast_3198(n);
7154 			colontmp__8 = (NI)(T159_ - ((NI) 2));
7155 			i_16 = ((NI) 0);
7156 			{
7157 				while (1) {
7158 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7159 					if (!(i_16 < colontmp__8)) goto LA161;
7160 					i_15 = i_16;
7161 					it = (*n)._kind_6.sons->data[i_15];
7162 					track__sempass50_2338(tracked, it);
7163 					{
7164 						if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA164_;
7165 						{
7166 							if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA168_;
7167 							{
7168 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7169 								x = NIM_NIL;
7170 								{
7171 									NI i_17;
7172 									NI colontmp__9;
7173 									NI i_18;
7174 									i_17 = (NI)0;
7175 									colontmp__9 = (NI)0;
7176 									colontmp__9 = safeLen__ast_3191(it);
7177 									i_18 = ((NI) 0);
7178 									{
7179 										while (1) {
7180 											if (!(i_18 < colontmp__9)) goto LA173;
7181 											i_17 = i_18;
7182 											x = (*it)._kind_6.sons->data[i_17];
7183 											createTypeBoundOps__sempass50_142(tracked, (*x).typ, (*x).info);
7184 											i_18 += ((NI) 1);
7185 										} LA173: ;
7186 									}
7187 								}
7188 							}
7189 						}
7190 						goto LA166_;
7191 						LA168_: ;
7192 						{
7193 							createTypeBoundOps__sempass50_142(tracked, (*it).typ, (*it).info);
7194 						}
7195 						LA166_: ;
7196 					}
7197 					LA164_: ;
7198 					i_16 += ((NI) 1);
7199 				} LA161: ;
7200 			}
7201 		}
7202 		T175_ = (NI)0;
7203 		T175_ = len__ast_3198(n);
7204 		loopBody = (*n)._kind_6.sons->data[(NI)(T175_ - ((NI) 1))];
7205 		{
7206 			NIM_BOOL T178_;
7207 			NI T180_;
7208 			T178_ = (NIM_BOOL)0;
7209 			T178_ = !(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
7210 			if (!(T178_)) goto LA179_;
7211 			T180_ = (NI)0;
7212 			T180_ = safeLen__ast_3191(iterCall);
7213 			T178_ = (((NI) 1) < T180_);
7214 			LA179_: ;
7215 			if (!T178_) goto LA181_;
7216 			{
7217 				NIM_BOOL T185_;
7218 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T187_;
7219 				T185_ = (NIM_BOOL)0;
7220 				T185_ = !(((*(*iterCall)._kind_6.sons->data[((NI) 1)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7221 				if (!(T185_)) goto LA186_;
7222 				T187_ = NIM_NIL;
7223 				T187_ = skipTypes__ast_3735((*(*iterCall)._kind_6.sons->data[((NI) 1)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_23);
7224 				T185_ = !(((*T187_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48) || (*T187_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27)));
7225 				LA186_: ;
7226 				if (!T185_) goto LA188_;
7227 				createTypeBoundOps__sempass50_142(tracked, (*(*iterCall)._kind_6.sons->data[((NI) 1)]).typ, (*(*iterCall)._kind_6.sons->data[((NI) 1)]).info);
7228 			}
7229 			LA188_: ;
7230 		}
7231 		LA181_: ;
7232 		track__sempass50_2338(tracked, iterCall);
7233 		track__sempass50_2338(tracked, loopBody);
7234 		unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState_2))));
7235 		unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts_2))));
7236 	}
7237 	break;
7238 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
7239 	{
7240 		NI oldFacts_3;
7241 		NI T191_;
7242 		T191_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
7243 		oldFacts_3 = T191_;
7244 		{
7245 			NI i_19;
7246 			NI colontmp__10;
7247 			NI i_20;
7248 			i_19 = (NI)0;
7249 			colontmp__10 = (NI)0;
7250 			colontmp__10 = len__ast_3198(n);
7251 			i_20 = ((NI) 1);
7252 			{
7253 				while (1) {
7254 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_2;
7255 					if (!(i_20 < colontmp__10)) goto LA194;
7256 					i_19 = i_20;
7257 					x_2 = (*n)._kind_6.sons->data[i_19];
7258 					track__sempass50_2338(tracked, x_2);
7259 					{
7260 						NIM_BOOL T197_;
7261 						T197_ = (NIM_BOOL)0;
7262 						T197_ = ((*(*x_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7263 						if (!(T197_)) goto LA198_;
7264 						T197_ = (((*(*(*x_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 20))&63U)))!=0);
7265 						LA198_: ;
7266 						if (!T197_) goto LA199_;
7267 						addDiscriminantFact__guards_1717((&(*tracked).guards), x_2);
7268 					}
7269 					LA199_: ;
7270 					{
7271 						if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA203_;
7272 						createTypeBoundOps__sempass50_142(tracked, (*(*x_2)._kind_6.sons->data[((NI) 1)]).typ, (*n).info);
7273 					}
7274 					LA203_: ;
7275 					{
7276 						if (!((*x_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA207_;
7277 						{
7278 							if (!((*(*x_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA211_;
7279 							notNilCheck__sempass50_2659(tracked, (*x_2)._kind_6.sons->data[((NI) 1)], (*(*(*x_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ);
7280 						}
7281 						LA211_: ;
7282 						checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*x_2)._kind_6.sons->data[((NI) 1)]);
7283 					}
7284 					goto LA205_;
7285 					LA207_: ;
7286 					{
7287 						checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, x_2);
7288 					}
7289 					LA205_: ;
7290 					i_20 += ((NI) 1);
7291 				} LA194: ;
7292 			}
7293 		}
7294 		unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts_3))));
7295 		{
7296 			if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA216_;
7297 			{
7298 				NIM_BOOL T220_;
7299 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T222_;
7300 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T225_;
7301 				T220_ = (NIM_BOOL)0;
7302 				T220_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7303 				if (!(T220_)) goto LA221_;
7304 				T222_ = NIM_NIL;
7305 				T222_ = skipTypes__ast_3735((*n).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
7306 				T220_ = ((*T222_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
7307 				LA221_: ;
7308 				if (!T220_) goto LA223_;
7309 				T225_ = NIM_NIL;
7310 				T225_ = lastSon__ast_3743((*n).typ);
7311 				createTypeBoundOps__sempass50_142(tracked, T225_, (*n).info);
7312 			}
7313 			LA223_: ;
7314 			createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7315 		}
7316 		LA216_: ;
7317 	}
7318 	break;
7319 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
7320 	{
7321 		{
7322 			NI i_21;
7323 			NI colontmp__11;
7324 			NI i_22;
7325 			i_21 = (NI)0;
7326 			colontmp__11 = (NI)0;
7327 			colontmp__11 = len__ast_3198(n);
7328 			i_22 = ((NI) 0);
7329 			{
7330 				while (1) {
7331 					if (!(i_22 < colontmp__11)) goto LA229;
7332 					i_21 = i_22;
7333 					track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_21]);
7334 					{
7335 						if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA232_;
7336 						{
7337 							if (!((*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA236_;
7338 							createTypeBoundOps__sempass50_142(tracked, (*(*(*n)._kind_6.sons->data[i_21])._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
7339 						}
7340 						goto LA234_;
7341 						LA236_: ;
7342 						{
7343 							createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[i_21]).typ, (*n).info);
7344 						}
7345 						LA234_: ;
7346 					}
7347 					LA232_: ;
7348 					checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*n)._kind_6.sons->data[i_21]);
7349 					i_22 += ((NI) 1);
7350 				} LA229: ;
7351 			}
7352 		}
7353 	}
7354 	break;
7355 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
7356 	{
7357 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaList;
7358 		tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA bc;
7359 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T248_;
7360 		pragmaList = (*n)._kind_6.sons->data[((NI) 0)];
7361 		nimZeroMem((void*)(&bc), sizeof(tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA));
7362 		createBlockContext__sempass50_3741(tracked, (&bc));
7363 		{
7364 			NI i_23;
7365 			NI colontmp__12;
7366 			NI i_24;
7367 			i_23 = (NI)0;
7368 			colontmp__12 = (NI)0;
7369 			colontmp__12 = len__ast_3198(pragmaList);
7370 			i_24 = ((NI) 0);
7371 			{
7372 				while (1) {
7373 					tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw pragma;
7374 					if (!(i_24 < colontmp__12)) goto LA242;
7375 					i_23 = i_24;
7376 					pragma = whichPragma__trees_244((*pragmaList)._kind_6.sons->data[i_23]);
7377 					switch (pragma) {
7378 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 221):
7379 					{
7380 						lockLocations__sempass50_206(tracked, (*pragmaList)._kind_6.sons->data[i_23]);
7381 					}
7382 					break;
7383 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 110):
7384 					{
7385 						bc.enforcedGcSafety = NIM_TRUE;
7386 					}
7387 					break;
7388 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 109):
7389 					{
7390 						bc.enforceNoSideEffects = NIM_TRUE;
7391 					}
7392 					break;
7393 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 9):
7394 					{
7395 						castBlock__sempass50_3790(tracked, (*(*pragmaList)._kind_6.sons->data[i_23])._kind_6.sons->data[((NI) 1)], (&bc));
7396 					}
7397 					break;
7398 					default:
7399 					{
7400 					}
7401 					break;
7402 					}
7403 					i_24 += ((NI) 1);
7404 				} LA242: ;
7405 			}
7406 		}
7407 		applyBlockContext__sempass50_3762(tracked, bc);
7408 		T248_ = NIM_NIL;
7409 		T248_ = lastSon__ast_4832(n);
7410 		track__sempass50_2338(tracked, T248_);
7411 		unapplyBlockContext__sempass50_3765(tracked, bc);
7412 	}
7413 	break;
7414 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
7415 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
7416 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
7417 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
7418 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
7419 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
7420 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
7421 	{
7422 		{
7423 			NIM_BOOL T252_;
7424 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T256_;
7425 			T252_ = (NIM_BOOL)0;
7426 			T252_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7427 			if (!(T252_)) goto LA253_;
7428 			T252_ = !(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7429 			LA253_: ;
7430 			if (!T252_) goto LA254_;
7431 			T256_ = NIM_NIL;
7432 			T256_ = getBody__modulegraphs_11241((*tracked).graph, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
7433 			trackInnerProc__sempass50_3814(tracked, T256_);
7434 		}
7435 		LA254_: ;
7436 	}
7437 	break;
7438 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
7439 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
7440 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
7441 	{
7442 	}
7443 	break;
7444 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
7445 	{
7446 		{
7447 			NI T261_;
7448 			T261_ = (NI)0;
7449 			T261_ = len__ast_3198(n);
7450 			if (!(T261_ == ((NI) 2))) goto LA262_;
7451 			track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
7452 			{
7453 				if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA266_;
7454 				createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7455 			}
7456 			LA266_: ;
7457 		}
7458 		LA262_: ;
7459 	}
7460 	break;
7461 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
7462 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
7463 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
7464 	{
7465 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
7466 		{
7467 			NIM_BOOL T271_;
7468 			NIM_BOOL T272_;
7469 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T274_;
7470 			NIM_BOOL T276_;
7471 			NimStringDesc* T279_;
7472 			NimStringDesc* T280_;
7473 			T271_ = (NIM_BOOL)0;
7474 			T272_ = (NIM_BOOL)0;
7475 			T272_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59));
7476 			if (!(T272_)) goto LA273_;
7477 			T274_ = NIM_NIL;
7478 			T274_ = skipTypes__ast_3735((*n).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
7479 			T272_ = ((*T274_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29));
7480 			LA273_: ;
7481 			T271_ = T272_;
7482 			if (!(T271_)) goto LA275_;
7483 			T276_ = (NIM_BOOL)0;
7484 			T276_ = allowCStringConv__sempass50_3856((*n)._kind_6.sons->data[((NI) 1)]);
7485 			T271_ = !(T276_);
7486 			LA275_: ;
7487 			if (!T271_) goto LA277_;
7488 			T279_ = NIM_NIL;
7489 			T279_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
7490 			T280_ = NIM_NIL;
7491 			T280_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_75), T279_);
7492 			liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 65), T280_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_76, NIM_FALSE);
7493 		}
7494 		LA277_: ;
7495 		t = skipTypes__ast_3735((*n).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
7496 		{
7497 			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA283_;
7498 			{
7499 				NimStringDesc* T289_;
7500 				NimStringDesc* T290_;
7501 				if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5))&63U)))!=0)) goto LA287_;
7502 				T289_ = NIM_NIL;
7503 				T289_ = dollar___renderer_2106(n);
7504 				T290_ = NIM_NIL;
7505 				T290_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_77), T289_);
7506 				liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 64), T290_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_78, NIM_FALSE);
7507 			}
7508 			goto LA285_;
7509 			LA287_: ;
7510 			{
7511 				NimStringDesc* T292_;
7512 				NimStringDesc* T293_;
7513 				T292_ = NIM_NIL;
7514 				T292_ = dollar___renderer_2106(n);
7515 				T293_ = NIM_NIL;
7516 				T293_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_79), T292_);
7517 				liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 63), T293_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_80, NIM_FALSE);
7518 			}
7519 			LA285_: ;
7520 		}
7521 		LA283_: ;
7522 		{
7523 			NI T296_;
7524 			T296_ = (NI)0;
7525 			T296_ = len__ast_3198(n);
7526 			if (!(T296_ == ((NI) 2))) goto LA297_;
7527 			track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
7528 			{
7529 				if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA301_;
7530 				createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7531 				{
7532 					if (!!(((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)))) goto LA305_;
7533 					createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
7534 				}
7535 				LA305_: ;
7536 			}
7537 			LA301_: ;
7538 			{
7539 				if (!(((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0)) goto LA309_;
7540 				checkRange__sempass50_3350(tracked, (*n)._kind_6.sons->data[((NI) 1)], (*n).typ);
7541 			}
7542 			LA309_: ;
7543 		}
7544 		LA297_: ;
7545 	}
7546 	break;
7547 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
7548 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
7549 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
7550 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
7551 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
7552 	{
7553 		{
7554 			NI T314_;
7555 			T314_ = (NI)0;
7556 			T314_ = len__ast_3198(n);
7557 			if (!(T314_ == ((NI) 1))) goto LA315_;
7558 			track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
7559 			{
7560 				if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA319_;
7561 				createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7562 				createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*(*n)._kind_6.sons->data[((NI) 0)]).info);
7563 			}
7564 			LA319_: ;
7565 			{
7566 				if (!(((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0)) goto LA323_;
7567 				checkRange__sempass50_3350(tracked, (*n)._kind_6.sons->data[((NI) 0)], (*n).typ);
7568 			}
7569 			LA323_: ;
7570 		}
7571 		LA315_: ;
7572 	}
7573 	break;
7574 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
7575 	{
7576 		{
7577 			NI i_25;
7578 			NI colontmp__13;
7579 			NI i_26;
7580 			i_25 = (NI)0;
7581 			colontmp__13 = (NI)0;
7582 			colontmp__13 = safeLen__ast_3191(n);
7583 			i_26 = ((NI) 0);
7584 			{
7585 				while (1) {
7586 					if (!(i_26 < colontmp__13)) goto LA328;
7587 					i_25 = i_26;
7588 					track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_25]);
7589 					checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*n)._kind_6.sons->data[i_25]);
7590 					i_26 += ((NI) 1);
7591 				} LA328: ;
7592 			}
7593 		}
7594 		{
7595 			if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA331_;
7596 			createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7597 		}
7598 		LA331_: ;
7599 	}
7600 	break;
7601 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
7602 	{
7603 		{
7604 			NIM_BOOL T336_;
7605 			NI T338_;
7606 			T336_ = (NIM_BOOL)0;
7607 			T336_ = (((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
7608 			if (!(T336_)) goto LA337_;
7609 			T338_ = (NI)0;
7610 			T338_ = len__ast_3198(n);
7611 			T336_ = (T338_ == ((NI) 2));
7612 			LA337_: ;
7613 			if (!T336_) goto LA339_;
7614 			{
7615 				NIM_BOOL T343_;
7616 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T345_;
7617 				T343_ = (NIM_BOOL)0;
7618 				T343_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7619 				if (!(T343_)) goto LA344_;
7620 				T345_ = NIM_NIL;
7621 				T345_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_23);
7622 				T343_ = !(((*T345_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)));
7623 				LA344_: ;
7624 				if (!T343_) goto LA346_;
7625 				checkBounds__sempass50_3346(tracked, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)]);
7626 			}
7627 			LA346_: ;
7628 		}
7629 		LA339_: ;
7630 		track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
7631 		(*tracked).leftPartOfAsgn -= ((NI) 1);
7632 		{
7633 			NI i_27;
7634 			NI colontmp__14;
7635 			NI i_28;
7636 			i_27 = (NI)0;
7637 			colontmp__14 = (NI)0;
7638 			colontmp__14 = len__ast_3198(n);
7639 			i_28 = ((NI) 1);
7640 			{
7641 				while (1) {
7642 					if (!(i_28 < colontmp__14)) goto LA350;
7643 					i_27 = i_28;
7644 					track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_27]);
7645 					i_28 += ((NI) 1);
7646 				} LA350: ;
7647 			}
7648 		}
7649 		(*tracked).leftPartOfAsgn += ((NI) 1);
7650 	}
7651 	break;
7652 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 161):
7653 	{
7654 		NimStringDesc* T352_;
7655 		T352_ = NIM_NIL;
7656 		T352_ = errorToString__errorhandling_107((*tracked).config, n);
7657 		liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T352_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_82, NIM_FALSE);
7658 	}
7659 	break;
7660 	default:
7661 	{
7662 		{
7663 			NI i_29;
7664 			NI colontmp__15;
7665 			NI i_30;
7666 			i_29 = (NI)0;
7667 			colontmp__15 = (NI)0;
7668 			colontmp__15 = safeLen__ast_3191(n);
7669 			i_30 = ((NI) 0);
7670 			{
7671 				while (1) {
7672 					if (!(i_30 < colontmp__15)) goto LA356;
7673 					i_29 = i_30;
7674 					track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_29]);
7675 					i_30 += ((NI) 1);
7676 				} LA356: ;
7677 			}
7678 		}
7679 	}
7680 	break;
7681 	}
7682 }
N_INLINE(NIM_BOOL,isClosure__ast_5019)7683 static N_INLINE(NIM_BOOL, isClosure__ast_5019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
7684 	NIM_BOOL result;
7685 	NIM_BOOL T1_;
7686 	result = (NIM_BOOL)0;
7687 	T1_ = (NIM_BOOL)0;
7688 	T1_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7689 	if (!(T1_)) goto LA2_;
7690 	T1_ = ((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
7691 	LA2_: ;
7692 	result = T1_;
7693 	return result;
7694 }
N_NIMCALL(void,patchResult__sempass50_3308)7695 N_LIB_PRIVATE N_NIMCALL(void, patchResult__sempass50_3308)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7696 	{
7697 		NIM_BOOL T3_;
7698 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn;
7699 		T3_ = (NIM_BOOL)0;
7700 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7701 		if (!(T3_)) goto LA4_;
7702 		T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
7703 		LA4_: ;
7704 		if (!T3_) goto LA5_;
7705 		fn = (*c).owner;
7706 		{
7707 			NIM_BOOL T9_;
7708 			NIM_BOOL T10_;
7709 			NIM_BOOL T11_;
7710 			NI T15_;
7711 			T9_ = (NIM_BOOL)0;
7712 			T10_ = (NIM_BOOL)0;
7713 			T11_ = (NIM_BOOL)0;
7714 			T11_ = !((fn == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7715 			if (!(T11_)) goto LA12_;
7716 			T11_ = ((520192 &((NU32)1<<((NU)((*fn).kind)&31U)))!=0);
7717 			LA12_: ;
7718 			T10_ = T11_;
7719 			if (!(T10_)) goto LA13_;
7720 			T10_ = !(((*fn).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7721 			LA13_: ;
7722 			T9_ = T10_;
7723 			if (!(T9_)) goto LA14_;
7724 			T15_ = (NI)0;
7725 			T15_ = len__ast_3198((*fn).ast);
7726 			T9_ = (((NI) 7) < T15_);
7727 			LA14_: ;
7728 			if (!T9_) goto LA16_;
7729 			asgnRef((void**) (&(*n)._kind_4.sym), (*(*(*fn).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym);
7730 		}
7731 		goto LA7_;
7732 		LA16_: ;
7733 		{
7734 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_85), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_86, NIM_FALSE);
7735 		}
7736 		LA7_: ;
7737 	}
7738 	goto LA1_;
7739 	LA5_: ;
7740 	{
7741 		{
7742 			NI i;
7743 			NI colontmp_;
7744 			NI i_2;
7745 			i = (NI)0;
7746 			colontmp_ = (NI)0;
7747 			colontmp_ = safeLen__ast_3191(n);
7748 			i_2 = ((NI) 0);
7749 			{
7750 				while (1) {
7751 					if (!(i_2 < colontmp_)) goto LA22;
7752 					i = i_2;
7753 					patchResult__sempass50_3308(c, (*n)._kind_6.sons->data[i]);
7754 					i_2 += ((NI) 1);
7755 				} LA22: ;
7756 			}
7757 		}
7758 	}
7759 	LA1_: ;
7760 }
N_NIMCALL(void,listGcUnsafety__sempass50_386)7761 N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass50_386)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL onlyWarning, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleCheck, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
7762 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* u;
7763 	u = (*s)._kind_1.gcUnsafetyReason;
7764 	{
7765 		NIM_BOOL T3_;
7766 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym63_;
7767 		NIM_BOOL T5_;
7768 		tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msgKind;
7769 		T3_ = (NIM_BOOL)0;
7770 		T3_ = !((u == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7771 		if (!(T3_)) goto LA4_;
7772 		xX60gensym63_ = u;
7773 		T5_ = (NIM_BOOL)0;
7774 		T5_ = containsOrIncl__astalgo_402(cycleCheck, (NI)((NI)((NU32)(((NI) ((*xX60gensym63_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym63_).Sup.itemId.item))));
7775 		T3_ = !(T5_);
7776 		LA4_: ;
7777 		if (!T3_) goto LA6_;
7778 		{
7779 			if (!onlyWarning) goto LA10_;
7780 			msgKind = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 48);
7781 		}
7782 		goto LA8_;
7783 		LA10_: ;
7784 		{
7785 			msgKind = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14);
7786 		}
7787 		LA8_: ;
7788 		switch ((*u).kind) {
7789 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
7790 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
7791 		{
7792 			{
7793 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
7794 				tyArray__Re75IspeoxXy2oCZHwcRrA T19_;
7795 				NimStringDesc* T20_;
7796 				T16_ = NIM_NIL;
7797 				T16_ = skipTypes__ast_3735((*u).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
7798 				if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA17_;
7799 				nimZeroMem((void*)T19_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7800 				T19_[0] = copyString((*(*s).name).s);
7801 				T19_[1] = copyString((*(*u).name).s);
7802 				T20_ = NIM_NIL;
7803 				T20_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_87), T19_, 2);
7804 				liMessage__msgs_1118(conf, (*s).info, msgKind, T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_88, NIM_FALSE);
7805 			}
7806 			goto LA14_;
7807 			LA17_: ;
7808 			{
7809 				tyArray__Re75IspeoxXy2oCZHwcRrA T22_;
7810 				NimStringDesc* T23_;
7811 				nimZeroMem((void*)T22_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7812 				T22_[0] = copyString((*(*s).name).s);
7813 				T22_[1] = copyString((*(*u).name).s);
7814 				T23_ = NIM_NIL;
7815 				T23_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_89), T22_, 2);
7816 				liMessage__msgs_1118(conf, (*s).info, msgKind, T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_90, NIM_FALSE);
7817 			}
7818 			LA14_: ;
7819 		}
7820 		break;
7821 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
7822 		{
7823 			tyArray__Re75IspeoxXy2oCZHwcRrA T25_;
7824 			NimStringDesc* T26_;
7825 			listGcUnsafety__sempass50_386(u, NIM_TRUE, cycleCheck, conf);
7826 			nimZeroMem((void*)T25_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7827 			T25_[0] = copyString((*(*s).name).s);
7828 			T25_[1] = copyString((*(*u).name).s);
7829 			T26_ = NIM_NIL;
7830 			T26_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_87), T25_, 2);
7831 			liMessage__msgs_1118(conf, (*s).info, msgKind, T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_91, NIM_FALSE);
7832 		}
7833 		break;
7834 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
7835 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
7836 		{
7837 			tyArray__Re75IspeoxXy2oCZHwcRrA T28_;
7838 			NimStringDesc* T29_;
7839 			nimZeroMem((void*)T28_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7840 			T28_[0] = copyString((*(*s).name).s);
7841 			T28_[1] = copyString((*(*u).name).s);
7842 			T29_ = NIM_NIL;
7843 			T29_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_92), T28_, 2);
7844 			liMessage__msgs_1118(conf, (*s).info, msgKind, T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_93, NIM_FALSE);
7845 		}
7846 		break;
7847 		default:
7848 		{
7849 			NimStringDesc* T31_;
7850 			T31_ = NIM_NIL;
7851 			T31_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_94), (*(*s).name).s);
7852 			liMessage__msgs_1118(conf, (*u).info, msgKind, T31_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_95, NIM_FALSE);
7853 		}
7854 		break;
7855 		}
7856 	}
7857 	LA6_: ;
7858 }
N_NIMCALL(void,listGcUnsafety__sempass50_411)7859 N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass50_411)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL onlyWarning, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
7860 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA cycleCheck;
7861 	nimZeroMem((void*)(&cycleCheck), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
7862 	initIntSet__pureZcollectionsZintsets_238((&cycleCheck));
7863 	listGcUnsafety__sempass50_386(s, onlyWarning, (&cycleCheck), conf);
7864 }
N_NIMCALL(NIM_BOOL,hasKey__sempass50_484)7865 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__sempass50_484)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key) {
7866 	NIM_BOOL result;
7867 	NI hc;
7868 	NI T1_;
7869 	result = (NIM_BOOL)0;
7870 	hc = (NI)0;
7871 	T1_ = (NI)0;
7872 	T1_ = rawGet__sempass50_491(t, key, (&hc));
7873 	result = (((NI) 0) <= T1_);
7874 	return result;
7875 }
N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw **,X5BX5D___sempass50_821)7876 N_LIB_PRIVATE N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw**, X5BX5D___sempass50_821)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, NI key) {
7877 	tySequence__vGU8AyGT6KxtLJwEg0BpNw** result;
7878 	NI hcX60gensym22_;
7879 	NI indexX60gensym22_;
7880 	result = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
7881 	hcX60gensym22_ = (NI)0;
7882 	indexX60gensym22_ = rawGet__sempass50_491((*t), key, (&hcX60gensym22_));
7883 	{
7884 		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
7885 		result = (&(*t).data->data[indexX60gensym22_].Field2);
7886 	}
7887 	goto LA1_;
7888 	LA3_: ;
7889 	{
7890 		raiseKeyError__ast_1357(key);
7891 	}
7892 	LA1_: ;
7893 	return result;
7894 }
N_NIMCALL(void,listSideEffects__sempass50_416)7895 N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass50_416)(NimStringDesc** result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleCheck, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* context, NI indentLevel) {
7896 	{
7897 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym74_;
7898 		NIM_BOOL T3_;
7899 		xX60gensym74_ = s;
7900 		T3_ = (NIM_BOOL)0;
7901 		T3_ = hasKey__sempass50_484((*context).sideEffects, (NI)((NI)((NU32)(((NI) ((*xX60gensym74_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym74_).Sup.itemId.item))));
7902 		if (!T3_) goto LA4_;
7903 		{
7904 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q* useLineInfo;
7905 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** u;
7906 			tySequence__vGU8AyGT6KxtLJwEg0BpNw* colontmp_;
7907 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym77_;
7908 			tySequence__vGU8AyGT6KxtLJwEg0BpNw** T7_;
7909 			NI i;
7910 			NI L;
7911 			NI T8_;
7912 			useLineInfo = (tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q*)0;
7913 			u = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7914 			colontmp_ = NIM_NIL;
7915 			xX60gensym77_ = s;
7916 			T7_ = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
7917 			T7_ = X5BX5D___sempass50_821((&(*context).sideEffects), (NI)((NI)((NU32)(((NI) ((*xX60gensym77_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym77_).Sup.itemId.item))));
7918 			colontmp_ = (*T7_);
7919 			i = ((NI) 0);
7920 			T8_ = (colontmp_ ? colontmp_->Sup.len : 0);
7921 			L = T8_;
7922 			{
7923 				while (1) {
7924 					if (!(i < L)) goto LA10;
7925 					useLineInfo = (&colontmp_->data[i].Field0);
7926 					u = &colontmp_->data[i].Field1;
7927 					{
7928 						NIM_BOOL T13_;
7929 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym81_;
7930 						NIM_BOOL T15_;
7931 						T13_ = (NIM_BOOL)0;
7932 						T13_ = !(((*u) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7933 						if (!(T13_)) goto LA14_;
7934 						xX60gensym81_ = (*u);
7935 						T15_ = (NIM_BOOL)0;
7936 						T15_ = containsOrIncl__astalgo_402(cycleCheck, (NI)((NI)((NU32)(((NI) ((*xX60gensym81_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym81_).Sup.itemId.item))));
7937 						T13_ = !(T15_);
7938 						LA14_: ;
7939 						if (!T13_) goto LA16_;
7940 						switch ((*(*u)).kind) {
7941 						case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
7942 						case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
7943 						{
7944 							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T19_;
7945 							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T20_;
7946 							nimZeroMem((void*)T19_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7947 							T19_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) (indentLevel)));
7948 							T19_[1] = dollar___msgs_624(conf, (*useLineInfo));
7949 							T19_[2] = copyString((*(*s).name).s);
7950 							T19_[3] = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_101), (*(*(*u)).name).s);
7951 							nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T19_, 4);
7952 							nimZeroMem((void*)T20_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7953 							T20_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) ((NI)(indentLevel + ((NI) 1)))));
7954 							T20_[1] = dollar___msgs_624(conf, (*(*u)).info);
7955 							T20_[2] = copyString((*(*(*u)).name).s);
7956 							T20_[3] = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_102), (*(*s).name).s);
7957 							nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T20_, 4);
7958 						}
7959 						break;
7960 						case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
7961 						{
7962 							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T22_;
7963 							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T23_;
7964 							nimZeroMem((void*)T22_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7965 							T22_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) (indentLevel)));
7966 							T22_[1] = dollar___msgs_624(conf, (*useLineInfo));
7967 							T22_[2] = copyString((*(*s).name).s);
7968 							T22_[3] = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_103), (*(*(*u)).name).s);
7969 							nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T22_, 4);
7970 							nimZeroMem((void*)T23_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7971 							T23_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) ((NI)(indentLevel + ((NI) 1)))));
7972 							T23_[1] = dollar___msgs_624(conf, (*(*u)).info);
7973 							T23_[2] = copyString((*(*(*u)).name).s);
7974 							T23_[3] = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_104), (*(*s).name).s);
7975 							nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T23_, 4);
7976 							listSideEffects__sempass50_416(result, (*u), cycleCheck, conf, context, (NI)(indentLevel + ((NI) 2)));
7977 						}
7978 						break;
7979 						case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
7980 						case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
7981 						{
7982 							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T25_;
7983 							nimZeroMem((void*)T25_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7984 							T25_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) (indentLevel)));
7985 							T25_[1] = dollar___msgs_624(conf, (*useLineInfo));
7986 							T25_[2] = copyString((*(*s).name).s);
7987 							T25_[3] = copyString(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_105));
7988 							nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T25_, 4);
7989 						}
7990 						break;
7991 						default:
7992 						{
7993 							tyArray__sMpvt1sOxOJ3LFGulnbeMQ T27_;
7994 							nimZeroMem((void*)T27_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7995 							T27_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) (indentLevel)));
7996 							T27_[1] = dollar___msgs_624(conf, (*useLineInfo));
7997 							T27_[2] = copyString((*(*s).name).s);
7998 							T27_[3] = copyString(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_106));
7999 							nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T27_, 4);
8000 						}
8001 						break;
8002 						}
8003 					}
8004 					LA16_: ;
8005 					i += ((NI) 1);
8006 				} LA10: ;
8007 			}
8008 		}
8009 	}
8010 	LA4_: ;
8011 }
N_NIMCALL(void,listSideEffects__sempass50_953)8012 N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass50_953)(NimStringDesc** result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* context) {
8013 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA cycleCheck;
8014 	tyArray__nHXaesL0DJZHyVS07ARPRA T1_;
8015 	nimZeroMem((void*)(&cycleCheck), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8016 	initIntSet__pureZcollectionsZintsets_238((&cycleCheck));
8017 	nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
8018 	T1_[0] = copyString((*(*s).name).s);
8019 	nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_98), T1_, 1);
8020 	listSideEffects__sempass50_416(result, s, (&cycleCheck), conf, context, ((NI) 1));
8021 }
N_NIMCALL(void,trackProc__sempass50_4692)8022 N_LIB_PRIVATE N_NIMCALL(void, trackProc__sempass50_4692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body) {
8023 	tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
8024 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects;
8025 	NIM_BOOL emitWarnings;
8026 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inferredEffects;
8027 	tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA t;
8028 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
8029 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raisesSpec;
8030 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tagsSpec;
8031 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* requiresSpec;
8032 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ensuresSpec;
8033 	tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug mutationInfo;
8034 	NIM_BOOL hasMutationSideEffect;
8035 {	g = (*c).graph;
8036 	effects = (*(*(*s).typ).n)._kind_6.sons->data[((NI) 0)];
8037 	{
8038 		if (!!(((*effects).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)))) goto LA3_;
8039 		goto BeforeRet_;
8040 	}
8041 	LA3_: ;
8042 	{
8043 		NIM_BOOL T7_;
8044 		T7_ = (NIM_BOOL)0;
8045 		T7_ = hasRealBody__sempass50_4681(s);
8046 		if (!!(T7_)) goto LA8_;
8047 		goto BeforeRet_;
8048 	}
8049 	LA8_: ;
8050 	emitWarnings = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 44))&63U)))!=0);
8051 	{
8052 		NIM_BOOL T12_;
8053 		NI T13_;
8054 		T12_ = (NIM_BOOL)0;
8055 		T13_ = (NI)0;
8056 		T13_ = len__ast_3198(effects);
8057 		T12_ = (T13_ == ((NI) 5));
8058 		if (!(T12_)) goto LA14_;
8059 		T12_ = !(emitWarnings);
8060 		LA14_: ;
8061 		if (!T12_) goto LA15_;
8062 		goto BeforeRet_;
8063 	}
8064 	LA15_: ;
8065 	inferredEffects = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*s).info);
8066 	nimZeroMem((void*)(&t), sizeof(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA));
8067 	initEffects__sempass50_4653(g, inferredEffects, s, (&t), c);
8068 	rawInitEffects__sempass50_4641(g, effects);
8069 	track__sempass50_2338((&t), body);
8070 	{
8071 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
8072 		if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA19_;
8073 		params = (*(*s).typ).n;
8074 		{
8075 			NI i;
8076 			NI colontmp_;
8077 			NI i_2;
8078 			i = (NI)0;
8079 			colontmp_ = (NI)0;
8080 			colontmp_ = len__ast_3198(params);
8081 			i_2 = ((NI) 1);
8082 			{
8083 				while (1) {
8084 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
8085 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
8086 					if (!(i_2 < colontmp_)) goto LA23;
8087 					i = i_2;
8088 					param = (*(*params)._kind_6.sons->data[i])._kind_4.sym;
8089 					typ = (*param).typ;
8090 					{
8091 						NIM_BOOL T26_;
8092 						NIM_BOOL T28_;
8093 						NIM_BOOL T30_;
8094 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
8095 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym571_;
8096 						T26_ = (NIM_BOOL)0;
8097 						T26_ = isSinkTypeForParam__types_4046(typ);
8098 						if (T26_) goto LA27_;
8099 						T28_ = (NIM_BOOL)0;
8100 						T28_ = ((48 &((NU16)1<<((NU)((*t.config).selectedGC)&15U)))!=0);
8101 						if (!(T28_)) goto LA29_;
8102 						T30_ = (NIM_BOOL)0;
8103 						T31_ = NIM_NIL;
8104 						T31_ = skipTypes__ast_3735(typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
8105 						T30_ = isClosure__ast_5019(T31_);
8106 						if (T30_) goto LA32_;
8107 						xX60gensym571_ = param;
8108 						T30_ = contains__astalgo_3496((&t.escapingParams), (NI)((NI)((NU32)(((NI) ((*xX60gensym571_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym571_).Sup.itemId.item))));
8109 						LA32_: ;
8110 						T28_ = T30_;
8111 						LA29_: ;
8112 						T26_ = T28_;
8113 						LA27_: ;
8114 						if (!T26_) goto LA33_;
8115 						createTypeBoundOps__sempass50_142((&t), typ, (*param).info);
8116 					}
8117 					LA33_: ;
8118 					i_2 += ((NI) 1);
8119 				} LA23: ;
8120 			}
8121 		}
8122 	}
8123 	LA19_: ;
8124 	{
8125 		NIM_BOOL T37_;
8126 		NIM_BOOL T38_;
8127 		NIM_BOOL T39_;
8128 		NIM_BOOL T41_;
8129 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
8130 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res;
8131 		T37_ = (NIM_BOOL)0;
8132 		T38_ = (NIM_BOOL)0;
8133 		T39_ = (NIM_BOOL)0;
8134 		T39_ = isEmptyType__ast_4779((*(*s).typ).sons->data[((NI) 0)]);
8135 		T38_ = !(T39_);
8136 		if (!(T38_)) goto LA40_;
8137 		T41_ = (NIM_BOOL)0;
8138 		T41_ = requiresInit__typeallowed_578((*(*s).typ).sons->data[((NI) 0)]);
8139 		if (T41_) goto LA42_;
8140 		T43_ = NIM_NIL;
8141 		T43_ = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 0)], TM__wkTG4eaV3t1uo3x09apjcwA_30);
8142 		T41_ = ((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
8143 		LA42_: ;
8144 		T38_ = T41_;
8145 		LA40_: ;
8146 		T37_ = T38_;
8147 		if (!(T37_)) goto LA44_;
8148 		T37_ = ((94208 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
8149 		LA44_: ;
8150 		if (!T37_) goto LA45_;
8151 		res = (*(*(*s).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym;
8152 		{
8153 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym578_;
8154 			NIM_BOOL T49_;
8155 			xX60gensym578_ = res;
8156 			T49_ = (NIM_BOOL)0;
8157 			T49_ = contains__sigmatch_4299(t.init->data, (t.init ? t.init->Sup.len : 0), (NI)((NI)((NU32)(((NI) ((*xX60gensym578_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym578_).Sup.itemId.item))));
8158 			if (!!(T49_)) goto LA50_;
8159 			liMessage__msgs_1118((*g).config, (*body).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_83), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_84, NIM_FALSE);
8160 		}
8161 		LA50_: ;
8162 	}
8163 	LA45_: ;
8164 	p = (*(*s).ast)._kind_6.sons->data[((NI) 4)];
8165 	raisesSpec = effectSpec__trees_284(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174));
8166 	{
8167 		if (!!((raisesSpec == 0))) goto LA54_;
8168 		checkRaisesSpec__sempass50_4403(g, NIM_FALSE, raisesSpec, t.exc, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_7), NIM_TRUE, subtypeRelation__sempass50_4390, (*(*s).ast)._kind_6.sons->data[((NI) 0)]);
8169 		asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), raisesSpec);
8170 	}
8171 	goto LA52_;
8172 	LA54_: ;
8173 	{
8174 		asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), t.exc);
8175 	}
8176 	LA52_: ;
8177 	tagsSpec = effectSpec__trees_284(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179));
8178 	{
8179 		if (!!((tagsSpec == 0))) goto LA59_;
8180 		checkRaisesSpec__sempass50_4403(g, NIM_FALSE, tagsSpec, t.tags, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_10), NIM_FALSE, subtypeRelation__sempass50_4390, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8181 		asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), tagsSpec);
8182 	}
8183 	goto LA57_;
8184 	LA59_: ;
8185 	{
8186 		asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), t.tags);
8187 	}
8188 	LA57_: ;
8189 	requiresSpec = propSpec__trees_316(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 180));
8190 	{
8191 		if (!!((requiresSpec == 0))) goto LA64_;
8192 		asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 1)]), requiresSpec);
8193 	}
8194 	LA64_: ;
8195 	ensuresSpec = propSpec__trees_316(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 181));
8196 	{
8197 		if (!!((ensuresSpec == 0))) goto LA68_;
8198 		patchResult__sempass50_3308((&t), ensuresSpec);
8199 		asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 2)]), ensuresSpec);
8200 	}
8201 	LA68_: ;
8202 	nimZeroMem((void*)(&mutationInfo), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
8203 	nimZeroMem((void*)(&mutationInfo), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
8204 	hasMutationSideEffect = NIM_FALSE;
8205 	{
8206 		tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg goals;
8207 		tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag partitions;
8208 		if (!!(((12288 & (*c).features) == 0))) goto LA72_;
8209 		goals = 0;
8210 		{
8211 			if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 12))&31U)))!=0)) goto LA76_;
8212 			goals |= ((NU8)1)<<((((tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg) 0)) & 7);
8213 		}
8214 		LA76_: ;
8215 		{
8216 			if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0)) goto LA80_;
8217 			goals |= ((NU8)1)<<((((tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg) 1)) & 7);
8218 		}
8219 		LA80_: ;
8220 		nimZeroMem((void*)(&partitions), sizeof(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag));
8221 		computeGraphPartitions__varpartitions_1607(s, body, g, goals, (&partitions));
8222 		{
8223 			NIM_BOOL T84_;
8224 			T84_ = (NIM_BOOL)0;
8225 			T84_ = !(t.hasSideEffect);
8226 			if (!(T84_)) goto LA85_;
8227 			T84_ = t.hasDangerousAssign;
8228 			LA85_: ;
8229 			if (!T84_) goto LA86_;
8230 			t.hasSideEffect = hasSideEffect__varpartitions_131((&partitions), (&mutationInfo));
8231 			hasMutationSideEffect = t.hasSideEffect;
8232 		}
8233 		LA86_: ;
8234 		{
8235 			if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0)) goto LA90_;
8236 			checkBorrowedLocations__varpartitions_1719((&partitions), body, (*g).config);
8237 		}
8238 		LA90_: ;
8239 	}
8240 	LA72_: ;
8241 	{
8242 		NIM_BOOL T94_;
8243 		T94_ = (NIM_BOOL)0;
8244 		T94_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0);
8245 		if (!(T94_)) goto LA95_;
8246 		T94_ = t.gcUnsafe;
8247 		LA95_: ;
8248 		if (!T94_) goto LA96_;
8249 		{
8250 			NIM_BOOL T100_;
8251 			T100_ = (NIM_BOOL)0;
8252 			T100_ = (((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 23))&63U)))!=0);
8253 			if (!(T100_)) goto LA101_;
8254 			T100_ = (((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 25))&63U)))!=0);
8255 			LA101_: ;
8256 			if (!T100_) goto LA102_;
8257 			listGcUnsafety__sempass50_411(s, NIM_FALSE, (*g).config);
8258 		}
8259 		goto LA98_;
8260 		LA102_: ;
8261 		{
8262 			listGcUnsafety__sempass50_411(s, NIM_TRUE, (*g).config);
8263 		}
8264 		LA98_: ;
8265 	}
8266 	LA96_: ;
8267 	{
8268 		NIM_BOOL T107_;
8269 		T107_ = (NIM_BOOL)0;
8270 		T107_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 12))&63U)))!=0);
8271 		if (!(T107_)) goto LA108_;
8272 		T107_ = t.hasSideEffect;
8273 		LA108_: ;
8274 		if (!T107_) goto LA109_;
8275 		{
8276 			tyArray__Re75IspeoxXy2oCZHwcRrA T115_;
8277 			NimStringDesc* T116_;
8278 			if (!hasMutationSideEffect) goto LA113_;
8279 			nimZeroMem((void*)T115_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
8280 			T115_[0] = copyString((*(*s).name).s);
8281 			T115_[1] = dollar___varpartitions_108((*g).config, (&mutationInfo));
8282 			T116_ = NIM_NIL;
8283 			T116_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_96), T115_, 2);
8284 			liMessage__msgs_1118((*g).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T116_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_97, NIM_FALSE);
8285 		}
8286 		goto LA111_;
8287 		LA113_: ;
8288 		{
8289 			NimStringDesc* msg;
8290 			if (!((*c).compilesContextId == ((NI) 0))) goto LA118_;
8291 			msg = ((NimStringDesc*) NIM_NIL);
8292 			listSideEffects__sempass50_953((&msg), s, (*g).config, t.c);
8293 			liMessage__msgs_1118((*g).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_107, NIM_FALSE);
8294 		}
8295 		goto LA111_;
8296 		LA118_: ;
8297 		{
8298 			liMessage__msgs_1118((*g).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_108, NIM_FALSE);
8299 		}
8300 		LA111_: ;
8301 	}
8302 	LA109_: ;
8303 	{
8304 		if (!!(t.gcUnsafe)) goto LA123_;
8305 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7)) & 63);
8306 	}
8307 	LA123_: ;
8308 	{
8309 		NIM_BOOL T127_;
8310 		T127_ = (NIM_BOOL)0;
8311 		T127_ = !(t.hasSideEffect);
8312 		if (!(T127_)) goto LA128_;
8313 		T127_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 13))&63U)))!=0));
8314 		LA128_: ;
8315 		if (!T127_) goto LA129_;
8316 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1)) & 63);
8317 	}
8318 	LA129_: ;
8319 	{
8320 		if (!((*(*s).typ).lockLevel == ((NI16) -1))) goto LA133_;
8321 		(*(*s).typ).lockLevel = t.maxLockLevel;
8322 	}
8323 	goto LA131_;
8324 	LA133_: ;
8325 	{
8326 		tyArray__Re75IspeoxXy2oCZHwcRrA T138_;
8327 		NimStringDesc* T139_;
8328 		if (!((*(*s).typ).lockLevel < t.maxLockLevel)) goto LA136_;
8329 		nimZeroMem((void*)T138_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
8330 		T138_[0] = dollar___ast_3858((*(*s).typ).lockLevel);
8331 		T138_[1] = dollar___ast_3858(t.maxLockLevel);
8332 		T139_ = NIM_NIL;
8333 		T139_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_109), T138_, 2);
8334 		liMessage__msgs_1118((*g).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 52), T139_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_110, NIM_FALSE);
8335 	}
8336 	goto LA131_;
8337 	LA136_: ;
8338 	LA131_: ;
8339 	{
8340 		NIM_BOOL T142_;
8341 		T142_ = (NIM_BOOL)0;
8342 		T142_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 14))&31U)))!=0);
8343 		if (!(T142_)) goto LA143_;
8344 		T142_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
8345 		LA143_: ;
8346 		if (!T142_) goto LA144_;
8347 		checkNil__nilcheck_9345(s, body, (*g).config, (*c).Sup.idgen);
8348 	}
8349 	LA144_: ;
8350 	}BeforeRet_: ;
8351 }
N_NIMCALL(void,trackStmt__sempass50_4915)8352 N_LIB_PRIVATE N_NIMCALL(void, trackStmt__sempass50_4915)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isTopLevel) {
8353 	tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
8354 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects;
8355 	tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA t;
8356 {	{
8357 		if (!((TM__wkTG4eaV3t1uo3x09apjcwA_111[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) goto LA3_;
8358 		goto BeforeRet_;
8359 	}
8360 	LA3_: ;
8361 	g = (*c).graph;
8362 	effects = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n).info);
8363 	nimZeroMem((void*)(&t), sizeof(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA));
8364 	initEffects__sempass50_4653(g, effects, module, (&t), c);
8365 	t.isTopLevel = isTopLevel;
8366 	track__sempass50_2338((&t), n);
8367 	}BeforeRet_: ;
8368 }
8369