1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
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_3392)(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_5324)(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_5322)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1649 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5273)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1650 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5279)(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_5317)(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(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1683 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1684 static N_INLINE(NIM_BOOL, mustRehash__sempass50_1168)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t);
1685 N_LIB_PRIVATE N_NIMCALL(void, enlarge__sempass50_1321)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t);
1686 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);
1687 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1688 static N_INLINE(NI, rawGetKnownHC__sempass50_1794)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key, NI hc);
1689 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1824)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1690 N_LIB_PRIVATE N_NIMCALL(void, addRaiseEffect__sempass50_2237)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom);
1691 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefectException__types_4029)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1692 N_LIB_PRIVATE N_NIMCALL(void, throws__sempass50_2182)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
1693 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1694 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1695 N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__sempass50_142)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1696 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);
1697 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createRaise__sempass50_2223)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1698 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1699 N_LIB_PRIVATE N_NIMCALL(void, trackCall__sempass50_3367)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1700 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);
1701 N_LIB_PRIVATE N_NIMCALL(void, mergeLockLevels__sempass50_2606)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI16 lockLevel);
1702 N_LIB_PRIVATE N_NIMCALL(NI16, getLockLevel__sempass50_2591)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1703 N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass50_2877)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reason, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q useLoc);
1704 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);
1705 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1706 N_LIB_PRIVATE N_NIMCALL(void, propagateEffects__sempass50_2610)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1707 N_LIB_PRIVATE N_NIMCALL(void, mergeRaises__sempass50_2273)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom);
1708 N_LIB_PRIVATE N_NIMCALL(void, mergeTags__sempass50_2281)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom);
1709 N_LIB_PRIVATE N_NIMCALL(void, addTag__sempass50_2259)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom);
1710 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createTag__sempass50_2230)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1711 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
1712 N_LIB_PRIVATE N_NIMCALL(void, warnAboutGcUnsafe__sempass50_358)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1713 static N_INLINE(NIM_BOOL, isNoEffectList__sempass50_2756)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1714 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isForwardedProc__sempass50_2549)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1715 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIndirectCall__sempass50_2513)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1716 N_LIB_PRIVATE N_NIMCALL(void, assumeTheWorst__sempass50_2727)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* op);
1717 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, importedFromC__sempass50_2580)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1718 N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass50_368)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reason);
1719 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);
1720 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvCastAndClosure__astalgo_114)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1721 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1722 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1723 static N_INLINE(NIM_BOOL, isTrival__sempass50_2779)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caller);
1724 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedProcVar__sempass50_2732)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1725 N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_760)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1726 static N_INLINE(void, makeVolatile__sempass50_301)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1727 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1728 N_LIB_PRIVATE N_NIMCALL(void, notNilCheck__sempass50_2659)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType);
1729 N_LIB_PRIVATE N_NIMCALL(void, procVarCheck__sempass50_2639)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1730 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypesOrNil__ast_4185)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1731 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAddrNode__astalgo_4297)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1732 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNode__ast_4545)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kinds);
1733 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesNotNil__guards_1044)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
1734 N_LIB_PRIVATE N_NIMCALL(void, initVarViaNew__sempass50_341)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1735 N_LIB_PRIVATE N_NIMCALL(void, initVar__sempass50_312)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL volatileCheck);
1736 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1737 N_LIB_PRIVATE N_NIMCALL(void, checkBounds__sempass50_3346)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx);
1738 N_LIB_PRIVATE N_NIMCALL(void, checkLe__sempass50_3342)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1739 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, proveLe__guards_1619)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1740 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowBound__guards_261)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1741 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, highBound__guards_265)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1742 static N_INLINE(NI, find__sempass50_3619)(tyArray__JXkBzVsE9bvmcpuZvrueLVg a, NimStringDesc* item);
1743 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1744 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1745 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1746 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
1747 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
1748 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);
1749 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1750 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1751 N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
1752 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1753 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1754 N_LIB_PRIVATE N_NIMCALL(void, guardDotAccess__sempass50_237)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1755 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecord__astalgo_84)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field);
1756 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1757 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1758 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTree__guards_680)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1759 N_LIB_PRIVATE N_NIMCALL(void, checkFieldAccess__guards_1800)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1760 N_LIB_PRIVATE N_NIMCALL(void, trackTryStmt__sempass50_2341)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1761 N_LIB_PRIVATE N_NIMCALL(void, addToIntersection__sempass50_2160)(tySequence__8Np6tlClE5az1CyqZdN19bQ** inter, NI s);
1762 N_LIB_PRIVATE N_NIMCALL(void, catchesAll__sempass50_2326)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked);
1763 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1764 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_4935)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1765 N_LIB_PRIVATE N_NIMCALL(void, catches__sempass50_2293)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TType__facALICuu8zUj0hjvbTLFg* e);
1766 N_LIB_PRIVATE N_NIMCALL(void, trackPragmaStmt__sempass50_2560)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1767 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1768 N_LIB_PRIVATE N_NIMCALL(void, listEffects__sempass50_2289)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a);
1769 N_LIB_PRIVATE N_NIMCALL(void, addAsgnFact__guards_1730)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
1770 N_LIB_PRIVATE N_NIMCALL(void, trackCase__sempass50_3048)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1771 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, interestingCaseExpr__guards_114)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m);
1772 N_LIB_PRIVATE N_NIMCALL(void, addCaseBranchFacts__guards_1755)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
1773 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, breaksBlock__sempass50_3013)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1774 N_LIB_PRIVATE N_NIMCALL(void, trackIf__sempass50_3149)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1775 N_LIB_PRIVATE N_NIMCALL(void, addFact__guards_609)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn);
1776 N_LIB_PRIVATE N_NIMCALL(void, addFactNeg__guards_632)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1777 N_LIB_PRIVATE N_NIMCALL(void, trackBlock__sempass50_3265)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1778 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubnodeWith__ast_4570)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1779 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__trees_375)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1780 static N_INLINE(NIM_BOOL, fromSystem__astalgo_238)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op);
1781 N_LIB_PRIVATE N_NIMCALL(void, addFactLe__guards_1634)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1782 N_LIB_PRIVATE N_NIMCALL(void, addFactLt__guards_1642)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1783 N_LIB_PRIVATE N_NIMCALL(void, addDiscriminantFact__guards_1717)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1784 N_LIB_PRIVATE N_NIMCALL(void, createBlockContext__sempass50_3741)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* Result);
1785 N_LIB_PRIVATE N_NIMCALL(void, lockLocations__sempass50_206)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma);
1786 N_LIB_PRIVATE N_NIMCALL(NI16, getLockLevel__sempass50_182)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1787 N_LIB_PRIVATE N_NIMCALL(void, castBlock__sempass50_3790)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* bc);
1788 N_LIB_PRIVATE N_NIMCALL(void, applyBlockContext__sempass50_3762)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* bc);
1789 N_LIB_PRIVATE N_NIMCALL(void, unapplyBlockContext__sempass50_3765)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* bc);
1790 N_LIB_PRIVATE N_NIMCALL(void, trackInnerProc__sempass50_3814)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1791 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1792 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);
1793 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allowCStringConv__sempass50_3856)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1794 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCharArrayPtr__types_4087)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowPointerToChar);
1795 N_LIB_PRIVATE N_NIMCALL(void, checkRange__sempass50_3350)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1796 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, errorToString__errorhandling_107)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1797 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_4055)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1798 static N_INLINE(NIM_BOOL, isClosure__ast_5019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1799 N_LIB_PRIVATE N_NIMCALL(void, patchResult__sempass50_3308)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1800 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);
1801 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSideEffect__varpartitions_131)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* info);
1802 N_LIB_PRIVATE N_NIMCALL(void, checkBorrowedLocations__varpartitions_1719)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* par, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
1803 N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass50_411)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL onlyWarning, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1804 N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass50_386)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL onlyWarning, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleCheck, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1805 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1806 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___varpartitions_108)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g);
1807 N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass50_953)(NimStringDesc** result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* context);
1808 N_LIB_PRIVATE N_NIMCALL(void, nsuAddf)(NimStringDesc** s, NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1809 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);
1810 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__sempass50_484)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key);
1811 N_LIB_PRIVATE N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw**, X5BX5D___sempass50_821)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, NI key);
1812 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__ast_1357)(NI key) __attribute__((noreturn));
1813 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatStr)(NimStringDesc* s, NI n);
1814 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1815 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);
1816 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_2, " ", 1);
1817 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_4, "/home/runner/work/nightlies/nightlies/nim/compiler/sempass2.nim", 63);
1818 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_3 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1819 ((NI) 1288),
1820 ((NI) 13)}
1821 ;
1822 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_5, "\'$1\' cannot raise \'$2\'", 22);
1823 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_6 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1824 ((NI) 1295),
1825 ((NI) 15)}
1826 ;
1827 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_7, "can raise an unlisted exception: ", 33);
1828 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_8, "Exception", 9);
1829 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_9 = {
1830 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1831 0x00}
1832 ;
1833 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_10, "can have an unlisted effect: ", 29);
1834 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_11, "base method is GC-safe, but \'$1\' is not", 39);
1835 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_12 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1836 ((NI) 1313),
1837 ((NI) 14)}
1838 ;
1839 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_13, "base method has lock level $1, but dispatcher has $2", 52);
1840 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_14 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1841 ((NI) 1322),
1842 ((NI) 13)}
1843 ;
1844 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_15, "(", 1);
1845 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_16, ", ", 2);
1846 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_17, ")", 1);
1847 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_18 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1848 ((NI) 1335),
1849 ((NI) 19)}
1850 ;
1851 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1852 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1853 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1854 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_19 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1855 ((NI) 323),
1856 ((NI) 15)}
1857 ;
1858 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_20 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1859 ((NI) 325),
1860 ((NI) 15)}
1861 ;
1862 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_21, "unguarded access: ", 18);
1863 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_22 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1864 ((NI) 144),
1865 ((NI) 14)}
1866 ;
1867 extern NIM_CONST tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw routineKinds__ast_467;
1868 extern TNimType NTIkeyvaluepairseq__Hkw5zrAn53wlKDHdJF1GFA_;
1869 extern TNimType NTIseqLLtlineinfo_psymTT__vGU8AyGT6KxtLJwEg0BpNw_;
1870 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_23 = {
1871 0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
1872 0x00}
1873 ;
1874 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_24, "expected lock level < ", 22);
1875 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_25, " but got lock level ", 20);
1876 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_26 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1877 ((NI) 530),
1878 ((NI) 17)}
1879 ;
1880 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_27, "RootEffect", 10);
1881 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_28 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1882 ((NI) 209),
1883 ((NI) 9)}
1884 ;
1885 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_29 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1886 ((NI) 618),
1887 ((NI) 19)}
1888 ;
1889 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_30 = {
1890 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1891 0x00}
1892 ;
1893 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_31, " is not GC safe", 15);
1894 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_32 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1895 ((NI) 657),
1896 ((NI) 16)}
1897 ;
1898 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_33, "\'$1\' cannot be passed to a procvar", 34);
1899 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_34 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1900 ((NI) 554),
1901 ((NI) 14)}
1902 ;
1903 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_35 = {
1904 0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
1905 0x00}
1906 ;
1907 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__wkTG4eaV3t1uo3x09apjcwA_36 = {
1908 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
1909 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1910 0x00, 0x00, 0x00, 0x00, 0x00}
1911 ;
1912 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_37, "cannot prove \'$1\' is not nil", 28);
1913 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_38 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1914 ((NI) 577),
1915 ((NI) 15)}
1916 ;
1917 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_39, "\'$1\' is provably nil", 20);
1918 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_40 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1919 ((NI) 580),
1920 ((NI) 15)}
1921 ;
1922 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_41 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1923 ((NI) 875),
1924 ((NI) 17)}
1925 ;
1926 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_42, "cannot prove: ", 14);
1927 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_43, " <= ", 4);
1928 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_44 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1929 ((NI) 769),
1930 ((NI) 11)}
1931 ;
1932 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_45, "can prove: ", 11);
1933 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_46, " > ", 3);
1934 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_47 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1935 ((NI) 774),
1936 ((NI) 11)}
1937 ;
1938 extern NIM_CONST tyArray__JXkBzVsE9bvmcpuZvrueLVg AttachedOpToStr__ast_3848;
1939 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_48, "=", 1);
1940 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_49 = {
1941 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
1942 0x00}
1943 ;
1944 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_50, "could not turn \'$1\' to a sink parameter", 39);
1945 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_52, "/home/runner/work/nightlies/nightlies/nim/compiler/sinkparameter_inference.nim", 78);
1946 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_51 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_52),
1947 ((NI) 50),
1948 ((NI) 15)}
1949 ;
1950 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_53 = {
1951 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1952 0x00}
1953 ;
1954 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_54, "invalid guard field: ", 21);
1955 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_55 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1956 ((NI) 167),
1957 ((NI) 16)}
1958 ;
1959 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_56 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1960 ((NI) 180),
1961 ((NI) 14)}
1962 ;
1963 extern TNimType NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_;
1964 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_57 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1965 ((NI) 401),
1966 ((NI) 33)}
1967 ;
1968 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_58 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1969 ((NI) 402),
1970 ((NI) 33)}
1971 ;
1972 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_59, "_", 1);
1973 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_60 = {
1974 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1975 0x00}
1976 ;
1977 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_61, "..", 2);
1978 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_62, "countup", 7);
1979 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_63, "countdown", 9);
1980 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_64, "..<", 3);
1981 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_65, "locks pragma without argument", 29);
1982 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_66 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1983 ((NI) 115),
1984 ((NI) 14)}
1985 ;
1986 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_67, "invalid lock level: ", 20);
1987 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_68 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1988 ((NI) 122),
1989 ((NI) 18)}
1990 ;
1991 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_69, "multi-lock requires the same static lock level for every operand", 64);
1992 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_70 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1993 ((NI) 125),
1994 ((NI) 18)}
1995 ;
1996 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_71, "invalid nested locking", 22);
1997 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_72 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
1998 ((NI) 131),
1999 ((NI) 16)}
2000 ;
2001 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_73, "invalid pragma block: ", 22);
2002 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_74 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2003 ((NI) 976),
2004 ((NI) 14)}
2005 ;
2006 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);
2007 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_76 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2008 ((NI) 1216),
2009 ((NI) 13)}
2010 ;
2011 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_77, "conversion to enum with holes is unsafe: $1", 43);
2012 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_78 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2013 ((NI) 1223),
2014 ((NI) 15)}
2015 ;
2016 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_79, "enum conversion: $1", 19);
2017 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_80 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2018 ((NI) 1225),
2019 ((NI) 15)}
2020 ;
2021 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__wkTG4eaV3t1uo3x09apjcwA_81 = {
2022 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2023 0x00}
2024 ;
2025 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_82 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2026 ((NI) 1260),
2027 ((NI) 14)}
2028 ;
2029 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_83, "result", 6);
2030 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_84 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2031 ((NI) 1428),
2032 ((NI) 13)}
2033 ;
2034 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_85, "routine has no return type, but .requires contains \'result\'", 59);
2035 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_86 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2036 ((NI) 759),
2037 ((NI) 16)}
2038 ;
2039 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_87, "\'$#\' is not GC-safe as it calls \'$#\'", 36);
2040 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_88 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2041 ((NI) 249),
2042 ((NI) 15)}
2043 ;
2044 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_89, "\'$#\' is not GC-safe as it accesses \'$#\' which is a global using GC\'ed memory", 76);
2045 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_90 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2046 ((NI) 253),
2047 ((NI) 15)}
2048 ;
2049 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_91 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2050 ((NI) 260),
2051 ((NI) 13)}
2052 ;
2053 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_92, "\'$#\' is not GC-safe as it performs an indirect call via \'$#\'", 60);
2054 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_93 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2055 ((NI) 264),
2056 ((NI) 13)}
2057 ;
2058 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_94, "\'$#\' is not GC-safe as it performs an indirect call here", 56);
2059 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_95 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2060 ((NI) 268),
2061 ((NI) 13)}
2062 ;
2063 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_96, "\'$1\' can have side effects$2", 28);
2064 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_97 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2065 ((NI) 1481),
2066 ((NI) 18)}
2067 ;
2068 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_98, "\'$#\' can have side effects\012", 27);
2069 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_99, "$# $# Hint: \'$#\' $#\012", 20);
2070 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_100, ">", 1);
2071 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_101, "accesses global state \'$#\'", 26);
2072 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_102, "accessed by \'$#\'", 16);
2073 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_103, "calls `.sideEffect` \'$#\'", 24);
2074 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_104, "called by \'$#\'", 14);
2075 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_105, "calls routine via hidden pointer indirection", 44);
2076 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_106, "calls routine via pointer indirection", 37);
2077 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_107 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2078 ((NI) 1485),
2079 ((NI) 15)}
2080 ;
2081 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_108 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2082 ((NI) 1487),
2083 ((NI) 18)}
2084 ;
2085 STRING_LITERAL(TM__wkTG4eaV3t1uo3x09apjcwA_109, "declared lock level is $1, but real lock level is $2", 52);
2086 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wkTG4eaV3t1uo3x09apjcwA_110 = {((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_4),
2087 ((NI) 1496),
2088 ((NI) 11)}
2089 ;
2090 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__wkTG4eaV3t1uo3x09apjcwA_111 = {
2091 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2092 0x00, 0x80, 0x1f, 0x04, 0x04, 0x00, 0x00, 0x00,
2093 0x00, 0x00, 0x00, 0x80, 0x00}
2094 ;
2095 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5226;
N_INLINE(NI,len__ast_3198)2096 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2097 NI result;
2098 NI T1_;
2099 result = (NI)0;
2100 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2101 result = T1_;
2102 return result;
2103 }
N_INLINE(void,nimSetMem__systemZmemory_7)2104 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2105 void* T1_;
2106 T1_ = (void*)0;
2107 T1_ = memset(a, v, ((size_t) (size)));
2108 }
N_INLINE(void,nimZeroMem)2109 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2110 nimSetMem__systemZmemory_7(p, ((int) 0), size);
2111 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)2112 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2113 initPackedSet__pureZcollectionsZintsets_16(Result);
2114 }
N_INLINE(NI,safeLen__ast_3191)2115 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2116 NI result;
2117 result = (NI)0;
2118 {
2119 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
2120 result = ((NI) 0);
2121 }
2122 goto LA1_;
2123 LA3_: ;
2124 {
2125 result = len__ast_3198(n);
2126 }
2127 LA1_: ;
2128 return result;
2129 }
N_INLINE(void,nimCopyMem)2130 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2131 void* T1_;
2132 T1_ = (void*)0;
2133 T1_ = memcpy(dest, source, ((size_t) (size)));
2134 }
N_INLINE(void,copyMem__system_1727)2135 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2136 nimCopyMem(dest, source, size);
2137 }
N_INLINE(void,appendString)2138 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2139 {
2140 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2141 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2142 (*dest).Sup.len += (*src).Sup.len;
2143 }
2144 LA3_: ;
2145 }
N_NIMCALL(void,checkRaisesSpec__sempass50_4403)2146 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) {
2147 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA used;
2148 nimZeroMem((void*)(&used), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2149 initIntSet__pureZcollectionsZintsets_238((&used));
2150 {
2151 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
2152 r = NIM_NIL;
2153 {
2154 NI i;
2155 NI colontmp_;
2156 NI i_2;
2157 i = (NI)0;
2158 colontmp_ = (NI)0;
2159 colontmp_ = safeLen__ast_3191(real);
2160 i_2 = ((NI) 0);
2161 {
2162 while (1) {
2163 if (!(i_2 < colontmp_)) goto LA4;
2164 i = i_2;
2165 r = (*real)._kind_6.sons->data[i];
2166 {
2167 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rr;
2168 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w T24_;
2169 NimStringDesc* T30_;
2170 NimStringDesc* T31_;
2171 NimStringDesc* T32_;
2172 {
2173 NI s;
2174 NI colontmp__2;
2175 NI i_3;
2176 s = (NI)0;
2177 colontmp__2 = (NI)0;
2178 colontmp__2 = len__ast_3198(spec);
2179 i_3 = ((NI) 0);
2180 {
2181 while (1) {
2182 if (!(i_3 < colontmp__2)) goto LA8;
2183 s = i_3;
2184 {
2185 NIM_BOOL T11_;
2186 T11_ = (NIM_BOOL)0;
2187 T11_ = effectPredicate(g, (*spec)._kind_6.sons->data[s], r);
2188 if (!T11_) goto LA12_;
2189 incl__pureZcollectionsZintsets_55((&used), s);
2190 goto LA5;
2191 }
2192 LA12_: ;
2193 i_3 += ((NI) 1);
2194 } LA8: ;
2195 }
2196 }
2197 pushInfoContext__msgs_490((*g).config, (*spec).info, ((NimStringDesc*) NIM_NIL));
2198 {
2199 if (!((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108))) goto LA16_;
2200 rr = (*r)._kind_6.sons->data[((NI) 0)];
2201 }
2202 goto LA14_;
2203 LA16_: ;
2204 {
2205 rr = r;
2206 }
2207 LA14_: ;
2208 {
2209 while (1) {
2210 NIM_BOOL T21_;
2211 NI T23_;
2212 T21_ = (NIM_BOOL)0;
2213 T21_ = ((*rr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*rr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
2214 if (!(T21_)) goto LA22_;
2215 T23_ = (NI)0;
2216 T23_ = len__ast_3198(rr);
2217 T21_ = (((NI) 0) < T23_);
2218 LA22_: ;
2219 if (!T21_) goto LA20;
2220 rr = lastSon__ast_4832(rr);
2221 } LA20: ;
2222 }
2223 T24_ = (tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w)0;
2224 {
2225 if (!emitWarnings) goto LA27_;
2226 T24_ = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 66);
2227 }
2228 goto LA25_;
2229 LA27_: ;
2230 {
2231 T24_ = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14);
2232 }
2233 LA25_: ;
2234 T30_ = NIM_NIL;
2235 T31_ = NIM_NIL;
2236 T31_ = renderTree__renderer_46(rr, 0);
2237 T32_ = NIM_NIL;
2238 T32_ = typeToString__types_50((*r).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
2239 T30_ = rawNewString((T31_ ? T31_->Sup.len : 0) + (msg ? msg->Sup.len : 0) + (T32_ ? T32_->Sup.len : 0) + 1);
2240 appendString(T30_, T31_);
2241 appendString(T30_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_2));
2242 appendString(T30_, msg);
2243 appendString(T30_, T32_);
2244 liMessage__msgs_1118((*g).config, (*r).info, T24_, T30_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_3, NIM_FALSE);
2245 popInfoContext__msgs_507((*g).config);
2246 } LA5: ;
2247 i_2 += ((NI) 1);
2248 } LA4: ;
2249 }
2250 }
2251 }
2252 {
2253 if (!hints) goto LA35_;
2254 {
2255 NI s_2;
2256 NI colontmp__3;
2257 NI i_4;
2258 s_2 = (NI)0;
2259 colontmp__3 = (NI)0;
2260 colontmp__3 = len__ast_3198(spec);
2261 i_4 = ((NI) 0);
2262 {
2263 while (1) {
2264 if (!(i_4 < colontmp__3)) goto LA39;
2265 s_2 = i_4;
2266 {
2267 NIM_BOOL T42_;
2268 tyArray__Re75IspeoxXy2oCZHwcRrA T45_;
2269 NimStringDesc* T46_;
2270 T42_ = (NIM_BOOL)0;
2271 T42_ = contains__astalgo_3496((&used), s_2);
2272 if (!!(T42_)) goto LA43_;
2273 nimZeroMem((void*)T45_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
2274 T45_[0] = renderTree__renderer_46(hintsArg, 0);
2275 T45_[1] = renderTree__renderer_46((*spec)._kind_6.sons->data[s_2], 0);
2276 T46_ = NIM_NIL;
2277 T46_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_5), T45_, 2);
2278 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);
2279 }
2280 LA43_: ;
2281 i_4 += ((NI) 1);
2282 } LA39: ;
2283 }
2284 }
2285 }
2286 LA35_: ;
2287 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getEbase__sempass50_2207)2288 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getEbase__sempass50_2207)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2289 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
2290 result = NIM_NIL;
2291 result = sysTypeFromName__magicsys_55(g, info, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_8));
2292 return result;
2293 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,excType__sempass50_2211)2294 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, excType__sempass50_2211)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2295 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
2296 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2297 result = NIM_NIL;
2298 {
2299 NIM_BOOL T3_;
2300 T3_ = (NIM_BOOL)0;
2301 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
2302 if (T3_) goto LA4_;
2303 T3_ = ((*n).typ == 0);
2304 LA4_: ;
2305 if (!T3_) goto LA5_;
2306 t = getEbase__sempass50_2207(g, (*n).info);
2307 }
2308 goto LA1_;
2309 LA5_: ;
2310 {
2311 t = (*n).typ;
2312 }
2313 LA1_: ;
2314 result = skipTypes__ast_3735(t, TM__wkTG4eaV3t1uo3x09apjcwA_9);
2315 return result;
2316 }
N_NIMCALL(NIM_BOOL,subtypeRelation__sempass50_4390)2317 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, subtypeRelation__sempass50_4390)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* real) {
2318 NIM_BOOL result;
2319 { result = (NIM_BOOL)0;
2320 {
2321 if (!((*(*spec).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57))) goto LA3_;
2322 {
2323 tyObject_TType__facALICuu8zUj0hjvbTLFg** t;
2324 NI i;
2325 NI L;
2326 NI T6_;
2327 t = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
2328 i = ((NI) 0);
2329 T6_ = ((*(*spec).typ).sons ? (*(*spec).typ).sons->Sup.len : 0);
2330 L = T6_;
2331 {
2332 while (1) {
2333 if (!(i < L)) goto LA8;
2334 t = &(*(*spec).typ).sons->data[i];
2335 {
2336 tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
2337 NI T12_;
2338 T11_ = NIM_NIL;
2339 T11_ = excType__sempass50_2211(g, real);
2340 T12_ = (NI)0;
2341 T12_ = safeInheritanceDiff__types_3392(T11_, (*t));
2342 if (!(T12_ <= ((NI) 0))) goto LA13_;
2343 result = NIM_TRUE;
2344 goto BeforeRet_;
2345 }
2346 LA13_: ;
2347 i += ((NI) 1);
2348 } LA8: ;
2349 }
2350 }
2351 }
2352 goto LA1_;
2353 LA3_: ;
2354 {
2355 tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
2356 NI T17_;
2357 T16_ = NIM_NIL;
2358 T16_ = excType__sempass50_2211(g, real);
2359 T17_ = (NI)0;
2360 T17_ = safeInheritanceDiff__types_3392(T16_, (*spec).typ);
2361 result = (T17_ <= ((NI) 0));
2362 goto BeforeRet_;
2363 }
2364 LA1_: ;
2365 }BeforeRet_: ;
2366 return result;
2367 }
N_NIMCALL(void,checkMethodEffects__sempass50_4507)2368 N_LIB_PRIVATE N_NIMCALL(void, checkMethodEffects__sempass50_4507)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disp, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* branch) {
2369 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* actual;
2370 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
2371 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raisesSpec;
2372 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tagsSpec;
2373 { actual = (*(*(*branch).typ).n)._kind_6.sons->data[((NI) 0)];
2374 {
2375 NI T3_;
2376 T3_ = (NI)0;
2377 T3_ = len__ast_3198(actual);
2378 if (!!((T3_ == ((NI) 5)))) goto LA4_;
2379 goto BeforeRet_;
2380 }
2381 LA4_: ;
2382 p = (*(*disp).ast)._kind_6.sons->data[((NI) 4)];
2383 raisesSpec = effectSpec__trees_284(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174));
2384 {
2385 if (!!((raisesSpec == 0))) goto LA8_;
2386 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));
2387 }
2388 LA8_: ;
2389 tagsSpec = effectSpec__trees_284(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179));
2390 {
2391 if (!!((tagsSpec == 0))) goto LA12_;
2392 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));
2393 }
2394 LA12_: ;
2395 {
2396 NIM_BOOL T16_;
2397 NimStringDesc* T20_;
2398 T16_ = (NIM_BOOL)0;
2399 T16_ = (((*disp).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0);
2400 if (!(T16_)) goto LA17_;
2401 T16_ = ((130 & (*(*branch).typ).flags) == 0);
2402 LA17_: ;
2403 if (!T16_) goto LA18_;
2404 T20_ = NIM_NIL;
2405 T20_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_11), (*(*branch).name).s);
2406 liMessage__msgs_1118((*g).config, (*branch).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_12, NIM_FALSE);
2407 }
2408 LA18_: ;
2409 {
2410 tyArray__Re75IspeoxXy2oCZHwcRrA T25_;
2411 NimStringDesc* T26_;
2412 if (!((*(*disp).typ).lockLevel < (*(*branch).typ).lockLevel)) goto LA23_;
2413 nimZeroMem((void*)T25_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
2414 T25_[0] = dollar___ast_3858((*(*branch).typ).lockLevel);
2415 T25_[1] = dollar___ast_3858((*(*disp).typ).lockLevel);
2416 T26_ = NIM_NIL;
2417 T26_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_13), T25_, 2);
2418 liMessage__msgs_1118((*g).config, (*branch).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 52), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_14, NIM_FALSE);
2419 }
2420 LA23_: ;
2421 }BeforeRet_: ;
2422 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)2423 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
2424 addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
2425 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)2426 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
2427 NimStringDesc* result;
2428 result = NIM_NIL;
2429 result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
2430 appendString(result, info.Field0);
2431 {
2432 if (!(((NI) 0) < info.Field1)) goto LA3_;
2433 result = resizeString(result, 1);
2434 appendString(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_15));
2435 addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
2436 {
2437 if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
2438 result = resizeString(result, 2);
2439 appendString(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_16));
2440 addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
2441 }
2442 LA7_: ;
2443 result = resizeString(result, 1);
2444 appendString(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_17));
2445 }
2446 LA3_: ;
2447 return result;
2448 }
N_INLINE(NI,minuspercent___system_716)2449 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2450 NI result;
2451 result = (NI)0;
2452 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
2453 return result;
2454 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2455 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2456 NIM_BOOL result;
2457 result = (NIM_BOOL)0;
2458 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
2459 return result;
2460 }
N_INLINE(void,rtlAddZCT__system_5322)2461 static N_INLINE(void, rtlAddZCT__system_5322)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2462 addZCT__system_5273((&gch__system_5226.zct), c);
2463 }
N_INLINE(void,decRef__system_5324)2464 static N_INLINE(void, decRef__system_5324)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2465 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2466 {
2467 NIM_BOOL T3_;
2468 T3_ = (NIM_BOOL)0;
2469 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2470 if (!T3_) goto LA4_;
2471 rtlAddZCT__system_5322(c);
2472 }
2473 LA4_: ;
2474 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5279)2475 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5279)(void* usr) {
2476 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2477 NI T1_;
2478 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2479 T1_ = (NI)0;
2480 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
2481 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2482 return result;
2483 }
N_INLINE(void,nimGCunrefRC1)2484 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2485 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2486 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2487 T1_ = usrToCell__system_5279(p);
2488 decRef__system_5324(T1_);
2489 }
N_INLINE(NI,pluspercent___system_696)2490 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2491 NI result;
2492 result = (NI)0;
2493 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
2494 return result;
2495 }
N_INLINE(void,incRef__system_5317)2496 static N_INLINE(void, incRef__system_5317)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2497 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2498 }
N_INLINE(void,asgnRef)2499 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2500 {
2501 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2502 if (!!((src == NIM_NIL))) goto LA3_;
2503 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2504 T5_ = usrToCell__system_5279(src);
2505 incRef__system_5317(T5_);
2506 }
2507 LA3_: ;
2508 {
2509 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2510 if (!!(((*dest) == NIM_NIL))) goto LA8_;
2511 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2512 T10_ = usrToCell__system_5279((*dest));
2513 decRef__system_5324(T10_);
2514 }
2515 LA8_: ;
2516 (*dest) = src;
2517 }
N_NIMCALL(void,setEffectsForProcType__sempass50_4540)2518 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) {
2519 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects;
2520 { effects = (*(*t).n)._kind_6.sons->data[((NI) 0)];
2521 {
2522 NIM_BOOL T3_;
2523 T3_ = (NIM_BOOL)0;
2524 T3_ = !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25)));
2525 if (T3_) goto LA4_;
2526 T3_ = !(((*effects).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
2527 LA4_: ;
2528 if (!T3_) goto LA5_;
2529 goto BeforeRet_;
2530 }
2531 LA5_: ;
2532 {
2533 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raisesSpec;
2534 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tagsSpec;
2535 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* requiresSpec;
2536 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ensuresSpec;
2537 if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA9_;
2538 {
2539 NI T13_;
2540 NimStringDesc* argX60gensym540_;
2541 T13_ = (NI)0;
2542 T13_ = len__ast_3198(effects);
2543 if (!!((T13_ == ((NI) 0)))) goto LA14_;
2544 argX60gensym540_ = toFileLineCol__msgs_615(TM__wkTG4eaV3t1uo3x09apjcwA_18);
2545 internalErrorImpl__msgs_1431((*g).config, unknownLineInfo__lineinfos_280, argX60gensym540_, TM__wkTG4eaV3t1uo3x09apjcwA_18);
2546 }
2547 LA14_: ;
2548 if ((*effects)._kind_6.sons) { nimGCunrefRC1((*effects)._kind_6.sons); (*effects)._kind_6.sons = NIM_NIL; }
2549 (*effects)._kind_6.sons = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) 5));
2550 raisesSpec = effectSpec__trees_284(n, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174));
2551 {
2552 if (!!((raisesSpec == 0))) goto LA18_;
2553 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), raisesSpec);
2554 }
2555 goto LA16_;
2556 LA18_: ;
2557 {
2558 NIM_BOOL T21_;
2559 NIM_BOOL T23_;
2560 T21_ = (NIM_BOOL)0;
2561 T21_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2562 if (!(T21_)) goto LA22_;
2563 T23_ = (NIM_BOOL)0;
2564 T23_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
2565 if (T23_) goto LA24_;
2566 T23_ = ((192 & (*s).flags) == 64);
2567 LA24_: ;
2568 T21_ = T23_;
2569 LA22_: ;
2570 if (!T21_) goto LA25_;
2571 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*effects).info));
2572 }
2573 goto LA16_;
2574 LA25_: ;
2575 LA16_: ;
2576 tagsSpec = effectSpec__trees_284(n, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179));
2577 {
2578 if (!!((tagsSpec == 0))) goto LA29_;
2579 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), tagsSpec);
2580 }
2581 goto LA27_;
2582 LA29_: ;
2583 {
2584 NIM_BOOL T32_;
2585 NIM_BOOL T34_;
2586 T32_ = (NIM_BOOL)0;
2587 T32_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2588 if (!(T32_)) goto LA33_;
2589 T34_ = (NIM_BOOL)0;
2590 T34_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
2591 if (T34_) goto LA35_;
2592 T34_ = ((192 & (*s).flags) == 64);
2593 LA35_: ;
2594 T32_ = T34_;
2595 LA33_: ;
2596 if (!T32_) goto LA36_;
2597 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*effects).info));
2598 }
2599 goto LA27_;
2600 LA36_: ;
2601 LA27_: ;
2602 requiresSpec = propSpec__trees_316(n, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 180));
2603 {
2604 if (!!((requiresSpec == 0))) goto LA40_;
2605 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 1)]), requiresSpec);
2606 }
2607 LA40_: ;
2608 ensuresSpec = propSpec__trees_316(n, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 181));
2609 {
2610 if (!!((ensuresSpec == 0))) goto LA44_;
2611 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 2)]), ensuresSpec);
2612 }
2613 LA44_: ;
2614 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 4)]), n);
2615 }
2616 LA9_: ;
2617 {
2618 NIM_BOOL T48_;
2619 T48_ = (NIM_BOOL)0;
2620 T48_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2621 if (!(T48_)) goto LA49_;
2622 T48_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
2623 LA49_: ;
2624 if (!T48_) goto LA50_;
2625 {
2626 if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 20)))) goto LA54_;
2627 (*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1)) & 63);
2628 }
2629 LA54_: ;
2630 }
2631 LA50_: ;
2632 }BeforeRet_: ;
2633 }
N_NIMCALL(NIM_BOOL,hasRealBody__sempass50_4681)2634 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasRealBody__sempass50_4681)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2635 NIM_BOOL result;
2636 result = (NIM_BOOL)0;
2637 result = ((80 & (*s).flags) == 0);
2638 return result;
2639 }
N_NIMCALL(void,rawInitEffects__sempass50_4641)2640 N_LIB_PRIVATE N_NIMCALL(void, rawInitEffects__sempass50_4641)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects) {
2641 if ((*effects)._kind_6.sons) { nimGCunrefRC1((*effects)._kind_6.sons); (*effects)._kind_6.sons = NIM_NIL; }
2642 (*effects)._kind_6.sons = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) 5));
2643 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*effects).info));
2644 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*effects).info));
2645 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 1)]), (*g).emptyNode);
2646 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 2)]), (*g).emptyNode);
2647 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 4)]), (*g).emptyNode);
2648 }
N_NIMCALL(void,initEffects__sempass50_4653)2649 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) {
2650 rawInitEffects__sempass50_4641(g, effects);
2651 unsureAsgnRef((void**) (&(*t).exc), (*effects)._kind_6.sons->data[((NI) 0)]);
2652 unsureAsgnRef((void**) (&(*t).tags), (*effects)._kind_6.sons->data[((NI) 3)]);
2653 unsureAsgnRef((void**) (&(*t).owner), s);
2654 unsureAsgnRef((void**) (&(*t).ownerModule), getModule__astalgo_216(s));
2655 unsureAsgnRef((void**) (&(*t).init), NIM_NIL);
2656 unsureAsgnRef((void**) (&(*t).guards.s), NIM_NIL);
2657 unsureAsgnRef((void**) (&(*t).guards.g), g);
2658 (*t).currOptions = ((*(*g).config).options | (*s).options);
2659 (*t).guards.beSmart = (((*t).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
2660 unsureAsgnRef((void**) (&(*t).locked), NIM_NIL);
2661 unsureAsgnRef((void**) (&(*t).graph), g);
2662 unsureAsgnRef((void**) (&(*t).config), (*g).config);
2663 unsureAsgnRef((void**) (&(*t).c), c);
2664 }
N_NIMCALL(NIM_BOOL,isLocalVar__sempass50_162)2665 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocalVar__sempass50_162)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2666 NIM_BOOL result;
2667 NIM_BOOL T1_;
2668 NIM_BOOL T2_;
2669 NIM_BOOL T3_;
2670 result = (NIM_BOOL)0;
2671 T1_ = (NIM_BOOL)0;
2672 T2_ = (NIM_BOOL)0;
2673 T3_ = (NIM_BOOL)0;
2674 T3_ = ((2304 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2675 if (!(T3_)) goto LA4_;
2676 T3_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0));
2677 LA4_: ;
2678 T2_ = T3_;
2679 if (!(T2_)) goto LA5_;
2680 T2_ = ((*s).owner == (*a).owner);
2681 LA5_: ;
2682 T1_ = T2_;
2683 if (!(T1_)) goto LA6_;
2684 T1_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2685 LA6_: ;
2686 result = T1_;
2687 return result;
2688 }
N_INLINE(NI,find__sigmatch_4304)2689 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item) {
2690 NI result;
2691 { result = (NI)0;
2692 result = ((NI) 0);
2693 {
2694 NI* i;
2695 NI i_2;
2696 i = (NI*)0;
2697 i_2 = ((NI) 0);
2698 {
2699 while (1) {
2700 if (!(i_2 < aLen_0)) goto LA3;
2701 i = (&a[i_2]);
2702 {
2703 if (!((*i) == item)) goto LA6_;
2704 goto BeforeRet_;
2705 }
2706 LA6_: ;
2707 result += ((NI) 1);
2708 i_2 += ((NI) 1);
2709 } LA3: ;
2710 }
2711 }
2712 result = ((NI) -1);
2713 }BeforeRet_: ;
2714 return result;
2715 }
N_INLINE(NIM_BOOL,contains__sigmatch_4299)2716 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item) {
2717 NIM_BOOL result;
2718 NI T1_;
2719 { result = (NIM_BOOL)0;
2720 T1_ = (NI)0;
2721 T1_ = find__sigmatch_4304(a, aLen_0, item);
2722 result = (((NI) 0) <= T1_);
2723 goto BeforeRet_;
2724 }BeforeRet_: ;
2725 return result;
2726 }
N_NIMCALL(void,guardGlobal__sempass50_221)2727 N_LIB_PRIVATE N_NIMCALL(void, guardGlobal__sempass50_221)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard) {
2728 { {
2729 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** L;
2730 NI i;
2731 NI L_2;
2732 NI T2_;
2733 L = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
2734 i = ((NI) 0);
2735 T2_ = ((*a).locked ? (*a).locked->Sup.len : 0);
2736 L_2 = T2_;
2737 {
2738 while (1) {
2739 if (!(i < L_2)) goto LA4;
2740 L = &(*a).locked->data[i];
2741 {
2742 NIM_BOOL T7_;
2743 T7_ = (NIM_BOOL)0;
2744 T7_ = ((*(*L)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2745 if (!(T7_)) goto LA8_;
2746 T7_ = ((*(*L))._kind_4.sym == guard);
2747 LA8_: ;
2748 if (!T7_) goto LA9_;
2749 goto BeforeRet_;
2750 }
2751 LA9_: ;
2752 i += ((NI) 1);
2753 } LA4: ;
2754 }
2755 }
2756 {
2757 NimStringDesc* T15_;
2758 NimStringDesc* T16_;
2759 if (!!((*a).isTopLevel)) goto LA13_;
2760 T15_ = NIM_NIL;
2761 T16_ = NIM_NIL;
2762 T16_ = renderTree__renderer_46(n, 0);
2763 T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 18);
2764 appendString(T15_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_21));
2765 appendString(T15_, T16_);
2766 liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_22, NIM_FALSE);
2767 }
2768 LA13_: ;
2769 }BeforeRet_: ;
2770 }
N_INLINE(NIM_BOOL,isGCedMem__ast_4203)2771 static N_INLINE(NIM_BOOL, isGCedMem__ast_4203)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2772 NIM_BOOL result;
2773 NIM_BOOL T1_;
2774 NIM_BOOL T3_;
2775 result = (NIM_BOOL)0;
2776 T1_ = (NIM_BOOL)0;
2777 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
2778 if (T1_) goto LA2_;
2779 T3_ = (NIM_BOOL)0;
2780 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
2781 if (!(T3_)) goto LA4_;
2782 T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
2783 LA4_: ;
2784 T1_ = T3_;
2785 LA2_: ;
2786 result = T1_;
2787 return result;
2788 }
N_NIMCALL(void,markGcUnsafe__sempass50_361)2789 N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass50_361)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* reason) {
2790 {
2791 if (!!((*a).inEnforcedGcSafe)) goto LA3_;
2792 (*a).gcUnsafe = NIM_TRUE;
2793 {
2794 if (!((520192 &((NU32)1<<((NU)((*(*a).owner).kind)&31U)))!=0)) goto LA7_;
2795 asgnRef((void**) (&(*(*a).owner)._kind_1.gcUnsafetyReason), reason);
2796 }
2797 LA7_: ;
2798 }
2799 LA3_: ;
2800 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)2801 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
2802 NI result;
2803 result = (NI)0;
2804 result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
2805 return result;
2806 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)2807 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
2808 NU64 result;
2809 result = (NU64)0;
2810 __uint128_t r = a; r *= b; result = (r >> 64) ^ r;
2811 return result;
2812 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)2813 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
2814 NI result;
2815 NU64 T1_;
2816 NU64 T2_;
2817 result = (NI)0;
2818 T1_ = (NU64)0;
2819 T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
2820 T2_ = (NU64)0;
2821 T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
2822 result = ((NI) (T2_));
2823 return result;
2824 }
N_INLINE(NI,hash__pureZhashes_128)2825 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
2826 NI result;
2827 result = (NI)0;
2828 result = hashWangYi1__pureZhashes_136(((NU64) (x)));
2829 return result;
2830 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)2831 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
2832 NIM_BOOL result;
2833 result = (NIM_BOOL)0;
2834 result = !((hcode == ((NI) 0)));
2835 return result;
2836 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)2837 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
2838 NI result;
2839 result = (NI)0;
2840 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2841 return result;
2842 }
N_INLINE(NI,rawGet__sempass50_491)2843 static N_INLINE(NI, rawGet__sempass50_491)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key, NI* hc) {
2844 NI result;
2845 NI h;
2846 NI T10_;
2847 { result = (NI)0;
2848 (*hc) = hash__pureZhashes_128(key);
2849 {
2850 if (!((*hc) == ((NI) 0))) goto LA3_;
2851 (*hc) = ((NI) 314159265);
2852 }
2853 LA3_: ;
2854 {
2855 NI T7_;
2856 T7_ = (t.data ? t.data->Sup.len : 0);
2857 if (!(T7_ == ((NI) 0))) goto LA8_;
2858 result = ((NI) -1);
2859 goto BeforeRet_;
2860 }
2861 LA8_: ;
2862 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2863 h = (NI)((*hc) & T10_);
2864 {
2865 while (1) {
2866 NIM_BOOL T13_;
2867 NI T20_;
2868 T13_ = (NIM_BOOL)0;
2869 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2870 if (!T13_) goto LA12;
2871 {
2872 NIM_BOOL T16_;
2873 T16_ = (NIM_BOOL)0;
2874 T16_ = (t.data->data[h].Field0 == (*hc));
2875 if (!(T16_)) goto LA17_;
2876 T16_ = (t.data->data[h].Field1 == key);
2877 LA17_: ;
2878 if (!T16_) goto LA18_;
2879 result = h;
2880 goto BeforeRet_;
2881 }
2882 LA18_: ;
2883 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2884 h = nextTry__pureZcollectionsZtables_34(h, T20_);
2885 } LA12: ;
2886 }
2887 result = (NI)(((NI) -1) - h);
2888 }BeforeRet_: ;
2889 return result;
2890 }
N_INLINE(NIM_BOOL,mustRehash__sempass50_1168)2891 static N_INLINE(NIM_BOOL, mustRehash__sempass50_1168)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t) {
2892 NIM_BOOL result;
2893 NIM_BOOL T1_;
2894 NI T2_;
2895 NI T4_;
2896 result = (NIM_BOOL)0;
2897 T1_ = (NIM_BOOL)0;
2898 T2_ = (t.data ? t.data->Sup.len : 0);
2899 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2900 if (T1_) goto LA3_;
2901 T4_ = (t.data ? t.data->Sup.len : 0);
2902 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2903 LA3_: ;
2904 result = T1_;
2905 return result;
2906 }
N_NIMCALL(void,rawInsert__sempass50_1625)2907 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) {
2908 (*data)->data[h].Field1 = key;
2909 genericSeqAssign((&(*data)->data[h].Field2), val, (&NTIseqLLtlineinfo_psymTT__vGU8AyGT6KxtLJwEg0BpNw_));
2910 (*data)->data[h].Field0 = hc;
2911 }
N_NIMCALL(void,enlarge__sempass50_1321)2912 N_LIB_PRIVATE N_NIMCALL(void, enlarge__sempass50_1321)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t) {
2913 tySequence__Hkw5zrAn53wlKDHdJF1GFA* n;
2914 NI T1_;
2915 tySequence__Hkw5zrAn53wlKDHdJF1GFA* T2_;
2916 n = NIM_NIL;
2917 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2918 n = (tySequence__Hkw5zrAn53wlKDHdJF1GFA*) newSeq((&NTIkeyvaluepairseq__Hkw5zrAn53wlKDHdJF1GFA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2919 T2_ = NIM_NIL;
2920 T2_ = (*t).data;
2921 unsureAsgnRef((void**) (&(*t).data), n);
2922 n = T2_;
2923 {
2924 NI i;
2925 NI colontmp_;
2926 NI T4_;
2927 NI res;
2928 i = (NI)0;
2929 colontmp_ = (NI)0;
2930 T4_ = ((n ? n->Sup.len : 0)-1);
2931 colontmp_ = T4_;
2932 res = ((NI) 0);
2933 {
2934 while (1) {
2935 NI eh;
2936 if (!(res <= colontmp_)) goto LA6;
2937 i = res;
2938 eh = n->data[i].Field0;
2939 {
2940 NIM_BOOL T9_;
2941 NI j;
2942 NI T12_;
2943 NI T17_;
2944 tySequence__vGU8AyGT6KxtLJwEg0BpNw* T18_;
2945 T9_ = (NIM_BOOL)0;
2946 T9_ = isFilled__pureZcollectionsZtables_31(eh);
2947 if (!T9_) goto LA10_;
2948 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2949 j = (NI)(eh & T12_);
2950 {
2951 while (1) {
2952 NIM_BOOL T15_;
2953 NI T16_;
2954 T15_ = (NIM_BOOL)0;
2955 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
2956 if (!T15_) goto LA14;
2957 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2958 j = nextTry__pureZcollectionsZtables_34(j, T16_);
2959 } LA14: ;
2960 }
2961 T17_ = (NI)0;
2962 T17_ = n->data[i].Field1;
2963 n->data[i].Field1 = 0;
2964 T18_ = NIM_NIL;
2965 T18_ = n->data[i].Field2;
2966 asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
2967 rawInsert__sempass50_1625(t, (&(*t).data), T17_, T18_, eh, j);
2968 }
2969 LA10_: ;
2970 res += ((NI) 1);
2971 } LA6: ;
2972 }
2973 }
2974 }
N_INLINE(NI,rawGetKnownHC__sempass50_1794)2975 static N_INLINE(NI, rawGetKnownHC__sempass50_1794)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key, NI hc) {
2976 NI result;
2977 NI h;
2978 NI T6_;
2979 { result = (NI)0;
2980 {
2981 NI T3_;
2982 T3_ = (t.data ? t.data->Sup.len : 0);
2983 if (!(T3_ == ((NI) 0))) goto LA4_;
2984 result = ((NI) -1);
2985 goto BeforeRet_;
2986 }
2987 LA4_: ;
2988 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2989 h = (NI)(hc & T6_);
2990 {
2991 while (1) {
2992 NIM_BOOL T9_;
2993 NI T16_;
2994 T9_ = (NIM_BOOL)0;
2995 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2996 if (!T9_) goto LA8;
2997 {
2998 NIM_BOOL T12_;
2999 T12_ = (NIM_BOOL)0;
3000 T12_ = (t.data->data[h].Field0 == hc);
3001 if (!(T12_)) goto LA13_;
3002 T12_ = (t.data->data[h].Field1 == key);
3003 LA13_: ;
3004 if (!T12_) goto LA14_;
3005 result = h;
3006 goto BeforeRet_;
3007 }
3008 LA14_: ;
3009 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
3010 h = nextTry__pureZcollectionsZtables_34(h, T16_);
3011 } LA8: ;
3012 }
3013 result = (NI)(((NI) -1) - h);
3014 }BeforeRet_: ;
3015 return result;
3016 }
N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw **,mgetOrPut__sempass50_1047)3017 N_LIB_PRIVATE N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw**, mgetOrPut__sempass50_1047)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, NI key, tySequence__vGU8AyGT6KxtLJwEg0BpNw* val) {
3018 tySequence__vGU8AyGT6KxtLJwEg0BpNw** result;
3019 NI hc;
3020 NI index;
3021 result = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
3022 {
3023 NI T3_;
3024 NI correctSizeX60gensym95_;
3025 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
3026 if (!(T3_ == ((NI) 0))) goto LA4_;
3027 correctSizeX60gensym95_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
3028 (*t).counter = ((NI) 0);
3029 unsureAsgnRef((void**) (&(*t).data), (tySequence__Hkw5zrAn53wlKDHdJF1GFA*) newSeq((&NTIkeyvaluepairseq__Hkw5zrAn53wlKDHdJF1GFA_), ((NI) (correctSizeX60gensym95_))));
3030 }
3031 LA4_: ;
3032 hc = (NI)0;
3033 index = rawGet__sempass50_491((*t), key, (&hc));
3034 {
3035 if (!(index < ((NI) 0))) goto LA8_;
3036 {
3037 NI T12_;
3038 NI correctSizeX60gensym98_;
3039 T12_ = ((*t).data ? (*t).data->Sup.len : 0);
3040 if (!(T12_ == ((NI) 0))) goto LA13_;
3041 correctSizeX60gensym98_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
3042 (*t).counter = ((NI) 0);
3043 unsureAsgnRef((void**) (&(*t).data), (tySequence__Hkw5zrAn53wlKDHdJF1GFA*) newSeq((&NTIkeyvaluepairseq__Hkw5zrAn53wlKDHdJF1GFA_), ((NI) (correctSizeX60gensym98_))));
3044 }
3045 LA13_: ;
3046 {
3047 NIM_BOOL T17_;
3048 T17_ = (NIM_BOOL)0;
3049 T17_ = mustRehash__sempass50_1168((*t));
3050 if (!T17_) goto LA18_;
3051 enlarge__sempass50_1321(t);
3052 index = rawGetKnownHC__sempass50_1794((*t), key, hc);
3053 }
3054 LA18_: ;
3055 index = (NI)(((NI) -1) - index);
3056 rawInsert__sempass50_1625(t, (&(*t).data), key, val, hc, index);
3057 (*t).counter += ((NI) 1);
3058 }
3059 LA8_: ;
3060 result = (&(*t).data->data[index].Field2);
3061 return result;
3062 }
N_NIMCALL(void,markSideEffect__sempass50_995)3063 N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass50_995)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* reason, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q useLoc) {
3064 {
3065 if (!!((*a).inEnforcedNoSideEffects)) goto LA3_;
3066 (*a).hasSideEffect = NIM_TRUE;
3067 {
3068 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
3069 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym93_;
3070 tySequence__vGU8AyGT6KxtLJwEg0BpNw* T9_;
3071 tySequence__vGU8AyGT6KxtLJwEg0BpNw** T10_;
3072 tyTuple__KvKIqRIx9anKcDMu8DPSkHw T11_;
3073 NI T12_;
3074 if (!((routineKinds__ast_467 &((NU32)1<<((NU)((*(*a).owner).kind)&31U)))!=0)) goto LA7_;
3075 sym = NIM_NIL;
3076 sym = reason;
3077 xX60gensym93_ = (*a).owner;
3078 T9_ = NIM_NIL;
3079 T9_ = NIM_NIL;
3080 T10_ = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
3081 T10_ = mgetOrPut__sempass50_1047((&(*(*a).c).sideEffects), (NI)((NI)((NU64)(((NI) ((*xX60gensym93_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym93_).Sup.itemId.item))), T9_);
3082 nimZeroMem((void*)(&T11_), sizeof(tyTuple__KvKIqRIx9anKcDMu8DPSkHw));
3083 T11_.Field0 = useLoc;
3084 T11_.Field1 = sym;
3085 unsureAsgnRef((void**) (&(*T10_)), (tySequence__vGU8AyGT6KxtLJwEg0BpNw*) incrSeqV3((TGenericSeq*)((*T10_)), (&NTIseqLLtlineinfo_psymTT__vGU8AyGT6KxtLJwEg0BpNw_)));
3086 T12_ = (*T10_)->Sup.len++;
3087 (*T10_)->data[T12_].Field0 = T11_.Field0;
3088 asgnRef((void**) (&(*T10_)->data[T12_].Field1), T11_.Field1);
3089 }
3090 LA7_: ;
3091 }
3092 LA3_: ;
3093 }
N_NIMCALL(void,useVarNoInitCheck__sempass50_959)3094 N_LIB_PRIVATE N_NIMCALL(void, useVarNoInitCheck__sempass50_959)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3095 {
3096 NIM_BOOL T3_;
3097 NIM_BOOL T4_;
3098 T3_ = (NIM_BOOL)0;
3099 T4_ = (NIM_BOOL)0;
3100 T4_ = !(((67108872 & (*s).flags) == 0));
3101 if (!(T4_)) goto LA5_;
3102 T4_ = ((768 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
3103 LA5_: ;
3104 T3_ = T4_;
3105 if (!(T3_)) goto LA6_;
3106 T3_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263)));
3107 LA6_: ;
3108 if (!T3_) goto LA7_;
3109 {
3110 if (!!(((*s)._kind_2.guard == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11_;
3111 guardGlobal__sempass50_221(a, n, (*s)._kind_2.guard);
3112 }
3113 LA11_: ;
3114 {
3115 NIM_BOOL T15_;
3116 NIM_BOOL T17_;
3117 T15_ = (NIM_BOOL)0;
3118 T15_ = ((67108872 & (*s).flags) == 8);
3119 if (!(T15_)) goto LA16_;
3120 T17_ = (NIM_BOOL)0;
3121 T17_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 22))&63U)))!=0);
3122 if (T17_) goto LA18_;
3123 T17_ = isGCedMem__ast_4203((*s).typ);
3124 LA18_: ;
3125 T15_ = T17_;
3126 LA16_: ;
3127 if (!T15_) goto LA19_;
3128 markGcUnsafe__sempass50_361(a, s);
3129 }
3130 LA19_: ;
3131 markSideEffect__sempass50_995(a, s, (*n).info);
3132 }
3133 LA7_: ;
3134 {
3135 NIM_BOOL T23_;
3136 NIM_BOOL T24_;
3137 T23_ = (NIM_BOOL)0;
3138 T24_ = (NIM_BOOL)0;
3139 T24_ = !(((*s).owner == (*a).owner));
3140 if (!(T24_)) goto LA25_;
3141 T24_ = ((2099976 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
3142 LA25_: ;
3143 T23_ = T24_;
3144 if (!(T23_)) goto LA26_;
3145 T23_ = ((67108872 & (*s).flags) == 0);
3146 LA26_: ;
3147 if (!T23_) goto LA27_;
3148 (*a).isInnerProc = NIM_TRUE;
3149 }
3150 LA27_: ;
3151 }
N_NIMCALL(void,useVar__sempass50_2113)3152 N_LIB_PRIVATE N_NIMCALL(void, useVar__sempass50_2113)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3153 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3154 s = (*n)._kind_4.sym;
3155 {
3156 if (!(((NI) 0) < (*a).inExceptOrFinallyStmt)) goto LA3_;
3157 (*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 44)) & 63);
3158 }
3159 LA3_: ;
3160 {
3161 NIM_BOOL T7_;
3162 T7_ = (NIM_BOOL)0;
3163 T7_ = isLocalVar__sempass50_162(a, s);
3164 if (!T7_) goto LA8_;
3165 {
3166 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym110_;
3167 NI T14_;
3168 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA12_;
3169 xX60gensym110_ = s;
3170 unsureAsgnRef((void**) (&(*a).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*a).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
3171 T14_ = (*a).init->Sup.len++;
3172 (*a).init->data[T14_] = (NI)((NI)((NU64)(((NI) ((*xX60gensym110_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym110_).Sup.itemId.item)));
3173 }
3174 goto LA10_;
3175 LA12_: ;
3176 {
3177 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym112_;
3178 NIM_BOOL T16_;
3179 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym117_;
3180 NI T27_;
3181 xX60gensym112_ = s;
3182 T16_ = (NIM_BOOL)0;
3183 T16_ = contains__sigmatch_4299((*a).init->data, ((*a).init ? (*a).init->Sup.len : 0), (NI)((NI)((NU64)(((NI) ((*xX60gensym112_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym112_).Sup.itemId.item))));
3184 if (!!(T16_)) goto LA17_;
3185 {
3186 NIM_BOOL T21_;
3187 T21_ = (NIM_BOOL)0;
3188 T21_ = requiresInit__typeallowed_578((*s).typ);
3189 if (!T21_) goto LA22_;
3190 liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), (*(*s).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_19, NIM_FALSE);
3191 }
3192 goto LA19_;
3193 LA22_: ;
3194 {
3195 if (!((*a).leftPartOfAsgn <= ((NI) 0))) goto LA25_;
3196 liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 49), (*(*s).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_20, NIM_FALSE);
3197 }
3198 goto LA19_;
3199 LA25_: ;
3200 LA19_: ;
3201 xX60gensym117_ = s;
3202 unsureAsgnRef((void**) (&(*a).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*a).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
3203 T27_ = (*a).init->Sup.len++;
3204 (*a).init->data[T27_] = (NI)((NI)((NU64)(((NI) ((*xX60gensym117_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym117_).Sup.itemId.item)));
3205 }
3206 goto LA10_;
3207 LA17_: ;
3208 LA10_: ;
3209 }
3210 LA8_: ;
3211 useVarNoInitCheck__sempass50_959(a, n, s);
3212 }
N_NIMCALL(void,throws__sempass50_2182)3213 N_LIB_PRIVATE N_NIMCALL(void, throws__sempass50_2182)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
3214 {
3215 NIM_BOOL T3_;
3216 T3_ = (NIM_BOOL)0;
3217 T3_ = ((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
3218 if (T3_) goto LA4_;
3219 T3_ = !(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)));
3220 LA4_: ;
3221 if (!T3_) goto LA5_;
3222 {
3223 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
3224 if (!!((orig == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
3225 x = copyTree__ast_4431(orig);
3226 asgnRef((void**) (&(*x).typ), (*n).typ);
3227 add__ast_4797(tracked, x);
3228 }
3229 goto LA7_;
3230 LA9_: ;
3231 {
3232 add__ast_4797(tracked, n);
3233 }
3234 LA7_: ;
3235 }
3236 LA5_: ;
3237 }
N_NIMCALL(void,addRaiseEffect__sempass50_2237)3238 N_LIB_PRIVATE N_NIMCALL(void, addRaiseEffect__sempass50_2237)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom) {
3239 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
3240 { aa = (*a).exc;
3241 {
3242 NI i;
3243 NI colontmp_;
3244 NI i_2;
3245 i = (NI)0;
3246 colontmp_ = (NI)0;
3247 colontmp_ = len__ast_3198(aa);
3248 i_2 = (*a).bottom;
3249 {
3250 while (1) {
3251 if (!(i_2 < colontmp_)) goto LA3;
3252 i = i_2;
3253 {
3254 tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
3255 tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
3256 NIM_BOOL T8_;
3257 T6_ = NIM_NIL;
3258 T6_ = excType__sempass50_2211((*a).graph, (*aa)._kind_6.sons->data[i]);
3259 T7_ = NIM_NIL;
3260 T7_ = excType__sempass50_2211((*a).graph, e);
3261 T8_ = (NIM_BOOL)0;
3262 T8_ = sameType__types_1824(T6_, T7_, 0);
3263 if (!T8_) goto LA9_;
3264 goto BeforeRet_;
3265 }
3266 LA9_: ;
3267 i_2 += ((NI) 1);
3268 } LA3: ;
3269 }
3270 }
3271 {
3272 if (!!(((*e).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA13_;
3273 {
3274 NIM_BOOL T17_;
3275 NIM_BOOL T19_;
3276 T17_ = (NIM_BOOL)0;
3277 T17_ = (((*(*a).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0);
3278 if (T17_) goto LA18_;
3279 T19_ = (NIM_BOOL)0;
3280 T19_ = isDefectException__types_4029((*e).typ);
3281 T17_ = !(T19_);
3282 LA18_: ;
3283 if (!T17_) goto LA20_;
3284 throws__sempass50_2182((*a).exc, e, comesFrom);
3285 }
3286 LA20_: ;
3287 }
3288 LA13_: ;
3289 }BeforeRet_: ;
3290 }
N_NIMCALL(void,createTypeBoundOps__sempass50_142)3291 N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__sempass50_142)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
3292 { {
3293 if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
3294 goto BeforeRet_;
3295 }
3296 LA3_: ;
3297 createTypeBoundOps__liftdestructors_47((*tracked).graph, (*tracked).c, typ, info, (*(*tracked).c).Sup.idgen);
3298 {
3299 NIM_BOOL T7_;
3300 T7_ = (NIM_BOOL)0;
3301 T7_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0);
3302 if (T7_) goto LA8_;
3303 T7_ = (((*(*tracked).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
3304 LA8_: ;
3305 if (!T7_) goto LA9_;
3306 (*(*tracked).owner).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 42)) & 63);
3307 }
3308 LA9_: ;
3309 }BeforeRet_: ;
3310 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,createRaise__sempass50_2223)3311 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createRaise__sempass50_2223)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3312 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3313 result = NIM_NIL;
3314 result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
3315 asgnRef((void**) (&(*result).typ), getEbase__sempass50_2207(g, (*n).info));
3316 {
3317 if (!!((n == 0))) goto LA3_;
3318 (*result).info = (*n).info;
3319 }
3320 LA3_: ;
3321 return result;
3322 }
N_NIMCALL(void,mergeLockLevels__sempass50_2606)3323 N_LIB_PRIVATE N_NIMCALL(void, mergeLockLevels__sempass50_2606)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI16 lockLevel) {
3324 {
3325 if (!((*tracked).currLockLevel <= lockLevel)) goto LA3_;
3326 {
3327 NimStringDesc* T9_;
3328 NimStringDesc* T10_;
3329 NimStringDesc* T11_;
3330 if (!(((NI16) 0) < (*tracked).currLockLevel)) goto LA7_;
3331 T9_ = NIM_NIL;
3332 T10_ = NIM_NIL;
3333 T10_ = dollar___ast_3858((*tracked).currLockLevel);
3334 T11_ = NIM_NIL;
3335 T11_ = dollar___ast_3858(lockLevel);
3336 T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + (T11_ ? T11_->Sup.len : 0) + 42);
3337 appendString(T9_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_24));
3338 appendString(T9_, T10_);
3339 appendString(T9_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_25));
3340 appendString(T9_, T11_);
3341 liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T9_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_26, NIM_FALSE);
3342 }
3343 LA7_: ;
3344 (*tracked).maxLockLevel = (((*tracked).maxLockLevel >= lockLevel) ? (*tracked).maxLockLevel : lockLevel);
3345 }
3346 LA3_: ;
3347 }
N_NIMCALL(NI16,getLockLevel__sempass50_2591)3348 N_LIB_PRIVATE N_NIMCALL(NI16, getLockLevel__sempass50_2591)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3349 NI16 result;
3350 result = (NI16)0;
3351 result = (*(*s).typ).lockLevel;
3352 {
3353 if (!(result == ((NI16) -1))) goto LA3_;
3354 {
3355 NIM_BOOL T7_;
3356 T7_ = (NIM_BOOL)0;
3357 T7_ = !(((4160 & (*s).flags) == 0));
3358 if (T7_) goto LA8_;
3359 T7_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0);
3360 LA8_: ;
3361 if (!T7_) goto LA9_;
3362 result = ((NI16) 0);
3363 }
3364 goto LA5_;
3365 LA9_: ;
3366 {
3367 result = ((NI16) 1001);
3368 }
3369 LA5_: ;
3370 }
3371 LA3_: ;
3372 return result;
3373 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)3374 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3375 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3376 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3377 (*x).symId += ((NI) 1);
3378 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3379 result.module = (*x).module;
3380 result.item = (*x).symId;
3381 return result;
3382 }
N_NIMCALL(void,markSideEffect__sempass50_2877)3383 N_LIB_PRIVATE N_NIMCALL(void, markSideEffect__sempass50_2877)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reason, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q useLoc) {
3384 {
3385 if (!!((*a).inEnforcedNoSideEffects)) goto LA3_;
3386 (*a).hasSideEffect = NIM_TRUE;
3387 {
3388 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
3389 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym225_;
3390 tySequence__vGU8AyGT6KxtLJwEg0BpNw* T20_;
3391 tySequence__vGU8AyGT6KxtLJwEg0BpNw** T21_;
3392 tyTuple__KvKIqRIx9anKcDMu8DPSkHw T22_;
3393 NI T23_;
3394 if (!((routineKinds__ast_467 &((NU32)1<<((NU)((*(*a).owner).kind)&31U)))!=0)) goto LA7_;
3395 sym = NIM_NIL;
3396 {
3397 if (!((*reason).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
3398 sym = (*reason)._kind_4.sym;
3399 }
3400 goto LA9_;
3401 LA11_: ;
3402 {
3403 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
3404 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T19_;
3405 {
3406 if (!((*reason).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA16_;
3407 kind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3);
3408 }
3409 goto LA14_;
3410 LA16_: ;
3411 {
3412 kind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0);
3413 }
3414 LA14_: ;
3415 T19_ = nextSymId__ast_3132((*(*a).c).Sup.idgen);
3416 sym = newSym__ast_3445(kind, (*(*a).owner).name, T19_, (*a).owner, (*reason).info, 0);
3417 }
3418 LA9_: ;
3419 xX60gensym225_ = (*a).owner;
3420 T20_ = NIM_NIL;
3421 T20_ = NIM_NIL;
3422 T21_ = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
3423 T21_ = mgetOrPut__sempass50_1047((&(*(*a).c).sideEffects), (NI)((NI)((NU64)(((NI) ((*xX60gensym225_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym225_).Sup.itemId.item))), T20_);
3424 nimZeroMem((void*)(&T22_), sizeof(tyTuple__KvKIqRIx9anKcDMu8DPSkHw));
3425 T22_.Field0 = useLoc;
3426 T22_.Field1 = sym;
3427 unsureAsgnRef((void**) (&(*T21_)), (tySequence__vGU8AyGT6KxtLJwEg0BpNw*) incrSeqV3((TGenericSeq*)((*T21_)), (&NTIseqLLtlineinfo_psymTT__vGU8AyGT6KxtLJwEg0BpNw_)));
3428 T23_ = (*T21_)->Sup.len++;
3429 (*T21_)->data[T23_].Field0 = T22_.Field0;
3430 asgnRef((void**) (&(*T21_)->data[T23_].Field1), T22_.Field1);
3431 }
3432 LA7_: ;
3433 }
3434 LA3_: ;
3435 }
N_NIMCALL(void,mergeRaises__sempass50_2273)3436 N_LIB_PRIVATE N_NIMCALL(void, mergeRaises__sempass50_2273)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom) {
3437 {
3438 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
3439 if (!(b == 0)) goto LA3_;
3440 T5_ = NIM_NIL;
3441 T5_ = createRaise__sempass50_2223((*a).graph, comesFrom);
3442 addRaiseEffect__sempass50_2237(a, T5_, comesFrom);
3443 }
3444 goto LA1_;
3445 LA3_: ;
3446 {
3447 {
3448 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effect;
3449 effect = NIM_NIL;
3450 {
3451 NI i;
3452 NI colontmp_;
3453 NI i_2;
3454 i = (NI)0;
3455 colontmp_ = (NI)0;
3456 colontmp_ = safeLen__ast_3191(b);
3457 i_2 = ((NI) 0);
3458 {
3459 while (1) {
3460 if (!(i_2 < colontmp_)) goto LA10;
3461 i = i_2;
3462 effect = (*b)._kind_6.sons->data[i];
3463 addRaiseEffect__sempass50_2237(a, effect, comesFrom);
3464 i_2 += ((NI) 1);
3465 } LA10: ;
3466 }
3467 }
3468 }
3469 }
3470 LA1_: ;
3471 }
N_NIMCALL(void,addTag__sempass50_2259)3472 N_LIB_PRIVATE N_NIMCALL(void, addTag__sempass50_2259)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom) {
3473 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
3474 { aa = (*a).tags;
3475 {
3476 NI i;
3477 NI colontmp_;
3478 NI i_2;
3479 i = (NI)0;
3480 colontmp_ = (NI)0;
3481 colontmp_ = len__ast_3198(aa);
3482 i_2 = ((NI) 0);
3483 {
3484 while (1) {
3485 if (!(i_2 < colontmp_)) goto LA3;
3486 i = i_2;
3487 {
3488 tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
3489 tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
3490 NIM_BOOL T8_;
3491 T6_ = NIM_NIL;
3492 T6_ = skipTypes__ast_3735((*(*aa)._kind_6.sons->data[i]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_9);
3493 T7_ = NIM_NIL;
3494 T7_ = skipTypes__ast_3735((*e).typ, TM__wkTG4eaV3t1uo3x09apjcwA_9);
3495 T8_ = (NIM_BOOL)0;
3496 T8_ = sameType__types_1824(T6_, T7_, 0);
3497 if (!T8_) goto LA9_;
3498 goto BeforeRet_;
3499 }
3500 LA9_: ;
3501 i_2 += ((NI) 1);
3502 } LA3: ;
3503 }
3504 }
3505 throws__sempass50_2182((*a).tags, e, comesFrom);
3506 }BeforeRet_: ;
3507 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,createTag__sempass50_2230)3508 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createTag__sempass50_2230)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3509 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3510 result = NIM_NIL;
3511 result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
3512 asgnRef((void**) (&(*result).typ), sysTypeFromName__magicsys_55(g, (*n).info, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_27)));
3513 {
3514 if (!!((n == 0))) goto LA3_;
3515 (*result).info = (*n).info;
3516 }
3517 LA3_: ;
3518 return result;
3519 }
N_NIMCALL(void,mergeTags__sempass50_2281)3520 N_LIB_PRIVATE N_NIMCALL(void, mergeTags__sempass50_2281)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* comesFrom) {
3521 {
3522 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
3523 if (!(b == 0)) goto LA3_;
3524 T5_ = NIM_NIL;
3525 T5_ = createTag__sempass50_2230((*a).graph, comesFrom);
3526 addTag__sempass50_2259(a, T5_, comesFrom);
3527 }
3528 goto LA1_;
3529 LA3_: ;
3530 {
3531 {
3532 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effect;
3533 effect = NIM_NIL;
3534 {
3535 NI i;
3536 NI colontmp_;
3537 NI i_2;
3538 i = (NI)0;
3539 colontmp_ = (NI)0;
3540 colontmp_ = safeLen__ast_3191(b);
3541 i_2 = ((NI) 0);
3542 {
3543 while (1) {
3544 if (!(i_2 < colontmp_)) goto LA10;
3545 i = i_2;
3546 effect = (*b)._kind_6.sons->data[i];
3547 addTag__sempass50_2259(a, effect, comesFrom);
3548 i_2 += ((NI) 1);
3549 } LA10: ;
3550 }
3551 }
3552 }
3553 }
3554 LA1_: ;
3555 }
N_INLINE(NIM_BOOL,hasWarn__options_557)3556 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note) {
3557 NIM_BOOL result;
3558 NIM_BOOL T1_;
3559 result = (NIM_BOOL)0;
3560 T1_ = (NIM_BOOL)0;
3561 T1_ = (((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 13))&31U)))!=0);
3562 if (!(T1_)) goto LA2_;
3563 T1_ = (((*conf).notes[(NU)((note- 16))>>3] &(1U<<((NU)((note- 16))&7U)))!=0);
3564 LA2_: ;
3565 result = T1_;
3566 return result;
3567 }
N_NIMCALL(void,warnAboutGcUnsafe__sempass50_358)3568 N_LIB_PRIVATE N_NIMCALL(void, warnAboutGcUnsafe__sempass50_358)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
3569 NimStringDesc* T1_;
3570 T1_ = NIM_NIL;
3571 T1_ = renderTree__renderer_46(n, 0);
3572 liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 47), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_28, NIM_FALSE);
3573 }
N_NIMCALL(void,propagateEffects__sempass50_2610)3574 N_LIB_PRIVATE N_NIMCALL(void, propagateEffects__sempass50_2610)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3575 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma;
3576 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec;
3577 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tagSpec;
3578 NI16 T16_;
3579 pragma = (*(*s).ast)._kind_6.sons->data[((NI) 4)];
3580 spec = effectSpec__trees_284(pragma, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174));
3581 mergeRaises__sempass50_2273(tracked, spec, n);
3582 tagSpec = effectSpec__trees_284(pragma, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179));
3583 mergeTags__sempass50_2281(tracked, tagSpec, n);
3584 {
3585 NIM_BOOL T3_;
3586 T3_ = (NIM_BOOL)0;
3587 T3_ = ((130 & (*(*s).typ).flags) == 0);
3588 if (!(T3_)) goto LA4_;
3589 T3_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
3590 LA4_: ;
3591 if (!T3_) goto LA5_;
3592 {
3593 NIM_BOOL T9_;
3594 T9_ = (NIM_BOOL)0;
3595 T9_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
3596 if (!T9_) goto LA10_;
3597 warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
3598 }
3599 LA10_: ;
3600 markGcUnsafe__sempass50_361(tracked, s);
3601 }
3602 LA5_: ;
3603 {
3604 if (!!((((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0))) goto LA14_;
3605 markSideEffect__sempass50_995(tracked, s, (*n).info);
3606 }
3607 LA14_: ;
3608 T16_ = (NI16)0;
3609 T16_ = getLockLevel__sempass50_2591(s);
3610 mergeLockLevels__sempass50_2606(tracked, n, T16_);
3611 }
N_INLINE(NIM_BOOL,isNoEffectList__sempass50_2756)3612 static N_INLINE(NIM_BOOL, isNoEffectList__sempass50_2756)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3613 NIM_BOOL result;
3614 NIM_BOOL T1_;
3615 NI T2_;
3616 NIM_BOOL T4_;
3617 result = (NIM_BOOL)0;
3618 T1_ = (NIM_BOOL)0;
3619 T2_ = (NI)0;
3620 T2_ = len__ast_3198(n);
3621 T1_ = (T2_ == ((NI) 0));
3622 if (T1_) goto LA3_;
3623 T4_ = (NIM_BOOL)0;
3624 T4_ = ((*n)._kind_6.sons->data[((NI) 3)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3625 if (!(T4_)) goto LA5_;
3626 T4_ = ((*n)._kind_6.sons->data[((NI) 0)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3627 LA5_: ;
3628 T1_ = T4_;
3629 LA3_: ;
3630 result = T1_;
3631 return result;
3632 }
N_NIMCALL(NIM_BOOL,isForwardedProc__sempass50_2549)3633 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isForwardedProc__sempass50_2549)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3634 NIM_BOOL result;
3635 NIM_BOOL T1_;
3636 result = (NIM_BOOL)0;
3637 T1_ = (NIM_BOOL)0;
3638 T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3639 if (!(T1_)) goto LA2_;
3640 T1_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
3641 LA2_: ;
3642 result = T1_;
3643 return result;
3644 }
N_NIMCALL(NIM_BOOL,isIndirectCall__sempass50_2513)3645 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIndirectCall__sempass50_2513)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3646 NIM_BOOL result;
3647 result = (NIM_BOOL)0;
3648 {
3649 if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
3650 result = NIM_TRUE;
3651 }
3652 goto LA1_;
3653 LA3_: ;
3654 {
3655 if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3))) goto LA6_;
3656 {
3657 if (!(((*(*tracked).c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 16))&31U)))!=0)) goto LA10_;
3658 {
3659 NIM_BOOL T14_;
3660 T14_ = (NIM_BOOL)0;
3661 T14_ = ((*tracked).owner == (*(*n)._kind_4.sym).owner);
3662 if (!(T14_)) goto LA15_;
3663 T14_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 47))&63U)))!=0);
3664 LA15_: ;
3665 if (!T14_) goto LA16_;
3666 result = NIM_FALSE;
3667 }
3668 goto LA12_;
3669 LA16_: ;
3670 {
3671 result = NIM_TRUE;
3672 }
3673 LA12_: ;
3674 }
3675 goto LA8_;
3676 LA10_: ;
3677 {
3678 NIM_BOOL T20_;
3679 T20_ = (NIM_BOOL)0;
3680 T20_ = !(((*tracked).owner == (*(*n)._kind_4.sym).owner));
3681 if (T20_) goto LA21_;
3682 T20_ = ((*tracked).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3683 LA21_: ;
3684 result = T20_;
3685 }
3686 LA8_: ;
3687 }
3688 goto LA1_;
3689 LA6_: ;
3690 {
3691 if (!!(((520192 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0))) goto LA23_;
3692 result = NIM_TRUE;
3693 }
3694 goto LA1_;
3695 LA23_: ;
3696 LA1_: ;
3697 return result;
3698 }
N_NIMCALL(void,assumeTheWorst__sempass50_2727)3699 N_LIB_PRIVATE N_NIMCALL(void, assumeTheWorst__sempass50_2727)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* op) {
3700 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3701 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
3702 NI16 lockLevel;
3703 T1_ = NIM_NIL;
3704 T1_ = createRaise__sempass50_2223((*tracked).graph, n);
3705 addRaiseEffect__sempass50_2237(tracked, T1_, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3706 T2_ = NIM_NIL;
3707 T2_ = createTag__sempass50_2230((*tracked).graph, n);
3708 addTag__sempass50_2259(tracked, T2_, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3709 {
3710 if (!((*op).lockLevel == ((NI16) -1))) goto LA5_;
3711 lockLevel = ((NI16) 1001);
3712 }
3713 goto LA3_;
3714 LA5_: ;
3715 {
3716 lockLevel = (*op).lockLevel;
3717 }
3718 LA3_: ;
3719 mergeLockLevels__sempass50_2606(tracked, n, lockLevel);
3720 }
N_NIMCALL(NIM_BOOL,importedFromC__sempass50_2580)3721 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, importedFromC__sempass50_2580)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3722 NIM_BOOL result;
3723 NIM_BOOL T1_;
3724 result = (NIM_BOOL)0;
3725 T1_ = (NIM_BOOL)0;
3726 T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3727 if (!(T1_)) goto LA2_;
3728 T1_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0);
3729 LA2_: ;
3730 result = T1_;
3731 return result;
3732 }
N_NIMCALL(void,markGcUnsafe__sempass50_368)3733 N_LIB_PRIVATE N_NIMCALL(void, markGcUnsafe__sempass50_368)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reason) {
3734 {
3735 if (!!((*a).inEnforcedGcSafe)) goto LA3_;
3736 (*a).gcUnsafe = NIM_TRUE;
3737 {
3738 if (!((520192 &((NU32)1<<((NU)((*(*a).owner).kind)&31U)))!=0)) goto LA7_;
3739 {
3740 if (!((*reason).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
3741 asgnRef((void**) (&(*(*a).owner)._kind_1.gcUnsafetyReason), (*reason)._kind_4.sym);
3742 }
3743 goto LA9_;
3744 LA11_: ;
3745 {
3746 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
3747 T14_ = nextSymId__ast_3132((*(*a).c).Sup.idgen);
3748 asgnRef((void**) (&(*(*a).owner)._kind_1.gcUnsafetyReason), newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), (*(*a).owner).name, T14_, (*a).owner, (*reason).info, 0));
3749 }
3750 LA9_: ;
3751 }
3752 LA7_: ;
3753 }
3754 LA3_: ;
3755 }
N_INLINE(NI,len__ast_4002)3756 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
3757 NI result;
3758 NI T1_;
3759 result = (NI)0;
3760 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
3761 result = T1_;
3762 return result;
3763 }
N_INLINE(NIM_BOOL,isTrival__sempass50_2779)3764 static N_INLINE(NIM_BOOL, isTrival__sempass50_2779)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caller) {
3765 NIM_BOOL result;
3766 NIM_BOOL T1_;
3767 result = (NIM_BOOL)0;
3768 T1_ = (NIM_BOOL)0;
3769 T1_ = ((*caller).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3770 if (!(T1_)) goto LA2_;
3771 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));
3772 LA2_: ;
3773 result = T1_;
3774 return result;
3775 }
N_NIMCALL(NIM_BOOL,isOwnedProcVar__sempass50_2732)3776 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedProcVar__sempass50_2732)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3777 NIM_BOOL result;
3778 NIM_BOOL T1_;
3779 NIM_BOOL T2_;
3780 result = (NIM_BOOL)0;
3781 T1_ = (NIM_BOOL)0;
3782 T2_ = (NIM_BOOL)0;
3783 T2_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3784 if (!(T2_)) goto LA3_;
3785 T2_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
3786 LA3_: ;
3787 T1_ = T2_;
3788 if (!(T1_)) goto LA4_;
3789 T1_ = ((*tracked).owner == (*(*n)._kind_4.sym).owner);
3790 LA4_: ;
3791 result = T1_;
3792 {
3793 NIM_BOOL T9_;
3794 if (!(((*(*tracked).c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 16))&31U)))!=0)) goto LA7_;
3795 T9_ = (NIM_BOOL)0;
3796 T9_ = result;
3797 if (!(T9_)) goto LA10_;
3798 T9_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 47))&63U)))!=0);
3799 LA10_: ;
3800 result = T9_;
3801 }
3802 LA7_: ;
3803 return result;
3804 }
N_INLINE(void,makeVolatile__sempass50_301)3805 static N_INLINE(void, makeVolatile__sempass50_301)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3806 {
3807 NIM_BOOL T3_;
3808 T3_ = (NIM_BOOL)0;
3809 T3_ = (((NI) 0) < (*a).inTryStmt);
3810 if (!(T3_)) goto LA4_;
3811 T3_ = ((*(*a).config).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 1));
3812 LA4_: ;
3813 if (!T3_) goto LA5_;
3814 (*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9)) & 63);
3815 }
3816 LA5_: ;
3817 }
N_NIMCALL(void,procVarCheck__sempass50_2639)3818 N_LIB_PRIVATE N_NIMCALL(void, procVarCheck__sempass50_2639)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
3819 {
3820 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA3_;
3821 {
3822 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
3823 x = NIM_NIL;
3824 {
3825 NI i;
3826 NI colontmp_;
3827 NI i_2;
3828 i = (NI)0;
3829 colontmp_ = (NI)0;
3830 colontmp_ = safeLen__ast_3191(n);
3831 i_2 = ((NI) 0);
3832 {
3833 while (1) {
3834 if (!(i_2 < colontmp_)) goto LA8;
3835 i = i_2;
3836 x = (*n)._kind_6.sons->data[i];
3837 procVarCheck__sempass50_2639(x, conf);
3838 i_2 += ((NI) 1);
3839 } LA8: ;
3840 }
3841 }
3842 }
3843 }
3844 goto LA1_;
3845 LA3_: ;
3846 {
3847 NIM_BOOL T10_;
3848 NIM_BOOL T11_;
3849 NimStringDesc* T16_;
3850 T10_ = (NIM_BOOL)0;
3851 T11_ = (NIM_BOOL)0;
3852 T11_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3853 if (!(T11_)) goto LA12_;
3854 T11_ = !(((*(*n)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
3855 LA12_: ;
3856 T10_ = T11_;
3857 if (!(T10_)) goto LA13_;
3858 T10_ = ((520192 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0);
3859 LA13_: ;
3860 if (!T10_) goto LA14_;
3861 T16_ = NIM_NIL;
3862 T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_33), (*(*(*n)._kind_4.sym).name).s);
3863 liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_34, NIM_FALSE);
3864 }
3865 goto LA1_;
3866 LA14_: ;
3867 LA1_: ;
3868 }
N_NIMCALL(void,notNilCheck__sempass50_2659)3869 N_LIB_PRIVATE N_NIMCALL(void, notNilCheck__sempass50_2659)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType) {
3870 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
3871 tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType_2;
3872 { n_2 = skipConv__types_3597(n);
3873 {
3874 NIM_BOOL T3_;
3875 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
3876 T3_ = (NIM_BOOL)0;
3877 T3_ = (paramType == 0);
3878 if (T3_) goto LA4_;
3879 T3_ = !(((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
3880 LA4_: ;
3881 if (!T3_) goto LA5_;
3882 T7_ = NIM_NIL;
3883 T7_ = skipConvCastAndClosure__astalgo_114(n_2);
3884 procVarCheck__sempass50_2639(T7_, (*tracked).config);
3885 }
3886 LA5_: ;
3887 paramType_2 = skipTypesOrNil__ast_4185(paramType, TM__wkTG4eaV3t1uo3x09apjcwA_30);
3888 {
3889 NIM_BOOL T10_;
3890 NIM_BOOL T11_;
3891 tyObject_TType__facALICuu8zUj0hjvbTLFg* ntyp;
3892 T10_ = (NIM_BOOL)0;
3893 T11_ = (NIM_BOOL)0;
3894 T11_ = !((paramType_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3895 if (!(T11_)) goto LA12_;
3896 T11_ = (((*paramType_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
3897 LA12_: ;
3898 T10_ = T11_;
3899 if (!(T10_)) goto LA13_;
3900 T10_ = !(((*n_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3901 LA13_: ;
3902 if (!T10_) goto LA14_;
3903 ntyp = skipTypesOrNil__ast_4185((*n_2).typ, TM__wkTG4eaV3t1uo3x09apjcwA_35);
3904 {
3905 NIM_BOOL T18_;
3906 tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T47_;
3907 T18_ = (NIM_BOOL)0;
3908 T18_ = !((ntyp == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3909 if (!(T18_)) goto LA19_;
3910 T18_ = !((((*ntyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
3911 LA19_: ;
3912 if (!T18_) goto LA20_;
3913 {
3914 NIM_BOOL T24_;
3915 T24_ = (NIM_BOOL)0;
3916 T24_ = isAddrNode__astalgo_4297(n_2);
3917 if (!T24_) goto LA25_;
3918 {
3919 NIM_BOOL T29_;
3920 T29_ = (NIM_BOOL)0;
3921 T29_ = containsNode__ast_4545(n_2, TM__wkTG4eaV3t1uo3x09apjcwA_36);
3922 if (!!(T29_)) goto LA30_;
3923 goto BeforeRet_;
3924 }
3925 LA30_: ;
3926 }
3927 goto LA22_;
3928 LA25_: ;
3929 {
3930 NIM_BOOL T33_;
3931 NIM_BOOL T34_;
3932 NIM_BOOL T35_;
3933 NIM_BOOL T36_;
3934 NIM_BOOL T40_;
3935 NIM_BOOL T41_;
3936 T33_ = (NIM_BOOL)0;
3937 T34_ = (NIM_BOOL)0;
3938 T35_ = (NIM_BOOL)0;
3939 T36_ = (NIM_BOOL)0;
3940 T36_ = ((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3941 if (!(T36_)) goto LA37_;
3942 T36_ = ((520192 &((NU32)1<<((NU)((*(*n_2)._kind_4.sym).kind)&31U)))!=0);
3943 LA37_: ;
3944 T35_ = T36_;
3945 if (T35_) goto LA38_;
3946 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));
3947 LA38_: ;
3948 T34_ = T35_;
3949 if (T34_) goto LA39_;
3950 T40_ = (NIM_BOOL)0;
3951 T41_ = (NIM_BOOL)0;
3952 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));
3953 if (!(T41_)) goto LA42_;
3954 T41_ = ((*(*n_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3955 LA42_: ;
3956 T40_ = T41_;
3957 if (!(T40_)) goto LA43_;
3958 T40_ = ((*(*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144));
3959 LA43_: ;
3960 T34_ = T40_;
3961 LA39_: ;
3962 T33_ = T34_;
3963 if (T33_) goto LA44_;
3964 T33_ = ((*(*n_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
3965 LA44_: ;
3966 if (!T33_) goto LA45_;
3967 goto BeforeRet_;
3968 }
3969 goto LA22_;
3970 LA45_: ;
3971 LA22_: ;
3972 T47_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
3973 T47_ = impliesNotNil__guards_1044((*tracked).guards, n_2);
3974 switch (T47_) {
3975 case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0):
3976 {
3977 NimStringDesc* T49_;
3978 NimStringDesc* T50_;
3979 T49_ = NIM_NIL;
3980 T49_ = renderTree__renderer_46(n_2, 0);
3981 T50_ = NIM_NIL;
3982 T50_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_37), T49_);
3983 liMessage__msgs_1118((*tracked).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_38, NIM_FALSE);
3984 }
3985 break;
3986 case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1):
3987 {
3988 NimStringDesc* T52_;
3989 NimStringDesc* T53_;
3990 T52_ = NIM_NIL;
3991 T52_ = renderTree__renderer_46(n_2, 0);
3992 T53_ = NIM_NIL;
3993 T53_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_39), T52_);
3994 liMessage__msgs_1118((*tracked).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T53_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_40, NIM_FALSE);
3995 }
3996 break;
3997 case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2):
3998 {
3999 }
4000 break;
4001 }
4002 }
4003 LA20_: ;
4004 }
4005 LA14_: ;
4006 }BeforeRet_: ;
4007 }
N_NIMCALL(void,trackOperandForIndirectCall__sempass50_2790)4008 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) {
4009 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4010 tyObject_TType__facALICuu8zUj0hjvbTLFg* op;
4011 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
4012 tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType;
4013 a = skipConvCastAndClosure__astalgo_114(n);
4014 op = (*a).typ;
4015 {
4016 NIM_BOOL T3_;
4017 NIM_BOOL T4_;
4018 NI T6_;
4019 T3_ = (NIM_BOOL)0;
4020 T4_ = (NIM_BOOL)0;
4021 T4_ = !((formals == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4022 if (!(T4_)) goto LA5_;
4023 T6_ = (NI)0;
4024 T6_ = len__ast_4002(formals);
4025 T4_ = (argIndex < T6_);
4026 LA5_: ;
4027 T3_ = T4_;
4028 if (!(T3_)) goto LA7_;
4029 T3_ = !(((*formals).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4030 LA7_: ;
4031 if (!T3_) goto LA8_;
4032 param = (*(*(*formals).n)._kind_6.sons->data[argIndex])._kind_4.sym;
4033 }
4034 goto LA1_;
4035 LA8_: ;
4036 {
4037 param = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
4038 }
4039 LA1_: ;
4040 {
4041 NIM_BOOL T13_;
4042 NIM_BOOL T14_;
4043 NIM_BOOL T15_;
4044 NIM_BOOL T16_;
4045 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
4046 NIM_BOOL T21_;
4047 NIM_BOOL T23_;
4048 NIM_BOOL T24_;
4049 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effectList;
4050 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
4051 T13_ = (NIM_BOOL)0;
4052 T14_ = (NIM_BOOL)0;
4053 T15_ = (NIM_BOOL)0;
4054 T16_ = (NIM_BOOL)0;
4055 T16_ = !((op == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4056 if (!(T16_)) goto LA17_;
4057 T16_ = ((*op).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4058 LA17_: ;
4059 T15_ = T16_;
4060 if (!(T15_)) goto LA18_;
4061 T19_ = NIM_NIL;
4062 T19_ = skipConv__types_3597(n);
4063 T15_ = !(((*T19_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
4064 LA18_: ;
4065 T14_ = T15_;
4066 if (!(T14_)) goto LA20_;
4067 T21_ = (NIM_BOOL)0;
4068 T21_ = isTrival__sempass50_2779(caller);
4069 T14_ = !(T21_);
4070 LA20_: ;
4071 T13_ = T14_;
4072 if (!(T13_)) goto LA22_;
4073 T23_ = (NIM_BOOL)0;
4074 T24_ = (NIM_BOOL)0;
4075 T24_ = !((param == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4076 if (!(T24_)) goto LA25_;
4077 T24_ = (((*param).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 47))&63U)))!=0);
4078 LA25_: ;
4079 T23_ = T24_;
4080 if (T23_) goto LA26_;
4081 T23_ = !((((*(*tracked).c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 16))&31U)))!=0));
4082 LA26_: ;
4083 T13_ = T23_;
4084 LA22_: ;
4085 if (!T13_) goto LA27_;
4086 {
4087 NimStringDesc* argX60gensym217_;
4088 if (!!(((*(*(*op).n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)))) goto LA31_;
4089 argX60gensym217_ = toFileLineCol__msgs_615(TM__wkTG4eaV3t1uo3x09apjcwA_29);
4090 internalErrorImpl__msgs_1431((*tracked).config, unknownLineInfo__lineinfos_280, argX60gensym217_, TM__wkTG4eaV3t1uo3x09apjcwA_29);
4091 }
4092 LA31_: ;
4093 effectList = (*(*op).n)._kind_6.sons->data[((NI) 0)];
4094 s = skipConv__types_3597(n);
4095 {
4096 NIM_BOOL T35_;
4097 T35_ = (NIM_BOOL)0;
4098 T35_ = ((*s).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61));
4099 if (!(T35_)) goto LA36_;
4100 T35_ = ((*(*(*s)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4101 LA36_: ;
4102 if (!T35_) goto LA37_;
4103 s = (*s)._kind_6.sons->data[((NI) 1)];
4104 }
4105 LA37_: ;
4106 {
4107 NIM_BOOL T41_;
4108 NIM_BOOL T42_;
4109 T41_ = (NIM_BOOL)0;
4110 T42_ = (NIM_BOOL)0;
4111 T42_ = ((*s).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4112 if (!(T42_)) goto LA43_;
4113 T42_ = ((520192 &((NU32)1<<((NU)((*(*s)._kind_4.sym).kind)&31U)))!=0);
4114 LA43_: ;
4115 T41_ = T42_;
4116 if (!(T41_)) goto LA44_;
4117 T41_ = isNoEffectList__sempass50_2756(effectList);
4118 LA44_: ;
4119 if (!T41_) goto LA45_;
4120 propagateEffects__sempass50_2610(tracked, n, (*s)._kind_4.sym);
4121 }
4122 goto LA39_;
4123 LA45_: ;
4124 {
4125 NIM_BOOL T48_;
4126 T48_ = (NIM_BOOL)0;
4127 T48_ = isNoEffectList__sempass50_2756(effectList);
4128 if (!T48_) goto LA49_;
4129 {
4130 NIM_BOOL T53_;
4131 T53_ = (NIM_BOOL)0;
4132 T53_ = isForwardedProc__sempass50_2549(n);
4133 if (!T53_) goto LA54_;
4134 propagateEffects__sempass50_2610(tracked, n, (*n)._kind_4.sym);
4135 }
4136 goto LA51_;
4137 LA54_: ;
4138 {
4139 NIM_BOOL T57_;
4140 T57_ = (NIM_BOOL)0;
4141 T57_ = isOwnedProcVar__sempass50_2732(tracked, a);
4142 if (!!(T57_)) goto LA58_;
4143 assumeTheWorst__sempass50_2727(tracked, n, op);
4144 }
4145 goto LA51_;
4146 LA58_: ;
4147 LA51_: ;
4148 {
4149 NIM_BOOL T62_;
4150 NIM_BOOL T64_;
4151 T62_ = (NIM_BOOL)0;
4152 T62_ = ((130 & (*op).flags) == 0);
4153 if (!(T62_)) goto LA63_;
4154 T64_ = (NIM_BOOL)0;
4155 T64_ = isOwnedProcVar__sempass50_2732(tracked, a);
4156 T62_ = !(T64_);
4157 LA63_: ;
4158 if (!T62_) goto LA65_;
4159 {
4160 NIM_BOOL T69_;
4161 T69_ = (NIM_BOOL)0;
4162 T69_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
4163 if (!T69_) goto LA70_;
4164 warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
4165 }
4166 LA70_: ;
4167 markGcUnsafe__sempass50_368(tracked, a);
4168 }
4169 goto LA60_;
4170 LA65_: ;
4171 {
4172 NIM_BOOL T73_;
4173 NIM_BOOL T75_;
4174 T73_ = (NIM_BOOL)0;
4175 T73_ = !((((*op).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
4176 if (!(T73_)) goto LA74_;
4177 T75_ = (NIM_BOOL)0;
4178 T75_ = isOwnedProcVar__sempass50_2732(tracked, a);
4179 T73_ = !(T75_);
4180 LA74_: ;
4181 if (!T73_) goto LA76_;
4182 markSideEffect__sempass50_2877(tracked, a, (*n).info);
4183 }
4184 goto LA60_;
4185 LA76_: ;
4186 LA60_: ;
4187 }
4188 goto LA39_;
4189 LA49_: ;
4190 {
4191 mergeRaises__sempass50_2273(tracked, (*effectList)._kind_6.sons->data[((NI) 0)], n);
4192 mergeTags__sempass50_2281(tracked, (*effectList)._kind_6.sons->data[((NI) 3)], n);
4193 {
4194 if (!((130 & (*op).flags) == 0)) goto LA81_;
4195 {
4196 NIM_BOOL T85_;
4197 T85_ = (NIM_BOOL)0;
4198 T85_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
4199 if (!T85_) goto LA86_;
4200 warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
4201 }
4202 LA86_: ;
4203 markGcUnsafe__sempass50_368(tracked, a);
4204 }
4205 goto LA79_;
4206 LA81_: ;
4207 {
4208 if (!!((((*op).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0))) goto LA89_;
4209 markSideEffect__sempass50_2877(tracked, a, (*n).info);
4210 }
4211 goto LA79_;
4212 LA89_: ;
4213 LA79_: ;
4214 }
4215 LA39_: ;
4216 }
4217 LA27_: ;
4218 {
4219 NIM_BOOL T93_;
4220 NI T95_;
4221 T93_ = (NIM_BOOL)0;
4222 T93_ = !((formals == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4223 if (!(T93_)) goto LA94_;
4224 T95_ = (NI)0;
4225 T95_ = len__ast_4002(formals);
4226 T93_ = (argIndex < T95_);
4227 LA94_: ;
4228 if (!T93_) goto LA96_;
4229 paramType = (*formals).sons->data[argIndex];
4230 }
4231 goto LA91_;
4232 LA96_: ;
4233 {
4234 paramType = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
4235 }
4236 LA91_: ;
4237 {
4238 NIM_BOOL T101_;
4239 T101_ = (NIM_BOOL)0;
4240 T101_ = !((paramType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4241 if (!(T101_)) goto LA102_;
4242 T101_ = ((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
4243 LA102_: ;
4244 if (!T101_) goto LA103_;
4245 invalidateFacts__guards_760((&(*tracked).guards), n);
4246 {
4247 NIM_BOOL T107_;
4248 T107_ = (NIM_BOOL)0;
4249 T107_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4250 if (!(T107_)) goto LA108_;
4251 T107_ = isLocalVar__sempass50_162(tracked, (*n)._kind_4.sym);
4252 LA108_: ;
4253 if (!T107_) goto LA109_;
4254 makeVolatile__sempass50_301(tracked, (*n)._kind_4.sym);
4255 }
4256 LA109_: ;
4257 }
4258 LA103_: ;
4259 {
4260 NIM_BOOL T113_;
4261 NIM_BOOL T114_;
4262 tyObject_TType__facALICuu8zUj0hjvbTLFg* argtype;
4263 T113_ = (NIM_BOOL)0;
4264 T114_ = (NIM_BOOL)0;
4265 T114_ = !((paramType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4266 if (!(T114_)) goto LA115_;
4267 T114_ = ((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4268 LA115_: ;
4269 T113_ = T114_;
4270 if (!(T113_)) goto LA116_;
4271 T113_ = (((*paramType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0);
4272 LA116_: ;
4273 if (!T113_) goto LA117_;
4274 argtype = skipTypes__ast_3735((*a).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
4275 {
4276 NIM_BOOL T121_;
4277 NIM_BOOL T122_;
4278 NimStringDesc* T127_;
4279 NimStringDesc* T128_;
4280 T121_ = (NIM_BOOL)0;
4281 T122_ = (NIM_BOOL)0;
4282 T122_ = ((*argtype).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4283 if (!(T122_)) goto LA123_;
4284 T122_ = ((130 & (*argtype).flags) == 0);
4285 LA123_: ;
4286 T121_ = T122_;
4287 if (!(T121_)) goto LA124_;
4288 T121_ = !((*tracked).inEnforcedGcSafe);
4289 LA124_: ;
4290 if (!T121_) goto LA125_;
4291 T127_ = NIM_NIL;
4292 T128_ = NIM_NIL;
4293 T128_ = dollar___renderer_2106(n);
4294 T127_ = rawNewString((T128_ ? T128_->Sup.len : 0) + 15);
4295 appendString(T127_, T128_);
4296 appendString(T127_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_31));
4297 liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T127_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_32, NIM_FALSE);
4298 }
4299 LA125_: ;
4300 }
4301 LA117_: ;
4302 notNilCheck__sempass50_2659(tracked, n, paramType);
4303 }
N_NIMCALL(void,initVar__sempass50_312)4304 N_LIB_PRIVATE N_NIMCALL(void, initVar__sempass50_312)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL volatileCheck) {
4305 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
4306 { {
4307 if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
4308 goto BeforeRet_;
4309 }
4310 LA3_: ;
4311 s = (*n)._kind_4.sym;
4312 {
4313 NIM_BOOL T7_;
4314 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym55_;
4315 NI T22_;
4316 T7_ = (NIM_BOOL)0;
4317 T7_ = isLocalVar__sempass50_162(a, s);
4318 if (!T7_) goto LA8_;
4319 {
4320 if (!volatileCheck) goto LA12_;
4321 makeVolatile__sempass50_301(a, s);
4322 }
4323 LA12_: ;
4324 {
4325 NI* x;
4326 NI i;
4327 NI L;
4328 NI T15_;
4329 x = (NI*)0;
4330 i = ((NI) 0);
4331 T15_ = ((*a).init ? (*a).init->Sup.len : 0);
4332 L = T15_;
4333 {
4334 while (1) {
4335 if (!(i < L)) goto LA17;
4336 x = (&(*a).init->data[i]);
4337 {
4338 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym54_;
4339 xX60gensym54_ = s;
4340 if (!((*x) == (NI)((NI)((NU64)(((NI) ((*xX60gensym54_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym54_).Sup.itemId.item))))) goto LA20_;
4341 goto BeforeRet_;
4342 }
4343 LA20_: ;
4344 i += ((NI) 1);
4345 } LA17: ;
4346 }
4347 }
4348 xX60gensym55_ = s;
4349 unsureAsgnRef((void**) (&(*a).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*a).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
4350 T22_ = (*a).init->Sup.len++;
4351 (*a).init->data[T22_] = (NI)((NI)((NU64)(((NI) ((*xX60gensym55_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym55_).Sup.itemId.item)));
4352 }
4353 LA8_: ;
4354 }BeforeRet_: ;
4355 }
N_NIMCALL(void,initVarViaNew__sempass50_341)4356 N_LIB_PRIVATE N_NIMCALL(void, initVarViaNew__sempass50_341)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4357 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
4358 { {
4359 if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
4360 goto BeforeRet_;
4361 }
4362 LA3_: ;
4363 s = (*n)._kind_4.sym;
4364 {
4365 if (!(((393216 & (*(*s).typ).flags) & ~ 131072)==0)) goto LA7_;
4366 initVar__sempass50_312(a, n, NIM_TRUE);
4367 }
4368 goto LA5_;
4369 LA7_: ;
4370 {
4371 NIM_BOOL T10_;
4372 T10_ = (NIM_BOOL)0;
4373 T10_ = isLocalVar__sempass50_162(a, s);
4374 if (!T10_) goto LA11_;
4375 makeVolatile__sempass50_301(a, s);
4376 }
4377 goto LA5_;
4378 LA11_: ;
4379 LA5_: ;
4380 }BeforeRet_: ;
4381 }
N_NIMCALL(void,checkLe__sempass50_3342)4382 N_LIB_PRIVATE N_NIMCALL(void, checkLe__sempass50_3342)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4383 tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T1_;
4384 T1_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4385 T1_ = proveLe__guards_1619((*c).guards, a, b);
4386 switch (T1_) {
4387 case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0):
4388 {
4389 NimStringDesc* T3_;
4390 NimStringDesc* T4_;
4391 NimStringDesc* T5_;
4392 T3_ = NIM_NIL;
4393 T4_ = NIM_NIL;
4394 T4_ = dollar___renderer_2106(a);
4395 T5_ = NIM_NIL;
4396 T5_ = dollar___renderer_2106(b);
4397 T3_ = rawNewString((T4_ ? T4_->Sup.len : 0) + (T5_ ? T5_->Sup.len : 0) + 18);
4398 appendString(T3_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_42));
4399 appendString(T3_, T4_);
4400 appendString(T3_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_43));
4401 appendString(T3_, T5_);
4402 liMessage__msgs_1118((*c).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 46), T3_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_44, NIM_FALSE);
4403 }
4404 break;
4405 case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2):
4406 {
4407 }
4408 break;
4409 case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1):
4410 {
4411 NimStringDesc* T8_;
4412 NimStringDesc* T9_;
4413 NimStringDesc* T10_;
4414 T8_ = NIM_NIL;
4415 T9_ = NIM_NIL;
4416 T9_ = dollar___renderer_2106(a);
4417 T10_ = NIM_NIL;
4418 T10_ = dollar___renderer_2106(b);
4419 T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 14);
4420 appendString(T8_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_45));
4421 appendString(T8_, T9_);
4422 appendString(T8_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_46));
4423 appendString(T8_, T10_);
4424 liMessage__msgs_1118((*c).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 46), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_47, NIM_FALSE);
4425 }
4426 break;
4427 }
4428 }
N_NIMCALL(void,checkBounds__sempass50_3346)4429 N_LIB_PRIVATE N_NIMCALL(void, checkBounds__sempass50_3346)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx) {
4430 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4431 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
4432 T1_ = NIM_NIL;
4433 T1_ = lowBound__guards_261((*c).config, arr);
4434 checkLe__sempass50_3342(c, T1_, idx);
4435 T2_ = NIM_NIL;
4436 T2_ = highBound__guards_265((*c).config, arr, (&(*(*c).guards.g).operators));
4437 checkLe__sempass50_3342(c, idx, T2_);
4438 }
N_INLINE(int,nimCmpMem)4439 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
4440 int result;
4441 result = (int)0;
4442 result = memcmp(a, b, ((size_t) (size)));
4443 return result;
4444 }
N_INLINE(NIM_BOOL,equalMem__system_1735)4445 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
4446 NIM_BOOL result;
4447 int T1_;
4448 result = (NIM_BOOL)0;
4449 T1_ = (int)0;
4450 T1_ = nimCmpMem(a, b, size);
4451 result = (T1_ == ((NI32) 0));
4452 return result;
4453 }
N_INLINE(NIM_BOOL,eqStrings)4454 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
4455 NIM_BOOL result;
4456 NI alen;
4457 NI blen;
4458 { result = (NIM_BOOL)0;
4459 alen = (a ? a->Sup.len : 0);
4460 blen = (b ? b->Sup.len : 0);
4461 {
4462 if (!(alen == blen)) goto LA3_;
4463 {
4464 if (!(alen == ((NI) 0))) goto LA7_;
4465 result = NIM_TRUE;
4466 goto BeforeRet_;
4467 }
4468 LA7_: ;
4469 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
4470 goto BeforeRet_;
4471 }
4472 LA3_: ;
4473 }BeforeRet_: ;
4474 return result;
4475 }
N_INLINE(NI,find__sempass50_3619)4476 static N_INLINE(NI, find__sempass50_3619)(tyArray__JXkBzVsE9bvmcpuZvrueLVg a, NimStringDesc* item) {
4477 NI result;
4478 { result = (NI)0;
4479 result = ((NI) 0);
4480 {
4481 NimStringDesc* i;
4482 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg i_2;
4483 i = NIM_NIL;
4484 i_2 = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0);
4485 {
4486 while (1) {
4487 i = a[(i_2)- 0];
4488 {
4489 if (!eqStrings(i, item)) goto LA6_;
4490 goto BeforeRet_;
4491 }
4492 LA6_: ;
4493 result += ((NI) 1);
4494 {
4495 if (!(((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4) <= i_2)) goto LA10_;
4496 goto LA2;
4497 }
4498 LA10_: ;
4499 i_2 += ((NI) 1);
4500 }
4501 } LA2: ;
4502 }
4503 result = ((NI) -1);
4504 }BeforeRet_: ;
4505 return result;
4506 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)4507 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
4508 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
4509 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4510 (*x).typeId_0 += ((NI) 1);
4511 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4512 result.module = (*x).module;
4513 result.item = (*x).typeId_0;
4514 return result;
4515 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)4516 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4517 NIM_BOOL result;
4518 NIM_BOOL T1_;
4519 result = (NIM_BOOL)0;
4520 T1_ = (NIM_BOOL)0;
4521 T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4522 if (T1_) goto LA2_;
4523 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
4524 LA2_: ;
4525 result = T1_;
4526 return result;
4527 }
N_NIMCALL(void,checkForSink__sempass50_24)4528 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) {
4529 { {
4530 if (!!((((*config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 25))&31U)))!=0))) goto LA3_;
4531 goto BeforeRet_;
4532 }
4533 LA3_: ;
4534 switch ((*arg).kind) {
4535 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4536 {
4537 {
4538 NIM_BOOL T8_;
4539 NIM_BOOL T9_;
4540 NIM_BOOL T10_;
4541 NIM_BOOL T11_;
4542 NIM_BOOL T12_;
4543 T8_ = (NIM_BOOL)0;
4544 T9_ = (NIM_BOOL)0;
4545 T10_ = (NIM_BOOL)0;
4546 T11_ = (NIM_BOOL)0;
4547 T12_ = (NIM_BOOL)0;
4548 T12_ = ((*(*arg)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
4549 if (!(T12_)) goto LA13_;
4550 T12_ = ((*(*arg)._kind_4.sym).owner == owner);
4551 LA13_: ;
4552 T11_ = T12_;
4553 if (!(T11_)) goto LA14_;
4554 T11_ = !(((*owner).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4555 LA14_: ;
4556 T10_ = T11_;
4557 if (!(T10_)) goto LA15_;
4558 T10_ = ((*(*owner).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4559 LA15_: ;
4560 T9_ = T10_;
4561 if (!(T9_)) goto LA16_;
4562 T9_ = !(((IL64(2147483664) & (*(*(*arg)._kind_4.sym).typ).flags) == 0));
4563 LA16_: ;
4564 T8_ = T9_;
4565 if (!(T8_)) goto LA17_;
4566 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)));
4567 LA17_: ;
4568 if (!T8_) goto LA18_;
4569 {
4570 tyObject_TType__facALICuu8zUj0hjvbTLFg* argType;
4571 tyObject_TType__facALICuu8zUj0hjvbTLFg* sinkType;
4572 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T24_;
4573 if (!!((((*owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5))&63U)))!=0))) goto LA22_;
4574 argType = (*(*arg)._kind_4.sym).typ;
4575 T24_ = nextTypeId__ast_3151(idgen);
4576 sinkType = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46), T24_, owner);
4577 (*sinkType).size = (*argType).size;
4578 (*sinkType).align = (*argType).align;
4579 (*sinkType).paddingAtEnd = (*argType).paddingAtEnd;
4580 add__concepts_23(sinkType, argType);
4581 asgnRef((void**) (&(*(*arg)._kind_4.sym).typ), sinkType);
4582 asgnRef((void**) (&(*(*owner).typ).sons->data[(NI)((*(*arg)._kind_4.sym).position + ((NI) 1))]), sinkType);
4583 }
4584 goto LA20_;
4585 LA22_: ;
4586 {
4587 tyArray__nHXaesL0DJZHyVS07ARPRA T28_;
4588 NimStringDesc* T29_;
4589 if (!!((((*(*arg)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5))&63U)))!=0))) goto LA26_;
4590 (*(*arg)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5)) & 63);
4591 nimZeroMem((void*)T28_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
4592 T28_[0] = copyString((*(*(*arg)._kind_4.sym).name).s);
4593 T29_ = NIM_NIL;
4594 T29_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_50), T28_, 1);
4595 liMessage__msgs_1118(config, (*arg).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 93), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_51, NIM_FALSE);
4596 }
4597 goto LA20_;
4598 LA26_: ;
4599 LA20_: ;
4600 }
4601 LA18_: ;
4602 }
4603 break;
4604 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4605 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4606 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
4607 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
4608 {
4609 {
4610 NIM_BOOL T33_;
4611 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
4612 T33_ = (NIM_BOOL)0;
4613 T33_ = isEmptyType__ast_4779((*arg).typ);
4614 if (!!(T33_)) goto LA34_;
4615 T36_ = NIM_NIL;
4616 T36_ = lastSon__ast_4832(arg);
4617 checkForSink__sempass50_24(config, idgen, owner, T36_);
4618 }
4619 LA34_: ;
4620 }
4621 break;
4622 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
4623 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
4624 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
4625 {
4626 {
4627 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
4628 branch = NIM_NIL;
4629 {
4630 NI i;
4631 NI colontmp_;
4632 NI i_2;
4633 i = (NI)0;
4634 colontmp_ = (NI)0;
4635 colontmp_ = safeLen__ast_3191(arg);
4636 i_2 = ((NI) 0);
4637 {
4638 while (1) {
4639 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
4640 if (!(i_2 < colontmp_)) goto LA41;
4641 i = i_2;
4642 branch = (*arg)._kind_6.sons->data[i];
4643 value = lastSon__ast_4832(branch);
4644 {
4645 NIM_BOOL T44_;
4646 T44_ = (NIM_BOOL)0;
4647 T44_ = isEmptyType__ast_4779((*value).typ);
4648 if (!!(T44_)) goto LA45_;
4649 checkForSink__sempass50_24(config, idgen, owner, value);
4650 }
4651 LA45_: ;
4652 i_2 += ((NI) 1);
4653 } LA41: ;
4654 }
4655 }
4656 }
4657 }
4658 break;
4659 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4660 {
4661 {
4662 NI i_3;
4663 NI colontmp__2;
4664 NI i_4;
4665 i_3 = (NI)0;
4666 colontmp__2 = (NI)0;
4667 colontmp__2 = len__ast_3198(arg);
4668 i_4 = ((NI) 1);
4669 {
4670 while (1) {
4671 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value_2;
4672 if (!(i_4 < colontmp__2)) goto LA50;
4673 i_3 = i_4;
4674 value_2 = lastSon__ast_4832((*arg)._kind_6.sons->data[i_3]);
4675 {
4676 NIM_BOOL T53_;
4677 T53_ = (NIM_BOOL)0;
4678 T53_ = isEmptyType__ast_4779((*value_2).typ);
4679 if (!!(T53_)) goto LA54_;
4680 checkForSink__sempass50_24(config, idgen, owner, value_2);
4681 }
4682 LA54_: ;
4683 i_4 += ((NI) 1);
4684 } LA50: ;
4685 }
4686 }
4687 }
4688 break;
4689 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
4690 {
4691 checkForSink__sempass50_24(config, idgen, owner, (*arg)._kind_6.sons->data[((NI) 0)]);
4692 }
4693 break;
4694 default:
4695 {
4696 }
4697 break;
4698 }
4699 }BeforeRet_: ;
4700 }
N_NIMCALL(void,trackCall__sempass50_3367)4701 N_LIB_PRIVATE N_NIMCALL(void, trackCall__sempass50_3367)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4702 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4703 tyObject_TType__facALICuu8zUj0hjvbTLFg* op;
4704 a = (*n)._kind_6.sons->data[((NI) 0)];
4705 op = (*a).typ;
4706 {
4707 if (!!(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
4708 {
4709 NIM_BOOL T7_;
4710 tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
4711 T7_ = (NIM_BOOL)0;
4712 T7_ = !(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
4713 if (!(T7_)) goto LA8_;
4714 T9_ = NIM_NIL;
4715 T9_ = skipTypes__ast_3735((*n).typ, TM__wkTG4eaV3t1uo3x09apjcwA_23);
4716 T7_ = !(((*T9_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27)));
4717 LA8_: ;
4718 if (!T7_) goto LA10_;
4719 createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
4720 }
4721 LA10_: ;
4722 }
4723 LA3_: ;
4724 {
4725 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
4726 T14_ = NIM_NIL;
4727 T14_ = getConstExpr__semfold_81((*tracked).ownerModule, n, (*(*tracked).c).Sup.idgen, (*tracked).graph);
4728 if (!(T14_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA15_;
4729 {
4730 NIM_BOOL T19_;
4731 T19_ = (NIM_BOOL)0;
4732 T19_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61));
4733 if (!(T19_)) goto LA20_;
4734 T19_ = ((*(*(*a)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4735 LA20_: ;
4736 if (!T19_) goto LA21_;
4737 a = (*a)._kind_6.sons->data[((NI) 1)];
4738 }
4739 LA21_: ;
4740 {
4741 NIM_BOOL T25_;
4742 NIM_BOOL T26_;
4743 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effectList;
4744 T25_ = (NIM_BOOL)0;
4745 T26_ = (NIM_BOOL)0;
4746 T26_ = !((op == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4747 if (!(T26_)) goto LA27_;
4748 T26_ = ((*op).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4749 LA27_: ;
4750 T25_ = T26_;
4751 if (!(T25_)) goto LA28_;
4752 T25_ = ((*(*(*op).n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152));
4753 LA28_: ;
4754 if (!T25_) goto LA29_;
4755 {
4756 NI16 T39_;
4757 if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA33_;
4758 {
4759 if (!((*a)._kind_4.sym == (*tracked).owner)) goto LA37_;
4760 (*tracked).isRecursive = NIM_TRUE;
4761 }
4762 LA37_: ;
4763 T39_ = (NI16)0;
4764 T39_ = getLockLevel__sempass50_2591((*a)._kind_4.sym);
4765 mergeLockLevels__sempass50_2606(tracked, n, T39_);
4766 {
4767 if (!(((*(*a)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 13))&63U)))!=0)) goto LA42_;
4768 markSideEffect__sempass50_2877(tracked, a, (*n).info);
4769 }
4770 LA42_: ;
4771 }
4772 goto LA31_;
4773 LA33_: ;
4774 {
4775 mergeLockLevels__sempass50_2606(tracked, n, (*op).lockLevel);
4776 }
4777 LA31_: ;
4778 effectList = (*(*op).n)._kind_6.sons->data[((NI) 0)];
4779 {
4780 NIM_BOOL T47_;
4781 T47_ = (NIM_BOOL)0;
4782 T47_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4783 if (!(T47_)) goto LA48_;
4784 T47_ = ((*(*a)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
4785 LA48_: ;
4786 if (!T47_) goto LA49_;
4787 propagateEffects__sempass50_2610(tracked, n, (*a)._kind_4.sym);
4788 }
4789 goto LA45_;
4790 LA49_: ;
4791 {
4792 NIM_BOOL T52_;
4793 T52_ = (NIM_BOOL)0;
4794 T52_ = isNoEffectList__sempass50_2756(effectList);
4795 if (!T52_) goto LA53_;
4796 {
4797 NIM_BOOL T57_;
4798 T57_ = (NIM_BOOL)0;
4799 T57_ = isForwardedProc__sempass50_2549(a);
4800 if (!T57_) goto LA58_;
4801 propagateEffects__sempass50_2610(tracked, n, (*a)._kind_4.sym);
4802 }
4803 goto LA55_;
4804 LA58_: ;
4805 {
4806 NIM_BOOL T61_;
4807 T61_ = (NIM_BOOL)0;
4808 T61_ = isIndirectCall__sempass50_2513(tracked, a);
4809 if (!T61_) goto LA62_;
4810 assumeTheWorst__sempass50_2727(tracked, n, op);
4811 {
4812 NIM_BOOL T66_;
4813 NIM_BOOL T68_;
4814 T66_ = (NIM_BOOL)0;
4815 T66_ = ((130 & (*op).flags) == 0);
4816 if (!(T66_)) goto LA67_;
4817 T68_ = (NIM_BOOL)0;
4818 T68_ = importedFromC__sempass50_2580(a);
4819 T66_ = !(T68_);
4820 LA67_: ;
4821 if (!T66_) goto LA69_;
4822 {
4823 NIM_BOOL T73_;
4824 T73_ = (NIM_BOOL)0;
4825 T73_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4826 if (!(T73_)) goto LA74_;
4827 T73_ = ((*a)._kind_4.sym == (*tracked).owner);
4828 LA74_: ;
4829 if (!!(T73_)) goto LA75_;
4830 {
4831 NIM_BOOL T79_;
4832 T79_ = (NIM_BOOL)0;
4833 T79_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
4834 if (!T79_) goto LA80_;
4835 warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
4836 }
4837 LA80_: ;
4838 markGcUnsafe__sempass50_368(tracked, a);
4839 }
4840 LA75_: ;
4841 }
4842 LA69_: ;
4843 {
4844 NIM_BOOL T84_;
4845 NIM_BOOL T86_;
4846 T84_ = (NIM_BOOL)0;
4847 T84_ = !((((*op).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
4848 if (!(T84_)) goto LA85_;
4849 T86_ = (NIM_BOOL)0;
4850 T86_ = importedFromC__sempass50_2580(a);
4851 T84_ = !(T86_);
4852 LA85_: ;
4853 if (!T84_) goto LA87_;
4854 {
4855 NIM_BOOL T91_;
4856 T91_ = (NIM_BOOL)0;
4857 T91_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4858 if (!(T91_)) goto LA92_;
4859 T91_ = ((*a)._kind_4.sym == (*tracked).owner);
4860 LA92_: ;
4861 if (!!(T91_)) goto LA93_;
4862 markSideEffect__sempass50_2877(tracked, a, (*n).info);
4863 }
4864 LA93_: ;
4865 }
4866 LA87_: ;
4867 }
4868 goto LA55_;
4869 LA62_: ;
4870 {
4871 {
4872 NIM_BOOL T98_;
4873 NIM_BOOL T99_;
4874 T98_ = (NIM_BOOL)0;
4875 T99_ = (NIM_BOOL)0;
4876 T99_ = (((*(*tracked).c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 16))&31U)))!=0);
4877 if (!(T99_)) goto LA100_;
4878 T99_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4879 LA100_: ;
4880 T98_ = T99_;
4881 if (!(T98_)) goto LA101_;
4882 T98_ = ((520192 &((NU32)1<<((NU)((*(*a)._kind_4.sym).kind)&31U)))!=0);
4883 LA101_: ;
4884 if (!T98_) goto LA102_;
4885 propagateEffects__sempass50_2610(tracked, n, (*a)._kind_4.sym);
4886 }
4887 LA102_: ;
4888 }
4889 LA55_: ;
4890 }
4891 goto LA45_;
4892 LA53_: ;
4893 {
4894 mergeRaises__sempass50_2273(tracked, (*effectList)._kind_6.sons->data[((NI) 0)], n);
4895 mergeTags__sempass50_2281(tracked, (*effectList)._kind_6.sons->data[((NI) 3)], n);
4896 {
4897 NIM_BOOL T107_;
4898 NIM_BOOL T109_;
4899 T107_ = (NIM_BOOL)0;
4900 T107_ = ((130 & (*op).flags) == 0);
4901 if (!(T107_)) goto LA108_;
4902 T109_ = (NIM_BOOL)0;
4903 T109_ = importedFromC__sempass50_2580(a);
4904 T107_ = !(T109_);
4905 LA108_: ;
4906 if (!T107_) goto LA110_;
4907 {
4908 NIM_BOOL T114_;
4909 T114_ = (NIM_BOOL)0;
4910 T114_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4911 if (!(T114_)) goto LA115_;
4912 T114_ = ((*a)._kind_4.sym == (*tracked).owner);
4913 LA115_: ;
4914 if (!!(T114_)) goto LA116_;
4915 {
4916 NIM_BOOL T120_;
4917 T120_ = (NIM_BOOL)0;
4918 T120_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 47));
4919 if (!T120_) goto LA121_;
4920 warnAboutGcUnsafe__sempass50_358(n, (*tracked).config);
4921 }
4922 LA121_: ;
4923 markGcUnsafe__sempass50_368(tracked, a);
4924 }
4925 LA116_: ;
4926 }
4927 LA110_: ;
4928 {
4929 NIM_BOOL T125_;
4930 NIM_BOOL T127_;
4931 T125_ = (NIM_BOOL)0;
4932 T125_ = !((((*op).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
4933 if (!(T125_)) goto LA126_;
4934 T127_ = (NIM_BOOL)0;
4935 T127_ = importedFromC__sempass50_2580(a);
4936 T125_ = !(T127_);
4937 LA126_: ;
4938 if (!T125_) goto LA128_;
4939 {
4940 NIM_BOOL T132_;
4941 T132_ = (NIM_BOOL)0;
4942 T132_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4943 if (!(T132_)) goto LA133_;
4944 T132_ = ((*a)._kind_4.sym == (*tracked).owner);
4945 LA133_: ;
4946 if (!!(T132_)) goto LA134_;
4947 markSideEffect__sempass50_2877(tracked, a, (*n).info);
4948 }
4949 LA134_: ;
4950 }
4951 LA128_: ;
4952 }
4953 LA45_: ;
4954 }
4955 LA29_: ;
4956 {
4957 NIM_BOOL T138_;
4958 T138_ = (NIM_BOOL)0;
4959 T138_ = !(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
4960 if (T138_) goto LA139_;
4961 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)));
4962 LA139_: ;
4963 if (!T138_) goto LA140_;
4964 {
4965 NI i;
4966 NI colontmp_;
4967 NI i_2;
4968 i = (NI)0;
4969 colontmp_ = (NI)0;
4970 colontmp_ = len__ast_3198(n);
4971 i_2 = ((NI) 1);
4972 {
4973 while (1) {
4974 if (!(i_2 < colontmp_)) goto LA144;
4975 i = i_2;
4976 trackOperandForIndirectCall__sempass50_2790(tracked, (*n)._kind_6.sons->data[i], op, i, a);
4977 i_2 += ((NI) 1);
4978 } LA144: ;
4979 }
4980 }
4981 }
4982 LA140_: ;
4983 {
4984 NIM_BOOL T147_;
4985 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
4986 T147_ = (NIM_BOOL)0;
4987 T147_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4988 if (!(T147_)) goto LA148_;
4989 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));
4990 LA148_: ;
4991 if (!T147_) goto LA149_;
4992 arg = (*n)._kind_6.sons->data[((NI) 1)];
4993 initVarViaNew__sempass50_341(tracked, arg);
4994 {
4995 NIM_BOOL T153_;
4996 NI T154_;
4997 tyObject_TType__facALICuu8zUj0hjvbTLFg* T156_;
4998 T153_ = (NIM_BOOL)0;
4999 T154_ = (NI)0;
5000 T154_ = len__ast_4002((*arg).typ);
5001 T153_ = !((T154_ == ((NI) 0)));
5002 if (!(T153_)) goto LA155_;
5003 T156_ = NIM_NIL;
5004 T156_ = lastSon__ast_3743((*arg).typ);
5005 T153_ = !(((262144 & (*T156_).flags) == 0));
5006 LA155_: ;
5007 if (!T153_) goto LA157_;
5008 {
5009 NIM_BOOL T161_;
5010 NIM_BOOL T162_;
5011 T161_ = (NIM_BOOL)0;
5012 T162_ = (NIM_BOOL)0;
5013 T162_ = ((*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34));
5014 if (!(T162_)) goto LA163_;
5015 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));
5016 LA163_: ;
5017 T161_ = T162_;
5018 if (!(T161_)) goto LA164_;
5019 T161_ = ((*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal == IL64(0));
5020 LA164_: ;
5021 if (!T161_) goto LA165_;
5022 }
5023 goto LA159_;
5024 LA165_: ;
5025 {
5026 NimStringDesc* T168_;
5027 T168_ = NIM_NIL;
5028 T168_ = dollar___renderer_2106(arg);
5029 liMessage__msgs_1118((*tracked).config, (*arg).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), T168_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_41, NIM_FALSE);
5030 }
5031 LA159_: ;
5032 }
5033 LA157_: ;
5034 {
5035 NI T171_;
5036 tyObject_TType__facALICuu8zUj0hjvbTLFg* T174_;
5037 T171_ = (NI)0;
5038 T171_ = len__ast_4002((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5039 if (!(((NI) 0) < T171_)) goto LA172_;
5040 T174_ = NIM_NIL;
5041 T174_ = lastSon__ast_3743((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5042 createTypeBoundOps__sempass50_142(tracked, T174_, (*n).info);
5043 createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*n).info);
5044 }
5045 LA172_: ;
5046 }
5047 goto LA145_;
5048 LA149_: ;
5049 {
5050 NIM_BOOL T176_;
5051 NIM_BOOL T177_;
5052 T176_ = (NIM_BOOL)0;
5053 T177_ = (NIM_BOOL)0;
5054 T177_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5055 if (!(T177_)) goto LA178_;
5056 T177_ = ((*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6));
5057 LA178_: ;
5058 T176_ = T177_;
5059 if (!(T176_)) goto LA179_;
5060 T176_ = (((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
5061 LA179_: ;
5062 if (!T176_) goto LA180_;
5063 checkBounds__sempass50_3346(tracked, (*n)._kind_6.sons->data[((NI) 1)], (*n)._kind_6.sons->data[((NI) 2)]);
5064 }
5065 goto LA145_;
5066 LA180_: ;
5067 LA145_: ;
5068 {
5069 NIM_BOOL T184_;
5070 T184_ = (NIM_BOOL)0;
5071 T184_ = !(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
5072 if (T184_) goto LA185_;
5073 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)));
5074 LA185_: ;
5075 if (!T184_) goto LA186_;
5076 {
5077 NI i_3;
5078 NI colontmp__2;
5079 NI i_4;
5080 i_3 = (NI)0;
5081 colontmp__2 = (NI)0;
5082 colontmp__2 = safeLen__ast_3191(n);
5083 i_4 = ((NI) 0);
5084 {
5085 while (1) {
5086 if (!(i_4 < colontmp__2)) goto LA190;
5087 i_3 = i_4;
5088 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_3]);
5089 i_4 += ((NI) 1);
5090 } LA190: ;
5091 }
5092 }
5093 }
5094 LA186_: ;
5095 }
5096 LA15_: ;
5097 {
5098 NIM_BOOL T193_;
5099 NIM_BOOL T194_;
5100 NIM_BOOL T195_;
5101 NI opKind;
5102 NimStringDesc* T201_;
5103 T193_ = (NIM_BOOL)0;
5104 T194_ = (NIM_BOOL)0;
5105 T195_ = (NIM_BOOL)0;
5106 T195_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5107 if (!(T195_)) goto LA196_;
5108 T195_ = (((NI) 0) < ((*(*(*a)._kind_4.sym).name).s ? (*(*(*a)._kind_4.sym).name).s->Sup.len : 0));
5109 LA196_: ;
5110 T194_ = T195_;
5111 if (!(T194_)) goto LA197_;
5112 T194_ = ((NU8)((*(*(*a)._kind_4.sym).name).s->data[((NI) 0)]) == (NU8)(61));
5113 LA197_: ;
5114 T193_ = T194_;
5115 if (!(T193_)) goto LA198_;
5116 T193_ = !(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
5117 LA198_: ;
5118 if (!T193_) goto LA199_;
5119 T201_ = NIM_NIL;
5120 T201_ = nsuNormalize((*(*(*a)._kind_4.sym).name).s);
5121 opKind = find__sempass50_3619(AttachedOpToStr__ast_3848, T201_);
5122 {
5123 if (!eqStrings((*(*(*a)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_48))) goto LA204_;
5124 opKind = ((NI) 1);
5125 }
5126 LA204_: ;
5127 {
5128 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5129 if (!!((opKind == ((NI) -1)))) goto LA208_;
5130 t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_49);
5131 {
5132 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T212_;
5133 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op_2;
5134 T212_ = NIM_NIL;
5135 T212_ = getAttachedOp__modulegraphs_4011((*tracked).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) (opKind)));
5136 if (!!(((*a)._kind_4.sym == T212_))) goto LA213_;
5137 createTypeBoundOps__sempass50_142(tracked, t, (*n).info);
5138 op_2 = getAttachedOp__modulegraphs_4011((*tracked).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) (opKind)));
5139 {
5140 if (!!((op_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA217_;
5141 asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym), op_2);
5142 }
5143 LA217_: ;
5144 }
5145 LA213_: ;
5146 }
5147 LA208_: ;
5148 }
5149 LA199_: ;
5150 {
5151 NIM_BOOL T221_;
5152 T221_ = (NIM_BOOL)0;
5153 T221_ = !((op == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5154 if (!(T221_)) goto LA222_;
5155 T221_ = ((*op).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
5156 LA222_: ;
5157 if (!T221_) goto LA223_;
5158 {
5159 NI i_5;
5160 NI colontmp__3;
5161 NI T226_;
5162 NI T227_;
5163 NI i_6;
5164 i_5 = (NI)0;
5165 colontmp__3 = (NI)0;
5166 T226_ = (NI)0;
5167 T226_ = safeLen__ast_3191(n);
5168 T227_ = (NI)0;
5169 T227_ = len__ast_4002(op);
5170 colontmp__3 = ((T226_ <= T227_) ? T226_ : T227_);
5171 i_6 = ((NI) 1);
5172 {
5173 while (1) {
5174 if (!(i_6 < colontmp__3)) goto LA229;
5175 i_5 = i_6;
5176 switch ((*(*op).sons->data[i_5]).kind) {
5177 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5178 {
5179 createTypeBoundOps__sempass50_142(tracked, (*(*op).sons->data[i_5]).sons->data[((NI) 0)], (*n).info);
5180 checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*n)._kind_6.sons->data[i_5]);
5181 }
5182 break;
5183 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
5184 {
5185 (*tracked).hasDangerousAssign = NIM_TRUE;
5186 }
5187 break;
5188 default:
5189 {
5190 }
5191 break;
5192 }
5193 i_6 += ((NI) 1);
5194 } LA229: ;
5195 }
5196 }
5197 }
5198 LA223_: ;
5199 }
N_NIMCALL(void,guardDotAccess__sempass50_237)5200 N_LIB_PRIVATE N_NIMCALL(void, guardDotAccess__sempass50_237)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5201 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri;
5202 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* g;
5203 { ri = (*n)._kind_6.sons->data[((NI) 1)];
5204 {
5205 NIM_BOOL T3_;
5206 T3_ = (NIM_BOOL)0;
5207 T3_ = !(((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
5208 if (T3_) goto LA4_;
5209 T3_ = !(((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)));
5210 LA4_: ;
5211 if (!T3_) goto LA5_;
5212 goto BeforeRet_;
5213 }
5214 LA5_: ;
5215 g = (*(*ri)._kind_4.sym)._kind_2.guard;
5216 {
5217 NIM_BOOL T9_;
5218 T9_ = (NIM_BOOL)0;
5219 T9_ = (g == 0);
5220 if (T9_) goto LA10_;
5221 T9_ = (*a).isTopLevel;
5222 LA10_: ;
5223 if (!T9_) goto LA11_;
5224 goto BeforeRet_;
5225 }
5226 LA11_: ;
5227 {
5228 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
5229 tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
5230 if (!((*g).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0))) goto LA15_;
5231 field = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
5232 ty = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_53);
5233 {
5234 NIM_BOOL T19_;
5235 T19_ = (NIM_BOOL)0;
5236 T19_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
5237 if (!(T19_)) goto LA20_;
5238 T19_ = !(((*ty).n == 0));
5239 LA20_: ;
5240 if (!T19_) goto LA21_;
5241 field = lookupInRecord__astalgo_84((*ty).n, (*g).name);
5242 }
5243 goto LA17_;
5244 LA21_: ;
5245 {
5246 {
5247 while (1) {
5248 NIM_BOOL T26_;
5249 T26_ = (NIM_BOOL)0;
5250 T26_ = !((ty == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5251 if (!(T26_)) goto LA27_;
5252 T26_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5253 LA27_: ;
5254 if (!T26_) goto LA25;
5255 field = lookupInRecord__astalgo_84((*ty).n, (*g).name);
5256 {
5257 if (!!((field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA30_;
5258 goto LA24;
5259 }
5260 LA30_: ;
5261 ty = (*ty).sons->data[((NI) 0)];
5262 {
5263 if (!(ty == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA34_;
5264 goto LA24;
5265 }
5266 LA34_: ;
5267 ty = skipTypes__ast_3735(ty, TM__wkTG4eaV3t1uo3x09apjcwA_9);
5268 } LA25: ;
5269 } LA24: ;
5270 }
5271 LA17_: ;
5272 {
5273 NimStringDesc* T40_;
5274 if (!(field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA38_;
5275 T40_ = NIM_NIL;
5276 T40_ = rawNewString(((*(*g).name).s ? (*(*g).name).s->Sup.len : 0) + 21);
5277 appendString(T40_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_54));
5278 appendString(T40_, (*(*g).name).s);
5279 liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_55, NIM_FALSE);
5280 goto BeforeRet_;
5281 }
5282 LA38_: ;
5283 g = field;
5284 }
5285 LA15_: ;
5286 {
5287 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dot;
5288 NimStringDesc* T54_;
5289 NimStringDesc* T55_;
5290 if (!((*g).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19))) goto LA43_;
5291 dot = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info, ((NI) 2));
5292 asgnRef((void**) (&(*dot)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 0)]);
5293 asgnRef((void**) (&(*dot)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(g));
5294 asgnRef((void**) (&(*dot).typ), (*g).typ);
5295 {
5296 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** L;
5297 NI i;
5298 NI L_2;
5299 NI T46_;
5300 L = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5301 i = ((NI) 0);
5302 T46_ = ((*a).locked ? (*a).locked->Sup.len : 0);
5303 L_2 = T46_;
5304 {
5305 while (1) {
5306 if (!(i < L_2)) goto LA48;
5307 L = &(*a).locked->data[i];
5308 {
5309 NIM_BOOL T51_;
5310 T51_ = (NIM_BOOL)0;
5311 T51_ = sameTree__guards_680(dot, (*L));
5312 if (!T51_) goto LA52_;
5313 goto BeforeRet_;
5314 }
5315 LA52_: ;
5316 i += ((NI) 1);
5317 } LA48: ;
5318 }
5319 }
5320 T54_ = NIM_NIL;
5321 T55_ = NIM_NIL;
5322 T55_ = renderTree__renderer_46(n, 0);
5323 T54_ = rawNewString((T55_ ? T55_->Sup.len : 0) + 18);
5324 appendString(T54_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_21));
5325 appendString(T54_, T55_);
5326 liMessage__msgs_1118((*a).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T54_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_56, NIM_FALSE);
5327 }
5328 goto LA41_;
5329 LA43_: ;
5330 {
5331 guardGlobal__sempass50_221(a, n, g);
5332 }
5333 LA41_: ;
5334 }BeforeRet_: ;
5335 }
N_NIMCALL(void,addToIntersection__sempass50_2160)5336 N_LIB_PRIVATE N_NIMCALL(void, addToIntersection__sempass50_2160)(tySequence__8Np6tlClE5az1CyqZdN19bQ** inter, NI s) {
5337 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T9_;
5338 NI T10_;
5339 { {
5340 NI j;
5341 NI colontmp_;
5342 NI T2_;
5343 NI i;
5344 j = (NI)0;
5345 colontmp_ = (NI)0;
5346 T2_ = ((*inter) ? (*inter)->Sup.len : 0);
5347 colontmp_ = T2_;
5348 i = ((NI) 0);
5349 {
5350 while (1) {
5351 if (!(i < colontmp_)) goto LA4;
5352 j = i;
5353 {
5354 if (!(s == (*inter)->data[j].Field0)) goto LA7_;
5355 (*inter)->data[j].Field1 += ((NI) 1);
5356 goto BeforeRet_;
5357 }
5358 LA7_: ;
5359 i += ((NI) 1);
5360 } LA4: ;
5361 }
5362 }
5363 T9_.Field0 = s;
5364 T9_.Field1 = ((NI) 1);
5365 unsureAsgnRef((void**) (&(*inter)), (tySequence__8Np6tlClE5az1CyqZdN19bQ*) incrSeqV3((TGenericSeq*)((*inter)), (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_)));
5366 T10_ = (*inter)->Sup.len++;
5367 (*inter)->data[T10_] = T9_;
5368 }BeforeRet_: ;
5369 }
N_NIMCALL(void,catchesAll__sempass50_2326)5370 N_LIB_PRIVATE N_NIMCALL(void, catchesAll__sempass50_2326)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked) {
5371 {
5372 NI T3_;
5373 T3_ = (NI)0;
5374 T3_ = len__ast_3198((*tracked).exc);
5375 if (!(((NI) 0) < T3_)) goto LA4_;
5376 asgnRef((void**) (&(*(*tracked).exc)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*tracked).exc)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((*tracked).bottom))));
5377 }
5378 LA4_: ;
5379 }
N_NIMCALL(void,catches__sempass50_2293)5380 N_LIB_PRIVATE N_NIMCALL(void, catches__sempass50_2293)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TType__facALICuu8zUj0hjvbTLFg* e) {
5381 tyObject_TType__facALICuu8zUj0hjvbTLFg* e_2;
5382 NI L;
5383 NI i;
5384 e_2 = skipTypes__ast_3735(e, TM__wkTG4eaV3t1uo3x09apjcwA_9);
5385 L = len__ast_3198((*tracked).exc);
5386 i = (*tracked).bottom;
5387 {
5388 while (1) {
5389 if (!(i < L)) goto LA2;
5390 {
5391 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5392 NI T6_;
5393 T5_ = NIM_NIL;
5394 T5_ = excType__sempass50_2211((*tracked).graph, (*(*tracked).exc)._kind_6.sons->data[i]);
5395 T6_ = (NI)0;
5396 T6_ = safeInheritanceDiff__types_3392(T5_, e_2);
5397 if (!(T6_ <= ((NI) 0))) goto LA7_;
5398 asgnRef((void**) (&(*(*tracked).exc)._kind_6.sons->data[i]), (*(*tracked).exc)._kind_6.sons->data[(NI)(L - ((NI) 1))]);
5399 L -= ((NI) 1);
5400 }
5401 goto LA3_;
5402 LA7_: ;
5403 {
5404 i += ((NI) 1);
5405 }
5406 LA3_: ;
5407 } LA2: ;
5408 }
5409 {
5410 NI T12_;
5411 T12_ = (NI)0;
5412 T12_ = len__ast_3198((*tracked).exc);
5413 if (!(((NI) 0) < T12_)) goto LA13_;
5414 asgnRef((void**) (&(*(*tracked).exc)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*tracked).exc)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (L))));
5415 }
5416 goto LA10_;
5417 LA13_: ;
5418 {
5419 }
5420 LA10_: ;
5421 }
N_NIMCALL(void,trackTryStmt__sempass50_2341)5422 N_LIB_PRIVATE N_NIMCALL(void, trackTryStmt__sempass50_2341)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5423 NI oldBottom;
5424 NI oldState;
5425 NI T1_;
5426 tySequence__8Np6tlClE5az1CyqZdN19bQ* inter;
5427 NI branches;
5428 NIM_BOOL hasFinally;
5429 oldBottom = (*tracked).bottom;
5430 (*tracked).bottom = len__ast_3198((*tracked).exc);
5431 T1_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5432 oldState = T1_;
5433 inter = NIM_NIL;
5434 (*tracked).inTryStmt += ((NI) 1);
5435 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
5436 (*tracked).inTryStmt -= ((NI) 1);
5437 {
5438 NI i;
5439 NI colontmp_;
5440 NI T3_;
5441 NI i_2;
5442 i = (NI)0;
5443 colontmp_ = (NI)0;
5444 T3_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5445 colontmp_ = T3_;
5446 i_2 = oldState;
5447 {
5448 while (1) {
5449 if (!(i_2 < colontmp_)) goto LA5;
5450 i = i_2;
5451 addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i]);
5452 i_2 += ((NI) 1);
5453 } LA5: ;
5454 }
5455 }
5456 branches = ((NI) 1);
5457 hasFinally = NIM_FALSE;
5458 (*tracked).inExceptOrFinallyStmt += ((NI) 1);
5459 {
5460 NI i_3;
5461 NI colontmp__2;
5462 NI i_4;
5463 i_3 = (NI)0;
5464 colontmp__2 = (NI)0;
5465 colontmp__2 = len__ast_3198(n);
5466 i_4 = ((NI) 1);
5467 {
5468 while (1) {
5469 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
5470 if (!(i_4 < colontmp__2)) goto LA8;
5471 i_3 = i_4;
5472 b = (*n)._kind_6.sons->data[i_3];
5473 {
5474 if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA11_;
5475 branches += ((NI) 1);
5476 {
5477 NI T15_;
5478 T15_ = (NI)0;
5479 T15_ = len__ast_3198(b);
5480 if (!(T15_ == ((NI) 1))) goto LA16_;
5481 catchesAll__sempass50_2326(tracked);
5482 }
5483 goto LA13_;
5484 LA16_: ;
5485 {
5486 {
5487 NI j;
5488 NI colontmp__3;
5489 NI T20_;
5490 NI i_5;
5491 j = (NI)0;
5492 colontmp__3 = (NI)0;
5493 T20_ = (NI)0;
5494 T20_ = len__ast_3198(b);
5495 colontmp__3 = (NI)(T20_ - ((NI) 1));
5496 i_5 = ((NI) 0);
5497 {
5498 while (1) {
5499 if (!(i_5 < colontmp__3)) goto LA22;
5500 j = i_5;
5501 {
5502 NIM_BOOL T25_;
5503 T25_ = (NIM_BOOL)0;
5504 T25_ = isInfixAs__ast_4935((*b)._kind_6.sons->data[j]);
5505 if (!T25_) goto LA26_;
5506 catches__sempass50_2293(tracked, (*(*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]).typ);
5507 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);
5508 }
5509 goto LA23_;
5510 LA26_: ;
5511 {
5512 catches__sempass50_2293(tracked, (*(*b)._kind_6.sons->data[j]).typ);
5513 }
5514 LA23_: ;
5515 i_5 += ((NI) 1);
5516 } LA22: ;
5517 }
5518 }
5519 }
5520 LA13_: ;
5521 }
5522 goto LA9_;
5523 LA11_: ;
5524 {
5525 }
5526 LA9_: ;
5527 i_4 += ((NI) 1);
5528 } LA8: ;
5529 }
5530 }
5531 {
5532 NI i_6;
5533 NI colontmp__4;
5534 NI i_7;
5535 i_6 = (NI)0;
5536 colontmp__4 = (NI)0;
5537 colontmp__4 = len__ast_3198(n);
5538 i_7 = ((NI) 1);
5539 {
5540 while (1) {
5541 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
5542 if (!(i_7 < colontmp__4)) goto LA32;
5543 i_6 = i_7;
5544 b_2 = (*n)._kind_6.sons->data[i_6];
5545 {
5546 NI T37_;
5547 if (!((*b_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA35_;
5548 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5549 T37_ = (NI)0;
5550 T37_ = len__ast_3198(b_2);
5551 track__sempass50_2338(tracked, (*b_2)._kind_6.sons->data[(NI)(T37_ - ((NI) 1))]);
5552 {
5553 NI i_8;
5554 NI colontmp__5;
5555 NI T39_;
5556 NI i_9;
5557 i_8 = (NI)0;
5558 colontmp__5 = (NI)0;
5559 T39_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5560 colontmp__5 = T39_;
5561 i_9 = oldState;
5562 {
5563 while (1) {
5564 if (!(i_9 < colontmp__5)) goto LA41;
5565 i_8 = i_9;
5566 addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i_8]);
5567 i_9 += ((NI) 1);
5568 } LA41: ;
5569 }
5570 }
5571 }
5572 goto LA33_;
5573 LA35_: ;
5574 {
5575 NI T43_;
5576 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5577 T43_ = (NI)0;
5578 T43_ = len__ast_3198(b_2);
5579 track__sempass50_2338(tracked, (*b_2)._kind_6.sons->data[(NI)(T43_ - ((NI) 1))]);
5580 hasFinally = NIM_TRUE;
5581 }
5582 LA33_: ;
5583 i_7 += ((NI) 1);
5584 } LA32: ;
5585 }
5586 }
5587 (*tracked).bottom = oldBottom;
5588 (*tracked).inExceptOrFinallyStmt -= ((NI) 1);
5589 {
5590 if (!!(hasFinally)) goto LA46_;
5591 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5592 }
5593 LA46_: ;
5594 {
5595 NI* id;
5596 NI* count;
5597 NI i_10;
5598 NI L;
5599 NI T49_;
5600 id = (NI*)0;
5601 count = (NI*)0;
5602 i_10 = ((NI) 0);
5603 T49_ = (inter ? inter->Sup.len : 0);
5604 L = T49_;
5605 {
5606 while (1) {
5607 if (!(i_10 < L)) goto LA51;
5608 id = (&inter->data[i_10].Field0);
5609 count = (&inter->data[i_10].Field1);
5610 {
5611 NI T56_;
5612 if (!((*count) == branches)) goto LA54_;
5613 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*tracked).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
5614 T56_ = (*tracked).init->Sup.len++;
5615 (*tracked).init->data[T56_] = (*id);
5616 }
5617 LA54_: ;
5618 i_10 += ((NI) 1);
5619 } LA51: ;
5620 }
5621 }
5622 }
N_NIMCALL(void,listEffects__sempass50_2289)5623 N_LIB_PRIVATE N_NIMCALL(void, listEffects__sempass50_2289)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a) {
5624 {
5625 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
5626 e = NIM_NIL;
5627 {
5628 NI i;
5629 NI colontmp_;
5630 NI i_2;
5631 i = (NI)0;
5632 colontmp_ = (NI)0;
5633 colontmp_ = safeLen__ast_3191((*a).exc);
5634 i_2 = ((NI) 0);
5635 {
5636 while (1) {
5637 NimStringDesc* T5_;
5638 if (!(i_2 < colontmp_)) goto LA4;
5639 i = i_2;
5640 e = (*(*a).exc)._kind_6.sons->data[i];
5641 T5_ = NIM_NIL;
5642 T5_ = typeToString__types_50((*e).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
5643 liMessage__msgs_1118((*a).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 98), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_57, NIM_FALSE);
5644 i_2 += ((NI) 1);
5645 } LA4: ;
5646 }
5647 }
5648 }
5649 {
5650 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e_2;
5651 e_2 = NIM_NIL;
5652 {
5653 NI i_3;
5654 NI colontmp__2;
5655 NI i_4;
5656 i_3 = (NI)0;
5657 colontmp__2 = (NI)0;
5658 colontmp__2 = safeLen__ast_3191((*a).tags);
5659 i_4 = ((NI) 0);
5660 {
5661 while (1) {
5662 NimStringDesc* T10_;
5663 if (!(i_4 < colontmp__2)) goto LA9;
5664 i_3 = i_4;
5665 e_2 = (*(*a).tags)._kind_6.sons->data[i_3];
5666 T10_ = NIM_NIL;
5667 T10_ = typeToString__types_50((*e_2).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
5668 liMessage__msgs_1118((*a).config, (*e_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 98), T10_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_58, NIM_FALSE);
5669 i_4 += ((NI) 1);
5670 } LA9: ;
5671 }
5672 }
5673 }
5674 }
N_NIMCALL(void,trackPragmaStmt__sempass50_2560)5675 N_LIB_PRIVATE N_NIMCALL(void, trackPragmaStmt__sempass50_2560)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5676 {
5677 NI i;
5678 NI colontmp_;
5679 NI i_2;
5680 i = (NI)0;
5681 colontmp_ = (NI)0;
5682 colontmp_ = len__ast_3198(n);
5683 i_2 = ((NI) 0);
5684 {
5685 while (1) {
5686 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
5687 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw pragma;
5688 if (!(i_2 < colontmp_)) goto LA3;
5689 i = i_2;
5690 it = (*n)._kind_6.sons->data[i];
5691 pragma = whichPragma__trees_244(it);
5692 {
5693 if (!(pragma == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 178))) goto LA6_;
5694 listEffects__sempass50_2289(tracked);
5695 }
5696 LA6_: ;
5697 i_2 += ((NI) 1);
5698 } LA3: ;
5699 }
5700 }
5701 }
N_NIMCALL(NIM_BOOL,breaksBlock__sempass50_3013)5702 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, breaksBlock__sempass50_3013)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5703 NIM_BOOL result;
5704 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
5705 NIM_BOOL T6_;
5706 NIM_BOOL T8_;
5707 NIM_BOOL T9_;
5708 result = (NIM_BOOL)0;
5709 it = n;
5710 {
5711 while (1) {
5712 NIM_BOOL T3_;
5713 NI T5_;
5714 T3_ = (NIM_BOOL)0;
5715 T3_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
5716 if (!(T3_)) goto LA4_;
5717 T5_ = (NI)0;
5718 T5_ = len__ast_3198(it);
5719 T3_ = (((NI) 0) < T5_);
5720 LA4_: ;
5721 if (!T3_) goto LA2;
5722 it = lastSon__ast_4832(it);
5723 } LA2: ;
5724 }
5725 T6_ = (NIM_BOOL)0;
5726 T6_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108));
5727 if (T6_) goto LA7_;
5728 T8_ = (NIM_BOOL)0;
5729 T9_ = (NIM_BOOL)0;
5730 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));
5731 if (!(T9_)) goto LA10_;
5732 T9_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5733 LA10_: ;
5734 T8_ = T9_;
5735 if (!(T8_)) goto LA11_;
5736 T8_ = (((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0);
5737 LA11_: ;
5738 T6_ = T8_;
5739 LA7_: ;
5740 result = T6_;
5741 return result;
5742 }
N_NIMCALL(void,trackCase__sempass50_3048)5743 N_LIB_PRIVATE N_NIMCALL(void, trackCase__sempass50_3048)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5744 NI oldState;
5745 NI T1_;
5746 NI oldFacts;
5747 NI T2_;
5748 NIM_BOOL stringCase;
5749 NIM_BOOL T3_;
5750 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5751 NIM_BOOL interesting;
5752 NIM_BOOL T6_;
5753 NIM_BOOL T7_;
5754 tySequence__8Np6tlClE5az1CyqZdN19bQ* inter;
5755 NI toCover;
5756 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
5757 T1_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5758 oldState = T1_;
5759 T2_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
5760 oldFacts = T2_;
5761 T3_ = (NIM_BOOL)0;
5762 T3_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5763 if (!(T3_)) goto LA4_;
5764 T5_ = NIM_NIL;
5765 T5_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_60);
5766 T3_ = ((*T5_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T5_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
5767 LA4_: ;
5768 stringCase = T3_;
5769 T6_ = (NIM_BOOL)0;
5770 T7_ = (NIM_BOOL)0;
5771 T7_ = !(stringCase);
5772 if (!(T7_)) goto LA8_;
5773 T7_ = interestingCaseExpr__guards_114((*n)._kind_6.sons->data[((NI) 0)]);
5774 LA8_: ;
5775 T6_ = T7_;
5776 if (!(T6_)) goto LA9_;
5777 T6_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 42));
5778 LA9_: ;
5779 interesting = T6_;
5780 inter = NIM_NIL;
5781 toCover = ((NI) 0);
5782 {
5783 NI i;
5784 NI colontmp_;
5785 NI i_2;
5786 i = (NI)0;
5787 colontmp_ = (NI)0;
5788 colontmp_ = len__ast_3198(n);
5789 i_2 = ((NI) 1);
5790 {
5791 while (1) {
5792 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
5793 if (!(i_2 < colontmp_)) goto LA12;
5794 i = i_2;
5795 branch = (*n)._kind_6.sons->data[i];
5796 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5797 {
5798 if (!interesting) goto LA15_;
5799 unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
5800 addCaseBranchFacts__guards_1755((&(*tracked).guards), n, i);
5801 }
5802 LA15_: ;
5803 {
5804 NI i_3;
5805 NI colontmp__2;
5806 NI i_4;
5807 i_3 = (NI)0;
5808 colontmp__2 = (NI)0;
5809 colontmp__2 = len__ast_3198(branch);
5810 i_4 = ((NI) 0);
5811 {
5812 while (1) {
5813 if (!(i_4 < colontmp__2)) goto LA19;
5814 i_3 = i_4;
5815 track__sempass50_2338(tracked, (*branch)._kind_6.sons->data[i_3]);
5816 i_4 += ((NI) 1);
5817 } LA19: ;
5818 }
5819 }
5820 {
5821 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
5822 NIM_BOOL T23_;
5823 T22_ = NIM_NIL;
5824 T22_ = lastSon__ast_4832(branch);
5825 T23_ = (NIM_BOOL)0;
5826 T23_ = breaksBlock__sempass50_3013(T22_);
5827 if (!!(T23_)) goto LA24_;
5828 toCover += ((NI) 1);
5829 }
5830 LA24_: ;
5831 {
5832 NI i_5;
5833 NI colontmp__3;
5834 NI T27_;
5835 NI i_6;
5836 i_5 = (NI)0;
5837 colontmp__3 = (NI)0;
5838 T27_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5839 colontmp__3 = T27_;
5840 i_6 = oldState;
5841 {
5842 while (1) {
5843 if (!(i_6 < colontmp__3)) goto LA29;
5844 i_5 = i_6;
5845 addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i_5]);
5846 i_6 += ((NI) 1);
5847 } LA29: ;
5848 }
5849 }
5850 i_2 += ((NI) 1);
5851 } LA12: ;
5852 }
5853 }
5854 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5855 {
5856 NIM_BOOL T32_;
5857 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
5858 T32_ = (NIM_BOOL)0;
5859 T32_ = !(stringCase);
5860 if (T32_) goto LA33_;
5861 T34_ = NIM_NIL;
5862 T34_ = lastSon__ast_4832(n);
5863 T32_ = ((*T34_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88));
5864 LA33_: ;
5865 if (!T32_) goto LA35_;
5866 {
5867 NI* id;
5868 NI* count;
5869 NI i_7;
5870 NI L;
5871 NI T38_;
5872 id = (NI*)0;
5873 count = (NI*)0;
5874 i_7 = ((NI) 0);
5875 T38_ = (inter ? inter->Sup.len : 0);
5876 L = T38_;
5877 {
5878 while (1) {
5879 if (!(i_7 < L)) goto LA40;
5880 id = (&inter->data[i_7].Field0);
5881 count = (&inter->data[i_7].Field1);
5882 {
5883 NI T45_;
5884 if (!(toCover <= (*count))) goto LA43_;
5885 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*tracked).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
5886 T45_ = (*tracked).init->Sup.len++;
5887 (*tracked).init->data[T45_] = (*id);
5888 }
5889 LA43_: ;
5890 i_7 += ((NI) 1);
5891 } LA40: ;
5892 }
5893 }
5894 }
5895 LA35_: ;
5896 unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
5897 }
N_NIMCALL(void,trackIf__sempass50_3149)5898 N_LIB_PRIVATE N_NIMCALL(void, trackIf__sempass50_3149)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5899 NI oldFacts;
5900 NI T1_;
5901 NI oldState;
5902 NI T2_;
5903 tySequence__8Np6tlClE5az1CyqZdN19bQ* inter;
5904 NI toCover;
5905 track__sempass50_2338(tracked, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
5906 T1_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
5907 oldFacts = T1_;
5908 addFact__guards_609((&(*tracked).guards), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
5909 T2_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5910 oldState = T2_;
5911 inter = NIM_NIL;
5912 toCover = ((NI) 0);
5913 track__sempass50_2338(tracked, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
5914 {
5915 NIM_BOOL T5_;
5916 T5_ = (NIM_BOOL)0;
5917 T5_ = breaksBlock__sempass50_3013((*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
5918 if (!!(T5_)) goto LA6_;
5919 toCover += ((NI) 1);
5920 }
5921 LA6_: ;
5922 {
5923 NI i;
5924 NI colontmp_;
5925 NI T9_;
5926 NI i_2;
5927 i = (NI)0;
5928 colontmp_ = (NI)0;
5929 T9_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
5930 colontmp_ = T9_;
5931 i_2 = oldState;
5932 {
5933 while (1) {
5934 if (!(i_2 < colontmp_)) goto LA11;
5935 i = i_2;
5936 addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i]);
5937 i_2 += ((NI) 1);
5938 } LA11: ;
5939 }
5940 }
5941 {
5942 NI i_3;
5943 NI colontmp__2;
5944 NI i_4;
5945 i_3 = (NI)0;
5946 colontmp__2 = (NI)0;
5947 colontmp__2 = len__ast_3198(n);
5948 i_4 = ((NI) 1);
5949 {
5950 while (1) {
5951 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
5952 if (!(i_4 < colontmp__2)) goto LA14;
5953 i_3 = i_4;
5954 branch = (*n)._kind_6.sons->data[i_3];
5955 unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
5956 {
5957 NI j;
5958 NI colontmp__3;
5959 NI res;
5960 j = (NI)0;
5961 colontmp__3 = (NI)0;
5962 colontmp__3 = (NI)(i_3 - ((NI) 1));
5963 res = ((NI) 0);
5964 {
5965 while (1) {
5966 if (!(res <= colontmp__3)) goto LA17;
5967 j = res;
5968 addFactNeg__guards_632((&(*tracked).guards), (*(*n)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)]);
5969 res += ((NI) 1);
5970 } LA17: ;
5971 }
5972 }
5973 {
5974 NI T20_;
5975 T20_ = (NI)0;
5976 T20_ = len__ast_3198(branch);
5977 if (!(((NI) 1) < T20_)) goto LA21_;
5978 addFact__guards_609((&(*tracked).guards), (*branch)._kind_6.sons->data[((NI) 0)]);
5979 }
5980 LA21_: ;
5981 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
5982 {
5983 NI i_5;
5984 NI colontmp__4;
5985 NI i_6;
5986 i_5 = (NI)0;
5987 colontmp__4 = (NI)0;
5988 colontmp__4 = len__ast_3198(branch);
5989 i_6 = ((NI) 0);
5990 {
5991 while (1) {
5992 if (!(i_6 < colontmp__4)) goto LA25;
5993 i_5 = i_6;
5994 track__sempass50_2338(tracked, (*branch)._kind_6.sons->data[i_5]);
5995 i_6 += ((NI) 1);
5996 } LA25: ;
5997 }
5998 }
5999 {
6000 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
6001 NIM_BOOL T29_;
6002 T28_ = NIM_NIL;
6003 T28_ = lastSon__ast_4832(branch);
6004 T29_ = (NIM_BOOL)0;
6005 T29_ = breaksBlock__sempass50_3013(T28_);
6006 if (!!(T29_)) goto LA30_;
6007 toCover += ((NI) 1);
6008 }
6009 LA30_: ;
6010 {
6011 NI i_7;
6012 NI colontmp__5;
6013 NI T33_;
6014 NI i_8;
6015 i_7 = (NI)0;
6016 colontmp__5 = (NI)0;
6017 T33_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
6018 colontmp__5 = T33_;
6019 i_8 = oldState;
6020 {
6021 while (1) {
6022 if (!(i_8 < colontmp__5)) goto LA35;
6023 i_7 = i_8;
6024 addToIntersection__sempass50_2160((&inter), (*tracked).init->data[i_7]);
6025 i_8 += ((NI) 1);
6026 } LA35: ;
6027 }
6028 }
6029 i_4 += ((NI) 1);
6030 } LA14: ;
6031 }
6032 }
6033 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
6034 {
6035 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T38_;
6036 NI T39_;
6037 T38_ = NIM_NIL;
6038 T38_ = lastSon__ast_4832(n);
6039 T39_ = (NI)0;
6040 T39_ = len__ast_3198(T38_);
6041 if (!(T39_ == ((NI) 1))) goto LA40_;
6042 {
6043 NI* id;
6044 NI* count;
6045 NI i_9;
6046 NI L;
6047 NI T43_;
6048 id = (NI*)0;
6049 count = (NI*)0;
6050 i_9 = ((NI) 0);
6051 T43_ = (inter ? inter->Sup.len : 0);
6052 L = T43_;
6053 {
6054 while (1) {
6055 if (!(i_9 < L)) goto LA45;
6056 id = (&inter->data[i_9].Field0);
6057 count = (&inter->data[i_9].Field1);
6058 {
6059 NI T50_;
6060 if (!(toCover <= (*count))) goto LA48_;
6061 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*tracked).init), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
6062 T50_ = (*tracked).init->Sup.len++;
6063 (*tracked).init->data[T50_] = (*id);
6064 }
6065 LA48_: ;
6066 i_9 += ((NI) 1);
6067 } LA45: ;
6068 }
6069 }
6070 }
6071 LA40_: ;
6072 unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
6073 }
N_NIMCALL(void,trackBlock__sempass50_3265)6074 N_LIB_PRIVATE N_NIMCALL(void, trackBlock__sempass50_3265)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6075 {
6076 NI oldState;
6077 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
6078 oldState = ((NI) -1);
6079 {
6080 NI i;
6081 NI colontmp_;
6082 NI i_2;
6083 i = (NI)0;
6084 colontmp_ = (NI)0;
6085 colontmp_ = len__ast_3198(n);
6086 i_2 = ((NI) 0);
6087 {
6088 while (1) {
6089 if (!(i_2 < colontmp_)) goto LA7;
6090 i = i_2;
6091 {
6092 NIM_BOOL T10_;
6093 T10_ = (NIM_BOOL)0;
6094 T10_ = hasSubnodeWith__ast_4570((*n)._kind_6.sons->data[i], ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110));
6095 if (!T10_) goto LA11_;
6096 {
6097 NI T17_;
6098 if (!(oldState < ((NI) 0))) goto LA15_;
6099 T17_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
6100 oldState = T17_;
6101 }
6102 LA15_: ;
6103 }
6104 LA11_: ;
6105 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i]);
6106 i_2 += ((NI) 1);
6107 } LA7: ;
6108 }
6109 }
6110 {
6111 if (!(((NI) 0) < oldState)) goto LA20_;
6112 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
6113 }
6114 LA20_: ;
6115 }
6116 goto LA1_;
6117 LA3_: ;
6118 {
6119 track__sempass50_2338(tracked, n);
6120 }
6121 LA1_: ;
6122 }
N_INLINE(NIM_BOOL,fromSystem__astalgo_238)6123 static N_INLINE(NIM_BOOL, fromSystem__astalgo_238)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op) {
6124 NIM_BOOL result;
6125 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
6126 result = (NIM_BOOL)0;
6127 T1_ = NIM_NIL;
6128 T1_ = getModule__astalgo_216(op);
6129 result = (((*T1_).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
6130 return result;
6131 }
N_NIMCALL(void,createBlockContext__sempass50_3741)6132 N_LIB_PRIVATE N_NIMCALL(void, createBlockContext__sempass50_3741)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* Result) {
6133 NI T1_;
6134 (*Result).oldLocked = 0;
6135 (*Result).oldLockLevel = 0;
6136 (*Result).enforcedGcSafety = 0;
6137 (*Result).enforceNoSideEffects = 0;
6138 (*Result).oldExc = 0;
6139 (*Result).oldTags = 0;
6140 unsureAsgnRef((void**)&(*Result).exc, NIM_NIL);
6141 unsureAsgnRef((void**)&(*Result).tags, NIM_NIL);
6142 T1_ = ((*tracked).locked ? (*tracked).locked->Sup.len : 0);
6143 (*Result).oldLocked = T1_;
6144 (*Result).oldLockLevel = (*tracked).currLockLevel;
6145 (*Result).enforcedGcSafety = NIM_FALSE;
6146 (*Result).enforceNoSideEffects = NIM_FALSE;
6147 (*Result).oldExc = len__ast_3198((*tracked).exc);
6148 (*Result).oldTags = len__ast_3198((*tracked).tags);
6149 }
N_NIMCALL(NI16,getLockLevel__sempass50_182)6150 N_LIB_PRIVATE N_NIMCALL(NI16, getLockLevel__sempass50_182)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
6151 NI16 result;
6152 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
6153 result = (NI16)0;
6154 t_2 = t;
6155 {
6156 NIM_BOOL T3_;
6157 NI T5_;
6158 T3_ = (NIM_BOOL)0;
6159 T3_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
6160 if (!(T3_)) goto LA4_;
6161 T5_ = (NI)0;
6162 T5_ = len__ast_4002(t_2);
6163 T3_ = (T5_ == ((NI) 3));
6164 LA4_: ;
6165 if (!T3_) goto LA6_;
6166 t_2 = (*t_2).sons->data[((NI) 1)];
6167 }
6168 LA6_: ;
6169 {
6170 NIM_BOOL T10_;
6171 NIM_BOOL T11_;
6172 T10_ = (NIM_BOOL)0;
6173 T11_ = (NIM_BOOL)0;
6174 T11_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
6175 if (!(T11_)) goto LA12_;
6176 T11_ = !(((*t_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6177 LA12_: ;
6178 T10_ = T11_;
6179 if (!(T10_)) goto LA13_;
6180 T10_ = ((*(*t_2).n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*t_2).n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10));
6181 LA13_: ;
6182 if (!T10_) goto LA14_;
6183 result = ((NI16) ((*(*t_2).n)._kind_1.intVal));
6184 }
6185 LA14_: ;
6186 return result;
6187 }
N_NIMCALL(void,lockLocations__sempass50_206)6188 N_LIB_PRIVATE N_NIMCALL(void, lockLocations__sempass50_206)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma) {
6189 NI16 firstLL;
6190 { {
6191 if (!!(((*pragma).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3_;
6192 liMessage__msgs_1118((*a).config, (*pragma).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_65), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_66, NIM_FALSE);
6193 goto BeforeRet_;
6194 }
6195 LA3_: ;
6196 firstLL = ((NI16) -1);
6197 {
6198 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
6199 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp_;
6200 x = NIM_NIL;
6201 colontmp_ = NIM_NIL;
6202 colontmp_ = (*pragma)._kind_6.sons->data[((NI) 1)];
6203 {
6204 NI i;
6205 NI colontmp__2;
6206 NI i_2;
6207 i = (NI)0;
6208 colontmp__2 = (NI)0;
6209 colontmp__2 = safeLen__ast_3191(colontmp_);
6210 i_2 = ((NI) 0);
6211 {
6212 while (1) {
6213 NI16 thisLL;
6214 NI T27_;
6215 if (!(i_2 < colontmp__2)) goto LA8;
6216 i = i_2;
6217 x = (*colontmp_)._kind_6.sons->data[i];
6218 thisLL = getLockLevel__sempass50_182((*x).typ);
6219 {
6220 if (!!((thisLL == ((NI16) 0)))) goto LA11_;
6221 {
6222 NIM_BOOL T15_;
6223 NimStringDesc* T19_;
6224 NimStringDesc* T20_;
6225 T15_ = (NIM_BOOL)0;
6226 T15_ = (thisLL < ((NI16) 0));
6227 if (T15_) goto LA16_;
6228 T15_ = (((NI16) 1000) < thisLL);
6229 LA16_: ;
6230 if (!T15_) goto LA17_;
6231 T19_ = NIM_NIL;
6232 T20_ = NIM_NIL;
6233 T20_ = dollar___ast_3858(thisLL);
6234 T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 20);
6235 appendString(T19_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_67));
6236 appendString(T19_, T20_);
6237 liMessage__msgs_1118((*a).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_68, NIM_FALSE);
6238 }
6239 goto LA13_;
6240 LA17_: ;
6241 {
6242 if (!(firstLL < ((NI16) 0))) goto LA22_;
6243 firstLL = thisLL;
6244 }
6245 goto LA13_;
6246 LA22_: ;
6247 {
6248 if (!!((firstLL == thisLL))) goto LA25_;
6249 liMessage__msgs_1118((*a).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_69), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_70, NIM_FALSE);
6250 }
6251 goto LA13_;
6252 LA25_: ;
6253 LA13_: ;
6254 (*a).maxLockLevel = (((*a).maxLockLevel >= firstLL) ? (*a).maxLockLevel : firstLL);
6255 }
6256 LA11_: ;
6257 unsureAsgnRef((void**) (&(*a).locked), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*a).locked), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6258 T27_ = (*a).locked->Sup.len++;
6259 asgnRef((void**) (&(*a).locked->data[T27_]), x);
6260 i_2 += ((NI) 1);
6261 } LA8: ;
6262 }
6263 }
6264 }
6265 {
6266 NIM_BOOL T30_;
6267 T30_ = (NIM_BOOL)0;
6268 T30_ = (((NI16) 0) <= firstLL);
6269 if (!(T30_)) goto LA31_;
6270 T30_ = !((firstLL == (*a).currLockLevel));
6271 LA31_: ;
6272 if (!T30_) goto LA32_;
6273 {
6274 NIM_BOOL T36_;
6275 T36_ = (NIM_BOOL)0;
6276 T36_ = (((NI16) 0) < (*a).currLockLevel);
6277 if (!(T36_)) goto LA37_;
6278 T36_ = ((*a).currLockLevel <= firstLL);
6279 LA37_: ;
6280 if (!T36_) goto LA38_;
6281 liMessage__msgs_1118((*a).config, (*pragma).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_71), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_72, NIM_FALSE);
6282 }
6283 LA38_: ;
6284 (*a).currLockLevel = firstLL;
6285 }
6286 LA32_: ;
6287 }BeforeRet_: ;
6288 }
N_NIMCALL(void,castBlock__sempass50_3790)6289 N_LIB_PRIVATE N_NIMCALL(void, castBlock__sempass50_3790)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* bc) {
6290 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T1_;
6291 T1_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
6292 T1_ = whichPragma__trees_244(pragma);
6293 switch (T1_) {
6294 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 110):
6295 {
6296 (*bc).enforcedGcSafety = NIM_TRUE;
6297 }
6298 break;
6299 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 109):
6300 {
6301 (*bc).enforceNoSideEffects = NIM_TRUE;
6302 }
6303 break;
6304 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179):
6305 {
6306 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
6307 n = (*pragma)._kind_6.sons->data[((NI) 1)];
6308 {
6309 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA7_;
6310 unsureAsgnRef((void**) (&(*bc).tags), n);
6311 }
6312 goto LA5_;
6313 LA7_: ;
6314 {
6315 unsureAsgnRef((void**) (&(*bc).tags), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*pragma).info));
6316 add__ast_4797((*bc).tags, n);
6317 }
6318 LA5_: ;
6319 }
6320 break;
6321 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174):
6322 {
6323 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
6324 n_2 = (*pragma)._kind_6.sons->data[((NI) 1)];
6325 {
6326 if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA13_;
6327 unsureAsgnRef((void**) (&(*bc).exc), n_2);
6328 }
6329 goto LA11_;
6330 LA13_: ;
6331 {
6332 unsureAsgnRef((void**) (&(*bc).exc), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*pragma).info));
6333 add__ast_4797((*bc).exc, n_2);
6334 }
6335 LA11_: ;
6336 }
6337 break;
6338 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 86):
6339 {
6340 }
6341 break;
6342 default:
6343 {
6344 NimStringDesc* T18_;
6345 NimStringDesc* T19_;
6346 T18_ = NIM_NIL;
6347 T19_ = NIM_NIL;
6348 T19_ = dollar___renderer_2106(pragma);
6349 T18_ = rawNewString((T19_ ? T19_->Sup.len : 0) + 22);
6350 appendString(T18_, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_73));
6351 appendString(T18_, T19_);
6352 liMessage__msgs_1118((*tracked).config, (*pragma).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_74, NIM_FALSE);
6353 }
6354 break;
6355 }
6356 }
N_NIMCALL(void,applyBlockContext__sempass50_3762)6357 N_LIB_PRIVATE N_NIMCALL(void, applyBlockContext__sempass50_3762)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* bc) {
6358 {
6359 if (!(*bc).enforcedGcSafety) goto LA3_;
6360 (*tracked).inEnforcedGcSafe = NIM_TRUE;
6361 }
6362 LA3_: ;
6363 {
6364 if (!(*bc).enforceNoSideEffects) goto LA7_;
6365 (*tracked).inEnforcedNoSideEffects = NIM_TRUE;
6366 }
6367 LA7_: ;
6368 }
N_NIMCALL(void,unapplyBlockContext__sempass50_3765)6369 N_LIB_PRIVATE N_NIMCALL(void, unapplyBlockContext__sempass50_3765)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA* bc) {
6370 {
6371 if (!(*bc).enforcedGcSafety) goto LA3_;
6372 (*tracked).inEnforcedGcSafe = NIM_FALSE;
6373 }
6374 LA3_: ;
6375 {
6376 if (!(*bc).enforceNoSideEffects) goto LA7_;
6377 (*tracked).inEnforcedNoSideEffects = NIM_FALSE;
6378 }
6379 LA7_: ;
6380 unsureAsgnRef((void**) (&(*tracked).locked), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).locked)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((*bc).oldLocked))));
6381 (*tracked).currLockLevel = (*bc).oldLockLevel;
6382 {
6383 if (!!(((*bc).exc == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA11_;
6384 asgnRef((void**) (&(*(*tracked).exc)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*tracked).exc)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((*bc).oldExc))));
6385 {
6386 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
6387 e = NIM_NIL;
6388 {
6389 NI i;
6390 NI colontmp_;
6391 NI i_2;
6392 i = (NI)0;
6393 colontmp_ = (NI)0;
6394 colontmp_ = safeLen__ast_3191((*bc).exc);
6395 i_2 = ((NI) 0);
6396 {
6397 while (1) {
6398 if (!(i_2 < colontmp_)) goto LA16;
6399 i = i_2;
6400 e = (*(*bc).exc)._kind_6.sons->data[i];
6401 addRaiseEffect__sempass50_2237(tracked, e, e);
6402 i_2 += ((NI) 1);
6403 } LA16: ;
6404 }
6405 }
6406 }
6407 }
6408 LA11_: ;
6409 {
6410 if (!!(((*bc).tags == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA19_;
6411 asgnRef((void**) (&(*(*tracked).tags)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*tracked).tags)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((*bc).oldTags))));
6412 {
6413 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
6414 t = NIM_NIL;
6415 {
6416 NI i_3;
6417 NI colontmp__2;
6418 NI i_4;
6419 i_3 = (NI)0;
6420 colontmp__2 = (NI)0;
6421 colontmp__2 = safeLen__ast_3191((*bc).tags);
6422 i_4 = ((NI) 0);
6423 {
6424 while (1) {
6425 if (!(i_4 < colontmp__2)) goto LA24;
6426 i_3 = i_4;
6427 t = (*(*bc).tags)._kind_6.sons->data[i_3];
6428 addTag__sempass50_2259(tracked, t, t);
6429 i_4 += ((NI) 1);
6430 } LA24: ;
6431 }
6432 }
6433 }
6434 }
6435 LA19_: ;
6436 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getBody__modulegraphs_11241)6437 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
6438 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
6439 result = NIM_NIL;
6440 result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
6441 {
6442 NIM_BOOL T3_;
6443 T3_ = (NIM_BOOL)0;
6444 T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
6445 if (!(T3_)) goto LA4_;
6446 T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
6447 LA4_: ;
6448 if (!T3_) goto LA5_;
6449 result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
6450 asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
6451 }
6452 LA5_: ;
6453 return result;
6454 }
N_NIMCALL(void,trackInnerProc__sempass50_3814)6455 N_LIB_PRIVATE N_NIMCALL(void, trackInnerProc__sempass50_3814)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6456 switch ((*n).kind) {
6457 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6458 {
6459 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
6460 s = (*n)._kind_4.sym;
6461 {
6462 NIM_BOOL T4_;
6463 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym355_;
6464 T4_ = (NIM_BOOL)0;
6465 T4_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
6466 if (!(T4_)) goto LA5_;
6467 T4_ = ((*s).owner == (*tracked).owner);
6468 LA5_: ;
6469 if (!T4_) goto LA6_;
6470 xX60gensym355_ = s;
6471 incl__pureZcollectionsZintsets_55((&(*tracked).escapingParams), (NI)((NI)((NU64)(((NI) ((*xX60gensym355_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym355_).Sup.itemId.item))));
6472 }
6473 LA6_: ;
6474 }
6475 break;
6476 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
6477 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
6478 {
6479 }
6480 break;
6481 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
6482 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
6483 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
6484 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
6485 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
6486 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
6487 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
6488 {
6489 {
6490 NIM_BOOL T12_;
6491 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
6492 T12_ = (NIM_BOOL)0;
6493 T12_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6494 if (!(T12_)) goto LA13_;
6495 T12_ = !(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6496 LA13_: ;
6497 if (!T12_) goto LA14_;
6498 T16_ = NIM_NIL;
6499 T16_ = getBody__modulegraphs_11241((*tracked).graph, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
6500 trackInnerProc__sempass50_3814(tracked, T16_);
6501 }
6502 LA14_: ;
6503 }
6504 break;
6505 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
6506 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
6507 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
6508 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 161):
6509 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
6510 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
6511 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
6512 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
6513 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
6514 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
6515 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
6516 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
6517 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
6518 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
6519 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
6520 {
6521 }
6522 break;
6523 default:
6524 {
6525 {
6526 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ch;
6527 ch = NIM_NIL;
6528 {
6529 NI i;
6530 NI colontmp_;
6531 NI i_2;
6532 i = (NI)0;
6533 colontmp_ = (NI)0;
6534 colontmp_ = safeLen__ast_3191(n);
6535 i_2 = ((NI) 0);
6536 {
6537 while (1) {
6538 if (!(i_2 < colontmp_)) goto LA22;
6539 i = i_2;
6540 ch = (*n)._kind_6.sons->data[i];
6541 trackInnerProc__sempass50_3814(tracked, ch);
6542 i_2 += ((NI) 1);
6543 } LA22: ;
6544 }
6545 }
6546 }
6547 }
6548 break;
6549 }
6550 }
N_NIMCALL(NIM_BOOL,allowCStringConv__sempass50_3856)6551 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allowCStringConv__sempass50_3856)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6552 NIM_BOOL result;
6553 result = (NIM_BOOL)0;
6554 switch ((*n).kind) {
6555 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
6556 {
6557 result = NIM_TRUE;
6558 }
6559 break;
6560 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6561 {
6562 result = ((1032 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0);
6563 }
6564 break;
6565 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
6566 {
6567 result = isCharArrayPtr__types_4087((*n).typ, NIM_TRUE);
6568 }
6569 break;
6570 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
6571 {
6572 NIM_BOOL T5_;
6573 T5_ = (NIM_BOOL)0;
6574 T5_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6575 if (!(T5_)) goto LA6_;
6576 T5_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16));
6577 LA6_: ;
6578 result = isCharArrayPtr__types_4087((*n).typ, T5_);
6579 }
6580 break;
6581 default:
6582 {
6583 result = isCharArrayPtr__types_4087((*n).typ, NIM_FALSE);
6584 }
6585 break;
6586 }
6587 return result;
6588 }
N_NIMCALL(void,checkRange__sempass50_3350)6589 N_LIB_PRIVATE N_NIMCALL(void, checkRange__sempass50_3350)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
6590 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
6591 t = skipTypes__ast_3735(typ, TM__wkTG4eaV3t1uo3x09apjcwA_81);
6592 {
6593 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lowBound;
6594 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* highBound;
6595 if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA3_;
6596 lowBound = copyTree__ast_4431((*(*t).n)._kind_6.sons->data[((NI) 0)]);
6597 (*lowBound).info = (*value).info;
6598 highBound = copyTree__ast_4431((*(*t).n)._kind_6.sons->data[((NI) 1)]);
6599 (*highBound).info = (*value).info;
6600 checkLe__sempass50_3342(c, lowBound, value);
6601 checkLe__sempass50_3342(c, value, highBound);
6602 }
6603 LA3_: ;
6604 }
N_NIMCALL(void,track__sempass50_2338)6605 N_LIB_PRIVATE N_NIMCALL(void, track__sempass50_2338)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* tracked, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6606 switch ((*n).kind) {
6607 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6608 {
6609 useVar__sempass50_2113(tracked, n);
6610 {
6611 NIM_BOOL T4_;
6612 T4_ = (NIM_BOOL)0;
6613 T4_ = !(((*(*n)._kind_4.sym).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6614 if (!(T4_)) goto LA5_;
6615 T4_ = (((*(*(*n)._kind_4.sym).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0);
6616 LA5_: ;
6617 if (!T4_) goto LA6_;
6618 (*(*tracked).owner).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 42)) & 63);
6619 {
6620 NIM_BOOL T10_;
6621 T10_ = (NIM_BOOL)0;
6622 T10_ = !(!(((IL64(2147483664) & (*(*n).typ).flags) == 0)));
6623 if (!(T10_)) goto LA11_;
6624 T10_ = sameType__types_1824((*n).typ, (*(*n)._kind_4.sym).typ, 0);
6625 LA11_: ;
6626 if (!T10_) goto LA12_;
6627 asgnRef((void**) (&(*n).typ), (*(*n)._kind_4.sym).typ);
6628 }
6629 LA12_: ;
6630 }
6631 LA6_: ;
6632 }
6633 break;
6634 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
6635 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
6636 {
6637 {
6638 NIM_BOOL T17_;
6639 T17_ = (NIM_BOOL)0;
6640 T17_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6641 if (!(T17_)) goto LA18_;
6642 T17_ = isLocalVar__sempass50_162(tracked, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
6643 LA18_: ;
6644 if (!T17_) goto LA19_;
6645 useVarNoInitCheck__sempass50_959(tracked, (*n)._kind_6.sons->data[((NI) 0)], (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
6646 }
6647 goto LA15_;
6648 LA19_: ;
6649 {
6650 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
6651 }
6652 LA15_: ;
6653 }
6654 break;
6655 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
6656 {
6657 {
6658 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA25_;
6659 (*(*n)._kind_6.sons->data[((NI) 0)]).info = (*n).info;
6660 addRaiseEffect__sempass50_2237(tracked, (*n)._kind_6.sons->data[((NI) 0)], n);
6661 {
6662 NI i;
6663 NI colontmp_;
6664 NI i_2;
6665 i = (NI)0;
6666 colontmp_ = (NI)0;
6667 colontmp_ = safeLen__ast_3191(n);
6668 i_2 = ((NI) 0);
6669 {
6670 while (1) {
6671 if (!(i_2 < colontmp_)) goto LA29;
6672 i = i_2;
6673 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i]);
6674 i_2 += ((NI) 1);
6675 } LA29: ;
6676 }
6677 }
6678 createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
6679 }
6680 goto LA23_;
6681 LA25_: ;
6682 {
6683 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
6684 T31_ = NIM_NIL;
6685 T31_ = createRaise__sempass50_2223((*tracked).graph, n);
6686 addRaiseEffect__sempass50_2237(tracked, T31_, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
6687 }
6688 LA23_: ;
6689 }
6690 break;
6691 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
6692 {
6693 trackCall__sempass50_3367(tracked, n);
6694 }
6695 break;
6696 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
6697 {
6698 guardDotAccess__sempass50_237(tracked, n);
6699 {
6700 NI i_3;
6701 NI colontmp__2;
6702 NI i_4;
6703 i_3 = (NI)0;
6704 colontmp__2 = (NI)0;
6705 colontmp__2 = len__ast_3198(n);
6706 i_4 = ((NI) 0);
6707 {
6708 while (1) {
6709 if (!(i_4 < colontmp__2)) goto LA36;
6710 i_3 = i_4;
6711 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_3]);
6712 i_4 += ((NI) 1);
6713 } LA36: ;
6714 }
6715 }
6716 }
6717 break;
6718 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
6719 {
6720 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
6721 {
6722 NIM_BOOL T40_;
6723 T40_ = (NIM_BOOL)0;
6724 T40_ = hasWarn__options_557((*tracked).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 42));
6725 if (!T40_) goto LA41_;
6726 checkFieldAccess__guards_1800((*tracked).guards, n, (*tracked).config);
6727 }
6728 LA41_: ;
6729 }
6730 break;
6731 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
6732 {
6733 trackTryStmt__sempass50_2341(tracked, n);
6734 }
6735 break;
6736 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
6737 {
6738 trackPragmaStmt__sempass50_2560(tracked, n);
6739 }
6740 break;
6741 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
6742 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
6743 {
6744 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
6745 initVar__sempass50_312(tracked, (*n)._kind_6.sons->data[((NI) 0)], NIM_TRUE);
6746 invalidateFacts__guards_760((&(*tracked).guards), (*n)._kind_6.sons->data[((NI) 0)]);
6747 (*tracked).leftPartOfAsgn += ((NI) 1);
6748 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
6749 (*tracked).leftPartOfAsgn -= ((NI) 1);
6750 addAsgnFact__guards_1730((&(*tracked).guards), (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)]);
6751 notNilCheck__sempass50_2659(tracked, (*n)._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
6752 {
6753 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA48_;
6754 createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
6755 }
6756 LA48_: ;
6757 {
6758 NIM_BOOL T52_;
6759 NIM_BOOL T54_;
6760 T52_ = (NIM_BOOL)0;
6761 T52_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
6762 if (T52_) goto LA53_;
6763 T54_ = (NIM_BOOL)0;
6764 T54_ = isLocalVar__sempass50_162(tracked, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
6765 T52_ = !(T54_);
6766 LA53_: ;
6767 if (!T52_) goto LA55_;
6768 checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*n)._kind_6.sons->data[((NI) 1)]);
6769 {
6770 NIM_BOOL T59_;
6771 T59_ = (NIM_BOOL)0;
6772 T59_ = !((*tracked).hasDangerousAssign);
6773 if (!(T59_)) goto LA60_;
6774 T59_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
6775 LA60_: ;
6776 if (!T59_) goto LA61_;
6777 (*tracked).hasDangerousAssign = NIM_TRUE;
6778 }
6779 LA61_: ;
6780 }
6781 LA55_: ;
6782 }
6783 break;
6784 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
6785 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
6786 {
6787 {
6788 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
6789 child = NIM_NIL;
6790 {
6791 NI i_5;
6792 NI colontmp__3;
6793 NI i_6;
6794 i_5 = (NI)0;
6795 colontmp__3 = (NI)0;
6796 colontmp__3 = safeLen__ast_3191(n);
6797 i_6 = ((NI) 0);
6798 {
6799 while (1) {
6800 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* last;
6801 if (!(i_6 < colontmp__3)) goto LA67;
6802 i_5 = i_6;
6803 child = (*n)._kind_6.sons->data[i_5];
6804 last = lastSon__ast_4832(child);
6805 {
6806 if (!!(((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA70_;
6807 track__sempass50_2338(tracked, last);
6808 }
6809 LA70_: ;
6810 {
6811 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA74_;
6812 {
6813 NI T80_;
6814 if (!((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA78_;
6815 T80_ = (NI)0;
6816 T80_ = len__ast_3198(child);
6817 createTypeBoundOps__sempass50_142(tracked, (*(*child)._kind_6.sons->data[(NI)(T80_ - ((NI) 1))]).typ, (*child).info);
6818 {
6819 NI i_7;
6820 NI colontmp__4;
6821 NI T82_;
6822 NI i_8;
6823 i_7 = (NI)0;
6824 colontmp__4 = (NI)0;
6825 T82_ = (NI)0;
6826 T82_ = len__ast_3198(child);
6827 colontmp__4 = (NI)(T82_ - ((NI) 2));
6828 i_8 = ((NI) 0);
6829 {
6830 while (1) {
6831 if (!(i_8 < colontmp__4)) goto LA84;
6832 i_7 = i_8;
6833 createTypeBoundOps__sempass50_142(tracked, (*(*child)._kind_6.sons->data[i_7]).typ, (*child).info);
6834 i_8 += ((NI) 1);
6835 } LA84: ;
6836 }
6837 }
6838 }
6839 goto LA76_;
6840 LA78_: ;
6841 {
6842 createTypeBoundOps__sempass50_142(tracked, (*(*child)._kind_6.sons->data[((NI) 0)]).typ, (*child).info);
6843 }
6844 LA76_: ;
6845 }
6846 LA74_: ;
6847 {
6848 NIM_BOOL T88_;
6849 T88_ = (NIM_BOOL)0;
6850 T88_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35));
6851 if (!(T88_)) goto LA89_;
6852 T88_ = !(((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
6853 LA89_: ;
6854 if (!T88_) goto LA90_;
6855 {
6856 NI i_9;
6857 NI colontmp__5;
6858 NI T93_;
6859 NI i_10;
6860 i_9 = (NI)0;
6861 colontmp__5 = (NI)0;
6862 T93_ = (NI)0;
6863 T93_ = len__ast_3198(child);
6864 colontmp__5 = (NI)(T93_ - ((NI) 2));
6865 i_10 = ((NI) 0);
6866 {
6867 while (1) {
6868 if (!(i_10 < colontmp__5)) goto LA95;
6869 i_9 = i_10;
6870 initVar__sempass50_312(tracked, (*child)._kind_6.sons->data[i_9], NIM_FALSE);
6871 addAsgnFact__guards_1730((&(*tracked).guards), (*child)._kind_6.sons->data[i_9], last);
6872 notNilCheck__sempass50_2659(tracked, last, (*(*child)._kind_6.sons->data[i_9]).typ);
6873 i_10 += ((NI) 1);
6874 } LA95: ;
6875 }
6876 }
6877 }
6878 goto LA86_;
6879 LA90_: ;
6880 {
6881 NIM_BOOL T97_;
6882 T97_ = (NIM_BOOL)0;
6883 T97_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
6884 if (!(T97_)) goto LA98_;
6885 T97_ = !(((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
6886 LA98_: ;
6887 if (!T97_) goto LA99_;
6888 {
6889 NI i_11;
6890 NI colontmp__6;
6891 NI T102_;
6892 NI i_12;
6893 i_11 = (NI)0;
6894 colontmp__6 = (NI)0;
6895 T102_ = (NI)0;
6896 T102_ = len__ast_3198(child);
6897 colontmp__6 = (NI)(T102_ - ((NI) 1));
6898 i_12 = ((NI) 0);
6899 {
6900 while (1) {
6901 if (!(i_12 < colontmp__6)) goto LA104;
6902 i_11 = i_12;
6903 {
6904 {
6905 NIM_BOOL T108_;
6906 NIM_BOOL T110_;
6907 T108_ = (NIM_BOOL)0;
6908 T108_ = ((*(*child)._kind_6.sons->data[i_11]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
6909 if (T108_) goto LA109_;
6910 T110_ = (NIM_BOOL)0;
6911 T110_ = ((*(*child)._kind_6.sons->data[i_11]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6912 if (!(T110_)) goto LA111_;
6913 T110_ = eqStrings((*(*(*(*child)._kind_6.sons->data[i_11])._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_59));
6914 LA111_: ;
6915 T108_ = T110_;
6916 LA109_: ;
6917 if (!T108_) goto LA112_;
6918 goto LA105;
6919 }
6920 LA112_: ;
6921 initVar__sempass50_312(tracked, (*child)._kind_6.sons->data[i_11], NIM_FALSE);
6922 {
6923 if (!((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA116_;
6924 addAsgnFact__guards_1730((&(*tracked).guards), (*child)._kind_6.sons->data[i_11], (*last)._kind_6.sons->data[i_11]);
6925 notNilCheck__sempass50_2659(tracked, (*last)._kind_6.sons->data[i_11], (*(*child)._kind_6.sons->data[i_11]).typ);
6926 }
6927 LA116_: ;
6928 } LA105: ;
6929 i_12 += ((NI) 1);
6930 } LA104: ;
6931 }
6932 }
6933 }
6934 goto LA86_;
6935 LA99_: ;
6936 LA86_: ;
6937 i_6 += ((NI) 1);
6938 } LA67: ;
6939 }
6940 }
6941 }
6942 }
6943 break;
6944 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
6945 {
6946 {
6947 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
6948 child_2 = NIM_NIL;
6949 {
6950 NI i_13;
6951 NI colontmp__7;
6952 NI i_14;
6953 i_13 = (NI)0;
6954 colontmp__7 = (NI)0;
6955 colontmp__7 = safeLen__ast_3191(n);
6956 i_14 = ((NI) 0);
6957 {
6958 while (1) {
6959 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* last_2;
6960 if (!(i_14 < colontmp__7)) goto LA122;
6961 i_13 = i_14;
6962 child_2 = (*n)._kind_6.sons->data[i_13];
6963 last_2 = lastSon__ast_4832(child_2);
6964 track__sempass50_2338(tracked, last_2);
6965 i_14 += ((NI) 1);
6966 } LA122: ;
6967 }
6968 }
6969 }
6970 }
6971 break;
6972 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
6973 {
6974 trackCase__sempass50_3048(tracked, n);
6975 }
6976 break;
6977 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
6978 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
6979 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
6980 {
6981 trackIf__sempass50_3149(tracked, n);
6982 }
6983 break;
6984 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
6985 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
6986 {
6987 trackBlock__sempass50_3265(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
6988 }
6989 break;
6990 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
6991 {
6992 {
6993 NIM_BOOL T129_;
6994 T129_ = (NIM_BOOL)0;
6995 T129_ = isTrue__trees_375((*n)._kind_6.sons->data[((NI) 0)]);
6996 if (!T129_) goto LA130_;
6997 trackBlock__sempass50_3265(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
6998 }
6999 goto LA127_;
7000 LA130_: ;
7001 {
7002 NI oldState;
7003 NI T133_;
7004 NI oldFacts;
7005 NI T134_;
7006 T133_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
7007 oldState = T133_;
7008 T134_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
7009 oldFacts = T134_;
7010 addFact__guards_609((&(*tracked).guards), (*n)._kind_6.sons->data[((NI) 0)]);
7011 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
7012 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
7013 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState))));
7014 unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts))));
7015 }
7016 LA127_: ;
7017 }
7018 break;
7019 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
7020 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
7021 {
7022 NI oldState_2;
7023 NI T136_;
7024 NI oldFacts_2;
7025 NI T137_;
7026 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* iterCall;
7027 NI T138_;
7028 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
7029 NI T175_;
7030 T136_ = ((*tracked).init ? (*tracked).init->Sup.len : 0);
7031 oldState_2 = T136_;
7032 T137_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
7033 oldFacts_2 = T137_;
7034 T138_ = (NI)0;
7035 T138_ = len__ast_3198(n);
7036 iterCall = (*n)._kind_6.sons->data[(NI)(T138_ - ((NI) 2))];
7037 {
7038 NIM_BOOL T141_;
7039 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
7040 T141_ = (NIM_BOOL)0;
7041 T141_ = (((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
7042 if (!(T141_)) goto LA142_;
7043 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));
7044 LA142_: ;
7045 if (!T141_) goto LA143_;
7046 op = (*iterCall)._kind_6.sons->data[((NI) 0)];
7047 {
7048 NIM_BOOL T147_;
7049 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* iterVar;
7050 T147_ = (NIM_BOOL)0;
7051 T147_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7052 if (!(T147_)) goto LA148_;
7053 T147_ = fromSystem__astalgo_238((*op)._kind_4.sym);
7054 LA148_: ;
7055 if (!T147_) goto LA149_;
7056 iterVar = (*n)._kind_6.sons->data[((NI) 0)];
7057 if (eqStrings((*(*(*op)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_61))) goto LA151_;
7058 if (eqStrings((*(*(*op)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_62))) goto LA151_;
7059 if (eqStrings((*(*(*op)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_63))) goto LA151_;
7060 if (eqStrings((*(*(*op)._kind_4.sym).name).s, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_64))) goto LA152_;
7061 goto LA153_;
7062 LA151_: ;
7063 {
7064 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lower;
7065 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* upper;
7066 lower = (*iterCall)._kind_6.sons->data[((NI) 1)];
7067 upper = (*iterCall)._kind_6.sons->data[((NI) 2)];
7068 addFactLe__guards_1634((&(*tracked).guards), lower, iterVar);
7069 addFactLe__guards_1634((&(*tracked).guards), iterVar, upper);
7070 }
7071 goto LA154_;
7072 LA152_: ;
7073 {
7074 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lower_2;
7075 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* upper_2;
7076 lower_2 = (*iterCall)._kind_6.sons->data[((NI) 1)];
7077 upper_2 = (*iterCall)._kind_6.sons->data[((NI) 2)];
7078 addFactLe__guards_1634((&(*tracked).guards), lower_2, iterVar);
7079 addFactLt__guards_1642((&(*tracked).guards), iterVar, upper_2);
7080 }
7081 goto LA154_;
7082 LA153_: ;
7083 {
7084 }
7085 LA154_: ;
7086 }
7087 LA149_: ;
7088 }
7089 LA143_: ;
7090 {
7091 NI i_15;
7092 NI colontmp__8;
7093 NI T159_;
7094 NI i_16;
7095 i_15 = (NI)0;
7096 colontmp__8 = (NI)0;
7097 T159_ = (NI)0;
7098 T159_ = len__ast_3198(n);
7099 colontmp__8 = (NI)(T159_ - ((NI) 2));
7100 i_16 = ((NI) 0);
7101 {
7102 while (1) {
7103 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7104 if (!(i_16 < colontmp__8)) goto LA161;
7105 i_15 = i_16;
7106 it = (*n)._kind_6.sons->data[i_15];
7107 track__sempass50_2338(tracked, it);
7108 {
7109 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA164_;
7110 {
7111 if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA168_;
7112 {
7113 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7114 x = NIM_NIL;
7115 {
7116 NI i_17;
7117 NI colontmp__9;
7118 NI i_18;
7119 i_17 = (NI)0;
7120 colontmp__9 = (NI)0;
7121 colontmp__9 = safeLen__ast_3191(it);
7122 i_18 = ((NI) 0);
7123 {
7124 while (1) {
7125 if (!(i_18 < colontmp__9)) goto LA173;
7126 i_17 = i_18;
7127 x = (*it)._kind_6.sons->data[i_17];
7128 createTypeBoundOps__sempass50_142(tracked, (*x).typ, (*x).info);
7129 i_18 += ((NI) 1);
7130 } LA173: ;
7131 }
7132 }
7133 }
7134 }
7135 goto LA166_;
7136 LA168_: ;
7137 {
7138 createTypeBoundOps__sempass50_142(tracked, (*it).typ, (*it).info);
7139 }
7140 LA166_: ;
7141 }
7142 LA164_: ;
7143 i_16 += ((NI) 1);
7144 } LA161: ;
7145 }
7146 }
7147 T175_ = (NI)0;
7148 T175_ = len__ast_3198(n);
7149 loopBody = (*n)._kind_6.sons->data[(NI)(T175_ - ((NI) 1))];
7150 {
7151 NIM_BOOL T178_;
7152 NI T180_;
7153 T178_ = (NIM_BOOL)0;
7154 T178_ = !(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
7155 if (!(T178_)) goto LA179_;
7156 T180_ = (NI)0;
7157 T180_ = safeLen__ast_3191(iterCall);
7158 T178_ = (((NI) 1) < T180_);
7159 LA179_: ;
7160 if (!T178_) goto LA181_;
7161 {
7162 NIM_BOOL T185_;
7163 tyObject_TType__facALICuu8zUj0hjvbTLFg* T187_;
7164 T185_ = (NIM_BOOL)0;
7165 T185_ = !(((*(*iterCall)._kind_6.sons->data[((NI) 1)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7166 if (!(T185_)) goto LA186_;
7167 T187_ = NIM_NIL;
7168 T187_ = skipTypes__ast_3735((*(*iterCall)._kind_6.sons->data[((NI) 1)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_23);
7169 T185_ = !(((*T187_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48) || (*T187_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27)));
7170 LA186_: ;
7171 if (!T185_) goto LA188_;
7172 createTypeBoundOps__sempass50_142(tracked, (*(*iterCall)._kind_6.sons->data[((NI) 1)]).typ, (*(*iterCall)._kind_6.sons->data[((NI) 1)]).info);
7173 }
7174 LA188_: ;
7175 }
7176 LA181_: ;
7177 track__sempass50_2338(tracked, iterCall);
7178 track__sempass50_2338(tracked, loopBody);
7179 unsureAsgnRef((void**) (&(*tracked).init), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*tracked).init)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (oldState_2))));
7180 unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts_2))));
7181 }
7182 break;
7183 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
7184 {
7185 NI oldFacts_3;
7186 NI T191_;
7187 T191_ = ((*tracked).guards.s ? (*tracked).guards.s->Sup.len : 0);
7188 oldFacts_3 = T191_;
7189 {
7190 NI i_19;
7191 NI colontmp__10;
7192 NI i_20;
7193 i_19 = (NI)0;
7194 colontmp__10 = (NI)0;
7195 colontmp__10 = len__ast_3198(n);
7196 i_20 = ((NI) 1);
7197 {
7198 while (1) {
7199 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_2;
7200 if (!(i_20 < colontmp__10)) goto LA194;
7201 i_19 = i_20;
7202 x_2 = (*n)._kind_6.sons->data[i_19];
7203 track__sempass50_2338(tracked, x_2);
7204 {
7205 NIM_BOOL T197_;
7206 T197_ = (NIM_BOOL)0;
7207 T197_ = ((*(*x_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7208 if (!(T197_)) goto LA198_;
7209 T197_ = (((*(*(*x_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 20))&63U)))!=0);
7210 LA198_: ;
7211 if (!T197_) goto LA199_;
7212 addDiscriminantFact__guards_1717((&(*tracked).guards), x_2);
7213 }
7214 LA199_: ;
7215 {
7216 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA203_;
7217 createTypeBoundOps__sempass50_142(tracked, (*(*x_2)._kind_6.sons->data[((NI) 1)]).typ, (*n).info);
7218 }
7219 LA203_: ;
7220 {
7221 if (!((*x_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA207_;
7222 {
7223 if (!((*(*x_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA211_;
7224 notNilCheck__sempass50_2659(tracked, (*x_2)._kind_6.sons->data[((NI) 1)], (*(*(*x_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ);
7225 }
7226 LA211_: ;
7227 checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*x_2)._kind_6.sons->data[((NI) 1)]);
7228 }
7229 goto LA205_;
7230 LA207_: ;
7231 {
7232 checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, x_2);
7233 }
7234 LA205_: ;
7235 i_20 += ((NI) 1);
7236 } LA194: ;
7237 }
7238 }
7239 unsureAsgnRef((void**) (&(*tracked).guards.s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*tracked).guards.s)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (oldFacts_3))));
7240 {
7241 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA216_;
7242 {
7243 NIM_BOOL T220_;
7244 tyObject_TType__facALICuu8zUj0hjvbTLFg* T222_;
7245 tyObject_TType__facALICuu8zUj0hjvbTLFg* T225_;
7246 T220_ = (NIM_BOOL)0;
7247 T220_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7248 if (!(T220_)) goto LA221_;
7249 T222_ = NIM_NIL;
7250 T222_ = skipTypes__ast_3735((*n).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
7251 T220_ = ((*T222_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
7252 LA221_: ;
7253 if (!T220_) goto LA223_;
7254 T225_ = NIM_NIL;
7255 T225_ = lastSon__ast_3743((*n).typ);
7256 createTypeBoundOps__sempass50_142(tracked, T225_, (*n).info);
7257 }
7258 LA223_: ;
7259 createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7260 }
7261 LA216_: ;
7262 }
7263 break;
7264 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
7265 {
7266 {
7267 NI i_21;
7268 NI colontmp__11;
7269 NI i_22;
7270 i_21 = (NI)0;
7271 colontmp__11 = (NI)0;
7272 colontmp__11 = len__ast_3198(n);
7273 i_22 = ((NI) 0);
7274 {
7275 while (1) {
7276 if (!(i_22 < colontmp__11)) goto LA229;
7277 i_21 = i_22;
7278 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_21]);
7279 {
7280 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA232_;
7281 {
7282 if (!((*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA236_;
7283 createTypeBoundOps__sempass50_142(tracked, (*(*(*n)._kind_6.sons->data[i_21])._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
7284 }
7285 goto LA234_;
7286 LA236_: ;
7287 {
7288 createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[i_21]).typ, (*n).info);
7289 }
7290 LA234_: ;
7291 }
7292 LA232_: ;
7293 checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*n)._kind_6.sons->data[i_21]);
7294 i_22 += ((NI) 1);
7295 } LA229: ;
7296 }
7297 }
7298 }
7299 break;
7300 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
7301 {
7302 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaList;
7303 tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA bc;
7304 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T248_;
7305 pragmaList = (*n)._kind_6.sons->data[((NI) 0)];
7306 nimZeroMem((void*)(&bc), sizeof(tyObject_PragmaBlockContext__DP9bc9bSMlNScWp9cz3kkmIBA));
7307 createBlockContext__sempass50_3741(tracked, (&bc));
7308 {
7309 NI i_23;
7310 NI colontmp__12;
7311 NI i_24;
7312 i_23 = (NI)0;
7313 colontmp__12 = (NI)0;
7314 colontmp__12 = len__ast_3198(pragmaList);
7315 i_24 = ((NI) 0);
7316 {
7317 while (1) {
7318 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw pragma;
7319 if (!(i_24 < colontmp__12)) goto LA242;
7320 i_23 = i_24;
7321 pragma = whichPragma__trees_244((*pragmaList)._kind_6.sons->data[i_23]);
7322 switch (pragma) {
7323 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 221):
7324 {
7325 lockLocations__sempass50_206(tracked, (*pragmaList)._kind_6.sons->data[i_23]);
7326 }
7327 break;
7328 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 110):
7329 {
7330 bc.enforcedGcSafety = NIM_TRUE;
7331 }
7332 break;
7333 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 109):
7334 {
7335 bc.enforceNoSideEffects = NIM_TRUE;
7336 }
7337 break;
7338 case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 9):
7339 {
7340 castBlock__sempass50_3790(tracked, (*(*pragmaList)._kind_6.sons->data[i_23])._kind_6.sons->data[((NI) 1)], (&bc));
7341 }
7342 break;
7343 default:
7344 {
7345 }
7346 break;
7347 }
7348 i_24 += ((NI) 1);
7349 } LA242: ;
7350 }
7351 }
7352 applyBlockContext__sempass50_3762(tracked, (&bc));
7353 T248_ = NIM_NIL;
7354 T248_ = lastSon__ast_4832(n);
7355 track__sempass50_2338(tracked, T248_);
7356 unapplyBlockContext__sempass50_3765(tracked, (&bc));
7357 }
7358 break;
7359 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
7360 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
7361 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
7362 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
7363 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
7364 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
7365 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
7366 {
7367 {
7368 NIM_BOOL T252_;
7369 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T256_;
7370 T252_ = (NIM_BOOL)0;
7371 T252_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7372 if (!(T252_)) goto LA253_;
7373 T252_ = !(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7374 LA253_: ;
7375 if (!T252_) goto LA254_;
7376 T256_ = NIM_NIL;
7377 T256_ = getBody__modulegraphs_11241((*tracked).graph, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
7378 trackInnerProc__sempass50_3814(tracked, T256_);
7379 }
7380 LA254_: ;
7381 }
7382 break;
7383 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
7384 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
7385 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
7386 {
7387 }
7388 break;
7389 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
7390 {
7391 {
7392 NI T261_;
7393 T261_ = (NI)0;
7394 T261_ = len__ast_3198(n);
7395 if (!(T261_ == ((NI) 2))) goto LA262_;
7396 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
7397 {
7398 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA266_;
7399 createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7400 }
7401 LA266_: ;
7402 }
7403 LA262_: ;
7404 }
7405 break;
7406 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
7407 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
7408 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
7409 {
7410 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
7411 {
7412 NIM_BOOL T271_;
7413 NIM_BOOL T272_;
7414 tyObject_TType__facALICuu8zUj0hjvbTLFg* T274_;
7415 NIM_BOOL T276_;
7416 NimStringDesc* T279_;
7417 NimStringDesc* T280_;
7418 T271_ = (NIM_BOOL)0;
7419 T272_ = (NIM_BOOL)0;
7420 T272_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59));
7421 if (!(T272_)) goto LA273_;
7422 T274_ = NIM_NIL;
7423 T274_ = skipTypes__ast_3735((*n).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
7424 T272_ = ((*T274_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29));
7425 LA273_: ;
7426 T271_ = T272_;
7427 if (!(T271_)) goto LA275_;
7428 T276_ = (NIM_BOOL)0;
7429 T276_ = allowCStringConv__sempass50_3856((*n)._kind_6.sons->data[((NI) 1)]);
7430 T271_ = !(T276_);
7431 LA275_: ;
7432 if (!T271_) goto LA277_;
7433 T279_ = NIM_NIL;
7434 T279_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
7435 T280_ = NIM_NIL;
7436 T280_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_75), T279_);
7437 liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 65), T280_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_76, NIM_FALSE);
7438 }
7439 LA277_: ;
7440 t = skipTypes__ast_3735((*n).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
7441 {
7442 if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA283_;
7443 {
7444 NimStringDesc* T289_;
7445 NimStringDesc* T290_;
7446 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5))&63U)))!=0)) goto LA287_;
7447 T289_ = NIM_NIL;
7448 T289_ = dollar___renderer_2106(n);
7449 T290_ = NIM_NIL;
7450 T290_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_77), T289_);
7451 liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 64), T290_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_78, NIM_FALSE);
7452 }
7453 goto LA285_;
7454 LA287_: ;
7455 {
7456 NimStringDesc* T292_;
7457 NimStringDesc* T293_;
7458 T292_ = NIM_NIL;
7459 T292_ = dollar___renderer_2106(n);
7460 T293_ = NIM_NIL;
7461 T293_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_79), T292_);
7462 liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 63), T293_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_80, NIM_FALSE);
7463 }
7464 LA285_: ;
7465 }
7466 LA283_: ;
7467 {
7468 NI T296_;
7469 T296_ = (NI)0;
7470 T296_ = len__ast_3198(n);
7471 if (!(T296_ == ((NI) 2))) goto LA297_;
7472 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 1)]);
7473 {
7474 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA301_;
7475 createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7476 {
7477 if (!!(((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)))) goto LA305_;
7478 createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
7479 }
7480 LA305_: ;
7481 }
7482 LA301_: ;
7483 {
7484 if (!(((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0)) goto LA309_;
7485 checkRange__sempass50_3350(tracked, (*n)._kind_6.sons->data[((NI) 1)], (*n).typ);
7486 }
7487 LA309_: ;
7488 }
7489 LA297_: ;
7490 }
7491 break;
7492 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
7493 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
7494 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
7495 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
7496 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
7497 {
7498 {
7499 NI T314_;
7500 T314_ = (NI)0;
7501 T314_ = len__ast_3198(n);
7502 if (!(T314_ == ((NI) 1))) goto LA315_;
7503 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
7504 {
7505 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA319_;
7506 createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7507 createTypeBoundOps__sempass50_142(tracked, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*(*n)._kind_6.sons->data[((NI) 0)]).info);
7508 }
7509 LA319_: ;
7510 {
7511 if (!(((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0)) goto LA323_;
7512 checkRange__sempass50_3350(tracked, (*n)._kind_6.sons->data[((NI) 0)], (*n).typ);
7513 }
7514 LA323_: ;
7515 }
7516 LA315_: ;
7517 }
7518 break;
7519 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
7520 {
7521 {
7522 NI i_25;
7523 NI colontmp__13;
7524 NI i_26;
7525 i_25 = (NI)0;
7526 colontmp__13 = (NI)0;
7527 colontmp__13 = safeLen__ast_3191(n);
7528 i_26 = ((NI) 0);
7529 {
7530 while (1) {
7531 if (!(i_26 < colontmp__13)) goto LA328;
7532 i_25 = i_26;
7533 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_25]);
7534 checkForSink__sempass50_24((*tracked).config, (*(*tracked).c).Sup.idgen, (*tracked).owner, (*n)._kind_6.sons->data[i_25]);
7535 i_26 += ((NI) 1);
7536 } LA328: ;
7537 }
7538 }
7539 {
7540 if (!!(((*(*tracked).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA331_;
7541 createTypeBoundOps__sempass50_142(tracked, (*n).typ, (*n).info);
7542 }
7543 LA331_: ;
7544 }
7545 break;
7546 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
7547 {
7548 {
7549 NIM_BOOL T336_;
7550 NI T338_;
7551 T336_ = (NIM_BOOL)0;
7552 T336_ = (((*tracked).currOptions &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
7553 if (!(T336_)) goto LA337_;
7554 T338_ = (NI)0;
7555 T338_ = len__ast_3198(n);
7556 T336_ = (T338_ == ((NI) 2));
7557 LA337_: ;
7558 if (!T336_) goto LA339_;
7559 {
7560 NIM_BOOL T343_;
7561 tyObject_TType__facALICuu8zUj0hjvbTLFg* T345_;
7562 T343_ = (NIM_BOOL)0;
7563 T343_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7564 if (!(T343_)) goto LA344_;
7565 T345_ = NIM_NIL;
7566 T345_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__wkTG4eaV3t1uo3x09apjcwA_23);
7567 T343_ = !(((*T345_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)));
7568 LA344_: ;
7569 if (!T343_) goto LA346_;
7570 checkBounds__sempass50_3346(tracked, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)]);
7571 }
7572 LA346_: ;
7573 }
7574 LA339_: ;
7575 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[((NI) 0)]);
7576 (*tracked).leftPartOfAsgn -= ((NI) 1);
7577 {
7578 NI i_27;
7579 NI colontmp__14;
7580 NI i_28;
7581 i_27 = (NI)0;
7582 colontmp__14 = (NI)0;
7583 colontmp__14 = len__ast_3198(n);
7584 i_28 = ((NI) 1);
7585 {
7586 while (1) {
7587 if (!(i_28 < colontmp__14)) goto LA350;
7588 i_27 = i_28;
7589 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_27]);
7590 i_28 += ((NI) 1);
7591 } LA350: ;
7592 }
7593 }
7594 (*tracked).leftPartOfAsgn += ((NI) 1);
7595 }
7596 break;
7597 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 161):
7598 {
7599 NimStringDesc* T352_;
7600 T352_ = NIM_NIL;
7601 T352_ = errorToString__errorhandling_107((*tracked).config, n);
7602 liMessage__msgs_1118((*tracked).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T352_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_82, NIM_FALSE);
7603 }
7604 break;
7605 default:
7606 {
7607 {
7608 NI i_29;
7609 NI colontmp__15;
7610 NI i_30;
7611 i_29 = (NI)0;
7612 colontmp__15 = (NI)0;
7613 colontmp__15 = safeLen__ast_3191(n);
7614 i_30 = ((NI) 0);
7615 {
7616 while (1) {
7617 if (!(i_30 < colontmp__15)) goto LA356;
7618 i_29 = i_30;
7619 track__sempass50_2338(tracked, (*n)._kind_6.sons->data[i_29]);
7620 i_30 += ((NI) 1);
7621 } LA356: ;
7622 }
7623 }
7624 }
7625 break;
7626 }
7627 }
N_INLINE(NIM_BOOL,isClosure__ast_5019)7628 static N_INLINE(NIM_BOOL, isClosure__ast_5019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
7629 NIM_BOOL result;
7630 NIM_BOOL T1_;
7631 result = (NIM_BOOL)0;
7632 T1_ = (NIM_BOOL)0;
7633 T1_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7634 if (!(T1_)) goto LA2_;
7635 T1_ = ((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
7636 LA2_: ;
7637 result = T1_;
7638 return result;
7639 }
N_NIMCALL(void,patchResult__sempass50_3308)7640 N_LIB_PRIVATE N_NIMCALL(void, patchResult__sempass50_3308)(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7641 {
7642 NIM_BOOL T3_;
7643 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn;
7644 T3_ = (NIM_BOOL)0;
7645 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7646 if (!(T3_)) goto LA4_;
7647 T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
7648 LA4_: ;
7649 if (!T3_) goto LA5_;
7650 fn = (*c).owner;
7651 {
7652 NIM_BOOL T9_;
7653 NIM_BOOL T10_;
7654 NIM_BOOL T11_;
7655 NI T15_;
7656 T9_ = (NIM_BOOL)0;
7657 T10_ = (NIM_BOOL)0;
7658 T11_ = (NIM_BOOL)0;
7659 T11_ = !((fn == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7660 if (!(T11_)) goto LA12_;
7661 T11_ = ((520192 &((NU32)1<<((NU)((*fn).kind)&31U)))!=0);
7662 LA12_: ;
7663 T10_ = T11_;
7664 if (!(T10_)) goto LA13_;
7665 T10_ = !(((*fn).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7666 LA13_: ;
7667 T9_ = T10_;
7668 if (!(T9_)) goto LA14_;
7669 T15_ = (NI)0;
7670 T15_ = len__ast_3198((*fn).ast);
7671 T9_ = (((NI) 7) < T15_);
7672 LA14_: ;
7673 if (!T9_) goto LA16_;
7674 asgnRef((void**) (&(*n)._kind_4.sym), (*(*(*fn).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym);
7675 }
7676 goto LA7_;
7677 LA16_: ;
7678 {
7679 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_85), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_86, NIM_FALSE);
7680 }
7681 LA7_: ;
7682 }
7683 goto LA1_;
7684 LA5_: ;
7685 {
7686 {
7687 NI i;
7688 NI colontmp_;
7689 NI i_2;
7690 i = (NI)0;
7691 colontmp_ = (NI)0;
7692 colontmp_ = safeLen__ast_3191(n);
7693 i_2 = ((NI) 0);
7694 {
7695 while (1) {
7696 if (!(i_2 < colontmp_)) goto LA22;
7697 i = i_2;
7698 patchResult__sempass50_3308(c, (*n)._kind_6.sons->data[i]);
7699 i_2 += ((NI) 1);
7700 } LA22: ;
7701 }
7702 }
7703 }
7704 LA1_: ;
7705 }
N_NIMCALL(void,listGcUnsafety__sempass50_386)7706 N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass50_386)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL onlyWarning, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleCheck, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
7707 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* u;
7708 u = (*s)._kind_1.gcUnsafetyReason;
7709 {
7710 NIM_BOOL T3_;
7711 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym63_;
7712 NIM_BOOL T5_;
7713 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msgKind;
7714 T3_ = (NIM_BOOL)0;
7715 T3_ = !((u == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7716 if (!(T3_)) goto LA4_;
7717 xX60gensym63_ = u;
7718 T5_ = (NIM_BOOL)0;
7719 T5_ = containsOrIncl__astalgo_402(cycleCheck, (NI)((NI)((NU64)(((NI) ((*xX60gensym63_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym63_).Sup.itemId.item))));
7720 T3_ = !(T5_);
7721 LA4_: ;
7722 if (!T3_) goto LA6_;
7723 {
7724 if (!onlyWarning) goto LA10_;
7725 msgKind = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 48);
7726 }
7727 goto LA8_;
7728 LA10_: ;
7729 {
7730 msgKind = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14);
7731 }
7732 LA8_: ;
7733 switch ((*u).kind) {
7734 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
7735 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
7736 {
7737 {
7738 tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
7739 tyArray__Re75IspeoxXy2oCZHwcRrA T19_;
7740 NimStringDesc* T20_;
7741 T16_ = NIM_NIL;
7742 T16_ = skipTypes__ast_3735((*u).typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
7743 if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA17_;
7744 nimZeroMem((void*)T19_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7745 T19_[0] = copyString((*(*s).name).s);
7746 T19_[1] = copyString((*(*u).name).s);
7747 T20_ = NIM_NIL;
7748 T20_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_87), T19_, 2);
7749 liMessage__msgs_1118(conf, (*s).info, msgKind, T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_88, NIM_FALSE);
7750 }
7751 goto LA14_;
7752 LA17_: ;
7753 {
7754 tyArray__Re75IspeoxXy2oCZHwcRrA T22_;
7755 NimStringDesc* T23_;
7756 nimZeroMem((void*)T22_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7757 T22_[0] = copyString((*(*s).name).s);
7758 T22_[1] = copyString((*(*u).name).s);
7759 T23_ = NIM_NIL;
7760 T23_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_89), T22_, 2);
7761 liMessage__msgs_1118(conf, (*s).info, msgKind, T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_90, NIM_FALSE);
7762 }
7763 LA14_: ;
7764 }
7765 break;
7766 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
7767 {
7768 tyArray__Re75IspeoxXy2oCZHwcRrA T25_;
7769 NimStringDesc* T26_;
7770 listGcUnsafety__sempass50_386(u, NIM_TRUE, cycleCheck, conf);
7771 nimZeroMem((void*)T25_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7772 T25_[0] = copyString((*(*s).name).s);
7773 T25_[1] = copyString((*(*u).name).s);
7774 T26_ = NIM_NIL;
7775 T26_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_87), T25_, 2);
7776 liMessage__msgs_1118(conf, (*s).info, msgKind, T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_91, NIM_FALSE);
7777 }
7778 break;
7779 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
7780 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
7781 {
7782 tyArray__Re75IspeoxXy2oCZHwcRrA T28_;
7783 NimStringDesc* T29_;
7784 nimZeroMem((void*)T28_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7785 T28_[0] = copyString((*(*s).name).s);
7786 T28_[1] = copyString((*(*u).name).s);
7787 T29_ = NIM_NIL;
7788 T29_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_92), T28_, 2);
7789 liMessage__msgs_1118(conf, (*s).info, msgKind, T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_93, NIM_FALSE);
7790 }
7791 break;
7792 default:
7793 {
7794 NimStringDesc* T31_;
7795 T31_ = NIM_NIL;
7796 T31_ = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_94), (*(*s).name).s);
7797 liMessage__msgs_1118(conf, (*u).info, msgKind, T31_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_95, NIM_FALSE);
7798 }
7799 break;
7800 }
7801 }
7802 LA6_: ;
7803 }
N_NIMCALL(void,listGcUnsafety__sempass50_411)7804 N_LIB_PRIVATE N_NIMCALL(void, listGcUnsafety__sempass50_411)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL onlyWarning, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
7805 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA cycleCheck;
7806 nimZeroMem((void*)(&cycleCheck), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
7807 initIntSet__pureZcollectionsZintsets_238((&cycleCheck));
7808 listGcUnsafety__sempass50_386(s, onlyWarning, (&cycleCheck), conf);
7809 }
N_NIMCALL(NIM_BOOL,hasKey__sempass50_484)7810 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__sempass50_484)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ t, NI key) {
7811 NIM_BOOL result;
7812 NI hc;
7813 NI T1_;
7814 result = (NIM_BOOL)0;
7815 hc = (NI)0;
7816 T1_ = (NI)0;
7817 T1_ = rawGet__sempass50_491(t, key, (&hc));
7818 result = (((NI) 0) <= T1_);
7819 return result;
7820 }
N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw **,X5BX5D___sempass50_821)7821 N_LIB_PRIVATE N_NIMCALL(tySequence__vGU8AyGT6KxtLJwEg0BpNw**, X5BX5D___sempass50_821)(tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ* t, NI key) {
7822 tySequence__vGU8AyGT6KxtLJwEg0BpNw** result;
7823 NI hcX60gensym22_;
7824 NI indexX60gensym22_;
7825 result = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
7826 hcX60gensym22_ = (NI)0;
7827 indexX60gensym22_ = rawGet__sempass50_491((*t), key, (&hcX60gensym22_));
7828 {
7829 if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
7830 result = (&(*t).data->data[indexX60gensym22_].Field2);
7831 }
7832 goto LA1_;
7833 LA3_: ;
7834 {
7835 raiseKeyError__ast_1357(key);
7836 }
7837 LA1_: ;
7838 return result;
7839 }
N_NIMCALL(void,listSideEffects__sempass50_416)7840 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) {
7841 {
7842 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym74_;
7843 NIM_BOOL T3_;
7844 xX60gensym74_ = s;
7845 T3_ = (NIM_BOOL)0;
7846 T3_ = hasKey__sempass50_484((*context).sideEffects, (NI)((NI)((NU64)(((NI) ((*xX60gensym74_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym74_).Sup.itemId.item))));
7847 if (!T3_) goto LA4_;
7848 {
7849 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q* useLineInfo;
7850 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** u;
7851 tySequence__vGU8AyGT6KxtLJwEg0BpNw* colontmp_;
7852 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym77_;
7853 tySequence__vGU8AyGT6KxtLJwEg0BpNw** T7_;
7854 NI i;
7855 NI L;
7856 NI T8_;
7857 useLineInfo = (tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q*)0;
7858 u = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7859 colontmp_ = NIM_NIL;
7860 xX60gensym77_ = s;
7861 T7_ = (tySequence__vGU8AyGT6KxtLJwEg0BpNw**)0;
7862 T7_ = X5BX5D___sempass50_821((&(*context).sideEffects), (NI)((NI)((NU64)(((NI) ((*xX60gensym77_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym77_).Sup.itemId.item))));
7863 colontmp_ = (*T7_);
7864 i = ((NI) 0);
7865 T8_ = (colontmp_ ? colontmp_->Sup.len : 0);
7866 L = T8_;
7867 {
7868 while (1) {
7869 if (!(i < L)) goto LA10;
7870 useLineInfo = (&colontmp_->data[i].Field0);
7871 u = &colontmp_->data[i].Field1;
7872 {
7873 NIM_BOOL T13_;
7874 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym81_;
7875 NIM_BOOL T15_;
7876 T13_ = (NIM_BOOL)0;
7877 T13_ = !(((*u) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7878 if (!(T13_)) goto LA14_;
7879 xX60gensym81_ = (*u);
7880 T15_ = (NIM_BOOL)0;
7881 T15_ = containsOrIncl__astalgo_402(cycleCheck, (NI)((NI)((NU64)(((NI) ((*xX60gensym81_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym81_).Sup.itemId.item))));
7882 T13_ = !(T15_);
7883 LA14_: ;
7884 if (!T13_) goto LA16_;
7885 switch ((*(*u)).kind) {
7886 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
7887 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
7888 {
7889 tyArray__sMpvt1sOxOJ3LFGulnbeMQ T19_;
7890 tyArray__sMpvt1sOxOJ3LFGulnbeMQ T20_;
7891 nimZeroMem((void*)T19_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7892 T19_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) (indentLevel)));
7893 T19_[1] = dollar___msgs_624(conf, (*useLineInfo));
7894 T19_[2] = copyString((*(*s).name).s);
7895 T19_[3] = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_101), (*(*(*u)).name).s);
7896 nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T19_, 4);
7897 nimZeroMem((void*)T20_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7898 T20_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) ((NI)(indentLevel + ((NI) 1)))));
7899 T20_[1] = dollar___msgs_624(conf, (*(*u)).info);
7900 T20_[2] = copyString((*(*(*u)).name).s);
7901 T20_[3] = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_102), (*(*s).name).s);
7902 nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T20_, 4);
7903 }
7904 break;
7905 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
7906 {
7907 tyArray__sMpvt1sOxOJ3LFGulnbeMQ T22_;
7908 tyArray__sMpvt1sOxOJ3LFGulnbeMQ T23_;
7909 nimZeroMem((void*)T22_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7910 T22_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) (indentLevel)));
7911 T22_[1] = dollar___msgs_624(conf, (*useLineInfo));
7912 T22_[2] = copyString((*(*s).name).s);
7913 T22_[3] = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_103), (*(*(*u)).name).s);
7914 nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T22_, 4);
7915 nimZeroMem((void*)T23_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7916 T23_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) ((NI)(indentLevel + ((NI) 1)))));
7917 T23_[1] = dollar___msgs_624(conf, (*(*u)).info);
7918 T23_[2] = copyString((*(*(*u)).name).s);
7919 T23_[3] = nsuFormatSingleElem(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_104), (*(*s).name).s);
7920 nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T23_, 4);
7921 listSideEffects__sempass50_416(result, (*u), cycleCheck, conf, context, (NI)(indentLevel + ((NI) 2)));
7922 }
7923 break;
7924 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
7925 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
7926 {
7927 tyArray__sMpvt1sOxOJ3LFGulnbeMQ T25_;
7928 nimZeroMem((void*)T25_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7929 T25_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) (indentLevel)));
7930 T25_[1] = dollar___msgs_624(conf, (*useLineInfo));
7931 T25_[2] = copyString((*(*s).name).s);
7932 T25_[3] = copyString(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_105));
7933 nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T25_, 4);
7934 }
7935 break;
7936 default:
7937 {
7938 tyArray__sMpvt1sOxOJ3LFGulnbeMQ T27_;
7939 nimZeroMem((void*)T27_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
7940 T27_[0] = nsuRepeatStr(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_100), ((NI) (indentLevel)));
7941 T27_[1] = dollar___msgs_624(conf, (*useLineInfo));
7942 T27_[2] = copyString((*(*s).name).s);
7943 T27_[3] = copyString(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_106));
7944 nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_99), T27_, 4);
7945 }
7946 break;
7947 }
7948 }
7949 LA16_: ;
7950 i += ((NI) 1);
7951 } LA10: ;
7952 }
7953 }
7954 }
7955 LA4_: ;
7956 }
N_NIMCALL(void,listSideEffects__sempass50_953)7957 N_LIB_PRIVATE N_NIMCALL(void, listSideEffects__sempass50_953)(NimStringDesc** result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* context) {
7958 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA cycleCheck;
7959 tyArray__nHXaesL0DJZHyVS07ARPRA T1_;
7960 nimZeroMem((void*)(&cycleCheck), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
7961 initIntSet__pureZcollectionsZintsets_238((&cycleCheck));
7962 nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
7963 T1_[0] = copyString((*(*s).name).s);
7964 nsuAddf(result, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_98), T1_, 1);
7965 listSideEffects__sempass50_416(result, s, (&cycleCheck), conf, context, ((NI) 1));
7966 }
N_NIMCALL(void,trackProc__sempass50_4692)7967 N_LIB_PRIVATE N_NIMCALL(void, trackProc__sempass50_4692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body) {
7968 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
7969 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects;
7970 NIM_BOOL emitWarnings;
7971 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inferredEffects;
7972 tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA t;
7973 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
7974 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raisesSpec;
7975 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tagsSpec;
7976 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* requiresSpec;
7977 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ensuresSpec;
7978 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug mutationInfo;
7979 NIM_BOOL hasMutationSideEffect;
7980 { g = (*c).graph;
7981 effects = (*(*(*s).typ).n)._kind_6.sons->data[((NI) 0)];
7982 {
7983 if (!!(((*effects).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)))) goto LA3_;
7984 goto BeforeRet_;
7985 }
7986 LA3_: ;
7987 {
7988 NIM_BOOL T7_;
7989 T7_ = (NIM_BOOL)0;
7990 T7_ = hasRealBody__sempass50_4681(s);
7991 if (!!(T7_)) goto LA8_;
7992 goto BeforeRet_;
7993 }
7994 LA8_: ;
7995 emitWarnings = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 44))&63U)))!=0);
7996 {
7997 NIM_BOOL T12_;
7998 NI T13_;
7999 T12_ = (NIM_BOOL)0;
8000 T13_ = (NI)0;
8001 T13_ = len__ast_3198(effects);
8002 T12_ = (T13_ == ((NI) 5));
8003 if (!(T12_)) goto LA14_;
8004 T12_ = !(emitWarnings);
8005 LA14_: ;
8006 if (!T12_) goto LA15_;
8007 goto BeforeRet_;
8008 }
8009 LA15_: ;
8010 inferredEffects = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*s).info);
8011 nimZeroMem((void*)(&t), sizeof(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA));
8012 initEffects__sempass50_4653(g, inferredEffects, s, (&t), c);
8013 rawInitEffects__sempass50_4641(g, effects);
8014 track__sempass50_2338((&t), body);
8015 {
8016 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
8017 if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA19_;
8018 params = (*(*s).typ).n;
8019 {
8020 NI i;
8021 NI colontmp_;
8022 NI i_2;
8023 i = (NI)0;
8024 colontmp_ = (NI)0;
8025 colontmp_ = len__ast_3198(params);
8026 i_2 = ((NI) 1);
8027 {
8028 while (1) {
8029 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
8030 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
8031 if (!(i_2 < colontmp_)) goto LA23;
8032 i = i_2;
8033 param = (*(*params)._kind_6.sons->data[i])._kind_4.sym;
8034 typ = (*param).typ;
8035 {
8036 NIM_BOOL T26_;
8037 NIM_BOOL T28_;
8038 NIM_BOOL T30_;
8039 tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
8040 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym571_;
8041 T26_ = (NIM_BOOL)0;
8042 T26_ = isSinkTypeForParam__types_4055(typ);
8043 if (T26_) goto LA27_;
8044 T28_ = (NIM_BOOL)0;
8045 T28_ = ((48 &((NU16)1<<((NU)((*t.config).selectedGC)&15U)))!=0);
8046 if (!(T28_)) goto LA29_;
8047 T30_ = (NIM_BOOL)0;
8048 T31_ = NIM_NIL;
8049 T31_ = skipTypes__ast_3735(typ, TM__wkTG4eaV3t1uo3x09apjcwA_30);
8050 T30_ = isClosure__ast_5019(T31_);
8051 if (T30_) goto LA32_;
8052 xX60gensym571_ = param;
8053 T30_ = contains__astalgo_3496((&t.escapingParams), (NI)((NI)((NU64)(((NI) ((*xX60gensym571_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym571_).Sup.itemId.item))));
8054 LA32_: ;
8055 T28_ = T30_;
8056 LA29_: ;
8057 T26_ = T28_;
8058 LA27_: ;
8059 if (!T26_) goto LA33_;
8060 createTypeBoundOps__sempass50_142((&t), typ, (*param).info);
8061 }
8062 LA33_: ;
8063 i_2 += ((NI) 1);
8064 } LA23: ;
8065 }
8066 }
8067 }
8068 LA19_: ;
8069 {
8070 NIM_BOOL T37_;
8071 NIM_BOOL T38_;
8072 NIM_BOOL T39_;
8073 NIM_BOOL T41_;
8074 tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
8075 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res;
8076 T37_ = (NIM_BOOL)0;
8077 T38_ = (NIM_BOOL)0;
8078 T39_ = (NIM_BOOL)0;
8079 T39_ = isEmptyType__ast_4779((*(*s).typ).sons->data[((NI) 0)]);
8080 T38_ = !(T39_);
8081 if (!(T38_)) goto LA40_;
8082 T41_ = (NIM_BOOL)0;
8083 T41_ = requiresInit__typeallowed_578((*(*s).typ).sons->data[((NI) 0)]);
8084 if (T41_) goto LA42_;
8085 T43_ = NIM_NIL;
8086 T43_ = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 0)], TM__wkTG4eaV3t1uo3x09apjcwA_30);
8087 T41_ = ((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
8088 LA42_: ;
8089 T38_ = T41_;
8090 LA40_: ;
8091 T37_ = T38_;
8092 if (!(T37_)) goto LA44_;
8093 T37_ = ((94208 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
8094 LA44_: ;
8095 if (!T37_) goto LA45_;
8096 res = (*(*(*s).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym;
8097 {
8098 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym578_;
8099 NIM_BOOL T49_;
8100 xX60gensym578_ = res;
8101 T49_ = (NIM_BOOL)0;
8102 T49_ = contains__sigmatch_4299(t.init->data, (t.init ? t.init->Sup.len : 0), (NI)((NI)((NU64)(((NI) ((*xX60gensym578_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym578_).Sup.itemId.item))));
8103 if (!!(T49_)) goto LA50_;
8104 liMessage__msgs_1118((*g).config, (*body).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_83), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_84, NIM_FALSE);
8105 }
8106 LA50_: ;
8107 }
8108 LA45_: ;
8109 p = (*(*s).ast)._kind_6.sons->data[((NI) 4)];
8110 raisesSpec = effectSpec__trees_284(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174));
8111 {
8112 if (!!((raisesSpec == 0))) goto LA54_;
8113 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)]);
8114 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), raisesSpec);
8115 }
8116 goto LA52_;
8117 LA54_: ;
8118 {
8119 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 0)]), t.exc);
8120 }
8121 LA52_: ;
8122 tagsSpec = effectSpec__trees_284(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179));
8123 {
8124 if (!!((tagsSpec == 0))) goto LA59_;
8125 checkRaisesSpec__sempass50_4403(g, NIM_FALSE, tagsSpec, t.tags, ((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_10), NIM_FALSE, subtypeRelation__sempass50_4390, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8126 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), tagsSpec);
8127 }
8128 goto LA57_;
8129 LA59_: ;
8130 {
8131 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 3)]), t.tags);
8132 }
8133 LA57_: ;
8134 requiresSpec = propSpec__trees_316(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 180));
8135 {
8136 if (!!((requiresSpec == 0))) goto LA64_;
8137 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 1)]), requiresSpec);
8138 }
8139 LA64_: ;
8140 ensuresSpec = propSpec__trees_316(p, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 181));
8141 {
8142 if (!!((ensuresSpec == 0))) goto LA68_;
8143 patchResult__sempass50_3308((&t), ensuresSpec);
8144 asgnRef((void**) (&(*effects)._kind_6.sons->data[((NI) 2)]), ensuresSpec);
8145 }
8146 LA68_: ;
8147 nimZeroMem((void*)(&mutationInfo), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
8148 nimZeroMem((void*)(&mutationInfo), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
8149 hasMutationSideEffect = NIM_FALSE;
8150 {
8151 tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg goals;
8152 tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag partitions;
8153 if (!!(((12288 & (*c).features) == 0))) goto LA72_;
8154 goals = 0;
8155 {
8156 if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 12))&31U)))!=0)) goto LA76_;
8157 goals |= ((NU8)1)<<((((tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg) 0)) & 7);
8158 }
8159 LA76_: ;
8160 {
8161 if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0)) goto LA80_;
8162 goals |= ((NU8)1)<<((((tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg) 1)) & 7);
8163 }
8164 LA80_: ;
8165 nimZeroMem((void*)(&partitions), sizeof(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag));
8166 computeGraphPartitions__varpartitions_1607(s, body, g, goals, (&partitions));
8167 {
8168 NIM_BOOL T84_;
8169 T84_ = (NIM_BOOL)0;
8170 T84_ = !(t.hasSideEffect);
8171 if (!(T84_)) goto LA85_;
8172 T84_ = t.hasDangerousAssign;
8173 LA85_: ;
8174 if (!T84_) goto LA86_;
8175 t.hasSideEffect = hasSideEffect__varpartitions_131((&partitions), (&mutationInfo));
8176 hasMutationSideEffect = t.hasSideEffect;
8177 }
8178 LA86_: ;
8179 {
8180 if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0)) goto LA90_;
8181 checkBorrowedLocations__varpartitions_1719((&partitions), body, (*g).config);
8182 }
8183 LA90_: ;
8184 }
8185 LA72_: ;
8186 {
8187 NIM_BOOL T94_;
8188 T94_ = (NIM_BOOL)0;
8189 T94_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0);
8190 if (!(T94_)) goto LA95_;
8191 T94_ = t.gcUnsafe;
8192 LA95_: ;
8193 if (!T94_) goto LA96_;
8194 {
8195 NIM_BOOL T100_;
8196 T100_ = (NIM_BOOL)0;
8197 T100_ = (((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 23))&63U)))!=0);
8198 if (!(T100_)) goto LA101_;
8199 T100_ = (((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 25))&63U)))!=0);
8200 LA101_: ;
8201 if (!T100_) goto LA102_;
8202 listGcUnsafety__sempass50_411(s, NIM_FALSE, (*g).config);
8203 }
8204 goto LA98_;
8205 LA102_: ;
8206 {
8207 listGcUnsafety__sempass50_411(s, NIM_TRUE, (*g).config);
8208 }
8209 LA98_: ;
8210 }
8211 LA96_: ;
8212 {
8213 NIM_BOOL T107_;
8214 T107_ = (NIM_BOOL)0;
8215 T107_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 12))&63U)))!=0);
8216 if (!(T107_)) goto LA108_;
8217 T107_ = t.hasSideEffect;
8218 LA108_: ;
8219 if (!T107_) goto LA109_;
8220 {
8221 tyArray__Re75IspeoxXy2oCZHwcRrA T115_;
8222 NimStringDesc* T116_;
8223 if (!hasMutationSideEffect) goto LA113_;
8224 nimZeroMem((void*)T115_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
8225 T115_[0] = copyString((*(*s).name).s);
8226 T115_[1] = dollar___varpartitions_108((*g).config, (&mutationInfo));
8227 T116_ = NIM_NIL;
8228 T116_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_96), T115_, 2);
8229 liMessage__msgs_1118((*g).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T116_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_97, NIM_FALSE);
8230 }
8231 goto LA111_;
8232 LA113_: ;
8233 {
8234 NimStringDesc* msg;
8235 if (!((*c).compilesContextId == ((NI) 0))) goto LA118_;
8236 msg = ((NimStringDesc*) NIM_NIL);
8237 listSideEffects__sempass50_953((&msg), s, (*g).config, t.c);
8238 liMessage__msgs_1118((*g).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_107, NIM_FALSE);
8239 }
8240 goto LA111_;
8241 LA118_: ;
8242 {
8243 liMessage__msgs_1118((*g).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_108, NIM_FALSE);
8244 }
8245 LA111_: ;
8246 }
8247 LA109_: ;
8248 {
8249 if (!!(t.gcUnsafe)) goto LA123_;
8250 (*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7)) & 63);
8251 }
8252 LA123_: ;
8253 {
8254 NIM_BOOL T127_;
8255 T127_ = (NIM_BOOL)0;
8256 T127_ = !(t.hasSideEffect);
8257 if (!(T127_)) goto LA128_;
8258 T127_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 13))&63U)))!=0));
8259 LA128_: ;
8260 if (!T127_) goto LA129_;
8261 (*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1)) & 63);
8262 }
8263 LA129_: ;
8264 {
8265 if (!((*(*s).typ).lockLevel == ((NI16) -1))) goto LA133_;
8266 (*(*s).typ).lockLevel = t.maxLockLevel;
8267 }
8268 goto LA131_;
8269 LA133_: ;
8270 {
8271 tyArray__Re75IspeoxXy2oCZHwcRrA T138_;
8272 NimStringDesc* T139_;
8273 if (!((*(*s).typ).lockLevel < t.maxLockLevel)) goto LA136_;
8274 nimZeroMem((void*)T138_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
8275 T138_[0] = dollar___ast_3858((*(*s).typ).lockLevel);
8276 T138_[1] = dollar___ast_3858(t.maxLockLevel);
8277 T139_ = NIM_NIL;
8278 T139_ = nsuFormatOpenArray(((NimStringDesc*) &TM__wkTG4eaV3t1uo3x09apjcwA_109), T138_, 2);
8279 liMessage__msgs_1118((*g).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 52), T139_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__wkTG4eaV3t1uo3x09apjcwA_110, NIM_FALSE);
8280 }
8281 goto LA131_;
8282 LA136_: ;
8283 LA131_: ;
8284 {
8285 NIM_BOOL T142_;
8286 T142_ = (NIM_BOOL)0;
8287 T142_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 14))&31U)))!=0);
8288 if (!(T142_)) goto LA143_;
8289 T142_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
8290 LA143_: ;
8291 if (!T142_) goto LA144_;
8292 checkNil__nilcheck_9345(s, body, (*g).config, (*c).Sup.idgen);
8293 }
8294 LA144_: ;
8295 }BeforeRet_: ;
8296 }
N_NIMCALL(void,trackStmt__sempass50_4915)8297 N_LIB_PRIVATE N_NIMCALL(void, trackStmt__sempass50_4915)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isTopLevel) {
8298 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
8299 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* effects;
8300 tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA t;
8301 { {
8302 if (!((TM__wkTG4eaV3t1uo3x09apjcwA_111[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) goto LA3_;
8303 goto BeforeRet_;
8304 }
8305 LA3_: ;
8306 g = (*c).graph;
8307 effects = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n).info);
8308 nimZeroMem((void*)(&t), sizeof(tyObject_TEffects__vxIpB3oPhn77OqeaB81hCA));
8309 initEffects__sempass50_4653(g, effects, module, (&t), c);
8310 t.isTopLevel = isTopLevel;
8311 track__sempass50_2338((&t), n);
8312 }BeforeRet_: ;
8313 }
8314