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