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 #include <math.h>
8 #include <setjmp.h>
9 #undef LANGUAGE_C
10 #undef MIPSEB
11 #undef MIPSEL
12 #undef PPC
13 #undef R3000
14 #undef R4000
15 #undef i386
16 #undef linux
17 #undef mips
18 #undef near
19 #undef far
20 #undef powerpc
21 #undef unix
22 #define nimfr_(x, y)
23 #define nimln_(x, y)
24 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
25 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
26 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
27 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
28 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
29 typedef struct RootObj RootObj;
30 typedef struct TNimType TNimType;
31 typedef struct TNimNode TNimNode;
32 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
33 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
34 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
35 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
36 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
37 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
38 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
39 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
40 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
41 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
42 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
43 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
44 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
45 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
46 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
47 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
48 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
49 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
50 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
51 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
52 typedef struct NimStringDesc NimStringDesc;
53 typedef struct TGenericSeq TGenericSeq;
54 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
55 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
56 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
57 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
58 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
59 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
60 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
61 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
62 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
63 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
64 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
65 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
66 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
67 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
68 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
69 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
70 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
71 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
72 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
73 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
74 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
75 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
76 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
77 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
78 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
79 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
80 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
81 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
82 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
83 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
84 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
85 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
86 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
87 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
88 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
89 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
90 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
91 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
92 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
93 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
94 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
95 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
96 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
97 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
98 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
99 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
100 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
101 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
102 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
103 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
104 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
105 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
106 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
107 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
108 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
109 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
110 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
111 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
112 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
113 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
114 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
115 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
116 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
117 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
118 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
119 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
120 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
121 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
122 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
123 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
124 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
125 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
126 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
127 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
128 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
129 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
130 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
131 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
132 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
133 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
134 typedef struct tySequence__1I3cxybVrOXM64KW2dfERQ tySequence__1I3cxybVrOXM64KW2dfERQ;
135 typedef struct tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ;
136 typedef struct tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA;
137 typedef struct tyObject_ModuleIter__AFia9bW3IpMpX9c1vt0AhLlA tyObject_ModuleIter__AFia9bW3IpMpX9c1vt0AhLlA;
138 typedef struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg;
139 typedef struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw;
140 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
141 typedef struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA;
142 typedef struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ;
143 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
144 typedef struct tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ;
145 typedef struct tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg;
146 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
147 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
148 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
149 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
150 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
151 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
152 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
153 typedef struct tySequence__0dpGN6F4ocevqUQGsaf41w tySequence__0dpGN6F4ocevqUQGsaf41w;
154 typedef struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ;
155 typedef struct tySequence__u9c10b19cqoKPxYSuh3ZKtIw tySequence__u9c10b19cqoKPxYSuh3ZKtIw;
156 typedef struct tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ;
157 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
158 typedef struct tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w;
159 typedef struct tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw;
160 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
161 typedef struct tyTuple__7rlNEhvBksZh9a9asniQIl9aQ tyTuple__7rlNEhvBksZh9a9asniQIl9aQ;
162 typedef struct tyTuple__ZtAk5YtH0VW1iPowvxePrg tyTuple__ZtAk5YtH0VW1iPowvxePrg;
163 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
164 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
165 typedef struct Exception Exception;
166 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
167 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
168 typedef struct tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg;
169 typedef struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA;
170 typedef struct tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw;
171 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
172 typedef struct tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw;
173 typedef struct TSafePoint TSafePoint;
174 typedef struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw;
175 typedef struct tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ;
176 typedef struct tyObject_HSlice__fqLtJsaN5foHLgxLTScotw tyObject_HSlice__fqLtJsaN5foHLgxLTScotw;
177 typedef struct tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA;
178 typedef struct tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ;
179 typedef struct tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA;
180 typedef struct tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw;
181 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
182 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
183 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
184 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
185 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
186 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
187 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
188 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
189 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
190 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
191 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
192 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
193 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
194 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
195 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
196 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
197 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
198 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
199 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
200 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
201 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
202 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
203 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
204 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
205 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
206 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
207 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
208 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
209 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
210 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
211 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
212 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
213 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
214 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
215 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
216 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
217 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
218 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
219 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
220 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
221 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
222 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
223 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
224 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
225 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
226 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
227 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
228 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
229 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
230 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
231 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
232 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
233 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
234 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
235 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
236 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
237 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
238 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
239 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
240 typedef struct tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA;
241 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
242 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
243 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
244 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
245 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
246 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
247 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
248 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
249 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
250 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
251 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
252 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
253 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
254 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
255 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
256 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
257 NI32 module;
258 NI32 symId;
259 NI32 typeId_0;
260 NIM_BOOL sealed;
261 };
262 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
263 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
264 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
265 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
266 struct TNimType {
267 NI size;
268 NI align;
269 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
270 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
271 TNimType* base;
272 TNimNode* node;
273 void* finalizer;
274 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
275 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
276 };
277 struct RootObj {
278 TNimType* m_type;
279 };
280 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
281   RootObj Sup;
282 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
283 };
284 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
285 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
286 NI counter;
287 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
288 };
289 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
290 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
291 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
292 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
293 typedef struct {
294 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
295 void* ClE_0;
296 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
297 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
298 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);
299 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
300 typedef struct {
301 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
302 void* ClE_0;
303 } tyProc__3cacbJ4la9bDJNibHybQSnA;
304 typedef struct {
305 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);
306 void* ClE_0;
307 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
308 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
309 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
310 NI elems;
311 NI counter;
312 NI max;
313 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
314 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
315 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
316 };
317 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
318 NI counter;
319 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
320 };
321 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
322 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);
323 struct TGenericSeq {
324 NI len;
325 NI reserved;
326 };
327 struct NimStringDesc {
328   TGenericSeq Sup;
329 NIM_CHAR data[SEQ_DECL_SIZE];
330 };
331 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
332 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
333 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
334 NI counter;
335 };
336 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
337 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
338 NI counter;
339 };
340 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
341 NU16 line;
342 NI16 col;
343 NI32 fileIndex;
344 };
345 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
346 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
347 NI counter;
348 };
349 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
350   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
351 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
352 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
353 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
354 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
355 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
356 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
357 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
358 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
359 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
360 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
361 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
362 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
363 NI instCounter;
364 NI* templInstCounter;
365 NI inGenericContext;
366 NI inStaticContext;
367 NI inUnrolledContext;
368 NI compilesContextId;
369 NI compilesContextIdGenerator;
370 NI inGenericInst;
371 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
372 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
373 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
374 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
375 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
376 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
377 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
378 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
379 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
380 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
381 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
382 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
383 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
384 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
385 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
386 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
387 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
388 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
389 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
390 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
391 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
392 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
393 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
394 NI topStmts;
395 NI lastGenericIdx;
396 NI hloLoopDetector;
397 NI inParallelStmt;
398 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
399 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
400 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
401 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
402 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
403 NimStringDesc* recursiveDep;
404 NIM_BOOL suggestionsMade;
405 NIM_BOOL isAmbiguous;
406 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
407 NI inTypeContext;
408 NI inConceptDecl;
409 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
410 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
411 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
412 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
413 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
414 NI inUncheckedAssignSection;
415 };
416 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
417 NI refcount;
418 TNimType* typ;
419 };
420 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
421 void* bottom;
422 };
423 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
424 NI len;
425 NI cap;
426 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
427 };
428 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
429 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
430 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
431 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
432 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
433 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
434 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
435 };
436 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
437 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
438 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
439 NI key;
440 NI upperBound;
441 NI level;
442 };
443 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
444 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
445 NI Field1;
446 };
447 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
448 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
449 NI len;
450 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
451 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
452 };
453 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
454 NI minLargeObj;
455 NI maxLargeObj;
456 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
457 NU32 flBitmap;
458 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
459 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
460 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
461 NI currMem;
462 NI maxMem;
463 NI freeMem;
464 NI occ;
465 NI lastSize;
466 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
467 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
468 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
469 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
470 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
471 NIM_BOOL locked;
472 NIM_BOOL blockChunkSizeIncrease;
473 NI nextChunkSize;
474 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
475 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
476 };
477 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
478 NI stackScans;
479 NI cycleCollections;
480 NI maxThreshold;
481 NI maxStackSize;
482 NI maxStackCells;
483 NI cycleTableSize;
484 NI64 maxPause;
485 };
486 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
487 NI counter;
488 NI max;
489 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
490 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
491 };
492 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
493 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
494 NI cycleThreshold;
495 NI zctThreshold;
496 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
497 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
498 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
499 NI recGcLock;
500 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
501 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
502 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
503 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
504 NI gcThreadId;
505 };
506 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
507 NI32 module;
508 NI32 item;
509 };
510 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
511   RootObj Sup;
512 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
513 };
514 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
515 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
516 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
517 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
518 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
519 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
520 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
521 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
522 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
523 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
524 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
525 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
526 };
527 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
528   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
529 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
530 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
531 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
532 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
533 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
534 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
535 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
536 NI64 size;
537 NI16 align;
538 NI16 paddingAtEnd;
539 NI16 lockLevel;
540 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
541 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
542 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
543 };
544 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
545 NimStringDesc* Field0;
546 NI Field1;
547 NI Field2;
548 };
549 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
550 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
551 NI counter;
552 };
553 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
554 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
555 NI counter;
556 };
557 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
558 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
559 NI counter;
560 };
561 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
562 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
563 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
564 NI counter;
565 };
566 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
567 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
568 NI counter;
569 };
570 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
571 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
572 NI counter;
573 };
574 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
575 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
576 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
577 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
578 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
579 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
580 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
581 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
582 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
583 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
584 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
585 };
586 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
587 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
588 NI counter;
589 };
590 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
591 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
592 NI counter;
593 };
594 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
595 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
596 NI counter;
597 };
598 typedef struct {
599 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
600 void* ClE_0;
601 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
602 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
603 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
604 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
605 NI counter;
606 };
607 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
608 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
609 NI counter;
610 };
611 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
612 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
613 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
614 tySequence__23SMqauuRsbDANhthj9bWlA* data;
615 NI counter;
616 };
617 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
618 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
619 NI counter;
620 };
621 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
622 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
623 NI counter;
624 };
625 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
626 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
627 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
628 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
629 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
630 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
631 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
632 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
633 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
634 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
635 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
636 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
637 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
638 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
639 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
640 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
641 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
642 };
643 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
644 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
645 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
646 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
647 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
648 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
649 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
650 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
651 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
652 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
653 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
654 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
655 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
656 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
657 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
658 NIM_BOOL suggestMode;
659 NIM_BOOL invalidTransitiveClosure;
660 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
661 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
662 RootObj* backend;
663 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
664 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
665 RootObj* vm;
666 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
667 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
668 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
669 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
670 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
671 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
672 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
673 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
674 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
675 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
676 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
677 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
678 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
679 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
680 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
681 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
682 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
683 tySequence__MAQKEADohlpnXTModtugbQ* passes;
684 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
685 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
686 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
687 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
688 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
689 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
690 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
691 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
692 };
693 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
694 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
695 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
696 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
697   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
698 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
699 union{
700 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
701 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
702 } _kind_1;
703 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
704 NI bitsize;
705 NI alignment;
706 } _kind_2;
707 };
708 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
709 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
710 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
711 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
712 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
713 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
714 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
715 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
716 NI position;
717 NI offset;
718 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
719 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
720 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
721 };
722 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
723 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
724 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
725 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
726 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
727 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
728 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
729 union{
730 struct {NI64 intVal;
731 } _kind_1;
732 struct {NF floatVal;
733 } _kind_2;
734 struct {NimStringDesc* strVal;
735 } _kind_3;
736 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
737 } _kind_4;
738 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
739 } _kind_5;
740 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
741 } _kind_6;
742 };
743 };
744 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
745 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
746 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
747 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
748 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
749 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
750 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
751 NI intSize;
752 NI floatSize;
753 NI ptrSize;
754 NimStringDesc* tnl;
755 };
756 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
757 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
758 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
759 NIM_BOOL trackPosAttached;
760 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
761 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
762 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
763 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
764 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
765 NI32 systemFileIdx;
766 };
767 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
768 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
769 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
770 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
771 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
772 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
773 NI counter;
774 };
775 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
776 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
777 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
778 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
779 NI Field0;
780 NI Field1;
781 NI Field2;
782 };
783 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
784 typedef struct {
785 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
786 void* ClE_0;
787 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
788 typedef struct {
789 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
790 void* ClE_0;
791 } tyProc__k2HFjxisIgDALbEUFojxaQ;
792 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
793 typedef struct {
794 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
795 void* ClE_0;
796 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
797 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
798 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
799 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
800 NI linesCompiled;
801 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
802 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
803 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
804 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
805 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
806 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
807 NimStringDesc* unitSep;
808 NI evalTemplateCounter;
809 NI evalMacroCounter;
810 NI8 exitcode;
811 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
812 NimStringDesc* cmdInput;
813 NIM_BOOL projectIsCmd;
814 NIM_BOOL implicitCmd;
815 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
816 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
817 NIM_BOOL hintProcessingDots;
818 NI verbosity;
819 NI numberOfProcessors;
820 NF lastCmdTime;
821 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
822 NI spellSuggestMax;
823 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
824 NimStringDesc* headerFile;
825 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
826 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
827 NimStringDesc* arguments;
828 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
829 NIM_BOOL oldNewlines;
830 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
831 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
832 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
833 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
834 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
835 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
836 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
837 NI mainPackageId;
838 NI errorCounter;
839 NI hintCounter;
840 NI warnCounter;
841 NI errorMax;
842 NI maxLoopIterationsVM;
843 NIM_BOOL isVmTrace;
844 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
845 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
846 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
847 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
848 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
849 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
850 NimStringDesc* outFile;
851 NimStringDesc* outDir;
852 NimStringDesc* jsonBuildFile;
853 NimStringDesc* prefixDir;
854 NimStringDesc* libpath;
855 NimStringDesc* nimcacheDir;
856 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
857 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
858 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
859 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
860 NimStringDesc* projectName;
861 NimStringDesc* projectPath;
862 NimStringDesc* projectFull;
863 NIM_BOOL projectIsStdin;
864 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
865 NI32 projectMainIdx;
866 NI32 projectMainIdx2;
867 NimStringDesc* command;
868 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
869 NimStringDesc* commandLine;
870 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
871 NIM_BOOL keepComments;
872 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
873 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
874 NimStringDesc* docSeeSrcUrl;
875 NimStringDesc* docRoot;
876 NimStringDesc* docCmd;
877 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
878 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
879 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
880 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
881 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
882 NimStringDesc* linkOptionsCmd;
883 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
884 NimStringDesc* linkOptions;
885 NimStringDesc* compileOptions;
886 NimStringDesc* cCompilerPath;
887 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
888 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
889 NI suggestVersion;
890 NI suggestMaxResults;
891 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
892 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
893 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
894 NimStringDesc* cppCustomNamespace;
895 NimStringDesc* nimMainPrefix;
896 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
897 };
898 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
899 typedef NU8 tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ;
900 typedef NU8 tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
901 struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ {
902 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
903 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* resultSym;
904 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* selfSym;
905 NI nestedLoopCounter;
906 NI nestedBlockCounter;
907 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* next;
908 NIM_BOOL mappingExists;
909 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q mapping;
910 tySequence__1I3cxybVrOXM64KW2dfERQ* caseContext;
911 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* localBindStmts;
912 };
913 typedef NU8 tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA;
914 struct tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA {
915 NI h;
916 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
917 };
918 struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw {
919 NI lastModule;
920 NU32 lastLit;
921 NI32 lastFile;
922 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
923 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
924 };
925 struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg {
926 tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw decoder;
927 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* values;
928 NI i;
929 NI module;
930 };
931 struct tyObject_ModuleIter__AFia9bW3IpMpX9c1vt0AhLlA {
932 NIM_BOOL fromRod;
933 NI modIndex;
934 tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA ti;
935 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
936 NIM_BOOL importHidden;
937 };
938 typedef NU8 tyEnum_TOverloadIterMode__xCku9a0wtzKQQBbzX1t6btg;
939 struct tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ {
940 tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA it;
941 tyObject_ModuleIter__AFia9bW3IpMpX9c1vt0AhLlA mit;
942 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
943 tyEnum_TOverloadIterMode__xCku9a0wtzKQQBbzX1t6btg mode;
944 NI symChoiceIndex;
945 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
946 NI importIdx;
947 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marked;
948 };
949 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
950 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
951 typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
952 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
953 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
954 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
955 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
956 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
957 NI id;
958 NimStringDesc* s;
959 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
960 NI h;
961 };
962 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
963 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
964 struct TNimNode {
965 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
966 NI offset;
967 TNimType* typ;
968 NCSTRING name;
969 NI len;
970 TNimNode** sons;
971 };
972 typedef NU8 tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug;
973 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
974 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
975 typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
976 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
977 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__D9ckBqsoLaohN9chYb6MLT6w[2];
978 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
979 typedef NU8 tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA;
980 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
981 typedef NU8 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg;
982 typedef NU8 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w;
983 struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ {
984 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w kind;
985 NI arg;
986 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
987 };
988 struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA {
989 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
990 NI exactMatches;
991 NI genericMatches;
992 NI subtypeMatches;
993 NI intConvMatches;
994 NI convMatches;
995 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg state;
996 tyObject_TType__facALICuu8zUj0hjvbTLFg* callee;
997 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* calleeSym;
998 NI calleeScope;
999 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
1000 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q bindings;
1001 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1002 NIM_BOOL baseTypeMatch;
1003 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fauxMatch;
1004 NIM_BOOL genericConverter;
1005 NIM_BOOL coerceDistincts;
1006 NIM_BOOL typedescMatched;
1007 NIM_BOOL isNoCall;
1008 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* inferredTypes;
1009 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics;
1010 NI inheritancePenalty;
1011 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch;
1012 NIM_BOOL diagnosticsEnabled;
1013 };
1014 struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg {
1015 tyObject_TType__facALICuu8zUj0hjvbTLFg* candidateType;
1016 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prev;
1017 NI depth;
1018 };
1019 struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw {
1020 NI depthLevel;
1021 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA symbols;
1022 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* parent;
1023 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* allowPrivateAccess;
1024 };
1025 struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA {
1026 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1027 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* concreteTypes;
1028 NI compilesId;
1029 };
1030 struct tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg {
1031 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1032 tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
1033 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMap;
1034 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q localCache;
1035 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
1036 NIM_BOOL allowMetaTypes;
1037 NIM_BOOL skipTypedesc;
1038 NIM_BOOL isReturnType;
1039 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
1040 NI recursionLimit;
1041 };
1042 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
1043 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
1044 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
1045 };
1046 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
1047 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
1048 NU32 module;
1049 NI32 item;
1050 };
1051 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
1052 NI module;
1053 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
1054 };
1055 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
1056 NI module;
1057 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
1058 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
1059 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1060 };
1061 typedef NU8 tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg;
1062 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
1063 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
1064 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1065 };
1066 typedef NU8 tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw[37];
1067 typedef NU8 tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ;
1068 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
1069 struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ {
1070 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1071 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch;
1072 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics;
1073 NIM_BOOL enabled;
1074 };
1075 struct tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ {
1076 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1077 NI Field1;
1078 };
1079 typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
1080 typedef tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* tyArray__O7BaHX6ctEz6BpjFNHWCFQ[8192];
1081 struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw {
1082 tyArray__O7BaHX6ctEz6BpjFNHWCFQ buckets;
1083 NI wordCounter;
1084 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* idAnon;
1085 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* idDelegator;
1086 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* emptyIdent;
1087 };
1088 struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w {
1089 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1090 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA defaultCC;
1091 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* dynlib;
1092 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
1093 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
1094 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* otherPragmas;
1095 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
1096 };
1097 struct tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w {
1098 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toMixin;
1099 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toBind;
1100 NIM_BOOL cursorInBody;
1101 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bracketExpr;
1102 };
1103 typedef NU8 tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA;
1104 typedef NU8 tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA;
1105 struct tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ {
1106 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q topLayer;
1107 tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* nextLayer;
1108 };
1109 struct tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw {
1110 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1111 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toBind;
1112 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toMixin;
1113 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toInject;
1114 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
1115 NIM_BOOL cursorInBody;
1116 NI scopeN;
1117 NI noGenSym;
1118 NI inTemplateHeader;
1119 };
1120 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
1121 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1122 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1123 };
1124 struct tyTuple__7rlNEhvBksZh9a9asniQIl9aQ {
1125 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1126 NIM_BOOL Field1;
1127 };
1128 typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
1129 typedef NU8 tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg;
1130 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
1131 typedef NU8 tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg[35];
1132 typedef NU8 tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag;
1133 typedef NU8 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw;
1134 typedef NU8 tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg;
1135 typedef NU8 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ;
1136 typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
1137 typedef struct {
1138 N_NIMCALL_PTR(NI, ClP_0) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
1139 void* ClE_0;
1140 } tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA;
1141 typedef N_CLOSURE_PTR(NI, TM__rF9caJawfOjYTjsgLVUSGFA_294) (NimStringDesc* x, NimStringDesc* y);
1142 typedef N_CLOSURE_PTR(NI, TM__rF9caJawfOjYTjsgLVUSGFA_295) (NimStringDesc* x, NimStringDesc* y);
1143 typedef N_CLOSURE_PTR(NI, TM__rF9caJawfOjYTjsgLVUSGFA_296) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
1144 struct tyTuple__ZtAk5YtH0VW1iPowvxePrg {
1145 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw Field0;
1146 NimStringDesc* Field1;
1147 };
1148 typedef NU8 tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w;
1149 struct Exception {
1150   RootObj Sup;
1151 Exception* parent;
1152 NCSTRING name;
1153 NimStringDesc* message;
1154 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
1155 Exception* up;
1156 };
1157 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
1158   Exception Sup;
1159 };
1160 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
1161   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
1162 };
1163 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1164 NimStringDesc* fullPath;
1165 NimStringDesc* projPath;
1166 NimStringDesc* shortName;
1167 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1168 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1169 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1170 NimStringDesc* dirtyFile;
1171 NimStringDesc* hash;
1172 NIM_BOOL dirty;
1173 };
1174 typedef NimStringDesc* tyArray__nr38yHugp0nuiB6VarJGiw[2];
1175 struct tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg {
1176   RootObj Sup;
1177 NI colonstate_;
1178 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c1;
1179 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope2;
1180 };
1181 typedef struct {
1182 N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
1183 void* ClE_0;
1184 } tyProc__5QC9cKfPJmKuW0XbCTd8ylA;
1185 struct tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw {
1186   RootObj Sup;
1187 NI colonstate_;
1188 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig1;
1189 };
1190 typedef struct {
1191 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* procSym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* old, tyObject_TType__facALICuu8zUj0hjvbTLFg* fresh, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newParam, void* ClE_0);
1192 void* ClE_0;
1193 } tyProc__9aCo26f5IRYbBmS07lBztwA;
1194 typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__rF9caJawfOjYTjsgLVUSGFA_375) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* procSym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* old, tyObject_TType__facALICuu8zUj0hjvbTLFg* fresh, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newParam);
1195 typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__rF9caJawfOjYTjsgLVUSGFA_376) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* procSym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* old, tyObject_TType__facALICuu8zUj0hjvbTLFg* fresh, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newParam);
1196 typedef NU8 tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg;
1197 typedef NU8 tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg;
1198 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
1199 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
1200 NI a;
1201 NI b;
1202 };
1203 typedef NU8 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog;
1204 typedef NU tyArray__VqSA39cBDWnwnJySTumCdjw[8];
1205 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
1206 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
1207 NI key;
1208 tyArray__VqSA39cBDWnwnJySTumCdjw bits;
1209 };
1210 struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA {
1211   RootObj Sup;
1212 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* left;
1213 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* right;
1214 NI L;
1215 NimStringDesc* data;
1216 };
1217 struct tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw {
1218 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
1219 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr;
1220 NIM_BOOL needsFullInit;
1221 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* missingFields;
1222 };
1223 typedef NU8 tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ;
1224 struct TSafePoint {
1225 TSafePoint* prev;
1226 NI status;
1227 jmp_buf context;
1228 };
1229 struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw {
1230 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
1231 NI Field1;
1232 };
1233 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__voNMFnIDThVNu9afe2zfZWA[5];
1234 typedef NU8 tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw;
1235 struct tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ {
1236 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw a;
1237 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw b;
1238 };
1239 struct tyObject_HSlice__fqLtJsaN5foHLgxLTScotw {
1240 tyObject_Int128__9a9axPfb75jdWY25AamJewkA a;
1241 tyObject_Int128__9a9axPfb75jdWY25AamJewkA b;
1242 };
1243 typedef NU8 tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA;
1244 struct tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA {
1245 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a;
1246 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b;
1247 };
1248 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__cypz0nHJsd9cnKgpO7fP5hQ[1];
1249 typedef NimStringDesc* tyArray__Q6RksR9bl1dCf8jl3HeN9bXg[8];
1250 typedef NU8 tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw;
1251 typedef NU8 tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw;
1252 typedef N_CLOSURE_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, TM__rF9caJawfOjYTjsgLVUSGFA_708) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1253 typedef NU8 tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg;
1254 struct tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ {
1255   RootObj Sup;
1256 NI colonstate_;
1257 tyObject_TType__facALICuu8zUj0hjvbTLFg* genericType1;
1258 };
1259 typedef struct {
1260 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, void* ClE_0);
1261 void* ClE_0;
1262 } tyProc__u9aP1I541s9an9cuSAzDOz9bTg;
1263 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_810) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1264 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_811) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1265 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_812) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1266 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_815) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1267 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_822) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1268 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_827) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1269 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_828) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1270 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_829) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1271 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_831) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1272 struct tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA {
1273 tyObject_TType__facALICuu8zUj0hjvbTLFg* tupleType;
1274 NI tupleIndex;
1275 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
1276 NIM_BOOL replaceByFieldName;
1277 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1278 };
1279 struct tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw {
1280 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1281 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m;
1282 };
1283 typedef NU8 tyEnum_TSymKind__uwRDzlpaGW5WJzgBn4R8Eg;
1284 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
1285 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
1286 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
1287 };
1288 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
1289 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
1290 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
1291 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
1292 };
1293 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
1294 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
1295 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
1296 };
1297 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
1298 NimStringDesc* definedSymbols;
1299 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
1300 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
1301 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
1302 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
1303 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
1304 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
1305 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
1306 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
1307 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
1308 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
1309 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
1310 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
1311 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
1312 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
1313 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
1314 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
1315 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
1316 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
1317 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
1318 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
1319 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
1320 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
1321 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
1322 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
1323 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
1324 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
1325 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
1326 };
1327 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
1328 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
1329 NI counter;
1330 };
1331 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
1332 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
1333 NIM_BOOL symsInit;
1334 NIM_BOOL typesInit;
1335 NIM_BOOL loadedButAliveSetChanged;
1336 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
1337 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
1338 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
1339 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1340 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
1341 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
1342 };
1343 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
1344 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1345 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
1346 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
1347 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
1348 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
1349 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
1350 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
1351 };
1352 typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__rF9caJawfOjYTjsgLVUSGFA_976) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
1353 typedef N_CLOSURE_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, TM__rF9caJawfOjYTjsgLVUSGFA_977) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, void* ClE_0);
1354 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_978) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
1355 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
1356 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1357 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
1358 };
1359 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
1360 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
1361 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
1362 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
1363 union{
1364 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
1365 } _mode_2;
1366 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
1367 } _mode_3;
1368 };
1369 };
1370 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
1371 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
1372 RootObj* val;
1373 };
1374 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
1375 NI Field0;
1376 NI Field1;
1377 };
1378 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
1379 NI Field0;
1380 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
1381 };
1382 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
1383 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1384 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1385 };
1386 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
1387 NI Field0;
1388 NI Field1;
1389 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
1390 };
1391 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
1392 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
1393 NI counter;
1394 };
1395 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
1396 NI32 thisModule;
1397 NI32 lastFile;
1398 NU32 lastLit;
1399 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
1400 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
1401 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
1402 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
1403 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
1404 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
1405 };
1406 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
1407 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1408 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
1409 };
1410 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
1411 NI Field0;
1412 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1413 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
1414 };
1415 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
1416 NI Field0;
1417 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1418 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
1419 };
1420 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
1421 NI Field0;
1422 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1423 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
1424 };
1425 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
1426 NI Field0;
1427 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
1428 };
1429 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
1430 NI Field0;
1431 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1432 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
1433 };
1434 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1435 NI Field0;
1436 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1437 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1438 };
1439 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1440 NI Field0;
1441 NimStringDesc* Field1;
1442 NI32 Field2;
1443 };
1444 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1445 NI Field0;
1446 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1447 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1448 };
1449 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1450 NI Field0;
1451 NI32 Field1;
1452 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1453 };
1454 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1455 NI Field0;
1456 NI32 Field1;
1457 NI32 Field2;
1458 };
1459 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1460 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1461 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1462 };
1463 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1464 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1465 NI Field0;
1466 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1467 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1468 };
1469 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1470 NI Field0;
1471 NI Field1;
1472 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1473 };
1474 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1475 NI Field0;
1476 NimStringDesc* Field1;
1477 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1478 };
1479 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1480 NI Field0;
1481 NimStringDesc* Field1;
1482 NI64 Field2;
1483 };
1484 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1485 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1486 NI entries;
1487 };
1488 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1489 NI Field0;
1490 NimStringDesc* Field1;
1491 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1492 };
1493 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1494 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1495 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1496 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1497 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1498 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1499 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1500 NIM_BOOL Field3;
1501 };
1502 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1503 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1504 NimStringDesc* Field1;
1505 };
1506 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1507 NI Field0;
1508 NimStringDesc* Field1;
1509 };
1510 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1511 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1512 NimStringDesc* nimname;
1513 NimStringDesc* cname;
1514 NimStringDesc* obj;
1515 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1516 NimStringDesc* customArgs;
1517 };
1518 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
1519 NCSTRING procname;
1520 NI line;
1521 NCSTRING filename;
1522 };
1523 struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA {
1524 NI ra;
1525 NI rb;
1526 NI rc;
1527 tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* slots;
1528 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentException;
1529 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q currentLineInfo;
1530 };
1531 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1532 NU32 Field0;
1533 NimStringDesc* Field1;
1534 };
1535 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1536 NU16 line;
1537 NI16 col;
1538 NU32 file;
1539 };
1540 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1541 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1542 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1543 NI32 operand;
1544 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1545 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1546 };
1547 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1548 NU32 Field0;
1549 NI32 Field1;
1550 };
1551 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1552 NU32 Field0;
1553 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1554 };
1555 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1556 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1557 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1558 };
1559 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1560 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1561 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1562 };
1563 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1564 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1565 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1566 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1567 };
1568 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1569 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1570 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1571 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1572 };
1573 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1574 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1575 NI Field1;
1576 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1577 };
1578 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1579 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1580 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1581 NIM_BOOL generated;
1582 NIM_BOOL isOverriden;
1583 NU32 name;
1584 NI32 path;
1585 };
1586 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1587 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1588 NU32 name;
1589 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1590 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1591 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1592 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1593 NI32 ast;
1594 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1595 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1596 NI bitsize;
1597 NI alignment;
1598 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1599 NI position;
1600 NI offset;
1601 NU32 externalName;
1602 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1603 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1604 NI32 constraint;
1605 };
1606 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1607 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1608 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1609 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1610 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1611 NI32 n;
1612 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1613 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1614 NI64 size;
1615 NI16 align;
1616 NI16 paddingAtEnd;
1617 NI16 lockLevel;
1618 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1619 NI32 nonUniqueId;
1620 };
1621 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1622 NI Field0;
1623 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1624 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1625 };
1626 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1627 NI Field0;
1628 NI32 Field1;
1629 NU32 Field2;
1630 };
1631 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1632   TGenericSeq Sup;
1633   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1634 };
1635 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1636   TGenericSeq Sup;
1637   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1638 };
1639 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1640   TGenericSeq Sup;
1641   tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1642 };
1643 struct tySequence__0dpGN6F4ocevqUQGsaf41w {
1644   TGenericSeq Sup;
1645   tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ data[SEQ_DECL_SIZE];
1646 };
1647 struct tySequence__u9c10b19cqoKPxYSuh3ZKtIw {
1648   TGenericSeq Sup;
1649   tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ data[SEQ_DECL_SIZE];
1650 };
1651 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1652   TGenericSeq Sup;
1653   NimStringDesc* data[SEQ_DECL_SIZE];
1654 };
1655 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1656   TGenericSeq Sup;
1657   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1658 };
1659 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1660   TGenericSeq Sup;
1661   tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1662 };
1663 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1664   TGenericSeq Sup;
1665   tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1666 };
1667 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1668   TGenericSeq Sup;
1669   tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1670 };
1671 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1672   TGenericSeq Sup;
1673   tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1674 };
1675 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1676   TGenericSeq Sup;
1677   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1678 };
1679 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1680   TGenericSeq Sup;
1681   tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1682 };
1683 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1684   TGenericSeq Sup;
1685   tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1686 };
1687 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1688   TGenericSeq Sup;
1689   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1690 };
1691 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1692   TGenericSeq Sup;
1693   tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1694 };
1695 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1696   TGenericSeq Sup;
1697   tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1698 };
1699 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1700   TGenericSeq Sup;
1701   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1702 };
1703 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1704   TGenericSeq Sup;
1705   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1706 };
1707 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1708   TGenericSeq Sup;
1709   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1710 };
1711 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1712   TGenericSeq Sup;
1713   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1714 };
1715 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1716   TGenericSeq Sup;
1717   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1718 };
1719 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1720   TGenericSeq Sup;
1721   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1722 };
1723 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1724   TGenericSeq Sup;
1725   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1726 };
1727 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1728   TGenericSeq Sup;
1729   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1730 };
1731 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1732   TGenericSeq Sup;
1733   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1734 };
1735 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1736   TGenericSeq Sup;
1737   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1738 };
1739 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1740   TGenericSeq Sup;
1741   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1742 };
1743 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1744   TGenericSeq Sup;
1745   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1746 };
1747 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1748   TGenericSeq Sup;
1749   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1750 };
1751 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1752   TGenericSeq Sup;
1753   NI32 data[SEQ_DECL_SIZE];
1754 };
1755 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1756   TGenericSeq Sup;
1757   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1758 };
1759 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1760   TGenericSeq Sup;
1761   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1762 };
1763 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1764   TGenericSeq Sup;
1765   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1766 };
1767 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1768   TGenericSeq Sup;
1769   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1770 };
1771 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1772   TGenericSeq Sup;
1773   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1774 };
1775 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1776   TGenericSeq Sup;
1777   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1778 };
1779 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1780   TGenericSeq Sup;
1781   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1782 };
1783 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1784   TGenericSeq Sup;
1785   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1786 };
1787 struct tySequence__MAQKEADohlpnXTModtugbQ {
1788   TGenericSeq Sup;
1789   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1790 };
1791 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1792   TGenericSeq Sup;
1793   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1794 };
1795 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1796   TGenericSeq Sup;
1797   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1798 };
1799 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1800   TGenericSeq Sup;
1801   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1802 };
1803 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1804   TGenericSeq Sup;
1805   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1806 };
1807 struct tySequence__1I3cxybVrOXM64KW2dfERQ {
1808   TGenericSeq Sup;
1809   tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw data[SEQ_DECL_SIZE];
1810 };
1811 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1812   TGenericSeq Sup;
1813   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1814 };
1815 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1816   TGenericSeq Sup;
1817   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1818 };
1819 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
1820   TGenericSeq Sup;
1821   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
1822 };
1823 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1824   TGenericSeq Sup;
1825   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1826 };
1827 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1828   TGenericSeq Sup;
1829   NU32 data[SEQ_DECL_SIZE];
1830 };
1831 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1832   TGenericSeq Sup;
1833   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1834 };
1835 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1836   TGenericSeq Sup;
1837   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1838 };
1839 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1840   TGenericSeq Sup;
1841   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1842 };
1843 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1844   TGenericSeq Sup;
1845   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1846 };
1847 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1848   TGenericSeq Sup;
1849   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1850 };
1851 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1852   TGenericSeq Sup;
1853   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1854 };
1855 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1856   TGenericSeq Sup;
1857   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1858 };
1859 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1860   TGenericSeq Sup;
1861   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1862 };
1863 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1864   TGenericSeq Sup;
1865   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1866 };
1867 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1868   TGenericSeq Sup;
1869   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1870 };
1871 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1872   TGenericSeq Sup;
1873   NI64 data[SEQ_DECL_SIZE];
1874 };
1875 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1876   TGenericSeq Sup;
1877   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1878 };
1879 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1880   TGenericSeq Sup;
1881   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1882 };
1883 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1884   TGenericSeq Sup;
1885   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1886 };
1887 N_LIB_PRIVATE N_NIMCALL(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*, newContext__semdata_503)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module);
1888 static N_INLINE(void, asgnRef)(void** dest, void* src);
1889 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1890 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1891 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
1892 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1893 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1894 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1895 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1896 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1897 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1898 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1899 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1900 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1901 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1902 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstExpr__sem_611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1903 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprWithType__sem_56)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1904 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprCheck__sem_13933)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1905 N_LIB_PRIVATE N_NIMCALL(void, illFormedAst__semdata_1071)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1906 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpr__sem_52)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1907 N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1908 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, qualifiedLookUp__lookups_1233)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ flags);
1909 N_LIB_PRIVATE N_NIMCALL(void, semCaptureSym__lambdalifting_4995)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1910 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, symChoice__sem_6586)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA r, NIM_BOOL isField);
1911 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initOverloadIter__lookups_1374)(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ* o, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1912 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextOverloadIter__lookups_1528)(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ* o, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1913 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getCallLineInfo__sem_2390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1914 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1915 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1916 N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1917 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1918 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeS__semdata_733)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1919 N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1920 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1921 static N_INLINE(void, markIndirect__semdata_1060)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1922 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeVarType__semdata_766)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1923 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, enumFieldSymChoice__sem_20195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1924 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSym__sem_16966)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1925 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getGenSym__semdata_408)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1926 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1927 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, inlineConst__sem_14003)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1928 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1929 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);
1930 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1931 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1932 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1933 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1934 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1935 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1936 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1937 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1938 N_LIB_PRIVATE N_NIMCALL(NI, requiredParams__ast_4714)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1939 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMacroExpr__sem_524)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1940 N_LIB_PRIVATE N_NIMCALL(void, rememberExpansion__semdata_3656)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* expandedSym);
1941 N_LIB_PRIVATE N_NIMCALL(void, pushInfoContext__msgs_490)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* detail);
1942 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1943 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1944 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalMacroCall__vm_13857)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI* templInstCounter, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1945 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAfterMacroCall__sem_2787)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroResult, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1946 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getModule__astalgo_216)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1947 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1948 N_LIB_PRIVATE N_NIMCALL(void, resetSemFlag__sem_2771)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1949 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmt__sem_84)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1950 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoType__sem_60)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1951 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__options_517)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
1952 N_LIB_PRIVATE N_NIMCALL(void, discardCheck__sem_9323)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1953 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, implicitlyDiscardable__sem_9282)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1954 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1955 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCallExpr__ast_3176)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1956 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1957 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1958 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1959 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1960 N_LIB_PRIVATE N_NIMCALL(void, popInfoContext__msgs_507)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1961 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1962 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
1963 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeNode__sem_80)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1964 N_LIB_PRIVATE N_NIMCALL(void, checkSonsLen__semdata_1077)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI length, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1965 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf__sem_5872)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1966 N_LIB_PRIVATE N_NIMCALL(tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*, openScope__lookups_69)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1967 N_LIB_PRIVATE N_NIMCALL(void, closeScope__lookups_101)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1968 N_LIB_PRIVATE N_NIMCALL(void, fixupTypeOf__sem_5584)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typExpr);
1969 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1970 N_LIB_PRIVATE N_NIMCALL(void, assignType__ast_3976)(tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
1971 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semAnonTuple__sem_3569)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1972 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newOrPrevType__sem_2916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1973 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1974 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b);
1975 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1976 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1977 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1978 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1979 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRangeAux__sem_3219)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1980 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, errorType__semdata_1002)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1981 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1982 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, copyType__ast_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1983 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1824)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1984 N_LIB_PRIVATE N_NIMCALL(void, typeMismatch__types_3870)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1985 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles);
1986 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, enumHasHoles__types_287)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1987 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedArgs__sem_142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1988 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedSym__sem_15006)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1989 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType__ast_3495)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1990 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, considerQuotedIdent__lookups_28)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* origin);
1991 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, searchInScopes__lookups_423)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s, NIM_BOOL* ambiguous);
1992 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeStaticExpr__semdata_826)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1993 static N_INLINE(NIM_BOOL, isNaN__sem_3286)(NF x);
1994 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, weakLeValue__astalgo_151)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1995 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, freshType__sem_5619)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* res, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1996 N_LIB_PRIVATE N_NIMCALL(void, copyTypeProps__modulegraphs_8872)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
1997 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeExpr__sem_5593)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1998 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeAliasType__sem_5571)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typeExpr, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1999 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeAndType__semdata_855)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t1, tyObject_TType__facALICuu8zUj0hjvbTLFg* t2);
2000 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeOrType__semdata_890)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t1, tyObject_TType__facALICuu8zUj0hjvbTLFg* t2);
2001 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeFromExpr__semdata_804)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2002 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
2003 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeNotType__semdata_945)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t1);
2004 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semAnyRef__sem_4568)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2005 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newConstraint__sem_2929)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k);
2006 N_LIB_PRIVATE N_NIMCALL(void, checkMinSonsLen__semdata_1084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI length, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2007 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semObjectNode__sem_4464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags);
2008 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2009 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2010 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypesOrNil__ast_4185)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
2011 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericInvocation__sem_4428)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2012 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
2013 N_LIB_PRIVATE N_NIMCALL(void, addInheritedFields__sem_4443)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TType__facALICuu8zUj0hjvbTLFg* obj);
2014 N_LIB_PRIVATE N_NIMCALL(void, addInheritedFieldsAux__sem_4383)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2015 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
2016 N_LIB_PRIVATE N_NIMCALL(void, semRecordNodeAux__sem_3922)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* rectype, NIM_BOOL hasCaseFields);
2017 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstBoolExpr__sem_2877)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2018 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, forceBool__sem_2869)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2019 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitNode__sem_70)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2020 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);
2021 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, indexTypesMatch__sem_120)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
2022 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
2023 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatch__sigmatch_3583)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig);
2024 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersArg__sem_2292)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x);
2025 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2026 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2027 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2028 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, generateInstance__sem_1295)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2029 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
2030 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
2031 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
2032 static N_INLINE(NIM_BOOL, isTopLevel__semdata_1091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2033 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, copySym__ast_4054)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id);
2034 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
2035 N_LIB_PRIVATE N_NIMCALL(void, pushOwner__semdata_322)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2036 N_LIB_PRIVATE N_NIMCALL(void, fillMixinScope__sem_1283)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2037 N_LIB_PRIVATE N_NIMCALL(void, strTableAdd__astalgo_3332)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n);
2038 N_LIB_PRIVATE N_NIMCALL(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA*, new__sem_1335)(void);
2039 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
2040 static N_INLINE(void, nimGCunrefRC1)(void* p);
2041 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
2042 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);
2043 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCurrOwner__semdata_315)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2044 N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_64)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key);
2045 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, generateTypeInstance__semtypinst_1050)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2046 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2047 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2048 N_LIB_PRIVATE N_NIMCALL(void, addDeclAt__lookups_815)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2049 N_LIB_PRIVATE N_NIMCALL(void, rawPushProcCon__sem_849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2050 N_LIB_PRIVATE N_NIMCALL(void, instantiateProcType__sem_1187)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2051 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, initLayeredTypeMap__semtypinst_134)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt);
2052 N_LIB_PRIVATE N_NIMCALL(void, initTypeVars__semtypinst_982)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* Result);
2053 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, instCopyType__semtypinst_480)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2054 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, shallowCopy__ast_4413)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
2055 N_LIB_PRIVATE N_NIMCALL(void, resetIdTable__ast_4104)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x);
2056 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsT__semtypinst_178)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2057 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypeVarsN__semtypinst_130)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start);
2058 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, referencesAnotherParam__sem_1165)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* p);
2059 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, errorNode__semdata_1009)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2060 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitNodePostMatch__sem_164)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
2061 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2062 N_LIB_PRIVATE N_NIMCALL(void, changeType__sem_75)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* newType, NIM_BOOL check);
2063 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2064 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSymFromList__astalgo_245)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, NI start);
2065 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int495056_738)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2066 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2067 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int495056_721)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
2068 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1470)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2069 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_6)(NI64 x);
2070 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, floatRangeCheck__types_1613)(NF x, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2071 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
2072 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_3118)(NF x);
2073 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHiddenSubConv__types_3674)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2074 N_LIB_PRIVATE N_NIMCALL(void, propagateToOwner__ast_4219)(tyObject_TType__facALICuu8zUj0hjvbTLFg* owner, tyObject_TType__facALICuu8zUj0hjvbTLFg* elem, NIM_BOOL propagateHasAsgn);
2075 N_LIB_PRIVATE N_NIMCALL(void, eraseVoidParams__semtypinst_682)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2076 N_LIB_PRIVATE N_NIMCALL(void, skipIntLiteralParams__semtypinst_738)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2077 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, genericCacheGet__sem_983)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA entry, NI id);
2078 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__modulegraphs_3568)(tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
2079 N_LIB_PRIVATE N_NIMCALL(tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA**, X5BX5D___modulegraphs_3884)(tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
2080 N_LIB_PRIVATE N_NIMCALL(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA*, resolveInst__modulegraphs_2881)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg* t);
2081 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameInstantiation__sem_965)(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA a, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA b);
2082 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_2668)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y, tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg cmp, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
2083 N_LIB_PRIVATE N_NIMCALL(void, rawHandleSelf__sem_865)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2084 N_LIB_PRIVATE N_NIMCALL(void, addObjFieldsToLocalScope__sem_805)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2085 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f);
2086 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, strTableIncl__astalgo_3381)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, NIM_BOOL onConflictKeepOld);
2087 N_LIB_PRIVATE N_NIMCALL(void, addToGenericProcCache__semdata_1185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst);
2088 N_LIB_PRIVATE N_NIMCALL(void, makeInstPair__semdata_297)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst, tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ* Result);
2089 N_LIB_PRIVATE N_NIMCALL(void, pragma__pragmas_123)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas, NIM_BOOL isStatement);
2090 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2091 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);
2092 N_LIB_PRIVATE N_NIMCALL(void, instantiateBody__sem_1028)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig);
2093 N_LIB_PRIVATE N_NIMCALL(void, maybeAddResult__sem_100)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2094 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, sysTypeFromName__magicsys_55)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name);
2095 N_LIB_PRIVATE N_NIMCALL(void, addResult__sem_12395)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw owner);
2096 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
2097 N_LIB_PRIVATE N_NIMCALL(void, swapResult__sem_12374)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sRes, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dNode);
2098 N_LIB_PRIVATE N_NIMCALL(void, addParamOrResult__sem_1024)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2099 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, findEnforcedStaticType__sem_4687)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2100 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysSym__magicsys_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name);
2101 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2102 N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_4096)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x);
2103 N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val);
2104 N_LIB_PRIVATE N_NIMCALL(void, freshGenSyms__sem_990)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* symMap);
2105 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcBody__sem_67)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2106 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2107 N_LIB_PRIVATE N_NIMCALL(void, fixNilType__sem_9307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2108 static N_INLINE(NIM_BOOL, isAtom__ast_4768)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2109 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgn__sem_15307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ mode);
2110 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, builtinFieldAccess__sem_17178)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2111 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryReadingTypeField__sem_17138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i, tyObject_TType__facALICuu8zUj0hjvbTLFg* ty);
2112 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecord__astalgo_84)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field);
2113 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeDesc__concepts_49)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2114 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryReadingGenericParam__sem_17124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2115 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, readTypeParameter__sem_16914)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* paramName, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2116 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, linkTo__ast_3532)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2117 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2219)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2118 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeExpr__sem_16750)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2119 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecordAndBuildCheck__sem_16768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** check);
2120 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createSetType__sem_16757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
2121 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
2122 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
2123 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysMagic__magicsys_29)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
2124 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeDeref__sem_9872)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2125 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, propertyWriteAccess__sem_17538)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
2126 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNode__ast_3712)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2127 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
2128 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTreeI__ast_3420)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
2129 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOverloadedCallAnalyseEffects__sem_16420)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2130 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOverloadedCall__sem_2498)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2131 N_LIB_PRIVATE N_NIMCALL(void, resolveOverloads__sem_1997)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags, tySequence__0dpGN6F4ocevqUQGsaf41w** errors, NIM_BOOL errorsEnabled, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
2132 N_LIB_PRIVATE N_NIMCALL(void, semOpAux__sem_88)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2133 N_LIB_PRIVATE N_NIMCALL(void, pickBestCandidate__sem_1496)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initialBinding, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* best, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* alt, tySequence__0dpGN6F4ocevqUQGsaf41w** errors, NIM_BOOL diagnosticsFlag, NIM_BOOL errorsEnabled, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2134 N_LIB_PRIVATE N_NIMCALL(NI, lastOverloadScope__lookups_1472)(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ* o);
2135 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, NIM_BOOL diagnosticsEnabled);
2136 N_LIB_PRIVATE N_NIMCALL(void, determineType__sem_1460)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2137 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcAux__sem_13029)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2138 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcAnnotation__sem_12464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prc, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas);
2139 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2140 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, strTableGet__astalgo_3390)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA t, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name);
2141 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyExcept__sem_12447)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
2142 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
2143 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
2144 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplateExpr__sem_519)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2145 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalTemplate__evaltempl_275)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmpl, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genSymOwner, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NI* instID, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NIM_BOOL fromHlo);
2146 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semIdentDef__sem_9679)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2147 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semIdentWithPragma__sem_476)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw allowed);
2148 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semIdentVis__sem_471)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw allowed);
2149 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSymG__sem_458)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2150 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHumanStr__ast_5158)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2151 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__sem_9696)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2152 static N_INLINE(void, suggestSym__sigmatch_5375)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** usageSym, NIM_BOOL isDecl);
2153 N_LIB_PRIVATE N_NIMCALL(void, setGenericParamsMisc__sem_6510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2154 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericParamList__sem_6334)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* father);
2155 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeWithSons__semdata_821)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons);
2156 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
2157 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericConstraints__sem_6326)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x);
2158 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3360)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2159 N_LIB_PRIVATE N_NIMCALL(void, semParamList__sem_91)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2160 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semProcTypeNode__sem_5067)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, NIM_BOOL isType);
2161 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newProcType__sem_5053)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2162 N_LIB_PRIVATE N_NIMCALL(tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w*, lastOptionEntry__semdata_341)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2163 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semParamType__sem_5032)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** constraint);
2164 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semNodeKindConstraints__parampatterns_186)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI start);
2165 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMagic__sem_5062)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2166 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasPragma__pragmas_2498)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw pragma);
2167 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmt__sem_2885)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2168 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmt__sem_8113)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx);
2169 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lookup__sem_8193)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx);
2170 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, skipAlias__lookups_118)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2171 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
2172 N_LIB_PRIVATE N_NIMCALL(void, errorUndeclaredIdentifier__lookups_1199)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name, NimStringDesc* extra);
2173 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmtSymbol__sem_8131)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, NIM_BOOL fromDotExpr);
2174 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNodeTypeDesc__semfold_835)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2175 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fuzzyLookup__sem_8272)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx, NIM_BOOL* isMacro);
2176 N_LIB_PRIVATE N_NIMCALL(tySequence__eHqUwlHGGaPw0TDPDeL79cQ*, searchInScopesFilterBy__lookups_464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter);
2177 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDot__sem_8259)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
2178 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMixinStmt__sem_6701)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* toMixin);
2179 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindStmt__sem_6647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* toBind);
2180 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmtScope__sem_8118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx);
2181 N_LIB_PRIVATE N_NIMCALL(void, addTempDecl__sem_8354)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2182 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSymS__sem_453)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2183 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_8093)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2184 N_LIB_PRIVATE N_NIMCALL(void, addPrelimDecl__lookups_848)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2185 N_LIB_PRIVATE N_NIMCALL(void, nep1CheckDefImpl__linter_110)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k);
2186 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_4935)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2187 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3626)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2188 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, liftParamType__sem_4789)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw procKind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType, NimStringDesc* paramName, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NIM_BOOL anon);
2189 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, addImplicitGeneric__sem_4737)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typeClass, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typId, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, NimStringDesc* paramName);
2190 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, exactReplica__ast_4051)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2191 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, instGenericContainer__sem_1125)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* header, NIM_BOOL allowMetaTypes);
2192 N_LIB_PRIVATE N_NIMCALL(void, transitionGenericParamToType__ast_4390)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2193 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
2194 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPattern__sem_7129)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2195 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, flattenStmts__trees_355)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2196 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPatternBody__sem_7835)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2197 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleSym__sem_7855)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2198 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newParam__sem_7841)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2199 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, expectParam__sem_7897)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2200 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stupidStmtListExpr__trees_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2201 N_LIB_PRIVATE N_NIMCALL(void, addPattern__semdata_692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA p);
2202 N_LIB_PRIVATE N_NIMCALL(void, searchForProc__procfind_73)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyTuple__7rlNEhvBksZh9a9asniQIl9aQ* Result);
2203 N_LIB_PRIVATE N_NIMCALL(void, addInterfaceOverloadableSymAt__lookups_899)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2204 N_LIB_PRIVATE N_NIMCALL(void, addInterfaceDeclAt__lookups_875)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2205 N_LIB_PRIVATE N_NIMCALL(void, pragmaCallable__pragmas_2552)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas, NIM_BOOL isStatement);
2206 N_LIB_PRIVATE N_NIMCALL(void, implicitPragmas__pragmas_2394)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas);
2207 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);
2208 N_LIB_PRIVATE N_NIMCALL(void, wrongRedefinition__lookups_805)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q conflictsWith, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w note);
2209 N_LIB_PRIVATE N_NIMCALL(void, addGenericParamListToScope__sem_11585)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2210 N_LIB_PRIVATE N_NIMCALL(void, addParams__sem_96)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2211 static N_INLINE(NIM_BOOL, importantComments__options_3985)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2212 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, comment__ast_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2213 N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_1361)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* a);
2214 N_LIB_PRIVATE N_NIMCALL(void, popOwner__semdata_329)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2215 N_LIB_PRIVATE N_NIMCALL(void, semOverride__sem_12810)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2216 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
2217 N_LIB_PRIVATE N_NIMCALL(void, bindTypeHook__sem_12701)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
2218 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, canonType__sem_12663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2219 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
2220 N_LIB_PRIVATE N_NIMCALL(void, setAttachedOp__modulegraphs_4407)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
2221 N_LIB_PRIVATE N_NIMCALL(void, prevDestructor__sem_12671)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prevOp, tyObject_TType__facALICuu8zUj0hjvbTLFg* obj, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2222 static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
2223 static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
2224 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProc__sem_12968)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2225 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProcAux__sem_12953)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2226 N_LIB_PRIVATE N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg, inCheckpoint__sigmatch_5312)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q current, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos);
2227 N_LIB_PRIVATE N_NIMCALL(void, semMethodPrototype__sem_12992)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2228 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4646)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2229 N_LIB_PRIVATE N_NIMCALL(void, addMethodToGeneric__modulegraphs_7689)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI col, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m);
2230 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasObjParam__sem_12972)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2231 N_LIB_PRIVATE N_NIMCALL(void, methodDef__cgmeth_263)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2232 N_LIB_PRIVATE N_NIMCALL(void, pushProcCon__sem_898)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2233 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloBody__sem_783)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2234 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hlo__sem_668)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2235 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyPatterns__sem_692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2236 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyRule__patterns_548)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2237 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalPattern__sem_671)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
2238 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDirectOp__sem_511)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2239 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, afterCallActions__sem_16520)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2240 N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sigmatch_4162)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2241 N_LIB_PRIVATE N_NIMCALL(void, activate__sem_108)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2242 N_LIB_PRIVATE N_NIMCALL(void, fixAbstractType__sem_14966)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2243 static N_INLINE(NIM_BOOL, isArrayConstr__sem_145)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2244 N_LIB_PRIVATE N_NIMCALL(void, analyseIfAddressTakenInCall__sem_15142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2245 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__sem_15001)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr);
2246 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__parampatterns_334)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr);
2247 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, analyseIfAddressTaken__sem_15084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2248 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newHiddenAddrTaken__sem_15054)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2249 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderNotLValue__sem_1612)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2250 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, magicsAfterOverloadResolution__sem_16026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2251 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAddrArg__sem_15262)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr);
2252 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__semdata_742)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
2253 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeOf__sem_132)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2254 N_LIB_PRIVATE N_NIMCALL(void, computeSizeAlign__types_2924)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2255 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
2256 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrGet__sem_15315)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2257 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSubscript__sem_15311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2258 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeref__sem_17356)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2259 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStaticType__sem_128)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* childNode, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2260 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getOrdValue__types_161)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Int128__9a9axPfb75jdWY25AamJewkA onError);
2261 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_752)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2262 N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_170)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
2263 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSymGenericInstantiation__sem_13998)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2264 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, maybeInstantiateGeneric__sem_17378)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2265 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericInstantiation__sem_2621)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2266 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
2267 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericSym__sem_2571)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2268 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_189)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
2269 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRel__sigmatch_202)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig, tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg flags);
2270 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericInstError__sem_2567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2271 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, symNodeFromType__sem_543)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2272 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromType__sem_530)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2273 N_LIB_PRIVATE N_NIMCALL(void, bracketNotFoundError__sem_1937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2274 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
2275 N_LIB_PRIVATE N_NIMCALL(void, notFoundError__sem_1922)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__0dpGN6F4ocevqUQGsaf41w* errors);
2276 N_LIB_PRIVATE N_NIMCALL(void, presentFailedCandidates__sem_1636)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__0dpGN6F4ocevqUQGsaf41w* errors, tyTuple__ZtAk5YtH0VW1iPowvxePrg* Result);
2277 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, describeArgs__sigmatch_384)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startIdx, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
2278 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
2279 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getProcHeader__types_222)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, NIM_BOOL getDeclarationPath);
2280 N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLocMaybe__astmsgs_21)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2281 N_LIB_PRIVATE N_NIMCALL(void, addTypeDeclVerboseMaybe__types_53)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2282 N_LIB_PRIVATE N_NIMCALL(void, addPragmaAndCallConvMismatch__types_3795)(NimStringDesc** message, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2283 N_LIB_PRIVATE N_NIMCALL(void, effectProblem__sem_1583)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, NimStringDesc** result, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2284 N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ, compatibleEffects__types_3425)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
2285 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
2286 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
2287 N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1792)(NimStringDesc** a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
2288 N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1803)(NimStringDesc** a, NI aLen_0, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
2289 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, newSeq__systemZio_503)(NI len);
2290 N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sem_1820)(NimStringDesc** a, NI aLen_0, NimStringDesc** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
2291 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
2292 N_LIB_PRIVATE N_NIMCALL(NI, cmp__sem_1796)(NimStringDesc* x, NimStringDesc* y);
2293 static N_INLINE(NI, cmpStrings)(NimStringDesc* a, NimStringDesc* b);
2294 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
2295 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
2296 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
2297 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrPut__sem_15338)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2298 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddr__ast_5218)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2299 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgnOpr__sem_15367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2300 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semShallowCopy__sem_15753)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2301 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIsPartOf__sem_15375)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2302 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOf__aliases_129)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
2303 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNodeT__semfold_57)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA intVal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
2304 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__types_1378)(NI arg);
2305 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeTraits__sem_15631)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2306 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalTypeTrait__sem_15454)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* traitCall, tyObject_TType__facALICuu8zUj0hjvbTLFg* operand, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* context);
2307 N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
2308 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toNode__sem_15428)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
2309 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeWithSons__semdata_815)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2310 N_LIB_PRIVATE N_NIMCALL(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw, parseEnum__sem_15509)(NimStringDesc* s);
2311 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIdentNormalize__pureZstrutils_105)(NimStringDesc* s);
2312 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
2313 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__ast_3813)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NimStringDesc* strVal);
2314 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getTypeDescNode__sem_15447)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2315 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHumanStr__ast_5188)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
2316 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, uninstantiate__sem_15443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2317 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGarbageCollectedRef__types_612)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2318 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNodeT__semfold_76)(NimStringDesc* strVal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
2319 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInstantiationInfo__sem_15397)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2320 N_LIB_PRIVATE N_NIMCALL(NI, expectIntLit__sem_15390)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2321 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getInfoContext__msgs_516)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI index);
2322 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__msgs_538)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
2323 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2324 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2325 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOrd__sem_15652)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2326 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOf__sem_15757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2327 N_LIB_PRIVATE N_NIMCALL(NI, inheritanceDiff__types_2685)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
2328 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonSuperclass__types_2747)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
2329 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowHigh__sem_14549)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
2330 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, emptyRange__nimsets_273)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
2331 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindSym__sem_15658)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2332 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2333 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDynamicBindSym__sem_15727)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2334 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
2335 static N_NIMCALL(void, Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ)(void* p, NI op);
2336 N_LIB_PRIVATE N_NIMCALL(void, setupGlobalCtx__vm_13671)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2337 N_LIB_PRIVATE N_NIMCALL(NI, registerCallback__vmdef_433)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NimStringDesc* name, tyProc__5QC9cKfPJmKuW0XbCTd8ylA callback);
2338 N_LIB_PRIVATE N_CLOSURE(void, bindSymWrapper__sem_15736)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
2339 N_LIB_PRIVATE N_NIMCALL(void, setResult__vm_246)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2340 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opBindSym__sem_15697)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI isMixin, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* info);
2341 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNode__vm_330)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
2342 N_LIB_PRIVATE N_NIMCALL(NI64, getInt__vm_273)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
2343 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntTypeNode__ast_3783)(NI64 intVal, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2344 N_LIB_PRIVATE N_NIMCALL(tyProc__RcJNn9bSvWdJgUmA1O6sbHA, getPlugin__pluginsZactive_25)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn);
2345 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvCastAndClosure__astalgo_114)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2346 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, whereToBindTypeHook__sem_12681)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2347 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, turnFinalizerIntoDestructor__sem_15873)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2348 static N_NIMCALL(void, Marker_tyRef__s6znTCfmZMSZG9absJgsa1w)(void* p, NI op);
2349 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeVarType__semdata_775)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
2350 N_LIB_PRIVATE N_CLOSURE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transform__sem_15878)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* procSym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* old, tyObject_TType__facALICuu8zUj0hjvbTLFg* fresh, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newParam, void* ClE_0);
2351 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNil__types_1848)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
2352 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newProcType__ast_5056)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2353 N_LIB_PRIVATE N_NIMCALL(void, addParam__ast_5065)(tyObject_TType__facALICuu8zUj0hjvbTLFg* procType, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param);
2354 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUnown__sem_15809)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2355 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, unownedType__sem_15813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2356 N_LIB_PRIVATE N_NIMCALL(tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*, newSeq__modulegraphs_2893)(NI len);
2357 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuantifier__sem_15916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2358 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOld__sem_15985)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2359 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, requiresInit__typeallowed_578)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2360 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, checkIsolate__isolation95check_112)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2361 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPrivateAccess__sem_16015)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2362 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, toObjectFromRefPtrGeneric__ast_4890)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2363 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalAtCompileTime__sem_117)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2364 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, typeAllowed__typeallowed_472)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags);
2365 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalStaticExpr__vm_13752)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
2366 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fixupTypeAfterEval__sem_570)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eOrig);
2367 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCycle__sem_548)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2368 N_LIB_PRIVATE N_NIMCALL(void, annotateType__semmacrosanity_69)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2369 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalConstExpr__vm_13746)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
2370 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, commonOptimizations__transf_1490)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2371 N_LIB_PRIVATE N_NIMCALL(void, trackProc__sempass50_4692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
2372 static N_INLINE(void, popProcCon__semdata_389)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2373 static N_INLINE(void, paramsTypeCheck__sem_505)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2374 N_LIB_PRIVATE N_NIMCALL(void, typeAllowedCheck__sem_481)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags);
2375 N_LIB_PRIVATE N_NIMCALL(void, fixupInstantiatedSymbols__sem_1095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2376 N_LIB_PRIVATE N_NIMCALL(void, semBorrow__sem_12355)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2377 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, searchForBorrowProc__sem_2711)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* startScope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn);
2378 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, baseOfDistinct__types_3363)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2379 N_LIB_PRIVATE N_NIMCALL(void, sideEffectsCheck__sem_1122)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2380 N_LIB_PRIVATE N_NIMCALL(void, matches__sigmatch_4181)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m);
2381 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
2382 N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
2383 N_LIB_PRIVATE N_NIMCALL(tySequence__u9c10b19cqoKPxYSuh3ZKtIw*, initCandidateSymbols__sem_1463)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initialBinding, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* best, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* alt, tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ* o, NIM_BOOL diagnostics);
2384 N_LIB_PRIVATE N_NIMCALL(void, insert__liftdestructors_1579)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* item, NI i);
2385 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1709)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i);
2386 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pragmas_1672)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** b, NI bLen_0);
2387 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b);
2388 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
2389 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
2390 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b);
2391 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getMsgDiagnostic__sem_1968)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f);
2392 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getSymRepr__lookups_548)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL getDeclarationPath);
2393 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, typSym__astmsgs_5)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2394 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameMethodDispatcher__sem_1428)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
2395 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semResolvedCall__sem_2401)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2396 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersSons__sem_2316)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x);
2397 N_LIB_PRIVATE N_NIMCALL(void, updateDefaultParams__sem_2362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call);
2398 static N_INLINE(NIM_BOOL, canDeref__sem_2474)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2399 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryDeref__sem_2490)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2400 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, errorSym__lookups_506)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2401 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotTransformation__sem_17303)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2402 static N_INLINE(NIM_BOOL, isSymChoice__sem_14366)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2403 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildOverloadedSubscripts__sem_17343)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident);
2404 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerTupleUnpackingForAsgn__lowerings_206)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2405 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, cmpTypes__sigmatch_3047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
2406 N_LIB_PRIVATE N_NIMCALL(void, borrowCheck__sem_17656)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
2407 static N_INLINE(NIM_BOOL, scopedLifetime__sem_17670)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
2408 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getRoot__sem_17663)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL followDeref);
2409 static N_INLINE(NIM_BOOL, escapes__sem_17695)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le);
2410 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, goodLineInfo__sem_17739)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
2411 static N_INLINE(void, asgnToResultVar__sem_17611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
2412 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewType__typeallowed_564)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2413 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, takeImplicitAddr__sem_17562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isLent);
2414 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, exprRoot__parampatterns_300)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2415 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, createDocLink__lineinfos_6)(NimStringDesc* urlSuffix);
2416 static N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, pop__icZic_2460)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** s);
2417 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
2418 N_LIB_PRIVATE N_NIMCALL(void, finishMethod__sem_114)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2419 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3929)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src);
2420 N_LIB_PRIVATE N_NIMCALL(void, semRecordCase__sem_4067)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* rectype);
2421 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_759)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
2422 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1661)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2423 N_LIB_PRIVATE N_NIMCALL(void, semCaseBranch__sem_3791)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch, NI branchIndex, tyObject_Int128__9a9axPfb75jdWY25AamJewkA* covered);
2424 static N_INLINE(NIM_BOOL, isRange__trees_213)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2425 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCaseBranchRange__sem_3768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_Int128__9a9axPfb75jdWY25AamJewkA* covered);
2426 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBranchRange__sem_3747)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_Int128__9a9axPfb75jdWY25AamJewkA* covered);
2427 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvTakeType__types_3623)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2428 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_474)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2429 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus___int495056_794)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
2430 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus___int495056_448)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2431 N_LIB_PRIVATE N_NIMCALL(void, delSon__ast_4313)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI idx);
2432 N_LIB_PRIVATE N_NIMCALL(void, inc__int495056_251)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA* a, NU32 y);
2433 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, deduplicate__nimsets_236)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
2434 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCaseBranchSetElem__sem_3776)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_Int128__9a9axPfb75jdWY25AamJewkA* covered);
2435 N_LIB_PRIVATE N_NIMCALL(void, checkForOverlap__sem_3723)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, NI currentEx, NI branchIndex);
2436 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, overlap__nimsets_40)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
2437 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2438 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toCover__sem_3884)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2439 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, shl__int495056_379)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI b);
2440 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, formatMissingEnums__sem_4020)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2441 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderAsType__sem_3988)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* vals, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2442 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__sem_4005)(NimStringDesc** s, NIM_CHAR x);
2443 static N_INLINE(void, addEscapedChar__system_7514)(NimStringDesc** s, NIM_CHAR c);
2444 static N_INLINE(NI, len__nilcheck_1772)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s);
2445 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2446 N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4045)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2447 N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt);
2448 N_LIB_PRIVATE N_NIMCALL(void, getIntSetOfType__sem_3930)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2449 N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_88)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
2450 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__ropes_109)(NimStringDesc* s);
2451 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, computeRequiresInit__sem_135)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2452 N_LIB_PRIVATE N_NIMCALL(void, initConstrContext__sem_19652)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* Result);
2453 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
2454 N_LIB_PRIVATE N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ, semConstructTypeAux__sem_19627)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2455 N_LIB_PRIVATE N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ, semConstructFields__sem_19322)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2456 N_LIB_PRIVATE N_NIMCALL(void, mergeInitStatus__sem_19071)(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ* existing, tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ newStatus);
2457 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, fieldsPresentInInitExpr__sem_19294)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr);
2458 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, locateFieldInInitExpr__sem_19118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr);
2459 N_LIB_PRIVATE N_NIMCALL(void, invalidObjConstr__sem_19105)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2460 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstrField__sem_19139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr);
2461 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprFlagDispatched__sem_641)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2462 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryConstExpr__sem_582)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2463 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
2464 static N_INLINE(void, popSafePoint)(void);
2465 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
2466 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
2467 static N_INLINE(void, popCurrentException)(void);
2468 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
2469 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitNodeConsiderViewType__sem_212)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2470 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHidden__types_3613)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2471 N_LIB_PRIVATE N_NIMCALL(void, findUsefulCaseContext__sem_19218)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discrimator, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result);
2472 N_LIB_PRIVATE N_NIMCALL(void, branchVals__sem_19186)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseNode, NI caseIdx, NIM_BOOL isStmtBranch, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2473 N_LIB_PRIVATE N_NIMCALL(void, excl__reorder_264)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
2474 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__sem_19167)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched);
2475 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
2476 N_LIB_PRIVATE N_NIMCALL(void, collectMissingFields__sem_19304)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx);
2477 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntLit__lowerings_695)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI64 value);
2478 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pickCaseBranch__sem_19243)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseExpr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched);
2479 N_LIB_PRIVATE N_NIMCALL(void, rawAddSonNoPropagationOfTypeFlags__ast_4299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
2480 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf2__sem_5878)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2481 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhen__sem_515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL semCheck);
2482 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookUp__lookups_1211)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2483 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_237)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y);
2484 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semTypeIdent__sem_3474)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2485 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, pickSym__lookups_1646)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kinds, tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags);
2486 N_LIB_PRIVATE N_NIMCALL(void, reset__sem_3561)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj);
2487 N_LIB_PRIVATE N_NIMCALL(void, transitionNoneToSym__ast_4385)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2488 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromExpectedTypeNode__sem_5854)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2489 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArray__sem_3419)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2490 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArrayIndex__sem_3367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2491 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeRangeWithStaticExpr__semdata_979)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2492 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeRangeType__semdata_1039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NI64 first, NI64 last, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* intType);
2493 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semContainer__sem_3160)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NimStringDesc* kindStr, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2494 N_LIB_PRIVATE N_NIMCALL(void, semContainerArg__sem_3146)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* kindStr, tyObject_TType__facALICuu8zUj0hjvbTLFg* result);
2495 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRange__sem_3307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2496 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semSet__sem_3120)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2497 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semOrdinal__sem_3459)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2498 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semIterableType__sem_3449)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2499 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semVarargs__sem_3167)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2500 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTuple__sem_3578)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2501 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3996)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2502 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGeneric__sem_5453)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2503 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericParamInInvocation__sem_5423)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2504 N_LIB_PRIVATE N_NIMCALL(void, addTypeHeader__types_216)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, NIM_BOOL getDeclarationPath);
2505 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_4168)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds, NI maxIters);
2506 N_LIB_PRIVATE N_NIMCALL(void, semObjectTypeForInheritedGenericInst__sem_5427)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2507 N_LIB_PRIVATE N_NIMCALL(void, recomputeFieldPositions__semtypinst_1006)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, NI* currPosition);
2508 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeClass__sem_5629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2509 static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_5226)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2510 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptDeclaration__concepts_97)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2511 N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
2512 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeWithModifier__semdata_746)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag modifier, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
2513 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptBody__sem_2888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2514 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semVarOutType__sem_3185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
2515 static N_INLINE(NIM_BOOL, isSelf__concepts_38)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2516 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semDistinct__sem_3206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2517 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semProcTypeWithScope__sem_5803)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2518 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyTypeSectionPragmas__sem_5714)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* operand);
2519 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTreeWithoutNode__ast_4459)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* skippedNode);
2520 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semEnum__sem_2937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2521 N_LIB_PRIVATE N_NIMCALL(void, initStrTable__ast_4088)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* x);
2522 static N_INLINE(void, addInterfaceDecl__lookups_879)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2523 N_LIB_PRIVATE N_NIMCALL(void, declarePureEnumField__importer_61)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2524 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, strTableInclReportConflict__astalgo_3342)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, NIM_BOOL onConflictKeepOld);
2525 N_LIB_PRIVATE N_NIMCALL(void, addPureEnum__semdata_674)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA e);
2526 N_LIB_PRIVATE N_NIMCALL(void, setToStringProc__modulegraphs_6035)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
2527 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, genEnumToStrProc__enumtostr_6)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2528 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStmtListType__sem_5374)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2529 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semBlockType__sem_5402)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2530 N_LIB_PRIVATE N_NIMCALL(void, newIdTable__ast_4102)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* Result);
2531 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsthasKey)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key);
2532 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapInComesFrom__evaltempl_260)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res);
2533 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
2534 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getNilType__sem_20188)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2535 N_LIB_PRIVATE N_NIMCALL(void, setIntLitType__semdata_245)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result);
2536 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFieldAccess__sem_13894)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2537 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConv__sem_14395)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2538 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticExpr__sem_125)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2539 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, findUnresolvedStatic__ast_4956)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2540 N_LIB_PRIVATE N_NIMCALL(void, maybeLiftType__sem_14373)(tyObject_TType__facALICuu8zUj0hjvbTLFg** t, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2541 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedSym__sem_14382)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2542 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, inferWithMetatype__sem_231)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NIM_BOOL coerceDistincts);
2543 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConvertible__sem_14039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* targetTyp, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
2544 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConversionBetweenObjects__sem_14019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* castDest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src, NI pointers);
2545 static N_INLINE(NIM_BOOL, contains__sem_14178)(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ s, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw value);
2546 static N_INLINE(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ, dotdot___sem_14157)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw a, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw b);
2547 static N_INLINE(NIM_BOOL, contains__semfold_120)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, tyObject_Int128__9a9axPfb75jdWY25AamJewkA value);
2548 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_309)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2549 static N_INLINE(void, dotdot___semfold_99)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b, tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* Result);
2550 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getInt__ast_4592)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
2551 N_LIB_PRIVATE N_NIMCALL(tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA, classify__pureZmath_147)(NF x);
2552 static N_INLINE(NIM_BOOL, contains__sem_14231)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, NI64 value);
2553 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_745)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
2554 static N_INLINE(NIM_BOOL, contains__semfold_938)(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value);
2555 static N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA, dotdot___semfold_916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b);
2556 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___int495056_53)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a);
2557 N_LIB_PRIVATE N_NIMCALL(NF, getFloat__ast_4607)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
2558 N_LIB_PRIVATE N_NIMCALL(void, errorUseQualifier__lookups_1180)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2559 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semObjConstr__sem_16471)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2560 N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLoc__astmsgs_33)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2561 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, listSymbolNames__astalgo_4310)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** symbols, NI symbolsLen_0);
2562 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMagic__sem_18565)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2563 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDefined__sem_18104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2564 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2279)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
2565 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setMs__sem_18539)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2566 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeclared__sem_18136)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope);
2567 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookUpForDeclared__sem_18112)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope);
2568 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, localSearchInScope__lookups_142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s);
2569 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, someSym__modulegraphs_2817)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name);
2570 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCompiles__sem_18476)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2571 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryExpr__sem_104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2572 N_LIB_PRIVATE N_NIMCALL(NI, getInfoContextLen__msgs_476)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2573 N_LIB_PRIVATE N_NIMCALL(void, trackStmt__sempass50_4915)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isTopLevel);
2574 N_LIB_PRIVATE N_NIMCALL(void, setInfoContextLen__msgs_483)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI L);
2575 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIs__sem_14686)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2576 N_LIB_PRIVATE N_NIMCALL(void, fixupStaticType__sem_14592)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2577 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeTypeSymNode__semdata_785)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, isOpImpl__sem_14603)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2579 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpandToAst__sem_18243)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* magicSym, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2580 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpandToAst__sem_18180)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuoteAst__sem_111)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2582 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expectString__sem_18166)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2583 N_LIB_PRIVATE N_NIMCALL(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*, newSeq__sem_18374)(NI len);
2584 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newAnonSym__sem_18175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2585 N_LIB_PRIVATE N_NIMCALL(void, processQuotations__sem_18253)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, NimStringDesc* op, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** quotes, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** ids);
2586 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringDesc* s, NimStringDesc* prefix);
2587 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7785)(NimStringDesc* s, NI first);
2588 N_LIB_PRIVATE N_NIMCALL(void, newSons__semtypinst_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI length);
2589 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newProcNode__ast_3821)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pattern, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptions);
2590 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplateDef__sem_7666)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2591 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyDirty__sem_7597)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2592 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBody__sem_6788)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2593 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplSymbol__sem_6931)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL isField);
2594 N_LIB_PRIVATE N_NIMCALL(void, styleCheckUse__linter_192)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2595 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodySons__sem_7133)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2596 N_LIB_PRIVATE N_NIMCALL(void, openScope__sem_6791)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c);
2597 N_LIB_PRIVATE N_NIMCALL(void, closeScope__sem_6793)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c);
2598 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyScope__sem_6795)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2599 N_LIB_PRIVATE N_NIMCALL(void, addLocalDecl__sem_6844)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k);
2600 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw, symBinding__sem_6547)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2601 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichKeyword__idents_214)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id);
2602 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, onlyReplaceParams__sem_6799)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2603 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_6749)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2604 static N_INLINE(NIM_BOOL, isTemplParam__sem_6768)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2605 N_LIB_PRIVATE N_NIMCALL(void, replaceIdentBySym__sem_6733)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s);
2606 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
2607 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newGenSym__sem_6831)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c);
2608 N_LIB_PRIVATE N_NIMCALL(void, semTemplSomeDecl__sem_7085)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, NI start);
2609 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplBody__sem_7009)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k);
2610 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplName__sem_6973)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2611 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRunnableExamples__ast_4698)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2612 N_LIB_PRIVATE N_NIMCALL(void, symTabReplace__astalgo_3302)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prevSym, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newSym);
2613 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCompilerProc__magicsys_145)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name);
2614 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, createMagic__modulegraphs_9008)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
2615 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw, spawnResult__spawn_34)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL inParallel);
2616 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createFlowVar__sem_18510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2617 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instantiateCreateFlowVarCall__sem_18515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2618 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSizeof__sem_18545)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2619 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIndirectOp__sem_16548)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2620 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2621 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, bracketedMacro__sem_16491)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2622 N_LIB_PRIVATE N_NIMCALL(void, setGenericParams__sem_16507)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2623 N_LIB_PRIVATE N_NIMCALL(void, resolveIndirectCall__sem_16475)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
2624 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee);
2625 N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLocMaybe__astmsgs_51)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2626 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, overloadedCallOpr__sem_14774)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2627 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldBeBracketExpr__sem_20029)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2628 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, asBracketExpr__sem_20084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2629 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGeneric__sem_20088)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2630 N_LIB_PRIVATE N_NIMCALL(void, hoistParamsUsedInDefault__sem_20149)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** call, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** letSection, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** defExpr);
2631 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTreeIT__ast_3431)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
2632 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayAccess__sem_17529)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2633 N_LIB_PRIVATE N_NIMCALL(void, invalidPragma__pragmas_148)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2634 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg, checkPar__sem_18916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2635 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleConstr__sem_19999)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2636 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTuplePositionsConstr__sem_19039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2637 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleFieldsConstr__sem_18980)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2638 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSetConstr__sem_18756)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2639 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayConstr__sem_14893)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2640 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCast__sem_14524)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2641 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCastable__sem_14277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* dst, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
2642 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal__types_750)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2643 N_LIB_PRIVATE N_NIMCALL(NI64, computeSize__types_3317)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2644 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIf__sem_9366)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2645 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranch__sem_9264)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2646 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_448)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
2647 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_416)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2648 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranchScope__sem_9277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2649 N_LIB_PRIVATE N_NIMCALL(void, considerGenSyms__semdata_425)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2650 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTableConstr__sem_18848)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2651 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBlock__sem_19802)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2652 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtList__sem_13731)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2653 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedStatic__ast_3517)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2654 N_LIB_PRIVATE N_NIMCALL(void, inferConceptStaticParam__sem_13725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inferred, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2655 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRaise__sem_11562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2656 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedException__ast_4904)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2657 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isException__types_4000)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2658 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semVarOrLet__sem_10066)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symkind);
2659 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowerLetVarCustomPragma__sem_9949)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2660 N_LIB_PRIVATE N_NIMCALL(void, suggestStmt__sigmatch_6552)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2661 N_LIB_PRIVATE N_NIMCALL(void, errorSymChoiceUseQualifier__sem_10047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2662 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasEmpty__sem_9842)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2663 N_LIB_PRIVATE N_NIMCALL(void, addToVarSection__sem_9733)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* identDefs);
2664 N_LIB_PRIVATE N_NIMCALL(void, fillPartialObject__sem_9910)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2665 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscardUnderscore__sem_9761)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
2666 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, findShadowedVar__sem_9651)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
2667 N_LIB_PRIVATE N_NIMCALL(void, setVarType__sem_9941)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2668 N_LIB_PRIVATE N_NIMCALL(void, defaultConstructionError__sem_138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2669 N_LIB_PRIVATE N_NIMCALL(void, checkNilable__sem_9708)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
2670 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, astdef__ast_3483)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2671 N_LIB_PRIVATE N_NIMCALL(void, setupCompileTimeVar__vm_13765)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2672 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConst__sem_10429)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2673 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitRemoveHiddenConv__sem_9629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2674 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newFloatNode__ast_3809)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NF floatVal);
2675 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeSection__sem_12312)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2676 N_LIB_PRIVATE N_NIMCALL(void, typeSectionLeftSidePass__sem_11722)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2677 N_LIB_PRIVATE N_NIMCALL(void, typeDefLeftSidePass__sem_11622)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeSection, NI i);
2678 N_LIB_PRIVATE N_NIMCALL(void, typeSectionRightSidePass__sem_11843)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2679 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, typeSectionTypeName__sem_11606)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2680 N_LIB_PRIVATE N_NIMCALL(void, processMagicType__sem_6284)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m);
2681 N_LIB_PRIVATE N_NIMCALL(void, setMagicIntegral__sem_6275)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size);
2682 N_LIB_PRIVATE N_NIMCALL(void, setMagicType__sem_6266)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size);
2683 N_LIB_PRIVATE N_NIMCALL(NI16, floatInt64Align__options_4700)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2684 N_LIB_PRIVATE N_NIMCALL(void, checkCovariantParamsUsages__sem_11743)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* genericType);
2685 static N_NIMCALL(void, Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ)(void* p, NI op);
2686 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, traverseSubTypes__sem_11752)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, void* ClE_0);
2687 N_LIB_PRIVATE N_NIMCALL(void, typeSectionFinalPass__sem_12118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2688 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, safeSkipTypes__types_3552)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
2689 N_LIB_PRIVATE N_NIMCALL(void, checkConstructedType__semtypinst_26)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2690 N_LIB_PRIVATE N_NIMCALL(void, checkForMetaFields__sem_12062)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2691 N_LIB_PRIVATE N_NIMCALL(void, checkMeta__sem_12065)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2692 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDiscard__sem_9153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2693 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhile__sem_9234)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2694 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTry__sem_9422)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2695 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, toObject__ast_4879)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2696 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, toRef__ast_4871)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2697 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBreakOrContinue__sem_9185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2698 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFor__sem_11337)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2699 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleForLoopMacro__sem_11301)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2700 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleStmtMacro__sem_11247)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* selector, NimStringDesc* magicType, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2701 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoDeref__sem_63)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2702 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrivalStmtExpr__sem_11231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2703 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForVars__sem_10972)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2704 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symForVar__sem_10945)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2705 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForFields__sem_10813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
2706 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, systemModuleSym__modulegraphs_2829)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name);
2707 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, instFieldLoopBody__sem_10639)(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* forLoop);
2708 N_LIB_PRIVATE N_NIMCALL(void, semForObjectFields__sem_10725)(tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* forLoop, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father);
2709 N_LIB_PRIVATE N_NIMCALL(void, illFormedAstLocal__semdata_1074)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2710 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNode__ast_4545)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kinds);
2711 static N_INLINE(NIM_BOOL, isClosureIterator__ast_5004)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2712 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitIterator__sem_11206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NimStringDesc* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
2713 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCase__sem_11453)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2714 N_LIB_PRIVATE N_NIMCALL(void, pushCaseContext__semdata_1105)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseNode);
2715 N_LIB_PRIVATE N_NIMCALL(void, popCaseContext__semdata_1121)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2716 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleCaseStmtMacro__sem_11311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2717 N_LIB_PRIVATE N_NIMCALL(void, setCaseContextIdx__semdata_1136)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NI idx);
2718 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semReturn__sem_17871)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2719 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUsing__sem_9768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2720 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsm__sem_9228)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2721 N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, pragmaAsm__pragmas_201)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2722 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsmOrEmit__pragmas_1133)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* con, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_CHAR marker);
2723 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semYield__sem_18051)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2724 N_LIB_PRIVATE N_NIMCALL(void, semYieldVarResult__sem_17977)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* restype);
2725 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIterator__sem_13400)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2726 N_LIB_PRIVATE N_NIMCALL(void, transitionRoutineSymKind__ast_4393)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyEnum_TSymKind__uwRDzlpaGW5WJzgBn4R8Eg kind);
2727 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProc__sem_9261)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2728 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFunc__sem_13456)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2729 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMethod__sem_13466)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2730 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getDispatcher__cgmeth_42)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2731 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConverterDef__sem_13501)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2732 N_LIB_PRIVATE N_NIMCALL(void, addConverterDef__semdata_667)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA conv);
2733 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMacroDef__sem_13520)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2734 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalImport__importer_3854)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2735 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalImportExcept__importer_3935)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2736 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalFrom__importer_3909)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2737 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalInclude__sem_13575)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2738 N_LIB_PRIVATE N_NIMCALL(void, incMod__sem_13555)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* includeStmtResult);
2739 N_LIB_PRIVATE N_NIMCALL(NI32, checkModuleName__modulepaths_21)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL doLocalError);
2740 N_LIB_PRIVATE N_NIMCALL(void, addIncludeFileDep__semdata_604)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NI32 f);
2741 N_LIB_PRIVATE N_NIMCALL(void, onProcessing__modulegraphs_11274)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, NI32 fileIdx, NimStringDesc* moduleStatus, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fromModule);
2742 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toMsgFilename__msgs_602)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
2743 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExport__sem_19888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2744 N_LIB_PRIVATE N_NIMCALL(void, reexportSym__semdata_717)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2745 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m);
2746 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module);
2747 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initRodIterAllSyms__icZic_8667)(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg* it, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, NI32 module, NIM_BOOL importHidden);
2748 static N_INLINE(void, specialSyms__sem_19892)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2749 N_LIB_PRIVATE N_NIMCALL(void, addConverter__semdata_653)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA conv);
2750 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextRodIter__icZic_8962)(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg* it, tySequence__rQHmYk1HzcwNxKBymIFHpA** g);
2751 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExportExcept__sem_19849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2752 N_LIB_PRIVATE N_NIMCALL(void, readExceptSet__importer_17)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2753 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPragmaBlock__sem_13647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2754 N_LIB_PRIVATE N_NIMCALL(void, setLine__sem_13634)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2755 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticStmt__sem_13685)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2756 N_LIB_PRIVATE N_NIMCALL(void, evalStaticStmt__vm_13759)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
2757 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_993)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b);
2758 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOperand__sem_13900)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2759 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedParams__sem_9864)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2760 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInferredLambda__sem_12601)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2761 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypesInBody__semtypinst_988)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, NIM_BOOL allowMetaTypes);
2762 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instTypeBoundOp__sigmatch_4327)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, NI col);
2763 N_LIB_PRIVATE N_NIMCALL(NI*, new__sem_20568)(void);
2764 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtAndGenerateGenerics__sem_20705)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2765 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportSystemStmt__sem_20680)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2766 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyTree__sem_20701)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2767 N_LIB_PRIVATE N_NIMCALL(void, importAllSymbols__importer_2078)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fromMod);
2768 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAllTypeSections__sem_12229)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2769 N_LIB_PRIVATE N_NIMCALL(void, gatherStmts__sem_12233)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result);
2770 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloStmt__sem_794)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2771 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildEchoStmt__sem_16718)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2772 N_LIB_PRIVATE N_NIMCALL(void, appendToModule__ast_3540)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2773 N_LIB_PRIVATE N_NIMCALL(void, recoverContext__sem_20740)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2774 static N_INLINE(Exception*, getCurrentException)(void);
2775 static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj, TNimType* subclass, TNimType** cache);
2776 N_LIB_PRIVATE N_NOINLINE(NIM_BOOL, isObjSlowPath__system_3313)(TNimType* obj, TNimType* subclass, TNimType** cache);
2777 N_LIB_PRIVATE N_NIMCALL(void, storeRodNode__semdata_1178)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2778 N_LIB_PRIVATE N_NIMCALL(void, suggestSentinel__sigmatch_6567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2779 N_LIB_PRIVATE N_NIMCALL(void, rawCloseScope__lookups_99)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2780 N_LIB_PRIVATE N_NIMCALL(void, reportUnusedModules__sem_20768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2781 N_LIB_PRIVATE N_NIMCALL(void, addCodeForGenerics__sem_20522)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2782 N_LIB_PRIVATE N_NIMCALL(void, sealRodFile__semdata_3603)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2783 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_2, "sem.myOpen", 10);
2784 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_4, "/home/runner/work/nightlies/nightlies/nim/compiler/sem.nim", 58);
2785 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_3 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2786 ((NI) 556),
2787 ((NI) 30)}
2788 ;
2789 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_5 = {
2790 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2791 0x00}
2792 ;
2793 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_6, "constant of type \'", 18);
2794 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_7, "\' has no value", 14);
2795 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_9, "/home/runner/work/nightlies/nightlies/nim/compiler/semexprs.nim", 63);
2796 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_8 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
2797 ((NI) 112),
2798 ((NI) 14)}
2799 ;
2800 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_10, "recursive dependency: \'$1\'", 26);
2801 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_11 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2802 ((NI) 487),
2803 ((NI) 15)}
2804 ;
2805 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_12, "\'$1\' has unspecified generic parameters", 39);
2806 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_13 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2807 ((NI) 493),
2808 ((NI) 15)}
2809 ;
2810 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_14, "template instantiation too nested", 33);
2811 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_15 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2812 ((NI) 425),
2813 ((NI) 15)}
2814 ;
2815 extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
2816 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__rF9caJawfOjYTjsgLVUSGFA_16 = {
2817 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04,
2818 0x02, 0x00, 0xe0, 0x11, 0x02, 0x0c, 0x01, 0xc0,
2819 0x00, 0x00, 0x00, 0x00, 0x00}
2820 ;
2821 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_17, "expression \'", 12);
2822 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_18, "\' is of type \'", 14);
2823 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_19, "\' and has to be used (or discarded)", 35);
2824 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_20, "; start of expression here: ", 28);
2825 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_21, "; for a function call use ()", 28);
2826 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_23, "/home/runner/work/nightlies/nightlies/nim/compiler/semstmts.nim", 63);
2827 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_22 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
2828 ((NI) 151),
2829 ((NI) 16)}
2830 ;
2831 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_24, "type expected", 13);
2832 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_26, "/home/runner/work/nightlies/nightlies/nim/compiler/semtypes.nim", 63);
2833 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_25 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2834 ((NI) 447),
2835 ((NI) 14)}
2836 ;
2837 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_27, "[]", 2);
2838 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_28, "range is empty", 14);
2839 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_29 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2840 ((NI) 231),
2841 ((NI) 14)}
2842 ;
2843 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_30 = {
2844 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
2845 0x00}
2846 ;
2847 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_31 = {
2848 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
2849 0x00}
2850 ;
2851 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_32, "ordinal or float type expected", 30);
2852 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_33 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2853 ((NI) 250),
2854 ((NI) 16)}
2855 ;
2856 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_34, "enum \'$1\' has holes", 19);
2857 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_35 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2858 ((NI) 252),
2859 ((NI) 16)}
2860 ;
2861 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_36, "NaN is not a valid start or end for a range", 43);
2862 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_37 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2863 ((NI) 263),
2864 ((NI) 14)}
2865 ;
2866 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_38 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2867 ((NI) 266),
2868 ((NI) 14)}
2869 ;
2870 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_39 = {
2871 0x10, 0x08, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
2872 0x00}
2873 ;
2874 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_40, "invalid type", 12);
2875 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_41 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2876 ((NI) 1759),
2877 ((NI) 18)}
2878 ;
2879 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_42, "expected type, but got: ", 24);
2880 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_43 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2881 ((NI) 1547),
2882 ((NI) 14)}
2883 ;
2884 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_44, "|", 1);
2885 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_45 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2886 ((NI) 1770),
2887 ((NI) 20)}
2888 ;
2889 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_46 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2890 ((NI) 1773),
2891 ((NI) 20)}
2892 ;
2893 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_47, "Invalid syntax. When used with a type, \'not\' can be followed only by \'nil\'", 74);
2894 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_48 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2895 ((NI) 1785),
2896 ((NI) 22)}
2897 ;
2898 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_49, "enable the \'not nil\' annotation with {.experimental: \"notnil\".} or   the `strict not nil` annotation with {.experimental: \"strictNotNil\".}   the \"notnil\" one is going to be deprecated, so please use \"strictNotNil\"", 213);
2899 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_50 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2900 ((NI) 1788),
2901 ((NI) 22)}
2902 ;
2903 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_51 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2904 ((NI) 1822),
2905 ((NI) 22)}
2906 ;
2907 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_52 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2908 ((NI) 1827),
2909 ((NI) 20)}
2910 ;
2911 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_53 = {
2912 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
2913 0x00}
2914 ;
2915 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_54, "cannot inherit from a type that is not an object type", 53);
2916 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_55 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2917 ((NI) 871),
2918 ((NI) 16)}
2919 ;
2920 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_56 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2921 ((NI) 883),
2922 ((NI) 19)}
2923 ;
2924 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_57, "addInheritedFieldsAux", 21);
2925 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_58 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2926 ((NI) 830),
2927 ((NI) 42)}
2928 ;
2929 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_59, "addInheritedFieldsAux(record case branch)", 41);
2930 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_60 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2931 ((NI) 836),
2932 ((NI) 25)}
2933 ;
2934 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_61, "addInheritedFieldsAux()", 23);
2935 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_62 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2936 ((NI) 843),
2937 ((NI) 21)}
2938 ;
2939 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_63, "inheritance only works with non-final objects; for ", 51);
2940 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_64, " to be inheritable it must be \'object of RootObj\' instead of \'object\'", 69);
2941 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_65 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2942 ((NI) 887),
2943 ((NI) 20)}
2944 ;
2945 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_66, "semObjectNode", 13);
2946 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_67 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2947 ((NI) 892),
2948 ((NI) 40)}
2949 ;
2950 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_68, "expression has no type: ", 24);
2951 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_69 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2952 ((NI) 89),
2953 ((NI) 14)}
2954 ;
2955 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_70 = {
2956 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2957 0x00}
2958 ;
2959 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_71, "(", 1);
2960 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_72, ", ", 2);
2961 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_73, ")", 1);
2962 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_75, "/home/runner/work/nightlies/nightlies/nim/compiler/seminst.nim", 62);
2963 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_74 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2964 ((NI) 336),
2965 ((NI) 17)}
2966 ;
2967 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
2968 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_76, "generic instantiation too nested", 32);
2969 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_77 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2970 ((NI) 339),
2971 ((NI) 15)}
2972 ;
2973 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_78 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2974 ((NI) 362),
2975 ((NI) 17)}
2976 ;
2977 extern TNimType NTIpinstantiation__Y32tFilzS9adEEksgrCsOzQ_;
2978 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
2979 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_79 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2980 ((NI) 61),
2981 ((NI) 17)}
2982 ;
2983 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_80 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2984 ((NI) 63),
2985 ((NI) 19)}
2986 ;
2987 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_81, "cannot instantiate: \'$1\'", 24);
2988 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_82 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2989 ((NI) 76),
2990 ((NI) 20)}
2991 ;
2992 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_83 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2993 ((NI) 79),
2994 ((NI) 18)}
2995 ;
2996 extern TNimType NTIpproccon__GJ8qR6LTU9bYLzfOArsHTSg_;
2997 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_84 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2998 ((NI) 271),
2999 ((NI) 19)}
3000 ;
3001 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_85 = {
3002 0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
3003 0x00}
3004 ;
3005 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_86, "no tuple type for constructor", 29);
3006 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_87 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3007 ((NI) 536),
3008 ((NI) 17)}
3009 ;
3010 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_88, "invalid tuple constructor", 25);
3011 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_89 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3012 ((NI) 542),
3013 ((NI) 21)}
3014 ;
3015 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_90, "unknown identifier: ", 20);
3016 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_91 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3017 ((NI) 547),
3018 ((NI) 23)}
3019 ;
3020 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_92, "cannot convert ", 15);
3021 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_93, " to ", 4);
3022 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_94 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3023 ((NI) 565),
3024 ((NI) 18)}
3025 ;
3026 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_95, "cannot convert \'$1\' to \'$2\'", 27);
3027 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_96 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3028 ((NI) 569),
3029 ((NI) 16)}
3030 ;
3031 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_97 = {
3032 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
3033 0x00}
3034 ;
3035 extern TNimType NTIseqLtinstantiationpairT__jWKvSdankQPoT5bw9cBU9aiw_;
3036 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_98 = {
3037 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3038 0x00, 0x0c, 0x20, 0xd5, 0x1f, 0xfa, 0xfb, 0x05,
3039 0x60, 0xcc, 0xff, 0x01, 0x20, 0x40, 0x38, 0x80,
3040 0xc6, 0x00, 0x86, 0x24, 0x03, 0x40, 0x00, 0x00,
3041 0x00, 0x00, 0x00, 0x00, 0x00}
3042 ;
3043 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_99, "NimNode", 7);
3044 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_100, "incorrect result proc symbol", 28);
3045 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_101 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3046 ((NI) 1500),
3047 ((NI) 18)}
3048 ;
3049 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_102, "result", 6);
3050 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_103, "value of type \'$1\' has to be used (or discarded)", 48);
3051 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_104 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3052 ((NI) 128),
3053 ((NI) 16)}
3054 ;
3055 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_105 = {
3056 0x10, 0x00, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
3057 0x00}
3058 ;
3059 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_106 = {
3060 0x10, 0x08, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
3061 0x00}
3062 ;
3063 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_107 = {
3064 0x10, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3065 0x00}
3066 ;
3067 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_108, "contains", 8);
3068 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_109, "not", 3);
3069 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_110, "semstmts.nim(1567, 14) `r[0].kind == nkSym` ", 44);
3070 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_111, "semstmts.nim(1576, 14) `result != nil` ", 39);
3071 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_112, "cannot use symbol of kind \'$1\' as a \'$2\'", 40);
3072 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_113 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
3073 ((NI) 229),
3074 ((NI) 16)}
3075 ;
3076 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_114, "\'$1\' is only allowed at top level", 33);
3077 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_115, "export", 6);
3078 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_116 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3079 ((NI) 498),
3080 ((NI) 20)}
3081 ;
3082 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_117, "invalid visibility: \'$1\'", 24);
3083 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_118 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3084 ((NI) 500),
3085 ((NI) 20)}
3086 ;
3087 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_119 = {
3088 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3089 0x00, 0x00, 0x18, 0x50, 0x8f, 0x01, 0x00, 0x05,
3090 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3091 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00,
3092 0x00, 0x00, 0x00, 0x00, 0x10}
3093 ;
3094 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_120 = {
3095 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3096 0x00, 0x04, 0x18, 0x50, 0x1f, 0x13, 0x38, 0x05,
3097 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3098 0x06, 0x00, 0x26, 0x16, 0x00, 0x40, 0x04, 0x10,
3099 0x00, 0x00, 0x02, 0x00, 0x00}
3100 ;
3101 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_121 = {
3102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3103 0x00, 0x04, 0x07, 0x50, 0x1f, 0x12, 0x30, 0x05,
3104 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3105 0x00, 0x00, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00,
3106 0x00, 0x00, 0x00, 0x00, 0x00}
3107 ;
3108 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_122, "sem.nim(524, 12) `orig.kind in {nkEmpty, nkGenericParams}` ", 59);
3109 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_123 = {
3110 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3111 0x00}
3112 ;
3113 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_124, "in", 2);
3114 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_125, "the \'$1\' modifier can be used only with imported types", 54);
3115 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_126 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3116 ((NI) 2172),
3117 ((NI) 24)}
3118 ;
3119 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_127, "{}", 2);
3120 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_128, "\'", 1);
3121 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_129, "\' is only allowed in templates and macros or magic procs", 56);
3122 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_130 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3123 ((NI) 1245),
3124 ((NI) 20)}
3125 ;
3126 extern NIM_CONST tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw OverloadableSyms__ast_3007;
3127 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_131, "{}=", 3);
3128 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_132, "[]=", 3);
3129 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_133, "cannot infer the type of parameter \'", 36);
3130 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_134 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3131 ((NI) 1264),
3132 ((NI) 20)}
3133 ;
3134 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_135, "\':\' expected", 12);
3135 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_136 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3136 ((NI) 1288),
3137 ((NI) 27)}
3138 ;
3139 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_137 = {
3140 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
3141 0x00}
3142 ;
3143 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_138 = {
3144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3145 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
3146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3147 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
3148 0x00, 0x00, 0x00, 0x00, 0x00}
3149 ;
3150 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_139, "parameter \'$1\' requires a type", 30);
3151 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_140 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3152 ((NI) 1302),
3153 ((NI) 20)}
3154 ;
3155 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_141, ":type", 5);
3156 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_142, "the macro body cannot be compiled, because the parameter \'$1\' has a generic type", 80);
3157 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_143 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3158 ((NI) 1056),
3159 ((NI) 16)}
3160 ;
3161 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_144, "typedesc", 8);
3162 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_145, "type", 4);
3163 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_146, "illegal recursion in type \'$1\'", 30);
3164 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_147 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3165 ((NI) 1103),
3166 ((NI) 21)}
3167 ;
3168 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_148 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
3169 ((NI) 178),
3170 ((NI) 17)}
3171 ;
3172 extern TNimType NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_;
3173 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_149 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3174 ((NI) 1146),
3175 ((NI) 22)}
3176 ;
3177 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_150, "attempt to redefine: \'", 22);
3178 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_151 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3179 ((NI) 1314),
3180 ((NI) 18)}
3181 ;
3182 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_152, "`typed` will change its meaning in future versions of Nim. `void` or no return type declaration at all has the same meaning as the current meaning of `typed` as return type declaration.", 185);
3183 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_153 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3184 ((NI) 1336),
3185 ((NI) 11)}
3186 ;
3187 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_154, "return type \'", 13);
3188 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_155, "\' is only valid for macros and templates", 40);
3189 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_156 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3190 ((NI) 1344),
3191 ((NI) 18)}
3192 ;
3193 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_157, "invalid expression", 18);
3194 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_159, "/home/runner/work/nightlies/nightlies/nim/compiler/semtempl.nim", 63);
3195 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_158 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3196 ((NI) 741),
3197 ((NI) 16)}
3198 ;
3199 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_160 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3200 ((NI) 726),
3201 ((NI) 16)}
3202 ;
3203 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_161 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3204 ((NI) 751),
3205 ((NI) 18)}
3206 ;
3207 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_162 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3208 ((NI) 753),
3209 ((NI) 16)}
3210 ;
3211 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_163, "*", 1);
3212 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_164, "**", 2);
3213 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_165, "~", 1);
3214 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_166, "a pattern cannot be empty", 25);
3215 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_167 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3216 ((NI) 823),
3217 ((NI) 16)}
3218 ;
3219 static NIM_CONST tyTuple__7rlNEhvBksZh9a9asniQIl9aQ TM__rF9caJawfOjYTjsgLVUSGFA_168 = {((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL),
3220 NIM_FALSE}
3221 ;
3222 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_169, "pragmas are only allowed in the header of a proc; redefinition of $1", 68);
3223 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_170, "\' from ", 7);
3224 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_171, " \'", 2);
3225 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_172 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3226 ((NI) 1975),
3227 ((NI) 14)}
3228 ;
3229 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_173, "semProcAux", 10);
3230 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_174 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3231 ((NI) 2003),
3232 ((NI) 46)}
3233 ;
3234 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_175, "=destroy", 8);
3235 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_176, "deepcopy", 8);
3236 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_177, "=deepcopy", 9);
3237 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_178, "=", 1);
3238 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_179, "=copy", 5);
3239 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_180, "=sink", 5);
3240 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_181, "=trace", 6);
3241 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_182 = {
3242 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
3243 0x00}
3244 ;
3245 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_183, "cannot bind another \'", 21);
3246 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_184, "\' to: ", 6);
3247 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_185, "; previous declaration was constructed here implicitly: ", 56);
3248 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_186, "; previous declaration was here: ", 33);
3249 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_187 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3250 ((NI) 1659),
3251 ((NI) 12)}
3252 ;
3253 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_188, "type bound operation `", 22);
3254 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_189, "` can be defined only in the same module with its type (", 56);
3255 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_190 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3256 ((NI) 1698),
3257 ((NI) 18)}
3258 ;
3259 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_191, "signature for \'=trace\' must be proc[T: object](x: var T; env: pointer)", 70);
3260 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_192 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3261 ((NI) 1702),
3262 ((NI) 16)}
3263 ;
3264 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_193, "signature for \'", 15);
3265 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_194, "\' must be proc[T: object](x: var T)", 35);
3266 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_195 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3267 ((NI) 1705),
3268 ((NI) 16)}
3269 ;
3270 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_196, "cannot bind another \'deepCopy\' to: ", 35);
3271 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_197 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3272 ((NI) 1730),
3273 ((NI) 20)}
3274 ;
3275 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_198, "cannot bind \'deepCopy\' to: ", 27);
3276 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_199 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3277 ((NI) 1733),
3278 ((NI) 18)}
3279 ;
3280 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_200 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3281 ((NI) 1737),
3282 ((NI) 18)}
3283 ;
3284 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_201, "signature for \'deepCopy\' must be proc[T: ptr|ref](x: T): T", 58);
3285 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_202 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3286 ((NI) 1741),
3287 ((NI) 16)}
3288 ;
3289 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_203 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3290 ((NI) 1776),
3291 ((NI) 20)}
3292 ;
3293 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_204, "\' must be proc[T: object](x: var T; y: T)", 41);
3294 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_205 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3295 ((NI) 1781),
3296 ((NI) 16)}
3297 ;
3298 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_206, "\'destroy\' or \'deepCopy\' expected for \'override\'", 47);
3299 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_207 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3300 ((NI) 1788),
3301 ((NI) 16)}
3302 ;
3303 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_209, ".", 1);
3304 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_210, ".()", 3);
3305 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_211, ".=", 2);
3306 static NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg TM__rF9caJawfOjYTjsgLVUSGFA_208 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_209),
3307 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_210),
3308 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_211)}
3309 ;
3310 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_212, "the overloaded ", 15);
3311 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_213, " operator has to be enabled with {.experimental: \"dotOperators\".}", 65);
3312 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_214 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3313 ((NI) 2015),
3314 ((NI) 18)}
3315 ;
3316 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_215, "()", 2);
3317 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_216, " operator has to be enabled with {.experimental: \"callOperator\".}", 65);
3318 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_217 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3319 ((NI) 2018),
3320 ((NI) 18)}
3321 ;
3322 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_218, "implementation of \'$1\' is not allowed", 37);
3323 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_219 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3324 ((NI) 2024),
3325 ((NI) 16)}
3326 ;
3327 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_220 = {
3328 0x10, 0x0e, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
3329 0x00}
3330 ;
3331 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_221, "generic methods are deprecated", 30);
3332 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_222 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3333 ((NI) 1825),
3334 ((NI) 11)}
3335 ;
3336 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_223, "\'method\' needs a parameter that has an object type", 50);
3337 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_224 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3338 ((NI) 1835),
3339 ((NI) 16)}
3340 ;
3341 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_226, "/home/runner/work/nightlies/nightlies/nim/compiler/hlo.nim", 58);
3342 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_225 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_226),
3343 ((NI) 48),
3344 ((NI) 21)}
3345 ;
3346 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_227 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_226),
3347 ((NI) 15),
3348 ((NI) 17)}
3349 ;
3350 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_228 = {
3351 0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
3352 0x00}
3353 ;
3354 static NIM_CONST tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg TM__rF9caJawfOjYTjsgLVUSGFA_229 = {
3355 0x00, 0x00, 0x20, 0x60, 0x07, 0x03, 0x00, 0x00,
3356 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3357 0x38, 0x46, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00,
3358 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3359 0x00, 0x00, 0x00}
3360 ;
3361 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_230, "for a \'var\' type a variable needs to be passed; but \'$1\' is immutable", 69);
3362 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_231 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3363 ((NI) 753),
3364 ((NI) 24)}
3365 ;
3366 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_232, "address of \'$1\' may not escape its stack frame", 46);
3367 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_233 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3368 ((NI) 760),
3369 ((NI) 18)}
3370 ;
3371 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_234 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3372 ((NI) 701),
3373 ((NI) 18)}
3374 ;
3375 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_235, "analyseIfAddressTaken", 21);
3376 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_236 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3377 ((NI) 715),
3378 ((NI) 19)}
3379 ;
3380 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_237, "expression has no address", 25);
3381 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_239, "/home/runner/work/nightlies/nightlies/nim/compiler/semmagic.nim", 63);
3382 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_238 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3383 ((NI) 21),
3384 ((NI) 16)}
3385 ;
3386 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_240, "expression has no address; maybe use \'unsafeAddr\'", 49);
3387 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_241 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3388 ((NI) 23),
3389 ((NI) 16)}
3390 ;
3391 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_242, "unsafeAddr", 10);
3392 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_243, "typeof: cannot evaluate \'mode\' parameter at compile-time", 56);
3393 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_244 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3394 ((NI) 31),
3395 ((NI) 16)}
3396 ;
3397 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_245, "can\'t compute offsetof on this ast", 34);
3398 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_247, "/home/runner/work/nightlies/nightlies/nim/compiler/sizealignoffsetimpl.nim", 74);
3399 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_246 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_247),
3400 ((NI) 508),
3401 ((NI) 16)}
3402 ;
3403 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_248, "nil dereference is not allowed", 30);
3404 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_249 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3405 ((NI) 1490),
3406 ((NI) 16)}
3407 ;
3408 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_250 = {
3409 0x10, 0x08, 0x80, 0x00, 0x00, 0xe0, 0x00, 0x00,
3410 0x00}
3411 ;
3412 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_251 = {
3413 0x10, 0x08, 0xe0, 0x00, 0x00, 0xe0, 0x20, 0x00,
3414 0x00}
3415 ;
3416 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_252 = {
3417 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3418 0x00}
3419 ;
3420 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_253 = {
3421 0x10, 0x89, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
3422 0x00}
3423 ;
3424 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_254 = {
3425 0x10, 0x88, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00,
3426 0x00}
3427 ;
3428 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Max__int495056_27;
3429 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_255, "invalid index value for tuple subscript", 39);
3430 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_256 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3431 ((NI) 1583),
3432 ((NI) 22)}
3433 ;
3434 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_257, "cannot instantiate: \'", 21);
3435 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_258, "\'; got ", 7);
3436 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_259, " typeof(s) but expected ", 24);
3437 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_261, "/home/runner/work/nightlies/nightlies/nim/compiler/semcall.nim", 62);
3438 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_260 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3439 ((NI) 669),
3440 ((NI) 16)}
3441 ;
3442 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_262 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3443 ((NI) 627),
3444 ((NI) 12)}
3445 ;
3446 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_263, "AnonType", 8);
3447 extern TNimType NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_;
3448 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
3449 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_264, "could not resolve: ", 19);
3450 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_265 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3451 ((NI) 316),
3452 ((NI) 14)}
3453 ;
3454 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_266, "type mismatch", 13);
3455 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_267 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3456 ((NI) 289),
3457 ((NI) 15)}
3458 ;
3459 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_268, "expression \'$1\' cannot be called", 32);
3460 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_269 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3461 ((NI) 292),
3462 ((NI) 14)}
3463 ;
3464 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_270, "\012", 1);
3465 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_271, "  first type mismatch at position: ", 35);
3466 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_272, "\012  unknown named parameter", 26);
3467 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_273, "\012  unknown named parameter: ", 28);
3468 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_274, "\012  named param already provided: ", 33);
3469 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_275, "\012  positional param was already given as named param", 52);
3470 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_276, "\012  extra argument given", 23);
3471 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_277, "\012  missing parameter: ", 22);
3472 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_278, "semcall.nim(235, 18) `nArg != nil` ", 35);
3473 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_279, "semcall.nim(237, 18) `err.firstMismatch.formal != nil` ", 55);
3474 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_280, "\012  required type for ", 21);
3475 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_281, ": ", 2);
3476 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_282, "\012  but expression \'", 19);
3477 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_283, "\' is immutable, not \'var\'", 25);
3478 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_284, "\' is of type: ", 14);
3479 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_285, "semcall.nim(249, 20) `wanted != nil` ", 37);
3480 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_286, "\012  This expression is not GC-safe. Annotate the proc with {.gcsafe.} to get extended error information.", 103);
3481 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_287, "\012  This expression can have side effects. Annotate the proc with {.noSideEffect.} to get extended error information.", 116);
3482 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_288, "\012  The `.raises` requirements differ.", 37);
3483 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_289, "\012  The `.raises` requirements differ. Annotate the proc with {.raises: [].} to get extended error information.", 110);
3484 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_290, "\012  The `.tags` requirements differ.", 35);
3485 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_291, "\012  The `.tags` requirements differ. Annotate the proc with {.tags: [].} to get extended error information.", 106);
3486 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_292, "\012  The `.locks` requirements differ. Annotate the proc with {.locks: 0.} to get extended error information.", 107);
3487 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_293, "\012  The `.effectsOf` annotations differ.", 39);
3488 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_297, " other mismatching symbols have been suppressed; compile with --showAllMismatches:on to see them\012", 97);
3489 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_298, "maybe misplaced space between ", 30);
3490 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_299, " and \'(\' \012", 10);
3491 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_300, "type mismatch: got <", 20);
3492 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_301, "\012but expected one of:\012", 22);
3493 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_302, "\012expression: ", 13);
3494 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_303 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3495 ((NI) 301),
3496 ((NI) 12)}
3497 ;
3498 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_304 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3499 ((NI) 205),
3500 ((NI) 17)}
3501 ;
3502 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_305 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3503 ((NI) 129),
3504 ((NI) 17)}
3505 ;
3506 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_306 = {
3507 0x10, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
3508 0x00}
3509 ;
3510 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_307, "or", 2);
3511 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_308, "and", 3);
3512 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_309, "typeToString", 12);
3513 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_310, "name", 4);
3514 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_311, "$", 1);
3515 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_312, "arity", 5);
3516 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_313, "genericHead", 11);
3517 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_314, "stripGenericParams", 18);
3518 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_315, "supportsCopyMem", 15);
3519 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_316, "isNamedTuple", 12);
3520 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_317, "tupleLen", 8);
3521 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_318, "distinctBase", 12);
3522 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_319, "prefername", 10);
3523 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_320, "preferdesc", 10);
3524 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_321, "preferexported", 14);
3525 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_322, "prefermoduleinfo", 16);
3526 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_323, "prefergenericarg", 16);
3527 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_324, "prefertypename", 14);
3528 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_325, "preferresolved", 14);
3529 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_326, "prefermixed", 11);
3530 extern TNimType NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_;
3531 extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
3532 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_327, "Invalid enum value: ", 20);
3533 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_328, "expected generic type, got: type $2 of kind $1", 46);
3534 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_329 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3535 ((NI) 174),
3536 ((NI) 16)}
3537 ;
3538 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_330 = {
3539 0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x80, 0x00,
3540 0x00}
3541 ;
3542 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_331 = {
3543 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3544 0x00}
3545 ;
3546 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_332 = {
3547 0x10, 0x09, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
3548 0x00}
3549 ;
3550 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_333, "unknown trait: ", 15);
3551 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_334 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3552 ((NI) 199),
3553 ((NI) 14)}
3554 ;
3555 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_335, "integer literal expected", 24);
3556 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_336 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3557 ((NI) 80),
3558 ((NI) 18)}
3559 ;
3560 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_337, "command line", 12);
3561 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_338, "\?\?\?", 3);
3562 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_339, "ordinal type expected", 21);
3563 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_340 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3564 ((NI) 220),
3565 ((NI) 14)}
3566 ;
3567 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_341 = {
3568 0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
3569 0x00}
3570 ;
3571 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_342, "\'of\' takes object types", 23);
3572 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_343 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3573 ((NI) 322),
3574 ((NI) 16)}
3575 ;
3576 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_344 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3577 ((NI) 324),
3578 ((NI) 16)}
3579 ;
3580 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_345 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3581 ((NI) 333),
3582 ((NI) 15)}
3583 ;
3584 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_346, "\'$1\' cannot be of this subtype", 30);
3585 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_347 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3586 ((NI) 340),
3587 ((NI) 20)}
3588 ;
3589 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_348 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3590 ((NI) 342),
3591 ((NI) 17)}
3592 ;
3593 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_349, "\'of\' takes 2 arguments", 22);
3594 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_350 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3595 ((NI) 347),
3596 ((NI) 14)}
3597 ;
3598 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_351, "\'$1\' expects a type or value", 28);
3599 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_352, "low", 3);
3600 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_353, "high", 4);
3601 N_LIB_PRIVATE NIM_CONST tyArray__nr38yHugp0nuiB6VarJGiw opToStr__sem_14554 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_352),
3602 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_353)}
3603 ;
3604 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_354 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3605 ((NI) 376),
3606 ((NI) 14)}
3607 ;
3608 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_355 = {
3609 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0xa0, 0x00,
3610 0x00}
3611 ;
3612 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_356, "invalid argument for: ", 22);
3613 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_357 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3614 ((NI) 395),
3615 ((NI) 16)}
3616 ;
3617 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_358, "string literal expected", 23);
3618 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_359 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3619 ((NI) 229),
3620 ((NI) 25)}
3621 ;
3622 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_360, "constant expression expected", 28);
3623 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_361 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3624 ((NI) 234),
3625 ((NI) 25)}
3626 ;
3627 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
3628 N_LIB_PRIVATE TNimType NTIobject__LF0eKAnygFo4etNDdpTetg_;
3629 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
3630 extern TNimType NTIpcontext__EjEifkTC8tg9afiUW4StSSA_;
3631 extern TNimType NTIpscope__N89ckikRqMir57209a3tEeqw_;
3632 N_LIB_PRIVATE TNimType NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_;
3633 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_363, "bindSymImpl", 11);
3634 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_364, "string or ident node expected", 29);
3635 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_365 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3636 ((NI) 251),
3637 ((NI) 25)}
3638 ;
3639 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_366 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3640 ((NI) 254),
3641 ((NI) 25)}
3642 ;
3643 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_367, "cannot find plugin ", 19);
3644 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_368 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3645 ((NI) 516),
3646 ((NI) 16)}
3647 ;
3648 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_369, "finalizer must be a direct reference to a proc", 46);
3649 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_370 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3650 ((NI) 523),
3651 ((NI) 16)}
3652 ;
3653 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_371 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3654 ((NI) 530),
3655 ((NI) 20)}
3656 ;
3657 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_372 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3658 ((NI) 535),
3659 ((NI) 20)}
3660 ;
3661 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_373 = {
3662 0x10, 0xa9, 0x40, 0x00, 0x00, 0x60, 0x80, 0x00,
3663 0x00}
3664 ;
3665 N_LIB_PRIVATE TNimType NTIobject__irrxU9bX4WBQP9bu3Q627FYw_;
3666 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
3667 N_LIB_PRIVATE TNimType NTIrefobject__s6znTCfmZMSZG9absJgsa1w_;
3668 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_377, "<quantifier> \'in\' <range> expected", 34);
3669 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_378 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3670 ((NI) 444),
3671 ((NI) 16)}
3672 ;
3673 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_379, "\'old\' takes a parameter name", 28);
3674 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_380 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3675 ((NI) 452),
3676 ((NI) 14)}
3677 ;
3678 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_381, " does not belong to ", 20);
3679 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_382 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3680 ((NI) 454),
3681 ((NI) 14)}
3682 ;
3683 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_383 = {
3684 0x10, 0x08, 0xe0, 0x00, 0x00, 0x60, 0x20, 0x00,
3685 0x00}
3686 ;
3687 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_384 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3688 ((NI) 569),
3689 ((NI) 13)}
3690 ;
3691 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_385 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3692 ((NI) 572),
3693 ((NI) 12)}
3694 ;
3695 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_386 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3696 ((NI) 575),
3697 ((NI) 13)}
3698 ;
3699 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_387, "expression cannot be isolated: ", 31);
3700 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_388 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3701 ((NI) 578),
3702 ((NI) 16)}
3703 ;
3704 static NIM_CONST tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg TM__rF9caJawfOjYTjsgLVUSGFA_389 = {
3705 0xe1, 0x00, 0x00, 0xe0, 0xf0, 0xcf, 0xff, 0xf7,
3706 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf0, 0x3f,
3707 0xf8, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
3708 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3709 0x00, 0x00, 0x00}
3710 ;
3711 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_390, "cannot evaluate \'$1\'", 20);
3712 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_391 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3713 ((NI) 843),
3714 ((NI) 20)}
3715 ;
3716 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_392, "the resulting AST is cyclic and cannot be processed further", 59);
3717 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_393 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
3718 ((NI) 322),
3719 ((NI) 31)}
3720 ;
3721 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_394, " --> \'", 6);
3722 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_395 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_226),
3723 ((NI) 31),
3724 ((NI) 11)}
3725 ;
3726 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_396, "A nested proc can have generic parameters only when it is used as an operand to another routine and the types of the generic paramers can be inferred from the expected signature.", 178);
3727 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_397 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3728 ((NI) 2040),
3729 ((NI) 18)}
3730 ;
3731 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_398, "invalid type: \'$1\' for $2", 25);
3732 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_399, ". Did you mean to call the $1 with \'()\'\?", 40);
3733 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_400, "invalid type: \'$1\' in this context: \'$2\' for $3", 47);
3734 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_401 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
3735 ((NI) 266),
3736 ((NI) 14)}
3737 ;
3738 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_402, "implementation of \'$1\' expected", 31);
3739 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_403 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3740 ((NI) 2067),
3741 ((NI) 27)}
3742 ;
3743 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_404, "return type \'auto\' cannot be used in forward declarations", 57);
3744 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_405 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3745 ((NI) 2072),
3746 ((NI) 18)}
3747 ;
3748 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_406 = {
3749 0x10, 0x88, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
3750 0x00}
3751 ;
3752 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_407, "no symbol to borrow from found", 30);
3753 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_408 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3754 ((NI) 1481),
3755 ((NI) 14)}
3756 ;
3757 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_409, "\'.closure\' calling convention for top level routines is invalid", 63);
3758 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_410 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3759 ((NI) 2089),
3760 ((NI) 14)}
3761 ;
3762 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_411 = {
3763 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3764 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3765 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3766 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3767 0x00, 0x00, 0x00, 0x00, 0x00}
3768 ;
3769 extern TNimType NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_;
3770 extern TNimType NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_;
3771 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_412 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3772 ((NI) 392),
3773 ((NI) 21)}
3774 ;
3775 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_413, "\012  found $1", 11);
3776 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_414, " for type ", 10);
3777 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_415, " ", 1);
3778 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_416, "undeclared field: \'$1\'", 22);
3779 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_417, "attempting to call undeclared routine: \'$1\'", 43);
3780 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_418, "attempting to call routine: \'$1\'$2", 34);
3781 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_419 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3782 ((NI) 427),
3783 ((NI) 16)}
3784 ;
3785 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_420 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3786 ((NI) 431),
3787 ((NI) 22)}
3788 ;
3789 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_421 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3790 ((NI) 433),
3791 ((NI) 14)}
3792 ;
3793 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_422 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3794 ((NI) 437),
3795 ((NI) 18)}
3796 ;
3797 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_423 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3798 ((NI) 447),
3799 ((NI) 19)}
3800 ;
3801 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_424, "ambiguous call", 14);
3802 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_425 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3803 ((NI) 452),
3804 ((NI) 17)}
3805 ;
3806 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_426, "ambiguous call; both $1 and $2 match for: $3", 44);
3807 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_427 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3808 ((NI) 461),
3809 ((NI) 16)}
3810 ;
3811 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_428, "Non-matching candidates for ", 28);
3812 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_429 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3813 ((NI) 593),
3814 ((NI) 13)}
3815 ;
3816 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_430 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3817 ((NI) 568),
3818 ((NI) 25)}
3819 ;
3820 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_431, "semOverloadedCallAnalyseEffects", 31);
3821 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_432 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3822 ((NI) 883),
3823 ((NI) 19)}
3824 ;
3825 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_433, "recursion is not supported in iterators: \'$1\'", 45);
3826 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_434 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3827 ((NI) 890),
3828 ((NI) 18)}
3829 ;
3830 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_435, "expression has no type", 22);
3831 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_436 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3832 ((NI) 1785),
3833 ((NI) 14)}
3834 ;
3835 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_437, "\'$1\' cannot be assigned to", 26);
3836 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_438 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3837 ((NI) 1790),
3838 ((NI) 14)}
3839 ;
3840 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_439 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3841 ((NI) 1802),
3842 ((NI) 25)}
3843 ;
3844 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_440 = {
3845 0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
3846 0x00}
3847 ;
3848 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_441, "cannot return an owned pointer as an unowned pointer; use \'owned(", 65);
3849 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_442, ")\' as the return type", 21);
3850 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_443 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3851 ((NI) 1719),
3852 ((NI) 16)}
3853 ;
3854 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_444, "assignment produces a dangling ref: the unowned ref lives longer than the owned ref", 83);
3855 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_445 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3856 ((NI) 1722),
3857 ((NI) 16)}
3858 ;
3859 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_446, "\'$1\' escapes its stack frame; context: \'$2\'; see $3", 51);
3860 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_447, "var_t_return.html", 17);
3861 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_448 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3862 ((NI) 1646),
3863 ((NI) 16)}
3864 ;
3865 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_449, "\'$1\' is not the first parameter; context: \'$2\'; see $3", 54);
3866 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_450 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3867 ((NI) 1649),
3868 ((NI) 16)}
3869 ;
3870 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_451 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3871 ((NI) 1664),
3872 ((NI) 16)}
3873 ;
3874 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_452 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3875 ((NI) 1666),
3876 ((NI) 16)}
3877 ;
3878 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_453, "cannot infer the return type of \'$1\'", 36);
3879 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_454 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3880 ((NI) 1872),
3881 ((NI) 16)}
3882 ;
3883 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_455 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3884 ((NI) 1876),
3885 ((NI) 14)}
3886 ;
3887 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_456 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
3888 ((NI) 512),
3889 ((NI) 14)}
3890 ;
3891 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_457, "semRecordCase: discriminant is no symbol", 40);
3892 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_458 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3893 ((NI) 679),
3894 ((NI) 17)}
3895 ;
3896 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_459 = {
3897 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
3898 0x00}
3899 ;
3900 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_460, "selector must be of an ordinal type, float", 42);
3901 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_461 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3902 ((NI) 697),
3903 ((NI) 14)}
3904 ;
3905 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_462, "low(", 4);
3906 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_463, ") must be 0 for discriminant", 28);
3907 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_464 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3908 ((NI) 699),
3909 ((NI) 14)}
3910 ;
3911 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_465, "len($1) must be less than 32768", 31);
3912 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_466 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3913 ((NI) 702),
3914 ((NI) 14)}
3915 ;
3916 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_467 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3917 ((NI) 541),
3918 ((NI) 35)}
3919 ;
3920 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_468, "duplicate case label", 20);
3921 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_469 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3922 ((NI) 529),
3923 ((NI) 18)}
3924 ;
3925 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_470 = {
3926 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
3927 0x00}
3928 ;
3929 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_471 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3930 ((NI) 714),
3931 ((NI) 15)}
3932 ;
3933 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_472 = {
3934 0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
3935 0x00}
3936 ;
3937 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_473, "not all cases are covered; missing: $1", 38);
3938 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_474, "{", 1);
3939 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_475, "\\a", 2);
3940 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_476, "\\b", 2);
3941 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_477, "\\t", 2);
3942 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_478, "\\n", 2);
3943 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_479, "\\v", 2);
3944 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_480, "\\f", 2);
3945 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_481, "\\r", 2);
3946 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_482, "\\e", 2);
3947 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_483, "\\\\", 2);
3948 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_484, "\\\'", 2);
3949 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_485, "\\\"", 2);
3950 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_486, "\\x", 2);
3951 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_487, "0123456789ABCDEF", 16);
3952 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_488, "omitted $1 values...", 20);
3953 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_489, "}", 1);
3954 extern TNimType NTIpackedset__IhxwDBRi51nGrosBGFKcsA_;
3955 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_490 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3956 ((NI) 721),
3957 ((NI) 16)}
3958 ;
3959 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_491, "not all cases are covered", 25);
3960 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_492 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3961 ((NI) 724),
3962 ((NI) 16)}
3963 ;
3964 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_493, "initialization not allowed here", 31);
3965 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_494 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3966 ((NI) 781),
3967 ((NI) 16)}
3968 ;
3969 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_495 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3970 ((NI) 784),
3971 ((NI) 16)}
3972 ;
3973 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_496 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3974 ((NI) 808),
3975 ((NI) 18)}
3976 ;
3977 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_497 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3978 ((NI) 819),
3979 ((NI) 16)}
3980 ;
3981 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_498, "dummy", 5);
3982 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_499 = {
3983 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3984 0x00, 0x14, 0x00, 0x70, 0xff, 0x56, 0x30, 0x05,
3985 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08,
3986 0x40, 0x0c, 0x16, 0xc8, 0x00, 0x40, 0x00, 0x00,
3987 0x00, 0x30, 0x00, 0x00, 0x06}
3988 ;
3989 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_501, "/home/runner/work/nightlies/nightlies/nim/compiler/semobjconstr.nim", 67);
3990 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_500 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
3991 ((NI) 182),
3992 ((NI) 19)}
3993 ;
3994 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_502, "incorrect object construction syntax; use a space after the colon", 65);
3995 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_503 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
3996 ((NI) 54),
3997 ((NI) 14)}
3998 ;
3999 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_504, "incorrect object construction syntax", 36);
4000 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_505 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4001 ((NI) 56),
4002 ((NI) 14)}
4003 ;
4004 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_506, "semobjconstr.nim(134, 14) `recList.kind == nkRecList` ", 54);
4005 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_507, "The fields \'$1\' and \'$2\' cannot be initialized together, because they are from conflicting branches in the case object.", 119);
4006 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_508 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4007 ((NI) 193),
4008 ((NI) 20)}
4009 ;
4010 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_509, "the field \'$1\' is not accessible.", 33);
4011 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_510 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4012 ((NI) 76),
4013 ((NI) 16)}
4014 ;
4015 extern TNimType NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_;
4016 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_512, "branch initialization with a runtime discriminator only supports ordinal types with 2^16 elements or less.", 106);
4017 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_513 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4018 ((NI) 237),
4019 ((NI) 20)}
4020 ;
4021 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_514, "cannot prove that it\'s safe to initialize $1 with the runtime value for the discriminator \'$2\' ", 95);
4022 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_515 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4023 ((NI) 205),
4024 ((NI) 20)}
4025 ;
4026 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_516, "possible values $2 are in conflict with discriminator values for selected object branch $1.", 91);
4027 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_517 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4028 ((NI) 251),
4029 ((NI) 35)}
4030 ;
4031 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_518, "runtime discriminator must be immutable if branch fields are initialized, a \'let\' binding is required.", 102);
4032 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_519 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4033 ((NI) 257),
4034 ((NI) 22)}
4035 ;
4036 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_520, "branch initialization with a runtime discriminator is not supported inside of an `elif` branch.", 95);
4037 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_521 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4038 ((NI) 261),
4039 ((NI) 20)}
4040 ;
4041 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_522 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4042 ((NI) 270),
4043 ((NI) 33)}
4044 ;
4045 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_523 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4046 ((NI) 288),
4047 ((NI) 35)}
4048 ;
4049 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_524, "a case selecting discriminator \'$1\' with value \'$2\' appears in the object construction, but the field(s) $3 are in conflict with this value.", 140);
4050 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_525 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4051 ((NI) 214),
4052 ((NI) 20)}
4053 ;
4054 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_526 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4055 ((NI) 328),
4056 ((NI) 19)}
4057 ;
4058 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_527, "type \'$1 void\' is not allowed", 29);
4059 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_528 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4060 ((NI) 929),
4061 ((NI) 16)}
4062 ;
4063 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_529, "region needs to be an object type", 33);
4064 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_530 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4065 ((NI) 945),
4066 ((NI) 18)}
4067 ;
4068 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_531, "region for pointer types is deprecated", 38);
4069 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_532 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4070 ((NI) 948),
4071 ((NI) 17)}
4072 ;
4073 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_533, "typeof", 6);
4074 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_534 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4075 ((NI) 1714),
4076 ((NI) 16)}
4077 ;
4078 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_535, "owned", 5);
4079 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
4080 extern TNimType NTIttype__facALICuu8zUj0hjvbTLFg_;
4081 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_536 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4082 ((NI) 403),
4083 ((NI) 20)}
4084 ;
4085 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_537 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4086 ((NI) 417),
4087 ((NI) 20)}
4088 ;
4089 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_538 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4090 ((NI) 427),
4091 ((NI) 47)}
4092 ;
4093 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_539, "identifier expected", 19);
4094 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_540 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4095 ((NI) 442),
4096 ((NI) 16)}
4097 ;
4098 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_541 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4099 ((NI) 1692),
4100 ((NI) 14)}
4101 ;
4102 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_542, "Array length can\'t be negative, but was ", 40);
4103 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_543 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4104 ((NI) 305),
4105 ((NI) 18)}
4106 ;
4107 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_544 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4108 ((NI) 313),
4109 ((NI) 18)}
4110 ;
4111 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_545 = {
4112 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10,
4113 0x00}
4114 ;
4115 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_546 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4116 ((NI) 318),
4117 ((NI) 18)}
4118 ;
4119 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_547 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4120 ((NI) 347),
4121 ((NI) 18)}
4122 ;
4123 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_548 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4124 ((NI) 349),
4125 ((NI) 18)}
4126 ;
4127 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_549, "array expects two type parameters", 33);
4128 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_550 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4129 ((NI) 359),
4130 ((NI) 14)}
4131 ;
4132 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_551, "\'$1\' is not a concrete type", 27);
4133 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_552 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4134 ((NI) 180),
4135 ((NI) 16)}
4136 ;
4137 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_553, "\'$1\' expects one type parameter", 31);
4138 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_554 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4139 ((NI) 183),
4140 ((NI) 14)}
4141 ;
4142 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_555, "openarray", 9);
4143 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_556, "UncheckedArray", 14);
4144 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_557, "..<", 3);
4145 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_558, "range types need to be constructed with \'..\', \'..<\' is not supported", 68);
4146 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_559 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4147 ((NI) 288),
4148 ((NI) 18)}
4149 ;
4150 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_560, "expected range", 14);
4151 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_561 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4152 ((NI) 290),
4153 ((NI) 18)}
4154 ;
4155 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_562, "range", 5);
4156 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_563 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4157 ((NI) 293),
4158 ((NI) 14)}
4159 ;
4160 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_564 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4161 ((NI) 169),
4162 ((NI) 18)}
4163 ;
4164 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_565, "set is too large", 16);
4165 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_566 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4166 ((NI) 171),
4167 ((NI) 18)}
4168 ;
4169 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_567, "set", 3);
4170 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_568 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4171 ((NI) 173),
4172 ((NI) 14)}
4173 ;
4174 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_569 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4175 ((NI) 377),
4176 ((NI) 18)}
4177 ;
4178 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_570, "ordinal", 7);
4179 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_571 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4180 ((NI) 380),
4181 ((NI) 14)}
4182 ;
4183 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_572, "iterable", 8);
4184 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_573 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4185 ((NI) 368),
4186 ((NI) 14)}
4187 ;
4188 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_574, "seq", 3);
4189 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_575, "varargs", 7);
4190 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_576 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4191 ((NI) 199),
4192 ((NI) 14)}
4193 ;
4194 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_577, "type \'var var\' is not allowed", 29);
4195 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_578 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4196 ((NI) 1886),
4197 ((NI) 18)}
4198 ;
4199 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_579 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4200 ((NI) 465),
4201 ((NI) 16)}
4202 ;
4203 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_580 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4204 ((NI) 468),
4205 ((NI) 16)}
4206 ;
4207 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_581 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4208 ((NI) 475),
4209 ((NI) 18)}
4210 ;
4211 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_582 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4212 ((NI) 483),
4213 ((NI) 14)}
4214 ;
4215 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_583, "cannot instantiate the \'$1\' $2", 30);
4216 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_584 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4217 ((NI) 1436),
4218 ((NI) 14)}
4219 ;
4220 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_585 = {
4221 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4222 0x00}
4223 ;
4224 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_586 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4225 ((NI) 1449),
4226 ((NI) 21)}
4227 ;
4228 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_587, "no generic parameters allowed for $1", 36);
4229 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_588 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4230 ((NI) 1461),
4231 ((NI) 14)}
4232 ;
4233 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_589, "cannot instantiate ", 19);
4234 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_590, "\012got: <$1>\012but expected: <$2>", 29);
4235 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_591 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4236 ((NI) 1472),
4237 ((NI) 16)}
4238 ;
4239 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_592 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4240 ((NI) 1493),
4241 ((NI) 18)}
4242 ;
4243 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_593 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4244 ((NI) 1503),
4245 ((NI) 14)}
4246 ;
4247 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_594, "object", 6);
4248 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_595 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4249 ((NI) 1423),
4250 ((NI) 14)}
4251 ;
4252 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_596, "inheritance only works with non-final objects", 45);
4253 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_597 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4254 ((NI) 1430),
4255 ((NI) 18)}
4256 ;
4257 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_598, "object constructor needs an object type; for named arguments use \'=\' instead of \':\'", 83);
4258 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_599 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4259 ((NI) 1896),
4260 ((NI) 16)}
4261 ;
4262 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_600 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4263 ((NI) 1902),
4264 ((NI) 16)}
4265 ;
4266 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_601 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4267 ((NI) 1918),
4268 ((NI) 38)}
4269 ;
4270 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_602 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4271 ((NI) 1921),
4272 ((NI) 21)}
4273 ;
4274 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_603 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4275 ((NI) 1943),
4276 ((NI) 25)}
4277 ;
4278 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_604, "type expected, but symbol \'$1\' has no type.", 43);
4279 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_605 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4280 ((NI) 1958),
4281 ((NI) 20)}
4282 ;
4283 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_606, "type expected, but got symbol \'$1\' of kind \'$2\'", 47);
4284 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_607 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4285 ((NI) 1960),
4286 ((NI) 20)}
4287 ;
4288 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_608 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4289 ((NI) 1614),
4290 ((NI) 19)}
4291 ;
4292 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_609 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4293 ((NI) 209),
4294 ((NI) 16)}
4295 ;
4296 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_610, "semtypes.nim(1654, 22) `r[0].kind == nkSym` ", 44);
4297 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_611, "semtypes.nim(1659, 27) `false` cannot happen", 44);
4298 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_612 = {
4299 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4300 0x00, 0x08, 0x20, 0x00, 0x00, 0x60, 0x00, 0x00,
4301 0x00, 0xc8, 0xff, 0x01, 0x00, 0x40, 0x38, 0x00,
4302 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
4303 0x00, 0x00, 0x00, 0x00, 0x00}
4304 ;
4305 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_613 = {
4306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4307 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4308 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x00,
4309 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4310 0x00, 0x00, 0x00, 0x00, 0x00}
4311 ;
4312 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_614, "inheritance only works with an enum", 35);
4313 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_615 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4314 ((NI) 72),
4315 ((NI) 16)}
4316 ;
4317 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_616 = {
4318 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4319 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4320 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4321 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4322 0x00, 0x00, 0x00, 0x00, 0x00}
4323 ;
4324 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_617, "ordinal type expected; given: ", 30);
4325 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_618 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4326 ((NI) 98),
4327 ((NI) 24)}
4328 ;
4329 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_619 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4330 ((NI) 102),
4331 ((NI) 22)}
4332 ;
4333 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_620, "wrong number of variables", 25);
4334 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_621 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4335 ((NI) 104),
4336 ((NI) 20)}
4337 ;
4338 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_622 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4339 ((NI) 110),
4340 ((NI) 20)}
4341 ;
4342 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_623, "invalid order in enum \'$1\'", 26);
4343 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_624 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4344 ((NI) 116),
4345 ((NI) 20)}
4346 ;
4347 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_625, "type expected, but got: ", 24);
4348 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_626 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4349 ((NI) 1996),
4350 ((NI) 14)}
4351 ;
4352 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_627 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
4353 ((NI) 449),
4354 ((NI) 18)}
4355 ;
4356 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_628 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
4357 ((NI) 501),
4358 ((NI) 11)}
4359 ;
4360 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_629 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4361 ((NI) 1246),
4362 ((NI) 21)}
4363 ;
4364 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_630, "illegal context for \'nimvm\' magic", 33);
4365 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_631 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4366 ((NI) 1250),
4367 ((NI) 16)}
4368 ;
4369 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_632 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4370 ((NI) 1260),
4371 ((NI) 13)}
4372 ;
4373 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_633 = {
4374 0x10, 0x08, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
4375 0x00}
4376 ;
4377 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_634, "semexprs.nim(1294, 22) `f == s` ", 32);
4378 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_635, "bind is deprecated", 18);
4379 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_636 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4380 ((NI) 2857),
4381 ((NI) 11)}
4382 ;
4383 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_637, "a type conversion takes exactly one argument", 44);
4384 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_638 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4385 ((NI) 264),
4386 ((NI) 14)}
4387 ;
4388 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_639 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4389 ((NI) 272),
4390 ((NI) 19)}
4391 ;
4392 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_640 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4393 ((NI) 863),
4394 ((NI) 14)}
4395 ;
4396 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_641, ":anon", 5);
4397 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_642, "object construction uses \':\', not \'=\'", 37);
4398 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_643 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4399 ((NI) 306),
4400 ((NI) 14)}
4401 ;
4402 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_644 = {
4403 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
4404 0x00}
4405 ;
4406 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_645 = {
4407 0x10, 0xa8, 0x80, 0x00, 0x00, 0xc0, 0x80, 0x00,
4408 0x00}
4409 ;
4410 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_646 = {
4411 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
4412 0x00}
4413 ;
4414 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_647, "suspicious code: enum to enum conversion", 40);
4415 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_648 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4416 ((NI) 171),
4417 ((NI) 13)}
4418 ;
4419 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_649 = {
4420 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
4421 0x00}
4422 ;
4423 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_650 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4424 ((NI) 333),
4425 ((NI) 13)}
4426 ;
4427 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_651, "illegal conversion from \'$1\' to \'$2\'", 36);
4428 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_652 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4429 ((NI) 337),
4430 ((NI) 18)}
4431 ;
4432 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_653, " can\'t be converted to ", 23);
4433 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_654 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4434 ((NI) 342),
4435 ((NI) 16)}
4436 ;
4437 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_655, "object constructor needs an object type", 39);
4438 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_656 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4439 ((NI) 384),
4440 ((NI) 25)}
4441 ;
4442 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_657 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4443 ((NI) 395),
4444 ((NI) 25)}
4445 ;
4446 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_658, "The $1 type requires the following fields to be initialized: $2.", 64);
4447 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_659 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4448 ((NI) 409),
4449 ((NI) 14)}
4450 ;
4451 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_660, "field initialized twice: \'$1\'", 29);
4452 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_661 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4453 ((NI) 429),
4454 ((NI) 20)}
4455 ;
4456 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_662 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4457 ((NI) 434),
4458 ((NI) 16)}
4459 ;
4460 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_663, "identifier expected, but got: ", 30);
4461 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_664 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4462 ((NI) 1966),
4463 ((NI) 14)}
4464 ;
4465 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_666, "\'is\' operator takes 2 arguments", 31);
4466 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_667 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4467 ((NI) 462),
4468 ((NI) 14)}
4469 ;
4470 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_668 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4471 ((NI) 414),
4472 ((NI) 17)}
4473 ;
4474 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_669, "closure", 7);
4475 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_670, "iterator", 8);
4476 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_671, "expected a template that takes ", 31);
4477 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_672, " arguments", 10);
4478 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_673 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4479 ((NI) 2032),
4480 ((NI) 16)}
4481 ;
4482 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_674, "ambiguous symbol in \'getAst\' context: ", 38);
4483 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_675 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4484 ((NI) 2034),
4485 ((NI) 16)}
4486 ;
4487 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_676, "getAst takes a call, but got ", 29);
4488 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_677 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4489 ((NI) 2044),
4490 ((NI) 14)}
4491 ;
4492 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_678 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4493 ((NI) 2046),
4494 ((NI) 17)}
4495 ;
4496 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_679, "\'quote\' expects 1 or 2 arguments", 32);
4497 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_680 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4498 ((NI) 2099),
4499 ((NI) 14)}
4500 ;
4501 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_681 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4502 ((NI) 2000),
4503 ((NI) 14)}
4504 ;
4505 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_682, "``", 2);
4506 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
4507 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_683, "block", 5);
4508 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_684 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4509 ((NI) 2114),
4510 ((NI) 14)}
4511 ;
4512 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_685, "untyped", 7);
4513 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_686, "!=", 2);
4514 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_687, ">=", 2);
4515 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_688, ">", 1);
4516 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_689, "incl", 4);
4517 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_690, "excl", 4);
4518 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_691, "notin", 5);
4519 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_692, "isnot", 5);
4520 N_LIB_PRIVATE NIM_CONST tyArray__Q6RksR9bl1dCf8jl3HeN9bXg names__sem_7688 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_686),
4521 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_687),
4522 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_688),
4523 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_689),
4524 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_690),
4525 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_124),
4526 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_691),
4527 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_692)}
4528 ;
4529 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_693, "vm", 2);
4530 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_694, "stackTrace", 10);
4531 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_695 = {
4532 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4533 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x05,
4534 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4535 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00,
4536 0x00, 0x00, 0x00, 0x00, 0x00}
4537 ;
4538 extern TNimType NTItspecialword__ycbpMCRV6Cd2eBh3X9biEiw_;
4539 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_696 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
4540 ((NI) 681),
4541 ((NI) 16)}
4542 ;
4543 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_697 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
4544 ((NI) 683),
4545 ((NI) 14)}
4546 ;
4547 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_698, "newIdentNode", 12);
4548 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_699, "getAst", 6);
4549 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_700, "use the {.experimental.} pragma to enable \'parallel\'", 52);
4550 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_701 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4551 ((NI) 2307),
4552 ((NI) 16)}
4553 ;
4554 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_702, "\'spawn\' takes a call expression; got: ", 38);
4555 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_703 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4556 ((NI) 2324),
4557 ((NI) 29)}
4558 ;
4559 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_704, "FlowVar", 7);
4560 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_705, "nimCreateFlowVar", 16);
4561 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_706, "system needs: nimCreateFlowVar", 30);
4562 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_707 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4563 ((NI) 2237),
4564 ((NI) 14)}
4565 ;
4566 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_709, "sizeof", 6);
4567 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_710 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4568 ((NI) 2255),
4569 ((NI) 14)}
4570 ;
4571 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_711 = {
4572 0x10, 0x88, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
4573 0x00}
4574 ;
4575 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_712 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4576 ((NI) 985),
4577 ((NI) 19)}
4578 ;
4579 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_713, ">\012but expected one of:\012", 23);
4580 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_714, " = ", 3);
4581 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_715 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4582 ((NI) 1010),
4583 ((NI) 20)}
4584 ;
4585 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_716, ":tmp", 4);
4586 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_717, "named expression expected", 25);
4587 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_718 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4588 ((NI) 2525),
4589 ((NI) 20)}
4590 ;
4591 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_719, "named expression not allowed here", 33);
4592 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_720 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4593 ((NI) 2529),
4594 ((NI) 20)}
4595 ;
4596 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_721, "Mixing types and values in tuples is not allowed.", 49);
4597 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_722 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4598 ((NI) 2658),
4599 ((NI) 29)}
4600 ;
4601 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_723 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4602 ((NI) 2542),
4603 ((NI) 16)}
4604 ;
4605 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_724, "typedesc not allowed as tuple field.", 36);
4606 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_725 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4607 ((NI) 2546),
4608 ((NI) 16)}
4609 ;
4610 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_726 = {
4611 0x10, 0x88, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
4612 0x00}
4613 ;
4614 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_727 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4615 ((NI) 2466),
4616 ((NI) 16)}
4617 ;
4618 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_728, "expected ordinal value for array ", 33);
4619 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_729, "index, got \'$1\'", 15);
4620 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_730 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4621 ((NI) 600),
4622 ((NI) 18)}
4623 ;
4624 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_731, "size of array exceeds range of index ", 37);
4625 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_732, "type \'$1\' by $2 elements", 24);
4626 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_733 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4627 ((NI) 617),
4628 ((NI) 18)}
4629 ;
4630 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_734, "invalid order in array constructor", 34);
4631 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_735 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4632 ((NI) 625),
4633 ((NI) 20)}
4634 ;
4635 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_736 = {
4636 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4637 0x00, 0x08, 0x20, 0x00, 0x00, 0xf8, 0x09, 0x00,
4638 0x00, 0xc0, 0xff, 0x01, 0x00, 0x40, 0x38, 0x00,
4639 0x06, 0x00, 0x80, 0x24, 0x00, 0x00, 0x00, 0x00,
4640 0x00, 0x00, 0x00, 0x00, 0x00}
4641 ;
4642 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_737, "cannot cast to a non concrete type: \'$1\'", 40);
4643 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_738 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4644 ((NI) 361),
4645 ((NI) 14)}
4646 ;
4647 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_739 = {
4648 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00,
4649 0x00}
4650 ;
4651 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_740 = {
4652 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
4653 0x00}
4654 ;
4655 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_741, "expression cannot be cast to ", 29);
4656 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_742 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4657 ((NI) 366),
4658 ((NI) 14)}
4659 ;
4660 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_743, "==", 2);
4661 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_744, "cannot infer the concept parameter \'%s\', due to a type mismatch. ", 65);
4662 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_745, "attempt to equate \'%s\' and \'%s\'.", 32);
4663 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_746 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4664 ((NI) 2287),
4665 ((NI) 14)}
4666 ;
4667 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_747, "concept predicate failed", 24);
4668 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_748 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4669 ((NI) 2323),
4670 ((NI) 20)}
4671 ;
4672 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_749 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4673 ((NI) 2343),
4674 ((NI) 21)}
4675 ;
4676 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_750 = {
4677 0x10, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
4678 0x00}
4679 ;
4680 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_751, "only a \'ref object\' can be raised", 33);
4681 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_752 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4682 ((NI) 1060),
4683 ((NI) 18)}
4684 ;
4685 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_753, "raised object of type $1 does not inherit from Exception", 56);
4686 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_754 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4687 ((NI) 1062),
4688 ((NI) 18)}
4689 ;
4690 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_755, "ambiguous identifier: \'", 23);
4691 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_756, " -- use one of the following:\012", 30);
4692 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_757, "  ", 2);
4693 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_758 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4694 ((NI) 508),
4695 ((NI) 12)}
4696 ;
4697 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_759 = {
4698 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10,
4699 0x00}
4700 ;
4701 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_760, "cannot infer the type of the $1", 31);
4702 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_761 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4703 ((NI) 555),
4704 ((NI) 20)}
4705 ;
4706 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_762, "\'$1\' doesn\'t have a concrete type, due to unspecified generic parameters.", 73);
4707 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_763 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4708 ((NI) 558),
4709 ((NI) 20)}
4710 ;
4711 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_764, "tuple", 5);
4712 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_765 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4713 ((NI) 578),
4714 ((NI) 18)}
4715 ;
4716 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_766 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4717 ((NI) 580),
4718 ((NI) 18)}
4719 ;
4720 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_767 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4721 ((NI) 590),
4722 ((NI) 13)}
4723 ;
4724 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_768, "implicit object field construction requires a .partial object, but got ", 71);
4725 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_769 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4726 ((NI) 436),
4727 ((NI) 16)}
4728 ;
4729 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_770, "nkDotNode requires 2 children", 29);
4730 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_771 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4731 ((NI) 439),
4732 ((NI) 14)}
4733 ;
4734 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_772, "_", 1);
4735 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_773 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4736 ((NI) 612),
4737 ((NI) 21)}
4738 ;
4739 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_774, "a thread var cannot be initialized explicitly; this would only run for the main thread", 86);
4740 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_775 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4741 ((NI) 615),
4742 ((NI) 44)}
4743 ;
4744 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_776, "inconsistent typing for reintroduced symbol \'", 45);
4745 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_777, "\': previous type was: ", 22);
4746 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_778, "; new type is: ", 15);
4747 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_779 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4748 ((NI) 443),
4749 ((NI) 14)}
4750 ;
4751 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_780 = {
4752 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
4753 0x00}
4754 ;
4755 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_781, "The $1 type doesn\'t have a default value. The following fields must be initialized: $2.", 87);
4756 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_782 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4757 ((NI) 370),
4758 ((NI) 16)}
4759 ;
4760 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_783, "The $1 distinct type doesn\'t have a default value.", 50);
4761 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_784 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4762 ((NI) 373),
4763 ((NI) 14)}
4764 ;
4765 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_785 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4766 ((NI) 338),
4767 ((NI) 13)}
4768 ;
4769 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_786 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4770 ((NI) 340),
4771 ((NI) 13)}
4772 ;
4773 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_787, "\'let\' symbol requires an initialization", 39);
4774 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_788 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4775 ((NI) 655),
4776 ((NI) 20)}
4777 ;
4778 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_789 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4779 ((NI) 661),
4780 ((NI) 15)}
4781 ;
4782 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_790 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4783 ((NI) 291),
4784 ((NI) 18)}
4785 ;
4786 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_791 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4787 ((NI) 700),
4788 ((NI) 16)}
4789 ;
4790 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_792 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4791 ((NI) 710),
4792 ((NI) 18)}
4793 ;
4794 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_793 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4795 ((NI) 712),
4796 ((NI) 18)}
4797 ;
4798 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_794, "unknown package name: ", 22);
4799 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_795 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4800 ((NI) 1089),
4801 ((NI) 16)}
4802 ;
4803 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_796, " is not a type that can be forwarded", 36);
4804 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_797 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4805 ((NI) 1105),
4806 ((NI) 18)}
4807 ;
4808 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_798, "only top level types in a package can be \'package\'", 50);
4809 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_799 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4810 ((NI) 1123),
4811 ((NI) 18)}
4812 ;
4813 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_800, "cannot complete type \'", 22);
4814 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_801, "\' twice; previous type completion was here: ", 44);
4815 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_802 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4816 ((NI) 1131),
4817 ((NI) 22)}
4818 ;
4819 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_803 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4820 ((NI) 1232),
4821 ((NI) 16)}
4822 ;
4823 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_804, "auto", 4);
4824 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_805, "lent", 4);
4825 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_806, "sink", 4);
4826 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_807 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4827 ((NI) 2101),
4828 ((NI) 20)}
4829 ;
4830 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_808 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4831 ((NI) 2102),
4832 ((NI) 18)}
4833 ;
4834 N_LIB_PRIVATE TNimType NTIobject__pOSGedHS6i9aexCYZEItHgQ_;
4835 N_LIB_PRIVATE TNimType NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_;
4836 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_813, "non-invariant type param used in a proc type: ", 46);
4837 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_814 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4838 ((NI) 1181),
4839 ((NI) 13)}
4840 ;
4841 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_816, "covariant param \'", 17);
4842 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_817, "\' used in a non-covariant position", 34);
4843 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_818 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4844 ((NI) 1192),
4845 ((NI) 19)}
4846 ;
4847 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_819, "contravariant param \'", 21);
4848 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_820, "\' used in a non-contravariant position", 38);
4849 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_821 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4850 ((NI) 1200),
4851 ((NI) 19)}
4852 ;
4853 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_823, "non-invariant type parameters cannot be used with types such \'", 62);
4854 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_824 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4855 ((NI) 1206),
4856 ((NI) 11)}
4857 ;
4858 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_825, "non-invariant type parameters are not supported in concepts", 59);
4859 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_826 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4860 ((NI) 1208),
4861 ((NI) 11)}
4862 ;
4863 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_830 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4864 ((NI) 1218),
4865 ((NI) 21)}
4866 ;
4867 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_832, "{.exportc.} not allowed for type aliases", 40);
4868 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_833 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4869 ((NI) 1298),
4870 ((NI) 16)}
4871 ;
4872 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_834 = {
4873 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4874 0x00}
4875 ;
4876 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_835, "only a \'distinct\' type can borrow `.`", 37);
4877 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_836 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4878 ((NI) 1302),
4879 ((NI) 16)}
4880 ;
4881 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_837 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4882 ((NI) 1309),
4883 ((NI) 21)}
4884 ;
4885 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_838 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4886 ((NI) 1310),
4887 ((NI) 21)}
4888 ;
4889 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_839, ":ObjectType", 11);
4890 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_840, "\'$1\' is not a concrete type; for a callback without parameters use \'proc()\'", 75);
4891 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_841 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4892 ((NI) 1334),
4893 ((NI) 18)}
4894 ;
4895 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_842 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4896 ((NI) 1337),
4897 ((NI) 18)}
4898 ;
4899 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_843 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4900 ((NI) 1356),
4901 ((NI) 19)}
4902 ;
4903 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_844, "statement returns no value that can be discarded", 48);
4904 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_845 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4905 ((NI) 48),
4906 ((NI) 16)}
4907 ;
4908 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_846, "illegal discard proc, did you mean: ", 36);
4909 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_847 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4910 ((NI) 51),
4911 ((NI) 16)}
4912 ;
4913 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_848 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4914 ((NI) 193),
4915 ((NI) 16)}
4916 ;
4917 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_849, "exception already handled", 25);
4918 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_850 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4919 ((NI) 196),
4920 ((NI) 16)}
4921 ;
4922 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_851, "Mix of imported and native exception types is not allowed in one except branch", 78);
4923 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_852 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4924 ((NI) 247),
4925 ((NI) 20)}
4926 ;
4927 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_853, "Only one finally is allowed after all other branches", 52);
4928 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_854 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4929 ((NI) 251),
4930 ((NI) 18)}
4931 ;
4932 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_855, "Only one general except clause is allowed after more specific exceptions", 72);
4933 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_856 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4934 ((NI) 259),
4935 ((NI) 16)}
4936 ;
4937 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_857, "invalid control flow: $1", 24);
4938 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_858 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4939 ((NI) 72),
4940 ((NI) 18)}
4941 ;
4942 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_859, "\'continue\' cannot have a label", 30);
4943 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_860 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4944 ((NI) 74),
4945 ((NI) 16)}
4946 ;
4947 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_861 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4948 ((NI) 76),
4949 ((NI) 14)}
4950 ;
4951 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_862 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4952 ((NI) 881),
4953 ((NI) 22)}
4954 ;
4955 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_863, "ForLoopStmt", 11);
4956 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_864, "expression \'$1\' has no type (or is ambiguous)", 45);
4957 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_865 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4958 ((NI) 102),
4959 ((NI) 14)}
4960 ;
4961 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_866 = {
4962 0x10, 0x08, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
4963 0x00}
4964 ;
4965 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_867 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4966 ((NI) 763),
4967 ((NI) 31)}
4968 ;
4969 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_868 = {
4970 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4971 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4972 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4973 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
4974 0x00, 0x00, 0x00, 0x00, 0x00}
4975 ;
4976 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_869 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4977 ((NI) 790),
4978 ((NI) 16)}
4979 ;
4980 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_870 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4981 ((NI) 792),
4982 ((NI) 14)}
4983 ;
4984 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_871 = {
4985 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
4986 0x00}
4987 ;
4988 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_872 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4989 ((NI) 808),
4990 ((NI) 20)}
4991 ;
4992 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_873, "true", 4);
4993 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_874, "system needs: \'true\'", 20);
4994 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_876, "/home/runner/work/nightlies/nightlies/nim/compiler/semfields.nim", 64);
4995 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_875 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
4996 ((NI) 111),
4997 ((NI) 14)}
4998 ;
4999 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_877 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
5000 ((NI) 121),
5001 ((NI) 14)}
5002 ;
5003 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_878 = {
5004 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0xb0, 0x00,
5005 0x00}
5006 ;
5007 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_879, "no object or tuple type", 23);
5008 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_880 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
5009 ((NI) 127),
5010 ((NI) 14)}
5011 ;
5012 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_881, "Field", 5);
5013 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_882, "\'continue\' not supported in a \'fields\' loop", 43);
5014 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_883 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
5015 ((NI) 53),
5016 ((NI) 16)}
5017 ;
5018 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_884, "parallel \'fields\' iterator does not work for \'case\' objects", 59);
5019 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_885 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
5020 ((NI) 81),
5021 ((NI) 16)}
5022 ;
5023 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__rF9caJawfOjYTjsgLVUSGFA_886 = {
5024 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5025 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
5026 0x00, 0x00, 0x00, 0x00, 0x00}
5027 ;
5028 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_887, "items", 5);
5029 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_888, "pairs", 5);
5030 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_889, "iterator within for loop context expected", 41);
5031 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_890 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5032 ((NI) 956),
5033 ((NI) 16)}
5034 ;
5035 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_891, "case", 4);
5036 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_892, "selector must be of an ordinal type, float or string", 52);
5037 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_893 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5038 ((NI) 994),
5039 ((NI) 14)}
5040 ;
5041 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_894 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5042 ((NI) 1022),
5043 ((NI) 15)}
5044 ;
5045 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_895 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5046 ((NI) 1031),
5047 ((NI) 16)}
5048 ;
5049 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_896 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5050 ((NI) 1034),
5051 ((NI) 16)}
5052 ;
5053 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_897, "no return type declared", 23);
5054 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_898 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5055 ((NI) 1834),
5056 ((NI) 18)}
5057 ;
5058 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_899, "\'return\' not allowed here", 25);
5059 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_900 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5060 ((NI) 1841),
5061 ((NI) 14)}
5062 ;
5063 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_901, "using", 5);
5064 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_902 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5065 ((NI) 360),
5066 ((NI) 34)}
5067 ;
5068 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_903, "\'using\' section must have a type", 32);
5069 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_904 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5070 ((NI) 376),
5071 ((NI) 16)}
5072 ;
5073 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_905, "\'using\' sections cannot contain assignments", 43);
5074 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_906 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5075 ((NI) 379),
5076 ((NI) 16)}
5077 ;
5078 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_907, "\'yield\' only allowed in an iterator", 35);
5079 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_908 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5080 ((NI) 1911),
5081 ((NI) 14)}
5082 ;
5083 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_909, "semYield", 8);
5084 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_910 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5085 ((NI) 1919),
5086 ((NI) 39)}
5087 ;
5088 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_911, "tuple constructor", 17);
5089 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_912 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5090 ((NI) 1900),
5091 ((NI) 20)}
5092 ;
5093 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_913, "current routine cannot return an expression", 43);
5094 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_914 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5095 ((NI) 1929),
5096 ((NI) 16)}
5097 ;
5098 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_915, "yield statement must yield a value", 34);
5099 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_916 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5100 ((NI) 1931),
5101 ((NI) 14)}
5102 ;
5103 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_917 = {
5104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5105 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x1f,
5106 0xff, 0x07, 0x00, 0xf8, 0x9f, 0x3b, 0xc4, 0x33,
5107 0x39, 0xf1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
5108 0x20, 0x00, 0x00, 0x00, 0x00}
5109 ;
5110 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_918 = {
5111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5112 0x00, 0x04, 0x20, 0x50, 0x1f, 0x6a, 0x00, 0x05,
5113 0x00, 0xc4, 0xff, 0x01, 0x00, 0x40, 0x38, 0x00,
5114 0xc0, 0x00, 0x06, 0x20, 0x00, 0x40, 0x00, 0x00,
5115 0x00, 0x00, 0x00, 0x00, 0x00}
5116 ;
5117 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_919, "iterator needs a return type", 28);
5118 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_920 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5119 ((NI) 2111),
5120 ((NI) 14)}
5121 ;
5122 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_921 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5123 ((NI) 2120),
5124 ((NI) 14)}
5125 ;
5126 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_922 = {
5127 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5128 0x00, 0x0c, 0x20, 0xd5, 0x1f, 0xfa, 0x7b, 0x05,
5129 0x60, 0xcc, 0xff, 0x01, 0x20, 0x40, 0x38, 0x80,
5130 0xc6, 0x00, 0x86, 0x24, 0x03, 0x40, 0x00, 0x00,
5131 0x00, 0x00, 0x00, 0x00, 0x00}
5132 ;
5133 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_923 = {
5134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5135 0x00, 0x08, 0x20, 0x00, 0x00, 0xf8, 0x09, 0x00,
5136 0x00, 0xc0, 0xff, 0x01, 0x00, 0x40, 0x38, 0x00,
5137 0x06, 0x00, 0x80, 0x24, 0x00, 0x00, 0x00, 0x00,
5138 0x00, 0x00, 0x00, 0x00, 0x00}
5139 ;
5140 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_924, "method", 6);
5141 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_925 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5142 ((NI) 2134),
5143 ((NI) 34)}
5144 ;
5145 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_926 = {
5146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5147 0x00, 0x0c, 0x20, 0xc5, 0x1f, 0xfa, 0xfb, 0x05,
5148 0x60, 0xcc, 0xff, 0x01, 0x20, 0x40, 0x38, 0x80,
5149 0xc6, 0x00, 0x86, 0x24, 0x03, 0x40, 0x00, 0x00,
5150 0x00, 0x00, 0x00, 0x00, 0x00}
5151 ;
5152 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_927, "converter", 9);
5153 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_928 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5154 ((NI) 2155),
5155 ((NI) 34)}
5156 ;
5157 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_929, "$1 needs a return type", 22);
5158 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_930 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5159 ((NI) 2166),
5160 ((NI) 28)}
5161 ;
5162 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_931, "a converter takes exactly one argument", 38);
5163 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_932 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5164 ((NI) 2167),
5165 ((NI) 27)}
5166 ;
5167 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_933 = {
5168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5169 0x00, 0x04, 0x00, 0x54, 0x1f, 0x22, 0x30, 0x05,
5170 0x00, 0xc4, 0xff, 0x01, 0x20, 0x00, 0x00, 0x00,
5171 0x80, 0x00, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00,
5172 0x00, 0x00, 0x00, 0x00, 0x00}
5173 ;
5174 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_934 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5175 ((NI) 2187),
5176 ((NI) 14)}
5177 ;
5178 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_935, "import", 6);
5179 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_936 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5180 ((NI) 3034),
5181 ((NI) 16)}
5182 ;
5183 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_937 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5184 ((NI) 3037),
5185 ((NI) 36)}
5186 ;
5187 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_938, "from", 4);
5188 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_939 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5189 ((NI) 3040),
5190 ((NI) 36)}
5191 ;
5192 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_940, "/", 1);
5193 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_941, "Cannot use \'", 12);
5194 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_942, "\' in \'include\'.", 15);
5195 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_943 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5196 ((NI) 2207),
5197 ((NI) 16)}
5198 ;
5199 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_944, "include", 7);
5200 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_945 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5201 ((NI) 2195),
5202 ((NI) 16)}
5203 ;
5204 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_946 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5205 ((NI) 3046),
5206 ((NI) 36)}
5207 ;
5208 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_947, "cannot export: ", 15);
5209 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_948 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5210 ((NI) 2619),
5211 ((NI) 16)}
5212 ;
5213 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_949, "; enum field cannot be exported individually", 44);
5214 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_950 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5215 ((NI) 2632),
5216 ((NI) 20)}
5217 ;
5218 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_951, "rawImportSymbol", 15);
5219 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_952 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5220 ((NI) 2645),
5221 ((NI) 31)}
5222 ;
5223 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_953 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5224 ((NI) 3049),
5225 ((NI) 36)}
5226 ;
5227 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_954, "The export/except syntax expects a module name", 46);
5228 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_955 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5229 ((NI) 2594),
5230 ((NI) 14)}
5231 ;
5232 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_956 = {
5233 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5234 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x80,
5235 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
5236 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
5237 0x00, 0x00, 0x00, 0x00, 0x00}
5238 ;
5239 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_957, "invalid pragma block: ", 22);
5240 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_958 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5241 ((NI) 2240),
5242 ((NI) 18)}
5243 ;
5244 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_959, "defer statement not supported at top level", 42);
5245 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_960 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5246 ((NI) 3057),
5247 ((NI) 16)}
5248 ;
5249 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_961, "\'defer\' takes a \'void\' expression", 33);
5250 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_962 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5251 ((NI) 3060),
5252 ((NI) 16)}
5253 ;
5254 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_963, "invalid context for \'bind\' statement: ", 38);
5255 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_964 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5256 ((NI) 3073),
5257 ((NI) 16)}
5258 ;
5259 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_965, "invalid expression: ", 20);
5260 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_966 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5261 ((NI) 3076),
5262 ((NI) 14)}
5263 ;
5264 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_967 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5265 ((NI) 78),
5266 ((NI) 14)}
5267 ;
5268 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_968 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5269 ((NI) 90),
5270 ((NI) 14)}
5271 ;
5272 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_969 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5273 ((NI) 371),
5274 ((NI) 14)}
5275 ;
5276 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_970 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5277 ((NI) 382),
5278 ((NI) 18)}
5279 ;
5280 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_971 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5281 ((NI) 385),
5282 ((NI) 18)}
5283 ;
5284 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_972 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5285 ((NI) 59),
5286 ((NI) 16)}
5287 ;
5288 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_973 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5289 ((NI) 64),
5290 ((NI) 14)}
5291 ;
5292 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_974, "cannot infer type of parameter: ", 32);
5293 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_975 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5294 ((NI) 1606),
5295 ((NI) 16)}
5296 ;
5297 extern TNimType NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_;
5298 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_979 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5299 ((NI) 1408),
5300 ((NI) 22)}
5301 ;
5302 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_980, "echo", 4);
5303 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_981, "system needs: echo", 18);
5304 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_982 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5305 ((NI) 1058),
5306 ((NI) 29)}
5307 ;
5308 extern TNimType NTIesuggestdone__cDtWY9cE7zf8BAC5QcEZZkQ_;
5309 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_985 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5310 ((NI) 674),
5311 ((NI) 13)}
5312 ;
5313 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_986, "n is not nil", 12);
5314 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_987 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5315 ((NI) 685),
5316 ((NI) 17)}
5317 ;
5318 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_988, "no code for ", 12);
5319 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_989 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5320 ((NI) 545),
5321 ((NI) 21)}
5322 ;
5323 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5247;
5324 extern TSafePoint* excHandler__system_2565;
5325 extern TSafePoint* excHandler__system_2565;
5326 extern TSafePoint* excHandler__system_2565;
5327 extern TSafePoint* excHandler__system_2565;
5328 extern Exception* currException__system_2566;
5329 extern Exception* currException__system_2566;
5330 extern Exception* currException__system_2566;
5331 extern Exception* currException__system_2566;
5332 static TNimType* Nim_OfCheck_CACHE985[2];
N_INLINE(NI,pluspercent___system_696)5333 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
5334 	NI result;
5335 	result = (NI)0;
5336 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
5337 	return result;
5338 }
N_INLINE(void,incRef__system_5338)5339 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
5340 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
5341 }
N_INLINE(NI,minuspercent___system_716)5342 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
5343 	NI result;
5344 	result = (NI)0;
5345 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
5346 	return result;
5347 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5300)5348 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
5349 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
5350 	NI T1_;
5351 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
5352 	T1_ = (NI)0;
5353 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
5354 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
5355 	return result;
5356 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)5357 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
5358 	NIM_BOOL result;
5359 	result = (NIM_BOOL)0;
5360 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
5361 	return result;
5362 }
N_INLINE(void,rtlAddZCT__system_5343)5363 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
5364 	addZCT__system_5294((&gch__system_5247.zct), c);
5365 }
N_INLINE(void,decRef__system_5345)5366 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
5367 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
5368 	{
5369 		NIM_BOOL T3_;
5370 		T3_ = (NIM_BOOL)0;
5371 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
5372 		if (!T3_) goto LA4_;
5373 		rtlAddZCT__system_5343(c);
5374 	}
5375 	LA4_: ;
5376 }
N_INLINE(void,asgnRef)5377 static N_INLINE(void, asgnRef)(void** dest, void* src) {
5378 	{
5379 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
5380 		if (!!((src == NIM_NIL))) goto LA3_;
5381 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
5382 		T5_ = usrToCell__system_5300(src);
5383 		incRef__system_5338(T5_);
5384 	}
5385 	LA3_: ;
5386 	{
5387 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
5388 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
5389 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
5390 		T10_ = usrToCell__system_5300((*dest));
5391 		decRef__system_5345(T10_);
5392 	}
5393 	LA8_: ;
5394 	(*dest) = src;
5395 }
N_INLINE(void,nimSetMem__systemZmemory_7)5396 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
5397 	void* T1_;
5398 	T1_ = (void*)0;
5399 	T1_ = memset(a, v, ((size_t) (size)));
5400 }
N_INLINE(void,nimZeroMem)5401 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
5402 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
5403 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)5404 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
5405 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
5406 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5407 	(*x).typeId_0 += ((NI) 1);
5408 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5409 	result.module = (*x).module;
5410 	result.item = (*x).typeId_0;
5411 	return result;
5412 }
N_INLINE(NI,len__ast_3198)5413 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5414 	NI result;
5415 	NI T1_;
5416 	result = (NI)0;
5417 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
5418 	result = T1_;
5419 	return result;
5420 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,getCallLineInfo__sem_2390)5421 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getCallLineInfo__sem_2390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5422 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
5423 {	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
5424 	switch ((*n).kind) {
5425 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
5426 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
5427 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
5428 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
5429 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
5430 	{
5431 		{
5432 			NI T4_;
5433 			T4_ = (NI)0;
5434 			T4_ = len__ast_3198(n);
5435 			if (!(((NI) 0) < T4_)) goto LA5_;
5436 			result = getCallLineInfo__sem_2390((*n)._kind_6.sons->data[((NI) 0)]);
5437 			goto BeforeRet_;
5438 		}
5439 		LA5_: ;
5440 	}
5441 	break;
5442 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
5443 	{
5444 		{
5445 			NI T10_;
5446 			T10_ = (NI)0;
5447 			T10_ = len__ast_3198(n);
5448 			if (!(((NI) 1) < T10_)) goto LA11_;
5449 			result = getCallLineInfo__sem_2390((*n)._kind_6.sons->data[((NI) 1)]);
5450 			goto BeforeRet_;
5451 		}
5452 		LA11_: ;
5453 	}
5454 	break;
5455 	default:
5456 	{
5457 	}
5458 	break;
5459 	}
5460 	result = (*n).info;
5461 	}BeforeRet_: ;
5462 	return result;
5463 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,symChoice__sem_6586)5464 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, symChoice__sem_6586)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA r, NIM_BOOL isField) {
5465 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5466 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a;
5467 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
5468 	NI i;
5469 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
5470 	result = NIM_NIL;
5471 	a = NIM_NIL;
5472 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
5473 	i = ((NI) 0);
5474 	a = initOverloadIter__lookups_1374((&o), c, n);
5475 	{
5476 		while (1) {
5477 			if (!!((a == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
5478 			{
5479 				if (!!(((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA5_;
5480 				i += ((NI) 1);
5481 				{
5482 					if (!(((NI) 1) < i)) goto LA9_;
5483 					goto LA1;
5484 				}
5485 				LA9_: ;
5486 			}
5487 			LA5_: ;
5488 			a = nextOverloadIter__lookups_1528((&o), c, n);
5489 		} LA2: ;
5490 	} LA1: ;
5491 	info = getCallLineInfo__sem_2390(n);
5492 	{
5493 		NIM_BOOL T13_;
5494 		T13_ = (NIM_BOOL)0;
5495 		T13_ = (i <= ((NI) 1));
5496 		if (!(T13_)) goto LA14_;
5497 		T13_ = !((r == ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2)));
5498 		LA14_: ;
5499 		if (!T13_) goto LA15_;
5500 		{
5501 			NIM_BOOL T19_;
5502 			T19_ = (NIM_BOOL)0;
5503 			T19_ = !(isField);
5504 			if (T19_) goto LA20_;
5505 			T19_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
5506 			LA20_: ;
5507 			if (!T19_) goto LA21_;
5508 			result = newSymNode__ast_3719(s, info);
5509 			markUsed__sigmatch_85(c, info, s);
5510 		}
5511 		goto LA17_;
5512 		LA21_: ;
5513 		{
5514 			result = n;
5515 		}
5516 		LA17_: ;
5517 	}
5518 	goto LA11_;
5519 	LA15_: ;
5520 	{
5521 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
5522 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_;
5523 		{
5524 			NIM_BOOL T27_;
5525 			T27_ = (NIM_BOOL)0;
5526 			T27_ = (r == ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0));
5527 			if (T27_) goto LA28_;
5528 			T27_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
5529 			LA28_: ;
5530 			if (!T27_) goto LA29_;
5531 			kind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56);
5532 		}
5533 		goto LA25_;
5534 		LA29_: ;
5535 		{
5536 			kind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57);
5537 		}
5538 		LA25_: ;
5539 		T32_ = NIM_NIL;
5540 		T32_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
5541 		result = newNodeIT__ast_3378(kind, info, T32_);
5542 		a = initOverloadIter__lookups_1374((&o), c, n);
5543 		{
5544 			while (1) {
5545 				if (!!((a == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34;
5546 				{
5547 					NIM_BOOL T37_;
5548 					NIM_BOOL T39_;
5549 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
5550 					T37_ = (NIM_BOOL)0;
5551 					T37_ = !(((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
5552 					if (!(T37_)) goto LA38_;
5553 					T39_ = (NIM_BOOL)0;
5554 					T39_ = !(isField);
5555 					if (T39_) goto LA40_;
5556 					T39_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
5557 					LA40_: ;
5558 					T37_ = T39_;
5559 					LA38_: ;
5560 					if (!T37_) goto LA41_;
5561 					(*a).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
5562 					markOwnerModuleAsUsed__sigmatch_89(c, a);
5563 					T43_ = NIM_NIL;
5564 					T43_ = newSymNode__ast_3719(a, info);
5565 					add__ast_4797(result, T43_);
5566 				}
5567 				LA41_: ;
5568 				a = nextOverloadIter__lookups_1528((&o), c, n);
5569 			} LA34: ;
5570 		}
5571 	}
5572 	LA11_: ;
5573 	return result;
5574 }
N_INLINE(void,markIndirect__semdata_1060)5575 static N_INLINE(void, markIndirect__semdata_1060)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
5576 	{
5577 		if (!((126976 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA3_;
5578 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
5579 	}
5580 	LA3_: ;
5581 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,enumFieldSymChoice__sem_20195)5582 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, enumFieldSymChoice__sem_20195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
5583 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5584 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
5585 	NI i;
5586 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a;
5587 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
5588 	result = NIM_NIL;
5589 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
5590 	i = ((NI) 0);
5591 	a = initOverloadIter__lookups_1374((&o), c, n);
5592 	{
5593 		while (1) {
5594 			if (!!((a == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
5595 			{
5596 				if (!((1568768 &((NU32)1<<((NU)((*a).kind)&31U)))!=0)) goto LA5_;
5597 				i += ((NI) 1);
5598 				{
5599 					if (!(((NI) 1) < i)) goto LA9_;
5600 					goto LA1;
5601 				}
5602 				LA9_: ;
5603 			}
5604 			LA5_: ;
5605 			a = nextOverloadIter__lookups_1528((&o), c, n);
5606 		} LA2: ;
5607 	} LA1: ;
5608 	info = getCallLineInfo__sem_2390(n);
5609 	{
5610 		if (!(i <= ((NI) 1))) goto LA13_;
5611 		{
5612 			if (!!((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA17_;
5613 			result = newSymNode__ast_3719(s, info);
5614 			markUsed__sigmatch_85(c, info, s);
5615 		}
5616 		goto LA15_;
5617 		LA17_: ;
5618 		{
5619 			result = n;
5620 		}
5621 		LA15_: ;
5622 	}
5623 	goto LA11_;
5624 	LA13_: ;
5625 	{
5626 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
5627 		T21_ = NIM_NIL;
5628 		T21_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
5629 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56), info, T21_);
5630 		a = initOverloadIter__lookups_1374((&o), c, n);
5631 		{
5632 			while (1) {
5633 				if (!!((a == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA23;
5634 				{
5635 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
5636 					if (!((1568768 &((NU32)1<<((NU)((*a).kind)&31U)))!=0)) goto LA26_;
5637 					(*a).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
5638 					markOwnerModuleAsUsed__sigmatch_89(c, a);
5639 					T28_ = NIM_NIL;
5640 					T28_ = newSymNode__ast_3719(a, info);
5641 					add__ast_4797(result, T28_);
5642 				}
5643 				LA26_: ;
5644 				a = nextOverloadIter__lookups_1528((&o), c, n);
5645 			} LA23: ;
5646 		}
5647 	}
5648 	LA11_: ;
5649 	return result;
5650 }
N_INLINE(void,nimCopyMem)5651 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
5652 	void* T1_;
5653 	T1_ = (void*)0;
5654 	T1_ = memcpy(dest, source, ((size_t) (size)));
5655 }
N_INLINE(void,copyMem__system_1727)5656 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
5657 	nimCopyMem(dest, source, size);
5658 }
N_INLINE(void,appendString)5659 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
5660 	{
5661 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
5662 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
5663 		(*dest).Sup.len += (*src).Sup.len;
5664 	}
5665 	LA3_: ;
5666 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,inlineConst__sem_14003)5667 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, inlineConst__sem_14003)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
5668 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5669 	result = NIM_NIL;
5670 	result = copyTree__ast_4431((*s).ast);
5671 	{
5672 		NimStringDesc* T5_;
5673 		NimStringDesc* T6_;
5674 		if (!(result == 0)) goto LA3_;
5675 		T5_ = NIM_NIL;
5676 		T6_ = NIM_NIL;
5677 		T6_ = typeToString__types_50((*s).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
5678 		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 32);
5679 appendString(T5_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_6));
5680 appendString(T5_, T6_);
5681 appendString(T5_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_7));
5682 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_8, NIM_FALSE);
5683 		result = newSymNode__ast_3716(s);
5684 	}
5685 	goto LA1_;
5686 	LA3_: ;
5687 	{
5688 		asgnRef((void**) (&(*result).typ), (*s).typ);
5689 		(*result).info = (*n).info;
5690 	}
5691 	LA1_: ;
5692 	return result;
5693 }
N_INLINE(NI,safeLen__ast_3191)5694 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5695 	NI result;
5696 	result = (NI)0;
5697 	{
5698 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
5699 		result = ((NI) 0);
5700 	}
5701 	goto LA1_;
5702 	LA3_: ;
5703 	{
5704 		result = len__ast_3198(n);
5705 	}
5706 	LA1_: ;
5707 	return result;
5708 }
N_NIMCALL(void,resetSemFlag__sem_2771)5709 N_LIB_PRIVATE N_NIMCALL(void, resetSemFlag__sem_2771)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5710 	{
5711 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
5712 		(*n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31));
5713 		{
5714 			NI i;
5715 			NI colontmp_;
5716 			NI i_2;
5717 			i = (NI)0;
5718 			colontmp_ = (NI)0;
5719 			colontmp_ = safeLen__ast_3191(n);
5720 			i_2 = ((NI) 0);
5721 			{
5722 				while (1) {
5723 					if (!(i_2 < colontmp_)) goto LA7;
5724 					i = i_2;
5725 					resetSemFlag__sem_2771((*n)._kind_6.sons->data[i]);
5726 					i_2 += ((NI) 1);
5727 				} LA7: ;
5728 			}
5729 		}
5730 	}
5731 	LA3_: ;
5732 }
N_NIMCALL(NIM_BOOL,implicitlyDiscardable__sem_9282)5733 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, implicitlyDiscardable__sem_9282)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5734 	NIM_BOOL result;
5735 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5736 	NIM_BOOL T3_;
5737 	NIM_BOOL T5_;
5738 	NIM_BOOL T6_;
5739 	result = (NIM_BOOL)0;
5740 	n_2 = n;
5741 	{
5742 		while (1) {
5743 			if (!((TM__rF9caJawfOjYTjsgLVUSGFA_16[(NU)((*n_2).kind)>>3] &(1U<<((NU)((*n_2).kind)&7U)))!=0)) goto LA2;
5744 			n_2 = lastSon__ast_4832(n_2);
5745 		} LA2: ;
5746 	}
5747 	T3_ = (NIM_BOOL)0;
5748 	T3_ = ((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111));
5749 	if (T3_) goto LA4_;
5750 	T5_ = (NIM_BOOL)0;
5751 	T6_ = (NIM_BOOL)0;
5752 	T6_ = isCallExpr__ast_3176(n_2);
5753 	if (!(T6_)) goto LA7_;
5754 	T6_ = ((*(*n_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5755 	LA7_: ;
5756 	T5_ = T6_;
5757 	if (!(T5_)) goto LA8_;
5758 	T5_ = (((*(*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0);
5759 	LA8_: ;
5760 	T3_ = T5_;
5761 	LA4_: ;
5762 	result = T3_;
5763 	return result;
5764 }
N_NIMCALL(void,discardCheck__sem_9323)5765 N_LIB_PRIVATE N_NIMCALL(void, discardCheck__sem_9323)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
5766 {	{
5767 		NIM_BOOL T3_;
5768 		T3_ = (NIM_BOOL)0;
5769 		T3_ = !(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
5770 		if (T3_) goto LA4_;
5771 		T3_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0);
5772 		LA4_: ;
5773 		if (!T3_) goto LA5_;
5774 		goto BeforeRet_;
5775 	}
5776 	LA5_: ;
5777 	{
5778 		NIM_BOOL T9_;
5779 		T9_ = (NIM_BOOL)0;
5780 		T9_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5781 		if (!(T9_)) goto LA10_;
5782 		T9_ = !(((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63)));
5783 		LA10_: ;
5784 		if (!T9_) goto LA11_;
5785 		{
5786 			NIM_BOOL T15_;
5787 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
5788 			T15_ = (NIM_BOOL)0;
5789 			T15_ = implicitlyDiscardable__sem_9282(result);
5790 			if (!T15_) goto LA16_;
5791 			n = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114), (*result).info, ((NI) 1));
5792 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), result);
5793 		}
5794 		goto LA13_;
5795 		LA16_: ;
5796 		{
5797 			NIM_BOOL T19_;
5798 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5799 			NimStringDesc* s;
5800 			NimStringDesc* T25_;
5801 			NimStringDesc* T26_;
5802 			NimStringDesc* T27_;
5803 			T19_ = (NIM_BOOL)0;
5804 			T19_ = !(((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)));
5805 			if (!(T19_)) goto LA20_;
5806 			T19_ = !(((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 24)));
5807 			LA20_: ;
5808 			if (!T19_) goto LA21_;
5809 			n_2 = result;
5810 			{
5811 				while (1) {
5812 					if (!((TM__rF9caJawfOjYTjsgLVUSGFA_16[(NU)((*n_2).kind)>>3] &(1U<<((NU)((*n_2).kind)&7U)))!=0)) goto LA24;
5813 					n_2 = lastSon__ast_4832(n_2);
5814 				} LA24: ;
5815 			}
5816 			T25_ = NIM_NIL;
5817 			T26_ = NIM_NIL;
5818 			T26_ = dollar___renderer_2106(n_2);
5819 			T27_ = NIM_NIL;
5820 			T27_ = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
5821 			T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + (T27_ ? T27_->Sup.len : 0) + 61);
5822 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_17));
5823 appendString(T25_, T26_);
5824 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_18));
5825 appendString(T25_, T27_);
5826 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_19));
5827 			s = T25_;
5828 			{
5829 				NIM_BOOL T30_;
5830 				NimStringDesc* T34_;
5831 				NimStringDesc* T35_;
5832 				T30_ = (NIM_BOOL)0;
5833 				T30_ = !(((*result).info.line == (*n_2).info.line));
5834 				if (T30_) goto LA31_;
5835 				T30_ = !(((*result).info.fileIndex == (*n_2).info.fileIndex));
5836 				LA31_: ;
5837 				if (!T30_) goto LA32_;
5838 				T34_ = NIM_NIL;
5839 				T35_ = NIM_NIL;
5840 				T35_ = dollar___msgs_624((*(*c).graph).config, (*result).info);
5841 				T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 28);
5842 appendString(T34_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_20));
5843 appendString(T34_, T35_);
5844 				s = resizeString(s, (T34_ ? T34_->Sup.len : 0) + 0);
5845 appendString(s, T34_);
5846 			}
5847 			LA32_: ;
5848 			{
5849 				if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA38_;
5850 				s = resizeString(s, 28);
5851 appendString(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_21));
5852 			}
5853 			LA38_: ;
5854 			liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_22, NIM_FALSE);
5855 		}
5856 		goto LA13_;
5857 		LA21_: ;
5858 		LA13_: ;
5859 	}
5860 	LA11_: ;
5861 	}BeforeRet_: ;
5862 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprNoType__sem_60)5863 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoType__sem_60)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5864 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5865 	NIM_BOOL isPush;
5866 	result = NIM_NIL;
5867 	isPush = hasHint__options_517((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 100));
5868 	{
5869 		if (!isPush) goto LA3_;
5870 		pushInfoContext__msgs_490((*(*c).graph).config, (*n).info, ((NimStringDesc*) NIM_NIL));
5871 	}
5872 	LA3_: ;
5873 	result = semExpr__sem_52(c, n, 128);
5874 	discardCheck__sem_9323(c, result, 0);
5875 	{
5876 		if (!isPush) goto LA7_;
5877 		popInfoContext__msgs_507((*(*c).graph).config);
5878 	}
5879 	LA7_: ;
5880 	return result;
5881 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStmt__sem_84)5882 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmt__sem_84)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
5883 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5884 	result = NIM_NIL;
5885 	{
5886 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0))) goto LA3_;
5887 		result = semExprNoType__sem_60(c, n);
5888 	}
5889 	goto LA1_;
5890 	LA3_: ;
5891 	{
5892 		result = semExpr__sem_52(c, n, flags);
5893 	}
5894 	LA1_: ;
5895 	return result;
5896 }
N_INLINE(NI,len__ast_4002)5897 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
5898 	NI result;
5899 	NI T1_;
5900 	result = (NI)0;
5901 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
5902 	result = T1_;
5903 	return result;
5904 }
N_NIMCALL(void,fixupTypeOf__sem_5584)5905 N_LIB_PRIVATE N_NIMCALL(void, fixupTypeOf__sem_5584)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typExpr) {
5906 	{
5907 		tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5908 		if (!!((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
5909 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4), c);
5910 		rawAddSon__ast_4288(result, (*typExpr).typ, NIM_TRUE);
5911 		asgnRef((void**) (&(*result).sym), (*prev).sym);
5912 		assignType__ast_3976(prev, result);
5913 	}
5914 	LA3_: ;
5915 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeOf__sem_5872)5916 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf__sem_5872)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
5917 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5918 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
5919 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
5920 	result = NIM_NIL;
5921 	T1_ = NIM_NIL;
5922 	T1_ = openScope__lookups_69(c);
5923 	t = semExprWithType__sem_56(c, n, 8);
5924 	closeScope__lookups_101(c);
5925 	fixupTypeOf__sem_5584(c, prev, t);
5926 	result = (*t).typ;
5927 	return result;
5928 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newOrPrevType__sem_2916)5929 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newOrPrevType__sem_2916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
5930 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5931 	result = NIM_NIL;
5932 	{
5933 		if (!(prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5934 		result = newTypeS__semdata_733(kind, c);
5935 	}
5936 	goto LA1_;
5937 	LA3_: ;
5938 	{
5939 		result = prev;
5940 		{
5941 			if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30))) goto LA8_;
5942 			(*result).kind = kind;
5943 		}
5944 		LA8_: ;
5945 	}
5946 	LA1_: ;
5947 	return result;
5948 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semAnonTuple__sem_3569)5949 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semAnonTuple__sem_3569)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
5950 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5951 	result = NIM_NIL;
5952 	{
5953 		NI T3_;
5954 		T3_ = (NI)0;
5955 		T3_ = len__ast_3198(n);
5956 		if (!(T3_ == ((NI) 0))) goto LA4_;
5957 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_25, NIM_FALSE);
5958 	}
5959 	LA4_: ;
5960 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), prev, c);
5961 	{
5962 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
5963 		it = NIM_NIL;
5964 		{
5965 			NI i;
5966 			NI colontmp_;
5967 			NI i_2;
5968 			i = (NI)0;
5969 			colontmp_ = (NI)0;
5970 			colontmp_ = safeLen__ast_3191(n);
5971 			i_2 = ((NI) 0);
5972 			{
5973 				while (1) {
5974 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
5975 					if (!(i_2 < colontmp_)) goto LA9;
5976 					i = i_2;
5977 					it = (*n)._kind_6.sons->data[i];
5978 					T10_ = NIM_NIL;
5979 					T10_ = semTypeNode__sem_80(c, it, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
5980 					addSonSkipIntLit__magicsys_136(result, T10_, (*c).Sup.idgen);
5981 					i_2 += ((NI) 1);
5982 				} LA9: ;
5983 			}
5984 		}
5985 	}
5986 	return result;
5987 }
N_INLINE(NIM_BOOL,eqeq___idents_220)5988 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b) {
5989 	NIM_BOOL result;
5990 	result = (NIM_BOOL)0;
5991 	{
5992 		NIM_BOOL T3_;
5993 		T3_ = (NIM_BOOL)0;
5994 		T3_ = (a == 0);
5995 		if (T3_) goto LA4_;
5996 		T3_ = (b == 0);
5997 		LA4_: ;
5998 		if (!T3_) goto LA5_;
5999 		result = (a == b);
6000 	}
6001 	goto LA1_;
6002 	LA5_: ;
6003 	{
6004 		result = ((*a).id == (*b).id);
6005 	}
6006 	LA1_: ;
6007 	return result;
6008 }
N_INLINE(int,nimCmpMem)6009 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
6010 	int result;
6011 	result = (int)0;
6012 	result = memcmp(a, b, ((size_t) (size)));
6013 	return result;
6014 }
N_INLINE(NIM_BOOL,equalMem__system_1735)6015 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
6016 	NIM_BOOL result;
6017 	int T1_;
6018 	result = (NIM_BOOL)0;
6019 	T1_ = (int)0;
6020 	T1_ = nimCmpMem(a, b, size);
6021 	result = (T1_ == ((NI32) 0));
6022 	return result;
6023 }
N_INLINE(NIM_BOOL,eqStrings)6024 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
6025 	NIM_BOOL result;
6026 	NI alen;
6027 	NI blen;
6028 {	result = (NIM_BOOL)0;
6029 	alen = (a ? a->Sup.len : 0);
6030 	blen = (b ? b->Sup.len : 0);
6031 	{
6032 		if (!(alen == blen)) goto LA3_;
6033 		{
6034 			if (!(alen == ((NI) 0))) goto LA7_;
6035 			result = NIM_TRUE;
6036 			goto BeforeRet_;
6037 		}
6038 		LA7_: ;
6039 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
6040 		goto BeforeRet_;
6041 	}
6042 	LA3_: ;
6043 	}BeforeRet_: ;
6044 	return result;
6045 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipIntLit__magicsys_124)6046 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id) {
6047 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6048 	result = NIM_NIL;
6049 	{
6050 		NIM_BOOL T3_;
6051 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
6052 		T3_ = (NIM_BOOL)0;
6053 		T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6054 		if (!(T3_)) goto LA4_;
6055 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
6056 		LA4_: ;
6057 		if (!T3_) goto LA5_;
6058 		T7_ = nextTypeId__ast_3151(id);
6059 		result = copyType__ast_4046(t, T7_, (*t).owner);
6060 		asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
6061 	}
6062 	goto LA1_;
6063 	LA5_: ;
6064 	{
6065 		result = t;
6066 	}
6067 	LA1_: ;
6068 	return result;
6069 }
N_NIMCALL(NIM_BOOL,isUnresolvedSym__sem_15006)6070 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedSym__sem_15006)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
6071 	NIM_BOOL result;
6072 	result = (NIM_BOOL)0;
6073 	result = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4));
6074 	{
6075 		NIM_BOOL T3_;
6076 		NIM_BOOL T7_;
6077 		NIM_BOOL T8_;
6078 		NIM_BOOL T10_;
6079 		NIM_BOOL T13_;
6080 		T3_ = (NIM_BOOL)0;
6081 		T3_ = !(result);
6082 		if (!(T3_)) goto LA4_;
6083 		T3_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6084 		LA4_: ;
6085 		if (!T3_) goto LA5_;
6086 		T7_ = (NIM_BOOL)0;
6087 		T8_ = (NIM_BOOL)0;
6088 		T8_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 27))&63U)))!=0);
6089 		if (T8_) goto LA9_;
6090 		T10_ = (NIM_BOOL)0;
6091 		T10_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
6092 		if (!(T10_)) goto LA11_;
6093 		T10_ = isMetaType__ast_3495((*s).typ);
6094 		LA11_: ;
6095 		T8_ = T10_;
6096 		LA9_: ;
6097 		T7_ = T8_;
6098 		if (T7_) goto LA12_;
6099 		T13_ = (NIM_BOOL)0;
6100 		T13_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
6101 		if (!(T13_)) goto LA14_;
6102 		T13_ = !((((*(*s).typ).flags & 100663296) == 0));
6103 		LA14_: ;
6104 		T7_ = T13_;
6105 		LA12_: ;
6106 		result = T7_;
6107 	}
6108 	LA5_: ;
6109 	return result;
6110 }
N_NIMCALL(NIM_BOOL,hasUnresolvedArgs__sem_142)6111 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedArgs__sem_142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6112 	NIM_BOOL result;
6113 {	result = (NIM_BOOL)0;
6114 	switch ((*n).kind) {
6115 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6116 	{
6117 		result = isUnresolvedSym__sem_15006((*n)._kind_4.sym);
6118 		goto BeforeRet_;
6119 	}
6120 	break;
6121 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
6122 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
6123 	{
6124 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
6125 		NIM_BOOL amb;
6126 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
6127 		ident = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
6128 		amb = NIM_FALSE;
6129 		sym = searchInScopes__lookups_423(c, ident, (&amb));
6130 		{
6131 			if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA5_;
6132 			result = isUnresolvedSym__sem_15006(sym);
6133 			goto BeforeRet_;
6134 		}
6135 		goto LA3_;
6136 		LA5_: ;
6137 		{
6138 			result = NIM_FALSE;
6139 			goto BeforeRet_;
6140 		}
6141 		LA3_: ;
6142 	}
6143 	break;
6144 	default:
6145 	{
6146 		{
6147 			NI i;
6148 			NI colontmp_;
6149 			NI i_2;
6150 			i = (NI)0;
6151 			colontmp_ = (NI)0;
6152 			colontmp_ = safeLen__ast_3191(n);
6153 			i_2 = ((NI) 0);
6154 			{
6155 				while (1) {
6156 					if (!(i_2 < colontmp_)) goto LA11;
6157 					i = i_2;
6158 					{
6159 						NIM_BOOL T14_;
6160 						T14_ = (NIM_BOOL)0;
6161 						T14_ = hasUnresolvedArgs__sem_142(c, (*n)._kind_6.sons->data[i]);
6162 						if (!T14_) goto LA15_;
6163 						result = NIM_TRUE;
6164 						goto BeforeRet_;
6165 					}
6166 					LA15_: ;
6167 					i_2 += ((NI) 1);
6168 				} LA11: ;
6169 			}
6170 		}
6171 		result = NIM_FALSE;
6172 		goto BeforeRet_;
6173 	}
6174 	break;
6175 	}
6176 	}BeforeRet_: ;
6177 	return result;
6178 }
N_INLINE(NIM_BOOL,isNaN__sem_3286)6179 static N_INLINE(NIM_BOOL, isNaN__sem_3286)(NF x) {
6180 	NIM_BOOL result;
6181 	result = (NIM_BOOL)0;
6182 	result = isnan(x);
6183 	return result;
6184 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semRangeAux__sem_3219)6185 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRangeAux__sem_3219)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
6186 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6187 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6188 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw range;
6189 	tyArray__D9ckBqsoLaohN9chYb6MLT6w rangeT;
6190 	NIM_BOOL hasUnknownTypes;
6191 	NIM_BOOL T12_;
6192 	NIM_BOOL T13_;
6193 	result = NIM_NIL;
6194 	checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
6195 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20), prev, c);
6196 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), (*n).info));
6197 	T1_ = NIM_NIL;
6198 	T1_ = errorType__semdata_1002(c);
6199 	addSonSkipIntLit__magicsys_136(result, T1_, (*c).Sup.idgen);
6200 	{
6201 		NIM_BOOL T4_;
6202 		T4_ = (NIM_BOOL)0;
6203 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
6204 		if (T4_) goto LA5_;
6205 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
6206 		LA5_: ;
6207 		if (!T4_) goto LA6_;
6208 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_28), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_29, NIM_FALSE);
6209 	}
6210 	LA6_: ;
6211 	nimZeroMem((void*)range, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6212 	range[(((NI) 0))- 0] = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 512);
6213 	range[(((NI) 1))- 0] = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 2)], 512);
6214 	nimZeroMem((void*)rangeT, sizeof(tyArray__D9ckBqsoLaohN9chYb6MLT6w));
6215 	{
6216 		NI i;
6217 		NI res;
6218 		i = (NI)0;
6219 		res = ((NI) 0);
6220 		{
6221 			while (1) {
6222 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
6223 				if (!(res <= ((NI) 1))) goto LA10;
6224 				i = res;
6225 				T11_ = NIM_NIL;
6226 				T11_ = skipTypes__ast_3735((*range[(i)- 0]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_30);
6227 				rangeT[(i)- 0] = skipIntLit__magicsys_124(T11_, (*c).Sup.idgen);
6228 				res += ((NI) 1);
6229 			} LA10: ;
6230 		}
6231 	}
6232 	T12_ = (NIM_BOOL)0;
6233 	T13_ = (NIM_BOOL)0;
6234 	T13_ = (((NI) 0) < (*c).inGenericContext);
6235 	if (!(T13_)) goto LA14_;
6236 	T13_ = ((*rangeT[(((NI) 0))- 0]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
6237 	LA14_: ;
6238 	T12_ = T13_;
6239 	if (T12_) goto LA15_;
6240 	T12_ = ((*rangeT[(((NI) 1))- 0]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
6241 	LA15_: ;
6242 	hasUnknownTypes = T12_;
6243 	{
6244 		if (!!(hasUnknownTypes)) goto LA18_;
6245 		{
6246 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
6247 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
6248 			NIM_BOOL T24_;
6249 			T22_ = NIM_NIL;
6250 			T22_ = skipTypes__ast_3735(rangeT[(((NI) 0))- 0], TM__rF9caJawfOjYTjsgLVUSGFA_31);
6251 			T23_ = NIM_NIL;
6252 			T23_ = skipTypes__ast_3735(rangeT[(((NI) 1))- 0], TM__rF9caJawfOjYTjsgLVUSGFA_31);
6253 			T24_ = (NIM_BOOL)0;
6254 			T24_ = sameType__types_1824(T22_, T23_, 0);
6255 			if (!!(T24_)) goto LA25_;
6256 			typeMismatch__types_3870((*(*c).graph).config, (*n).info, rangeT[(((NI) 0))- 0], rangeT[(((NI) 1))- 0], n);
6257 		}
6258 		goto LA20_;
6259 		LA25_: ;
6260 		{
6261 			NIM_BOOL T28_;
6262 			NIM_BOOL T29_;
6263 			NIM_BOOL T30_;
6264 			T28_ = (NIM_BOOL)0;
6265 			T29_ = (NIM_BOOL)0;
6266 			T30_ = (NIM_BOOL)0;
6267 			T30_ = isOrdinalType__types_299(rangeT[(((NI) 0))- 0], NIM_FALSE);
6268 			T29_ = !(T30_);
6269 			if (!(T29_)) goto LA31_;
6270 			T29_ = !(((*rangeT[(((NI) 0))- 0]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*rangeT[(((NI) 0))- 0]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39)));
6271 			LA31_: ;
6272 			T28_ = T29_;
6273 			if (T28_) goto LA32_;
6274 			T28_ = ((*rangeT[(((NI) 0))- 0]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
6275 			LA32_: ;
6276 			if (!T28_) goto LA33_;
6277 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_32), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_33, NIM_FALSE);
6278 		}
6279 		goto LA20_;
6280 		LA33_: ;
6281 		{
6282 			NIM_BOOL T36_;
6283 			NimStringDesc* T39_;
6284 			NimStringDesc* T40_;
6285 			T36_ = (NIM_BOOL)0;
6286 			T36_ = enumHasHoles__types_287(rangeT[(((NI) 0))- 0]);
6287 			if (!T36_) goto LA37_;
6288 			T39_ = NIM_NIL;
6289 			T39_ = typeToString__types_50(rangeT[(((NI) 0))- 0], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
6290 			T40_ = NIM_NIL;
6291 			T40_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_34), T39_);
6292 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_35, NIM_FALSE);
6293 		}
6294 		goto LA20_;
6295 		LA37_: ;
6296 		LA20_: ;
6297 	}
6298 	LA18_: ;
6299 	{
6300 		NI i_2;
6301 		NI res_2;
6302 		i_2 = (NI)0;
6303 		res_2 = ((NI) 0);
6304 		{
6305 			while (1) {
6306 				if (!(res_2 <= ((NI) 1))) goto LA43;
6307 				i_2 = res_2;
6308 				{
6309 					NIM_BOOL T46_;
6310 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
6311 					T46_ = (NIM_BOOL)0;
6312 					T46_ = hasUnresolvedArgs__sem_142(c, range[(i_2)- 0]);
6313 					if (!T46_) goto LA47_;
6314 					T49_ = NIM_NIL;
6315 					T49_ = makeStaticExpr__semdata_826(c, range[(i_2)- 0]);
6316 					add__ast_4797((*result).n, T49_);
6317 					(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
6318 				}
6319 				goto LA44_;
6320 				LA47_: ;
6321 				{
6322 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T51_;
6323 					T51_ = NIM_NIL;
6324 					T51_ = semConstExpr__sem_611(c, range[(i_2)- 0]);
6325 					add__ast_4797((*result).n, T51_);
6326 				}
6327 				LA44_: ;
6328 				res_2 += ((NI) 1);
6329 			} LA43: ;
6330 		}
6331 	}
6332 	{
6333 		NIM_BOOL T54_;
6334 		NIM_BOOL T55_;
6335 		NIM_BOOL T58_;
6336 		T54_ = (NIM_BOOL)0;
6337 		T55_ = (NIM_BOOL)0;
6338 		T55_ = ((*(*(*result).n)._kind_6.sons->data[((NI) 0)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*(*(*result).n)._kind_6.sons->data[((NI) 0)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
6339 		if (!(T55_)) goto LA56_;
6340 		T55_ = isNaN__sem_3286((*(*(*result).n)._kind_6.sons->data[((NI) 0)])._kind_2.floatVal);
6341 		LA56_: ;
6342 		T54_ = T55_;
6343 		if (T54_) goto LA57_;
6344 		T58_ = (NIM_BOOL)0;
6345 		T58_ = ((*(*(*result).n)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*(*(*result).n)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
6346 		if (!(T58_)) goto LA59_;
6347 		T58_ = isNaN__sem_3286((*(*(*result).n)._kind_6.sons->data[((NI) 1)])._kind_2.floatVal);
6348 		LA59_: ;
6349 		T54_ = T58_;
6350 		LA57_: ;
6351 		if (!T54_) goto LA60_;
6352 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_36), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_37, NIM_FALSE);
6353 	}
6354 	LA60_: ;
6355 	{
6356 		tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T64_;
6357 		T64_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
6358 		T64_ = weakLeValue__astalgo_151((*(*result).n)._kind_6.sons->data[((NI) 0)], (*(*result).n)._kind_6.sons->data[((NI) 1)]);
6359 		if (!(T64_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1))) goto LA65_;
6360 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_28), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_38, NIM_FALSE);
6361 	}
6362 	LA65_: ;
6363 	asgnRef((void**) (&(*result).sons->data[((NI) 0)]), rangeT[(((NI) 0))- 0]);
6364 	return result;
6365 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,freshType__sem_5619)6366 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, freshType__sem_5619)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* res, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
6367 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6368 	result = NIM_NIL;
6369 	{
6370 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T5_;
6371 		if (!(prev == 0)) goto LA3_;
6372 		T5_ = nextTypeId__ast_3151((*c).Sup.idgen);
6373 		result = copyType__ast_4046(res, T5_, (*res).owner);
6374 		copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), result, res);
6375 	}
6376 	goto LA1_;
6377 	LA3_: ;
6378 	{
6379 		result = res;
6380 	}
6381 	LA1_: ;
6382 	return result;
6383 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,maybeAliasType__sem_5571)6384 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeAliasType__sem_5571)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typeExpr, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
6385 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6386 	result = NIM_NIL;
6387 	{
6388 		NIM_BOOL T3_;
6389 		T3_ = (NIM_BOOL)0;
6390 		T3_ = ((*typeExpr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*typeExpr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*typeExpr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13) || (*typeExpr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30) || (*typeExpr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
6391 		if (!(T3_)) goto LA4_;
6392 		T3_ = !((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6393 		LA4_: ;
6394 		if (!T3_) goto LA5_;
6395 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4), c);
6396 		rawAddSon__ast_4288(result, typeExpr, NIM_TRUE);
6397 		asgnRef((void**) (&(*result).sym), (*prev).sym);
6398 		assignType__ast_3976(prev, result);
6399 	}
6400 	LA5_: ;
6401 	return result;
6402 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeExpr__sem_5593)6403 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeExpr__sem_5593)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
6404 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6405 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
6406 	result = NIM_NIL;
6407 	n_2 = semExprWithType__sem_56(c, n, 512);
6408 	{
6409 		if (!((*(*n_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA3_;
6410 		result = base__types_63((*n_2).typ);
6411 		{
6412 			NIM_BOOL T7_;
6413 			T7_ = (NIM_BOOL)0;
6414 			T7_ = !((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6415 			if (!(T7_)) goto LA8_;
6416 			T7_ = !(((*prev).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
6417 			LA8_: ;
6418 			if (!T7_) goto LA9_;
6419 			{
6420 				if (!((*result).sym == 0)) goto LA13_;
6421 				asgnRef((void**) (&(*result).sym), (*prev).sym);
6422 				asgnRef((void**) (&(*(*result).sym).typ), result);
6423 			}
6424 			goto LA11_;
6425 			LA13_: ;
6426 			{
6427 				tyObject_TType__facALICuu8zUj0hjvbTLFg* alias;
6428 				alias = maybeAliasType__sem_5571(c, result, prev);
6429 				{
6430 					if (!!((alias == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA18_;
6431 					result = alias;
6432 				}
6433 				LA18_: ;
6434 			}
6435 			LA11_: ;
6436 		}
6437 		LA9_: ;
6438 	}
6439 	goto LA1_;
6440 	LA3_: ;
6441 	{
6442 		NimStringDesc* T21_;
6443 		NimStringDesc* T22_;
6444 		T21_ = NIM_NIL;
6445 		T22_ = NIM_NIL;
6446 		T22_ = renderTree__renderer_46(n_2, 0);
6447 		T21_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 24);
6448 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_42));
6449 appendString(T21_, T22_);
6450 		liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_43, NIM_FALSE);
6451 		result = errorType__semdata_1002(c);
6452 	}
6453 	LA1_: ;
6454 	return result;
6455 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newConstraint__sem_2929)6456 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newConstraint__sem_2929)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k) {
6457 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6458 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6459 	result = NIM_NIL;
6460 	result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51), c);
6461 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
6462 	T1_ = NIM_NIL;
6463 	T1_ = newTypeS__semdata_733(k, c);
6464 	addSonSkipIntLit__magicsys_136(result, T1_, (*c).Sup.idgen);
6465 	return result;
6466 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)6467 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
6468 	initPackedSet__pureZcollectionsZintsets_16(Result);
6469 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipGenericInvocation__sem_4428)6470 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericInvocation__sem_4428)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
6471 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6472 	result = NIM_NIL;
6473 	result = t;
6474 	{
6475 		if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA3_;
6476 		result = (*result).sons->data[((NI) 0)];
6477 	}
6478 	LA3_: ;
6479 	{
6480 		while (1) {
6481 			if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA6;
6482 			result = lastSon__ast_3743(result);
6483 		} LA6: ;
6484 	}
6485 	return result;
6486 }
N_NIMCALL(void,addInheritedFieldsAux__sem_4383)6487 N_LIB_PRIVATE N_NIMCALL(void, addInheritedFieldsAux__sem_4383)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6488 	switch ((*n).kind) {
6489 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
6490 	{
6491 		{
6492 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA4_;
6493 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_57), TM__rF9caJawfOjYTjsgLVUSGFA_58);
6494 		}
6495 		LA4_: ;
6496 		addInheritedFieldsAux__sem_4383(c, check, pos, (*n)._kind_6.sons->data[((NI) 0)]);
6497 		{
6498 			NI i;
6499 			NI colontmp_;
6500 			NI i_2;
6501 			i = (NI)0;
6502 			colontmp_ = (NI)0;
6503 			colontmp_ = len__ast_3198(n);
6504 			i_2 = ((NI) 1);
6505 			{
6506 				while (1) {
6507 					if (!(i_2 < colontmp_)) goto LA8;
6508 					i = i_2;
6509 					switch ((*(*n)._kind_6.sons->data[i]).kind) {
6510 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
6511 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
6512 					{
6513 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
6514 						T10_ = NIM_NIL;
6515 						T10_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
6516 						addInheritedFieldsAux__sem_4383(c, check, pos, T10_);
6517 					}
6518 					break;
6519 					default:
6520 					{
6521 						internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_59), TM__rF9caJawfOjYTjsgLVUSGFA_60);
6522 					}
6523 					break;
6524 					}
6525 					i_2 += ((NI) 1);
6526 				} LA8: ;
6527 			}
6528 		}
6529 	}
6530 	break;
6531 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
6532 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
6533 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
6534 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
6535 	{
6536 		{
6537 			NI i_3;
6538 			NI colontmp__2;
6539 			NI colontmp__3;
6540 			NI i_4;
6541 			i_3 = (NI)0;
6542 			colontmp__2 = (NI)0;
6543 			colontmp__3 = (NI)0;
6544 			colontmp__2 = ((NI) (((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86))));
6545 			colontmp__3 = len__ast_3198(n);
6546 			i_4 = colontmp__2;
6547 			{
6548 				while (1) {
6549 					if (!(i_4 < colontmp__3)) goto LA15;
6550 					i_3 = i_4;
6551 					addInheritedFieldsAux__sem_4383(c, check, pos, (*n)._kind_6.sons->data[i_3]);
6552 					i_4 += ((NI) 1);
6553 				} LA15: ;
6554 			}
6555 		}
6556 	}
6557 	break;
6558 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6559 	{
6560 		incl__pureZcollectionsZintsets_55(check, (*(*(*n)._kind_4.sym).name).id);
6561 		(*pos) += ((NI) 1);
6562 	}
6563 	break;
6564 	default:
6565 	{
6566 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_61), TM__rF9caJawfOjYTjsgLVUSGFA_62);
6567 	}
6568 	break;
6569 	}
6570 }
N_NIMCALL(void,addInheritedFields__sem_4443)6571 N_LIB_PRIVATE N_NIMCALL(void, addInheritedFields__sem_4443)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TType__facALICuu8zUj0hjvbTLFg* obj) {
6572 	{
6573 		NIM_BOOL T3_;
6574 		NI T4_;
6575 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
6576 		T3_ = (NIM_BOOL)0;
6577 		T4_ = (NI)0;
6578 		T4_ = len__ast_4002(obj);
6579 		T3_ = (((NI) 0) < T4_);
6580 		if (!(T3_)) goto LA5_;
6581 		T3_ = !(((*obj).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6582 		LA5_: ;
6583 		if (!T3_) goto LA6_;
6584 		T8_ = NIM_NIL;
6585 		T8_ = skipGenericInvocation__sem_4428((*obj).sons->data[((NI) 0)]);
6586 		addInheritedFields__sem_4443(c, check, pos, T8_);
6587 	}
6588 	LA6_: ;
6589 	addInheritedFieldsAux__sem_4383(c, check, pos, (*obj).n);
6590 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)6591 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6592 	NIM_BOOL result;
6593 	NIM_BOOL T1_;
6594 	result = (NIM_BOOL)0;
6595 	T1_ = (NIM_BOOL)0;
6596 	T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6597 	if (!(T1_)) goto LA2_;
6598 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
6599 	LA2_: ;
6600 	result = T1_;
6601 	return result;
6602 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)6603 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6604 	NIM_BOOL result;
6605 	NIM_BOOL T1_;
6606 	NIM_BOOL T2_;
6607 	result = (NIM_BOOL)0;
6608 	T1_ = (NIM_BOOL)0;
6609 	T2_ = (NIM_BOOL)0;
6610 	T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6611 	if (!(T2_)) goto LA3_;
6612 	T2_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
6613 	LA3_: ;
6614 	T1_ = T2_;
6615 	if (!(T1_)) goto LA4_;
6616 	T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
6617 	LA4_: ;
6618 	result = T1_;
6619 	return result;
6620 }
N_INLINE(NIM_BOOL,isGenericRoutineStrict__ast_4639)6621 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
6622 	NIM_BOOL result;
6623 	NIM_BOOL T1_;
6624 	result = (NIM_BOOL)0;
6625 	T1_ = (NIM_BOOL)0;
6626 	T1_ = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6627 	if (!(T1_)) goto LA2_;
6628 	T1_ = isGenericRoutine__ast_4627((*s).ast);
6629 	LA2_: ;
6630 	result = T1_;
6631 	return result;
6632 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)6633 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
6634 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
6635 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)6636 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
6637 	NimStringDesc* result;
6638 	result = NIM_NIL;
6639 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
6640 appendString(result, info.Field0);
6641 	{
6642 		if (!(((NI) 0) < info.Field1)) goto LA3_;
6643 		result = resizeString(result, 1);
6644 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
6645 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
6646 		{
6647 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
6648 			result = resizeString(result, 2);
6649 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
6650 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
6651 		}
6652 		LA7_: ;
6653 		result = resizeString(result, 1);
6654 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
6655 	}
6656 	LA3_: ;
6657 	return result;
6658 }
N_INLINE(NIM_BOOL,isTopLevel__semdata_1091)6659 static N_INLINE(NIM_BOOL, isTopLevel__semdata_1091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
6660 	NIM_BOOL result;
6661 	result = (NIM_BOOL)0;
6662 	result = ((*(*c).currentScope).depthLevel <= ((NI) 2));
6663 	return result;
6664 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)6665 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
6666 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
6667 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
6668 	(*x).symId += ((NI) 1);
6669 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
6670 	result.module = (*x).module;
6671 	result.item = (*x).symId;
6672 	return result;
6673 }
N_NIMCALL(void,fillMixinScope__sem_1283)6674 N_LIB_PRIVATE N_NIMCALL(void, fillMixinScope__sem_1283)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
6675 	tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
6676 	p = (*c).p;
6677 	{
6678 		while (1) {
6679 			if (!!((p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)))) goto LA2;
6680 			{
6681 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** bnd;
6682 				NI i;
6683 				NI L;
6684 				NI T4_;
6685 				bnd = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6686 				i = ((NI) 0);
6687 				T4_ = ((*p).localBindStmts ? (*p).localBindStmts->Sup.len : 0);
6688 				L = T4_;
6689 				{
6690 					while (1) {
6691 						if (!(i < L)) goto LA6;
6692 						bnd = &(*p).localBindStmts->data[i];
6693 						{
6694 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
6695 							n = NIM_NIL;
6696 							{
6697 								NI i_2;
6698 								NI colontmp_;
6699 								NI i_3;
6700 								i_2 = (NI)0;
6701 								colontmp_ = (NI)0;
6702 								colontmp_ = safeLen__ast_3191((*bnd));
6703 								i_3 = ((NI) 0);
6704 								{
6705 									while (1) {
6706 										if (!(i_3 < colontmp_)) goto LA10;
6707 										i_2 = i_3;
6708 										n = (*(*bnd))._kind_6.sons->data[i_2];
6709 										strTableAdd__astalgo_3332((&(*(*c).currentScope).symbols), (*n)._kind_4.sym);
6710 										i_3 += ((NI) 1);
6711 									} LA10: ;
6712 								}
6713 							}
6714 						}
6715 						i += ((NI) 1);
6716 					} LA6: ;
6717 				}
6718 			}
6719 			p = (*p).next;
6720 		} LA2: ;
6721 	}
6722 }
N_NIMCALL(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA *,new__sem_1335)6723 N_LIB_PRIVATE N_NIMCALL(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA*, new__sem_1335)(void) {
6724 	tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* result;
6725 	tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* r;
6726 {	result = NIM_NIL;
6727 	r = NIM_NIL;
6728 	r = (tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA*) newObj((&NTIpinstantiation__Y32tFilzS9adEEksgrCsOzQ_), sizeof(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA));
6729 	result = r;
6730 	goto BeforeRet_;
6731 	}BeforeRet_: ;
6732 	return result;
6733 }
N_INLINE(void,nimGCunrefRC1)6734 static N_INLINE(void, nimGCunrefRC1)(void* p) {
6735 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
6736 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6737 	T1_ = usrToCell__system_5300(p);
6738 	decRef__system_5345(T1_);
6739 }
N_INLINE(void,addDeclAt__lookups_837)6740 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
6741 	addDeclAt__lookups_815(c, scope, sym, (*sym).info);
6742 }
N_INLINE(void,addDecl__lookups_845)6743 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
6744 	addDeclAt__lookups_837(c, (*c).currentScope, sym);
6745 }
N_NIMCALL(void,rawPushProcCon__sem_849)6746 N_LIB_PRIVATE N_NIMCALL(void, rawPushProcCon__sem_849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
6747 	tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* x;
6748 	x = NIM_NIL;
6749 	x = (tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) newObj((&NTIpproccon__GJ8qR6LTU9bYLzfOArsHTSg_), sizeof(tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ));
6750 	asgnRef((void**) (&(*x).owner), owner);
6751 	asgnRef((void**) (&(*x).next), (*c).p);
6752 	asgnRef((void**) (&(*c).p), x);
6753 }
N_NIMCALL(NIM_BOOL,referencesAnotherParam__sem_1165)6754 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, referencesAnotherParam__sem_1165)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* p) {
6755 	NIM_BOOL result;
6756 {	result = (NIM_BOOL)0;
6757 	{
6758 		NIM_BOOL T5_;
6759 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
6760 		T5_ = (NIM_BOOL)0;
6761 		T5_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
6762 		if (!(T5_)) goto LA6_;
6763 		T5_ = ((*(*n)._kind_4.sym).owner == p);
6764 		LA6_: ;
6765 		result = T5_;
6766 		goto BeforeRet_;
6767 	}
6768 	goto LA1_;
6769 	LA3_: ;
6770 	{
6771 		{
6772 			NI i;
6773 			NI colontmp_;
6774 			NI i_2;
6775 			i = (NI)0;
6776 			colontmp_ = (NI)0;
6777 			colontmp_ = safeLen__ast_3191(n);
6778 			i_2 = ((NI) 0);
6779 			{
6780 				while (1) {
6781 					if (!(i_2 < colontmp_)) goto LA10;
6782 					i = i_2;
6783 					{
6784 						NIM_BOOL T13_;
6785 						T13_ = (NIM_BOOL)0;
6786 						T13_ = referencesAnotherParam__sem_1165((*n)._kind_6.sons->data[i], p);
6787 						if (!T13_) goto LA14_;
6788 						result = NIM_TRUE;
6789 						goto BeforeRet_;
6790 					}
6791 					LA14_: ;
6792 					i_2 += ((NI) 1);
6793 				} LA10: ;
6794 			}
6795 		}
6796 		result = NIM_FALSE;
6797 		goto BeforeRet_;
6798 	}
6799 	LA1_: ;
6800 	}BeforeRet_: ;
6801 	return result;
6802 }
N_NIMCALL(void,changeType__sem_75)6803 N_LIB_PRIVATE N_NIMCALL(void, changeType__sem_75)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* newType, NIM_BOOL check) {
6804 {	switch ((*n).kind) {
6805 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
6806 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
6807 	{
6808 		{
6809 			NI i;
6810 			NI colontmp_;
6811 			NI i_2;
6812 			i = (NI)0;
6813 			colontmp_ = (NI)0;
6814 			colontmp_ = len__ast_3198(n);
6815 			i_2 = ((NI) 0);
6816 			{
6817 				while (1) {
6818 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
6819 					if (!(i_2 < colontmp_)) goto LA4;
6820 					i = i_2;
6821 					T5_ = NIM_NIL;
6822 					T5_ = elemType__types_263(newType);
6823 					changeType__sem_75(c, (*n)._kind_6.sons->data[i], T5_, check);
6824 					i_2 += ((NI) 1);
6825 				} LA4: ;
6826 			}
6827 		}
6828 	}
6829 	break;
6830 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
6831 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
6832 	{
6833 		tyObject_TType__facALICuu8zUj0hjvbTLFg* tup;
6834 		tup = skipTypes__ast_3735(newType, TM__rF9caJawfOjYTjsgLVUSGFA_85);
6835 		{
6836 			if (!!(((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA9_;
6837 			{
6838 				if (!((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA13_;
6839 				goto BeforeRet_;
6840 			}
6841 			LA13_: ;
6842 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_86), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_87, NIM_FALSE);
6843 		}
6844 		goto LA7_;
6845 		LA9_: ;
6846 		{
6847 			NIM_BOOL T16_;
6848 			NI T17_;
6849 			T16_ = (NIM_BOOL)0;
6850 			T17_ = (NI)0;
6851 			T17_ = len__ast_3198(n);
6852 			T16_ = (((NI) 0) < T17_);
6853 			if (!(T16_)) goto LA18_;
6854 			T16_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
6855 			LA18_: ;
6856 			if (!T16_) goto LA19_;
6857 			{
6858 				NI i_3;
6859 				NI colontmp__2;
6860 				NI i_4;
6861 				i_3 = (NI)0;
6862 				colontmp__2 = (NI)0;
6863 				colontmp__2 = len__ast_3198(n);
6864 				i_4 = ((NI) 0);
6865 				{
6866 					while (1) {
6867 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6868 						if (!(i_4 < colontmp__2)) goto LA23;
6869 						i_3 = i_4;
6870 						m = (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 0)];
6871 						{
6872 							if (!!(((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA26_;
6873 							liMessage__msgs_1118((*(*c).graph).config, (*m).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_88), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_89, NIM_FALSE);
6874 							goto BeforeRet_;
6875 						}
6876 						LA26_: ;
6877 						{
6878 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
6879 							if (!!(((*tup).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA30_;
6880 							f = getSymFromList__astalgo_245((*tup).n, (*(*m)._kind_4.sym).name, ((NI) 0));
6881 							{
6882 								NimStringDesc* T36_;
6883 								if (!(f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA34_;
6884 								T36_ = NIM_NIL;
6885 								T36_ = rawNewString(((*(*(*m)._kind_4.sym).name).s ? (*(*(*m)._kind_4.sym).name).s->Sup.len : 0) + 20);
6886 appendString(T36_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_90));
6887 appendString(T36_, (*(*(*m)._kind_4.sym).name).s);
6888 								liMessage__msgs_1118((*(*c).graph).config, (*m).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T36_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_91, NIM_FALSE);
6889 								goto BeforeRet_;
6890 							}
6891 							LA34_: ;
6892 							changeType__sem_75(c, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)], (*f).typ, check);
6893 						}
6894 						goto LA28_;
6895 						LA30_: ;
6896 						{
6897 							changeType__sem_75(c, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)], (*tup).sons->data[i_3], check);
6898 						}
6899 						LA28_: ;
6900 						i_4 += ((NI) 1);
6901 					} LA23: ;
6902 				}
6903 			}
6904 		}
6905 		goto LA7_;
6906 		LA19_: ;
6907 		{
6908 			{
6909 				NI i_5;
6910 				NI colontmp__3;
6911 				NI i_6;
6912 				i_5 = (NI)0;
6913 				colontmp__3 = (NI)0;
6914 				colontmp__3 = len__ast_3198(n);
6915 				i_6 = ((NI) 0);
6916 				{
6917 					while (1) {
6918 						if (!(i_6 < colontmp__3)) goto LA41;
6919 						i_5 = i_6;
6920 						changeType__sem_75(c, (*n)._kind_6.sons->data[i_5], (*tup).sons->data[i_5], check);
6921 						i_6 += ((NI) 1);
6922 					} LA41: ;
6923 				}
6924 			}
6925 		}
6926 		LA7_: ;
6927 	}
6928 	break;
6929 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
6930 	{
6931 		{
6932 			NIM_BOOL T45_;
6933 			NIM_BOOL T46_;
6934 			NIM_BOOL T49_;
6935 			NI64 value;
6936 			T45_ = (NIM_BOOL)0;
6937 			T46_ = (NIM_BOOL)0;
6938 			T46_ = check;
6939 			if (!(T46_)) goto LA47_;
6940 			T46_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15)));
6941 			LA47_: ;
6942 			T45_ = T46_;
6943 			if (!(T45_)) goto LA48_;
6944 			T49_ = (NIM_BOOL)0;
6945 			T49_ = sameType__types_1824((*n).typ, newType, 0);
6946 			T45_ = !(T49_);
6947 			LA48_: ;
6948 			if (!T45_) goto LA50_;
6949 			value = (*n)._kind_1.intVal;
6950 			{
6951 				NIM_BOOL T54_;
6952 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T55_;
6953 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T57_;
6954 				NimStringDesc* T60_;
6955 				NimStringDesc* T61_;
6956 				NimStringDesc* T62_;
6957 				T54_ = (NIM_BOOL)0;
6958 				T55_ = firstOrd__types_1353((*(*c).graph).config, newType);
6959 				T54_ = lt___int495056_738(value, T55_);
6960 				if (T54_) goto LA56_;
6961 				T57_ = lastOrd__types_1470((*(*c).graph).config, newType);
6962 				T54_ = lt___int495056_721(T57_, value);
6963 				LA56_: ;
6964 				if (!T54_) goto LA58_;
6965 				T60_ = NIM_NIL;
6966 				T61_ = NIM_NIL;
6967 				T61_ = dollar___systemZdollars_6(value);
6968 				T62_ = NIM_NIL;
6969 				T62_ = typeToString__types_50(newType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
6970 				T60_ = rawNewString((T61_ ? T61_->Sup.len : 0) + (T62_ ? T62_->Sup.len : 0) + 19);
6971 appendString(T60_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_92));
6972 appendString(T60_, T61_);
6973 appendString(T60_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_93));
6974 appendString(T60_, T62_);
6975 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T60_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_94, NIM_FALSE);
6976 			}
6977 			LA58_: ;
6978 		}
6979 		LA50_: ;
6980 	}
6981 	break;
6982 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
6983 	{
6984 		{
6985 			NIM_BOOL T66_;
6986 			NIM_BOOL T68_;
6987 			tyArray__Re75IspeoxXy2oCZHwcRrA T71_;
6988 			NimStringDesc* T72_;
6989 			T66_ = (NIM_BOOL)0;
6990 			T66_ = check;
6991 			if (!(T66_)) goto LA67_;
6992 			T68_ = (NIM_BOOL)0;
6993 			T68_ = floatRangeCheck__types_1613((*n)._kind_2.floatVal, newType);
6994 			T66_ = !(T68_);
6995 			LA67_: ;
6996 			if (!T66_) goto LA69_;
6997 			nimZeroMem((void*)T71_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
6998 			T71_[0] = dollar___system_3118((*n)._kind_2.floatVal);
6999 			T71_[1] = typeToString__types_50(newType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
7000 			T72_ = NIM_NIL;
7001 			T72_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_95), T71_, 2);
7002 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T72_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_96, NIM_FALSE);
7003 		}
7004 		LA69_: ;
7005 	}
7006 	break;
7007 	default:
7008 	{
7009 	}
7010 	break;
7011 	}
7012 	asgnRef((void**) (&(*n).typ), newType);
7013 	}BeforeRet_: ;
7014 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitNodePostMatch__sem_164)7015 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitNodePostMatch__sem_164)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
7016 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7017 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7018 	result = NIM_NIL;
7019 	x = skipConv__types_3597(arg);
7020 	{
7021 		NIM_BOOL T3_;
7022 		NIM_BOOL T4_;
7023 		NIM_BOOL T5_;
7024 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
7025 		NIM_BOOL T10_;
7026 		T3_ = (NIM_BOOL)0;
7027 		T4_ = (NIM_BOOL)0;
7028 		T5_ = (NIM_BOOL)0;
7029 		T5_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39));
7030 		if (!(T5_)) goto LA6_;
7031 		T5_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19));
7032 		LA6_: ;
7033 		T4_ = T5_;
7034 		if (!(T4_)) goto LA7_;
7035 		T8_ = NIM_NIL;
7036 		T8_ = base__types_63(formal);
7037 		T4_ = !(((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
7038 		LA7_: ;
7039 		T3_ = T4_;
7040 		if (T3_) goto LA9_;
7041 		T10_ = (NIM_BOOL)0;
7042 		T10_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
7043 		if (!(T10_)) goto LA11_;
7044 		T10_ = !(((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51)));
7045 		LA11_: ;
7046 		T3_ = T10_;
7047 		LA9_: ;
7048 		if (!T3_) goto LA12_;
7049 		changeType__sem_75(c, x, formal, NIM_TRUE);
7050 	}
7051 	LA12_: ;
7052 	result = arg;
7053 	result = skipHiddenSubConv__types_3674(result, (*c).graph, (*c).Sup.idgen);
7054 	return result;
7055 }
N_NIMCALL(void,instantiateProcType__sem_1187)7056 N_LIB_PRIVATE N_NIMCALL(void, instantiateProcType__sem_1187)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
7057 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
7058 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
7059 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
7060 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* originalParams;
7061 	pushInfoContext__msgs_490((*(*c).graph).config, info, ((NimStringDesc*) NIM_NIL));
7062 	typeMap = initLayeredTypeMap__semtypinst_134(pt);
7063 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
7064 	initTypeVars__semtypinst_982(c, typeMap, info, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (&cl));
7065 	result = instCopyType__semtypinst_480((&cl), (*prc).typ);
7066 	originalParams = (*result).n;
7067 	asgnRef((void**) (&(*result).n), shallowCopy__ast_4413(originalParams));
7068 	{
7069 		NI i;
7070 		NI colontmp_;
7071 		NI i_2;
7072 		i = (NI)0;
7073 		colontmp_ = (NI)0;
7074 		colontmp_ = len__ast_4002(result);
7075 		i_2 = ((NI) 1);
7076 		{
7077 			while (1) {
7078 				tyObject_TType__facALICuu8zUj0hjvbTLFg* typeToFit;
7079 				NIM_BOOL needsStaticSkipping;
7080 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam;
7081 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
7082 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T25_;
7083 				if (!(i_2 < colontmp_)) goto LA3;
7084 				i = i_2;
7085 				{
7086 					if (!(((NI) 1) < i)) goto LA6_;
7087 					resetIdTable__ast_4104((&cl.symMap));
7088 					resetIdTable__ast_4104((&cl.localCache));
7089 				}
7090 				LA6_: ;
7091 				typeToFit = (*result).sons->data[i];
7092 				needsStaticSkipping = ((*(*result).sons->data[i]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
7093 				asgnRef((void**) (&(*result).sons->data[i]), replaceTypeVarsT__semtypinst_178((&cl), (*result).sons->data[i]));
7094 				{
7095 					if (!needsStaticSkipping) goto LA10_;
7096 					asgnRef((void**) (&(*result).sons->data[i]), skipTypes__ast_3735((*result).sons->data[i], TM__rF9caJawfOjYTjsgLVUSGFA_30));
7097 				}
7098 				LA10_: ;
7099 				{
7100 					NIM_BOOL T14_;
7101 					NIM_BOOL T15_;
7102 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
7103 					T14_ = (NIM_BOOL)0;
7104 					T15_ = (NIM_BOOL)0;
7105 					T15_ = !(((*typeToFit).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
7106 					if (T15_) goto LA16_;
7107 					T17_ = NIM_NIL;
7108 					T17_ = base__types_63(typeToFit);
7109 					T15_ = !(((*T17_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
7110 					LA16_: ;
7111 					T14_ = T15_;
7112 					if (!(T14_)) goto LA18_;
7113 					T14_ = !(((*typeToFit).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
7114 					LA18_: ;
7115 					if (!T14_) goto LA19_;
7116 					typeToFit = (*result).sons->data[i];
7117 				}
7118 				LA19_: ;
7119 				{
7120 					NimStringDesc* argX60gensym191_;
7121 					if (!!(((*(*originalParams)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA23_;
7122 					argX60gensym191_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_84);
7123 					internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym191_, TM__rF9caJawfOjYTjsgLVUSGFA_84);
7124 				}
7125 				LA23_: ;
7126 				oldParam = (*(*originalParams)._kind_6.sons->data[i])._kind_4.sym;
7127 				T25_ = nextSymId__ast_3132((*c).Sup.idgen);
7128 				param = copySym__ast_4054(oldParam, T25_);
7129 				asgnRef((void**) (&(*param).owner), prc);
7130 				asgnRef((void**) (&(*param).typ), (*result).sons->data[i]);
7131 				{
7132 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
7133 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* converted;
7134 					if (!!(((*oldParam).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA28_;
7135 					def = copyTree__ast_4431((*oldParam).ast);
7136 					{
7137 						if (!((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA32_;
7138 						{
7139 							NI i_3;
7140 							NI colontmp__2;
7141 							NI i_4;
7142 							i_3 = (NI)0;
7143 							colontmp__2 = (NI)0;
7144 							colontmp__2 = len__ast_3198(def);
7145 							i_4 = ((NI) 1);
7146 							{
7147 								while (1) {
7148 									if (!(i_4 < colontmp__2)) goto LA36;
7149 									i_3 = i_4;
7150 									asgnRef((void**) (&(*def)._kind_6.sons->data[i_3]), replaceTypeVarsN__semtypinst_130((&cl), (*def)._kind_6.sons->data[i_3], ((NI) 0)));
7151 									i_4 += ((NI) 1);
7152 								} LA36: ;
7153 							}
7154 						}
7155 					}
7156 					LA32_: ;
7157 					def = semExprWithType__sem_56(c, def, 0);
7158 					{
7159 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T39_;
7160 						NIM_BOOL T40_;
7161 						T39_ = NIM_NIL;
7162 						T39_ = getCurrOwner__semdata_315(c);
7163 						T40_ = (NIM_BOOL)0;
7164 						T40_ = referencesAnotherParam__sem_1165(def, T39_);
7165 						if (!T40_) goto LA41_;
7166 						(*def).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
7167 					}
7168 					LA41_: ;
7169 					converted = indexTypesMatch__sem_120(c, typeToFit, (*def).typ, def);
7170 					{
7171 						if (!(converted == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA45_;
7172 						asgnRef((void**) (&(*param).ast), errorNode__semdata_1009(c, def));
7173 					}
7174 					goto LA43_;
7175 					LA45_: ;
7176 					{
7177 						asgnRef((void**) (&(*param).ast), fitNodePostMatch__sem_164(c, typeToFit, converted));
7178 					}
7179 					LA43_: ;
7180 					asgnRef((void**) (&(*param).typ), (*result).sons->data[i]);
7181 				}
7182 				LA28_: ;
7183 				asgnRef((void**) (&(*(*result).n)._kind_6.sons->data[i]), newSymNode__ast_3716(param));
7184 				propagateToOwner__ast_4219(result, (*result).sons->data[i], NIM_TRUE);
7185 				addDecl__lookups_845(c, param);
7186 				i_2 += ((NI) 1);
7187 			} LA3: ;
7188 		}
7189 	}
7190 	resetIdTable__ast_4104((&cl.symMap));
7191 	resetIdTable__ast_4104((&cl.localCache));
7192 	cl.isReturnType = NIM_TRUE;
7193 	asgnRef((void**) (&(*result).sons->data[((NI) 0)]), replaceTypeVarsT__semtypinst_178((&cl), (*result).sons->data[((NI) 0)]));
7194 	cl.isReturnType = NIM_FALSE;
7195 	asgnRef((void**) (&(*(*result).n)._kind_6.sons->data[((NI) 0)]), copyTree__ast_4431((*originalParams)._kind_6.sons->data[((NI) 0)]));
7196 	{
7197 		if (!!(((*result).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA50_;
7198 		propagateToOwner__ast_4219(result, (*result).sons->data[((NI) 0)], NIM_TRUE);
7199 	}
7200 	LA50_: ;
7201 	eraseVoidParams__semtypinst_682(result);
7202 	skipIntLiteralParams__semtypinst_738(result, (*c).Sup.idgen);
7203 	asgnRef((void**) (&(*prc).typ), result);
7204 	popInfoContext__msgs_507((*(*c).graph).config);
7205 }
N_NIMCALL(NIM_BOOL,sameInstantiation__sem_965)7206 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameInstantiation__sem_965)(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA a, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA b) {
7207 	NIM_BOOL result;
7208 {	result = (NIM_BOOL)0;
7209 	{
7210 		NI T3_;
7211 		NI T4_;
7212 		T3_ = (a.concreteTypes ? a.concreteTypes->Sup.len : 0);
7213 		T4_ = (b.concreteTypes ? b.concreteTypes->Sup.len : 0);
7214 		if (!(T3_ == T4_)) goto LA5_;
7215 		{
7216 			NI i;
7217 			NI colontmp_;
7218 			NI T8_;
7219 			NI res;
7220 			i = (NI)0;
7221 			colontmp_ = (NI)0;
7222 			T8_ = ((a.concreteTypes ? a.concreteTypes->Sup.len : 0)-1);
7223 			colontmp_ = T8_;
7224 			res = ((NI) 0);
7225 			{
7226 				while (1) {
7227 					if (!(res <= colontmp_)) goto LA10;
7228 					i = res;
7229 					{
7230 						NIM_BOOL T13_;
7231 						T13_ = (NIM_BOOL)0;
7232 						T13_ = compareTypes__types_2668(a.concreteTypes->data[i], b.concreteTypes->data[i], ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 0), 164);
7233 						if (!!(T13_)) goto LA14_;
7234 						goto BeforeRet_;
7235 					}
7236 					LA14_: ;
7237 					res += ((NI) 1);
7238 				} LA10: ;
7239 			}
7240 		}
7241 		result = NIM_TRUE;
7242 	}
7243 	LA5_: ;
7244 	}BeforeRet_: ;
7245 	return result;
7246 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,genericCacheGet__sem_983)7247 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, genericCacheGet__sem_983)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA entry, NI id) {
7248 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
7249 {	result = NIM_NIL;
7250 	{
7251 		tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
7252 		inst = NIM_NIL;
7253 		{
7254 			NIM_BOOL T4_;
7255 			tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA** x;
7256 			T4_ = (NIM_BOOL)0;
7257 			T4_ = contains__modulegraphs_3568((*g).procInstCache, (*genericSym).Sup.itemId);
7258 			if (!T4_) goto LA5_;
7259 			x = X5BX5D___modulegraphs_3884((&(*g).procInstCache), (*genericSym).Sup.itemId);
7260 			{
7261 				tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg* t;
7262 				NI i;
7263 				NI L;
7264 				NI T8_;
7265 				t = (tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg*)0;
7266 				i = ((NI) 0);
7267 				T8_ = ((*x) ? (*x)->Sup.len : 0);
7268 				L = T8_;
7269 				{
7270 					while (1) {
7271 						if (!(i < L)) goto LA10;
7272 						t = (&(*x)->data[i]);
7273 						inst = resolveInst__modulegraphs_2881(g, t);
7274 						{
7275 							NIM_BOOL T13_;
7276 							NIM_BOOL T14_;
7277 							T13_ = (NIM_BOOL)0;
7278 							T14_ = (NIM_BOOL)0;
7279 							T14_ = ((*inst).compilesId == ((NI) 0));
7280 							if (T14_) goto LA15_;
7281 							T14_ = ((*inst).compilesId == id);
7282 							LA15_: ;
7283 							T13_ = T14_;
7284 							if (!(T13_)) goto LA16_;
7285 							T13_ = sameInstantiation__sem_965(entry, (*inst));
7286 							LA16_: ;
7287 							if (!T13_) goto LA17_;
7288 							result = (*inst).sym;
7289 							goto BeforeRet_;
7290 						}
7291 						LA17_: ;
7292 						i += ((NI) 1);
7293 					} LA10: ;
7294 				}
7295 			}
7296 		}
7297 		LA5_: ;
7298 	}
7299 	}BeforeRet_: ;
7300 	return result;
7301 }
N_INLINE(NIM_BOOL,fieldVisible__sigmatch_4944)7302 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f) {
7303 	NIM_BOOL result;
7304 	NI fmoduleId;
7305 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym794_;
7306 	NIM_BOOL T1_;
7307 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym796_;
7308 {	result = (NIM_BOOL)0;
7309 	xX60gensym794_ = getModule__astalgo_216(f);
7310 	fmoduleId = (NI)((NI)((NU64)(((NI) ((*xX60gensym794_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym794_).Sup.itemId.item)));
7311 	T1_ = (NIM_BOOL)0;
7312 	T1_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
7313 	if (T1_) goto LA2_;
7314 	xX60gensym796_ = (*c).module;
7315 	T1_ = (fmoduleId == (NI)((NI)((NU64)(((NI) ((*xX60gensym796_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym796_).Sup.itemId.item))));
7316 	LA2_: ;
7317 	result = T1_;
7318 	{
7319 		if (!!(result)) goto LA5_;
7320 		{
7321 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** module;
7322 			NI i;
7323 			NI L;
7324 			NI T8_;
7325 			module = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7326 			i = ((NI) 0);
7327 			T8_ = ((*c).friendModules ? (*c).friendModules->Sup.len : 0);
7328 			L = T8_;
7329 			{
7330 				while (1) {
7331 					if (!(i < L)) goto LA10;
7332 					module = &(*c).friendModules->data[i];
7333 					{
7334 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym797_;
7335 						xX60gensym797_ = (*module);
7336 						if (!(fmoduleId == (NI)((NI)((NU64)(((NI) ((*xX60gensym797_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym797_).Sup.itemId.item))))) goto LA13_;
7337 						result = NIM_TRUE;
7338 						goto BeforeRet_;
7339 					}
7340 					LA13_: ;
7341 					i += ((NI) 1);
7342 				} LA10: ;
7343 			}
7344 		}
7345 		{
7346 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symObj;
7347 			if (!((*f).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19))) goto LA17_;
7348 			symObj = (*f).owner;
7349 			{
7350 				if (!((*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA21_;
7351 				symObj = (*(*(*symObj).typ).sons->data[((NI) 0)]).sym;
7352 			}
7353 			LA21_: ;
7354 			{
7355 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
7356 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
7357 				scope = NIM_NIL;
7358 				current = (*c).currentScope;
7359 				{
7360 					while (1) {
7361 						if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA25;
7362 						scope = current;
7363 						{
7364 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** sym;
7365 							NI i_2;
7366 							NI L_2;
7367 							NI T27_;
7368 							sym = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7369 							i_2 = ((NI) 0);
7370 							T27_ = ((*scope).allowPrivateAccess ? (*scope).allowPrivateAccess->Sup.len : 0);
7371 							L_2 = T27_;
7372 							{
7373 								while (1) {
7374 									if (!(i_2 < L_2)) goto LA29;
7375 									sym = &(*scope).allowPrivateAccess->data[i_2];
7376 									{
7377 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym800_;
7378 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym801_;
7379 										xX60gensym800_ = symObj;
7380 										xX60gensym801_ = (*sym);
7381 										if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym800_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym800_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym801_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym801_).Sup.itemId.item))))) goto LA32_;
7382 										result = NIM_TRUE;
7383 										goto BeforeRet_;
7384 									}
7385 									LA32_: ;
7386 									i_2 += ((NI) 1);
7387 								} LA29: ;
7388 							}
7389 						}
7390 						current = (*current).parent;
7391 					} LA25: ;
7392 				}
7393 			}
7394 		}
7395 		LA17_: ;
7396 	}
7397 	LA5_: ;
7398 	}BeforeRet_: ;
7399 	return result;
7400 }
N_NIMCALL(void,addObjFieldsToLocalScope__sem_805)7401 N_LIB_PRIVATE N_NIMCALL(void, addObjFieldsToLocalScope__sem_805)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7402 	switch ((*n).kind) {
7403 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
7404 	{
7405 		{
7406 			NI i;
7407 			NI colontmp_;
7408 			NI i_2;
7409 			i = (NI)0;
7410 			colontmp_ = (NI)0;
7411 			colontmp_ = len__ast_3198(n);
7412 			i_2 = ((NI) 0);
7413 			{
7414 				while (1) {
7415 					if (!(i_2 < colontmp_)) goto LA4;
7416 					i = i_2;
7417 					addObjFieldsToLocalScope__sem_805(c, (*n)._kind_6.sons->data[i]);
7418 					i_2 += ((NI) 1);
7419 				} LA4: ;
7420 			}
7421 		}
7422 	}
7423 	break;
7424 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
7425 	{
7426 		{
7427 			NI T8_;
7428 			T8_ = (NI)0;
7429 			T8_ = len__ast_3198(n);
7430 			if (!(((NI) 0) < T8_)) goto LA9_;
7431 			addObjFieldsToLocalScope__sem_805(c, (*n)._kind_6.sons->data[((NI) 0)]);
7432 		}
7433 		LA9_: ;
7434 		{
7435 			NI i_3;
7436 			NI colontmp__2;
7437 			NI i_4;
7438 			i_3 = (NI)0;
7439 			colontmp__2 = (NI)0;
7440 			colontmp__2 = len__ast_3198(n);
7441 			i_4 = ((NI) 1);
7442 			{
7443 				while (1) {
7444 					if (!(i_4 < colontmp__2)) goto LA13;
7445 					i_3 = i_4;
7446 					{
7447 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
7448 						if (!((*(*n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85) || (*(*n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA16_;
7449 						T18_ = NIM_NIL;
7450 						T18_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
7451 						addObjFieldsToLocalScope__sem_805(c, T18_);
7452 					}
7453 					LA16_: ;
7454 					i_4 += ((NI) 1);
7455 				} LA13: ;
7456 			}
7457 		}
7458 	}
7459 	break;
7460 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
7461 	{
7462 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
7463 		f = (*n)._kind_4.sym;
7464 		{
7465 			NIM_BOOL T22_;
7466 			NIM_BOOL T26_;
7467 			T22_ = (NIM_BOOL)0;
7468 			T22_ = ((*f).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
7469 			if (!(T22_)) goto LA23_;
7470 			T22_ = fieldVisible__sigmatch_4944(c, f);
7471 			LA23_: ;
7472 			if (!T22_) goto LA24_;
7473 			T26_ = (NIM_BOOL)0;
7474 			T26_ = strTableIncl__astalgo_3381((&(*(*c).currentScope).symbols), f, NIM_TRUE);
7475 			(*f).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
7476 		}
7477 		LA24_: ;
7478 	}
7479 	break;
7480 	default:
7481 	{
7482 	}
7483 	break;
7484 	}
7485 }
N_NIMCALL(void,rawHandleSelf__sem_865)7486 N_LIB_PRIVATE N_NIMCALL(void, rawHandleSelf__sem_865)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
7487 	{
7488 		NIM_BOOL T3_;
7489 		NIM_BOOL T4_;
7490 		NIM_BOOL T5_;
7491 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
7492 		T3_ = (NIM_BOOL)0;
7493 		T4_ = (NIM_BOOL)0;
7494 		T5_ = (NIM_BOOL)0;
7495 		T5_ = eqeq___idents_220((*c).selfName, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
7496 		T4_ = !(T5_);
7497 		if (!(T4_)) goto LA6_;
7498 		T4_ = ((258048 &((NU32)1<<((NU)((*owner).kind)&31U)))!=0);
7499 		LA6_: ;
7500 		T3_ = T4_;
7501 		if (!(T3_)) goto LA7_;
7502 		T3_ = !(((*owner).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7503 		LA7_: ;
7504 		if (!T3_) goto LA8_;
7505 		params = (*(*owner).typ).n;
7506 		{
7507 			NI T12_;
7508 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* arg;
7509 			T12_ = (NI)0;
7510 			T12_ = len__ast_3198(params);
7511 			if (!(((NI) 1) < T12_)) goto LA13_;
7512 			arg = (*(*params)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
7513 			{
7514 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
7515 				if (!((*(*arg).name).id == (*(*c).selfName).id)) goto LA17_;
7516 				asgnRef((void**) (&(*(*c).p).selfSym), arg);
7517 				(*arg).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35)) & 63);
7518 				t = skipTypes__ast_3735((*(*(*c).p).selfSym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
7519 				{
7520 					while (1) {
7521 						if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA20;
7522 						addObjFieldsToLocalScope__sem_805(c, (*t).n);
7523 						{
7524 							if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA23_;
7525 							goto LA19;
7526 						}
7527 						LA23_: ;
7528 						t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
7529 					} LA20: ;
7530 				} LA19: ;
7531 			}
7532 			LA17_: ;
7533 		}
7534 		LA13_: ;
7535 	}
7536 	LA8_: ;
7537 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getBody__modulegraphs_11241)7538 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
7539 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7540 	result = NIM_NIL;
7541 	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
7542 	{
7543 		NIM_BOOL T3_;
7544 		T3_ = (NIM_BOOL)0;
7545 		T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
7546 		if (!(T3_)) goto LA4_;
7547 		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
7548 		LA4_: ;
7549 		if (!T3_) goto LA5_;
7550 		result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
7551 		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
7552 	}
7553 	LA5_: ;
7554 	return result;
7555 }
N_NIMCALL(void,swapResult__sem_12374)7556 N_LIB_PRIVATE N_NIMCALL(void, swapResult__sem_12374)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sRes, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dNode) {
7557 	{
7558 		NI i;
7559 		NI colontmp_;
7560 		NI i_2;
7561 		i = (NI)0;
7562 		colontmp_ = (NI)0;
7563 		colontmp_ = safeLen__ast_3191(n);
7564 		i_2 = ((NI) 0);
7565 		{
7566 			while (1) {
7567 				if (!(i_2 < colontmp_)) goto LA3;
7568 				i = i_2;
7569 				{
7570 					NIM_BOOL T6_;
7571 					T6_ = (NIM_BOOL)0;
7572 					T6_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7573 					if (!(T6_)) goto LA7_;
7574 					T6_ = ((*(*n)._kind_6.sons->data[i])._kind_4.sym == sRes);
7575 					LA7_: ;
7576 					if (!T6_) goto LA8_;
7577 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), dNode);
7578 				}
7579 				LA8_: ;
7580 				swapResult__sem_12374((*n)._kind_6.sons->data[i], sRes, dNode);
7581 				i_2 += ((NI) 1);
7582 			} LA3: ;
7583 		}
7584 	}
7585 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,findEnforcedStaticType__sem_4687)7586 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, findEnforcedStaticType__sem_4687)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7587 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
7588 {	result = NIM_NIL;
7589 	{
7590 		if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
7591 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
7592 		goto BeforeRet_;
7593 	}
7594 	LA3_: ;
7595 	{
7596 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA7_;
7597 		result = t;
7598 		goto BeforeRet_;
7599 	}
7600 	LA7_: ;
7601 	{
7602 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56))) goto LA11_;
7603 		{
7604 			tyObject_TType__facALICuu8zUj0hjvbTLFg** s;
7605 			NI i;
7606 			NI L;
7607 			NI T14_;
7608 			s = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
7609 			i = ((NI) 0);
7610 			T14_ = ((*t).sons ? (*t).sons->Sup.len : 0);
7611 			L = T14_;
7612 			{
7613 				while (1) {
7614 					tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
7615 					if (!(i < L)) goto LA16;
7616 					s = &(*t).sons->data[i];
7617 					t_2 = findEnforcedStaticType__sem_4687((*s));
7618 					{
7619 						if (!!((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA19_;
7620 						result = t_2;
7621 						goto BeforeRet_;
7622 					}
7623 					LA19_: ;
7624 					i += ((NI) 1);
7625 				} LA16: ;
7626 			}
7627 		}
7628 	}
7629 	LA11_: ;
7630 	}BeforeRet_: ;
7631 	return result;
7632 }
N_NIMCALL(void,addParamOrResult__sem_1024)7633 N_LIB_PRIVATE N_NIMCALL(void, addParamOrResult__sem_1024)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
7634 	{
7635 		tyObject_TType__facALICuu8zUj0hjvbTLFg* staticType;
7636 		if (!(kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17))) goto LA3_;
7637 		staticType = findEnforcedStaticType__sem_4687((*param).typ);
7638 		{
7639 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a;
7640 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T9_;
7641 			if (!!((staticType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
7642 			T9_ = nextSymId__ast_3132((*c).Sup.idgen);
7643 			a = copySym__ast_4054(param, T9_);
7644 			asgnRef((void**) (&(*a).typ), base__types_63(staticType));
7645 			addDecl__lookups_845(c, a);
7646 		}
7647 		goto LA5_;
7648 		LA7_: ;
7649 		{
7650 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* nn;
7651 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a_2;
7652 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T11_;
7653 			nn = getSysSym__magicsys_16((*c).graph, (*param).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_99));
7654 			T11_ = nextSymId__ast_3132((*c).Sup.idgen);
7655 			a_2 = copySym__ast_4054(param, T11_);
7656 			asgnRef((void**) (&(*a_2).typ), (*nn).typ);
7657 			addDecl__lookups_845(c, a_2);
7658 		}
7659 		LA5_: ;
7660 	}
7661 	goto LA1_;
7662 	LA3_: ;
7663 	{
7664 		{
7665 			if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA15_;
7666 			{
7667 				if (!((*param).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA19_;
7668 				asgnRef((void**) (&(*param).owner), getCurrOwner__semdata_315(c));
7669 			}
7670 			LA19_: ;
7671 		}
7672 		goto LA13_;
7673 		LA15_: ;
7674 		{
7675 			addDecl__lookups_845(c, param);
7676 		}
7677 		LA13_: ;
7678 	}
7679 	LA1_: ;
7680 }
N_NIMCALL(void,addResult__sem_12395)7681 N_LIB_PRIVATE N_NIMCALL(void, addResult__sem_12395)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw owner) {
7682 	{
7683 		NIM_BOOL T3_;
7684 		T3_ = (NIM_BOOL)0;
7685 		T3_ = (owner == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
7686 		if (T3_) goto LA4_;
7687 		T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7688 		LA4_: ;
7689 		if (!T3_) goto LA5_;
7690 		{
7691 			NIM_BOOL T9_;
7692 			NI T10_;
7693 			T9_ = (NIM_BOOL)0;
7694 			T10_ = (NI)0;
7695 			T10_ = len__ast_3198(n);
7696 			T9_ = (((NI) 7) < T10_);
7697 			if (!(T9_)) goto LA11_;
7698 			T9_ = !(((*n)._kind_6.sons->data[((NI) 7)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7699 			LA11_: ;
7700 			if (!T9_) goto LA12_;
7701 			{
7702 				if (!!(((*(*(*n)._kind_6.sons->data[((NI) 7)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11)))) goto LA16_;
7703 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_100), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_101, NIM_FALSE);
7704 			}
7705 			LA16_: ;
7706 			{
7707 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
7708 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sResSym;
7709 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
7710 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T23_;
7711 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T24_;
7712 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T25_;
7713 				T20_ = NIM_NIL;
7714 				T20_ = getCurrOwner__semdata_315(c);
7715 				if (!!(((*(*(*n)._kind_6.sons->data[((NI) 7)])._kind_4.sym).owner == T20_))) goto LA21_;
7716 				sResSym = (*(*n)._kind_6.sons->data[((NI) 7)])._kind_4.sym;
7717 				T23_ = NIM_NIL;
7718 				T23_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
7719 				T24_ = nextSymId__ast_3132((*c).Sup.idgen);
7720 				T25_ = NIM_NIL;
7721 				T25_ = getCurrOwner__semdata_315(c);
7722 				s = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11), T23_, T24_, T25_, (*n).info, 0);
7723 				asgnRef((void**) (&(*s).typ), t);
7724 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
7725 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 7)]), newSymNode__ast_3716(s));
7726 				swapResult__sem_12374(n, sResSym, (*n)._kind_6.sons->data[((NI) 7)]);
7727 			}
7728 			LA21_: ;
7729 			asgnRef((void**) (&(*(*c).p).resultSym), (*(*n)._kind_6.sons->data[((NI) 7)])._kind_4.sym);
7730 		}
7731 		goto LA7_;
7732 		LA12_: ;
7733 		{
7734 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
7735 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T27_;
7736 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T28_;
7737 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T29_;
7738 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
7739 			T27_ = NIM_NIL;
7740 			T27_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
7741 			T28_ = nextSymId__ast_3132((*c).Sup.idgen);
7742 			T29_ = NIM_NIL;
7743 			T29_ = getCurrOwner__semdata_315(c);
7744 			s_2 = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11), T27_, T28_, T29_, (*n).info, 0);
7745 			asgnRef((void**) (&(*s_2).typ), t);
7746 			(*s_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
7747 			asgnRef((void**) (&(*(*c).p).resultSym), s_2);
7748 			T30_ = NIM_NIL;
7749 			T30_ = newSymNode__ast_3716((*(*c).p).resultSym);
7750 			add__ast_4797(n, T30_);
7751 		}
7752 		LA7_: ;
7753 		addParamOrResult__sem_1024(c, (*(*c).p).resultSym, owner);
7754 	}
7755 	LA5_: ;
7756 }
N_INLINE(NIM_BOOL,isInlineIterator__ast_4989)7757 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
7758 	NIM_BOOL result;
7759 	NIM_BOOL T1_;
7760 	NIM_BOOL T2_;
7761 	result = (NIM_BOOL)0;
7762 	T1_ = (NIM_BOOL)0;
7763 	T2_ = (NIM_BOOL)0;
7764 	T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7765 	if (!(T2_)) goto LA3_;
7766 	T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
7767 	LA3_: ;
7768 	T1_ = T2_;
7769 	if (!(T1_)) goto LA4_;
7770 	T1_ = !(((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
7771 	LA4_: ;
7772 	result = T1_;
7773 	return result;
7774 }
N_NIMCALL(void,maybeAddResult__sem_100)7775 N_LIB_PRIVATE N_NIMCALL(void, maybeAddResult__sem_100)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7776 	{
7777 		tyObject_TType__facALICuu8zUj0hjvbTLFg* resultType;
7778 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17))) goto LA3_;
7779 		resultType = sysTypeFromName__magicsys_55((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_99));
7780 		addResult__sem_12395(c, n, resultType, (*s).kind);
7781 	}
7782 	goto LA1_;
7783 	LA3_: ;
7784 	{
7785 		NIM_BOOL T6_;
7786 		NIM_BOOL T8_;
7787 		T6_ = (NIM_BOOL)0;
7788 		T6_ = !(((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7789 		if (!(T6_)) goto LA7_;
7790 		T8_ = (NIM_BOOL)0;
7791 		T8_ = isInlineIterator__ast_4989((*s).typ);
7792 		T6_ = !(T8_);
7793 		LA7_: ;
7794 		if (!T6_) goto LA9_;
7795 		addResult__sem_12395(c, n, (*(*s).typ).sons->data[((NI) 0)], (*s).kind);
7796 	}
7797 	goto LA1_;
7798 	LA9_: ;
7799 	LA1_: ;
7800 }
N_NIMCALL(void,freshGenSyms__sem_990)7801 N_LIB_PRIVATE N_NIMCALL(void, freshGenSyms__sem_990)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* symMap) {
7802 	{
7803 		NIM_BOOL T3_;
7804 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
7805 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
7806 		RootObj* T7_;
7807 		T3_ = (NIM_BOOL)0;
7808 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7809 		if (!(T3_)) goto LA4_;
7810 		T3_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
7811 		LA4_: ;
7812 		if (!T3_) goto LA5_;
7813 		s = (*n)._kind_4.sym;
7814 		T7_ = NIM_NIL;
7815 		T7_ = idTableGet__astalgo_64((*symMap), &s->Sup);
7816 		x = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) (T7_));
7817 		{
7818 			if (!!((x == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10_;
7819 			asgnRef((void**) (&(*n)._kind_4.sym), x);
7820 		}
7821 		goto LA8_;
7822 		LA10_: ;
7823 		{
7824 			NIM_BOOL T13_;
7825 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
7826 			T13_ = (NIM_BOOL)0;
7827 			T13_ = ((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
7828 			if (T13_) goto LA14_;
7829 			T13_ = ((*(*s).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24));
7830 			LA14_: ;
7831 			if (!T13_) goto LA15_;
7832 			T17_ = nextSymId__ast_3132((*c).Sup.idgen);
7833 			x = copySym__ast_4054(s, T17_);
7834 			asgnRef((void**) (&(*x).owner), owner);
7835 			idTablePut__astalgo_70(symMap, &s->Sup, (*((RootObj**) (&(x)))));
7836 			asgnRef((void**) (&(*n)._kind_4.sym), x);
7837 		}
7838 		goto LA8_;
7839 		LA15_: ;
7840 		LA8_: ;
7841 	}
7842 	goto LA1_;
7843 	LA5_: ;
7844 	{
7845 		{
7846 			NI i;
7847 			NI colontmp_;
7848 			NI i_2;
7849 			i = (NI)0;
7850 			colontmp_ = (NI)0;
7851 			colontmp_ = safeLen__ast_3191(n);
7852 			i_2 = ((NI) 0);
7853 			{
7854 				while (1) {
7855 					if (!(i_2 < colontmp_)) goto LA21;
7856 					i = i_2;
7857 					freshGenSyms__sem_990(c, (*n)._kind_6.sons->data[i], owner, orig, symMap);
7858 					i_2 += ((NI) 1);
7859 				} LA21: ;
7860 			}
7861 		}
7862 	}
7863 	LA1_: ;
7864 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)7865 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7866 	NIM_BOOL result;
7867 	NIM_BOOL T1_;
7868 	result = (NIM_BOOL)0;
7869 	T1_ = (NIM_BOOL)0;
7870 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
7871 	if (T1_) goto LA2_;
7872 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
7873 	LA2_: ;
7874 	result = T1_;
7875 	return result;
7876 }
N_INLINE(NIM_BOOL,isAtom__ast_4768)7877 static N_INLINE(NIM_BOOL, isAtom__ast_4768)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7878 	NIM_BOOL result;
7879 	NIM_BOOL T1_;
7880 	result = (NIM_BOOL)0;
7881 	T1_ = (NIM_BOOL)0;
7882 	T1_ = (((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) <= (*n).kind);
7883 	if (!(T1_)) goto LA2_;
7884 	T1_ = ((*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
7885 	LA2_: ;
7886 	result = T1_;
7887 	return result;
7888 }
N_NIMCALL(void,fixNilType__sem_9307)7889 N_LIB_PRIVATE N_NIMCALL(void, fixNilType__sem_9307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7890 	{
7891 		NIM_BOOL T3_;
7892 		T3_ = (NIM_BOOL)0;
7893 		T3_ = isAtom__ast_4768(n);
7894 		if (!T3_) goto LA4_;
7895 		{
7896 			NIM_BOOL T8_;
7897 			NimStringDesc* T12_;
7898 			NimStringDesc* T13_;
7899 			T8_ = (NIM_BOOL)0;
7900 			T8_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
7901 			if (!(T8_)) goto LA9_;
7902 			T8_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7903 			LA9_: ;
7904 			if (!T8_) goto LA10_;
7905 			T12_ = NIM_NIL;
7906 			T12_ = typeToString__types_50((*n).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
7907 			T13_ = NIM_NIL;
7908 			T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_103), T12_);
7909 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_104, NIM_FALSE);
7910 		}
7911 		LA10_: ;
7912 	}
7913 	goto LA1_;
7914 	LA4_: ;
7915 	{
7916 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA15_;
7917 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 115));
7918 		{
7919 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7920 			it = NIM_NIL;
7921 			{
7922 				NI i;
7923 				NI colontmp_;
7924 				NI i_2;
7925 				i = (NI)0;
7926 				colontmp_ = (NI)0;
7927 				colontmp_ = safeLen__ast_3191(n);
7928 				i_2 = ((NI) 0);
7929 				{
7930 					while (1) {
7931 						if (!(i_2 < colontmp_)) goto LA20;
7932 						i = i_2;
7933 						it = (*n)._kind_6.sons->data[i];
7934 						fixNilType__sem_9307(c, it);
7935 						i_2 += ((NI) 1);
7936 					} LA20: ;
7937 				}
7938 			}
7939 		}
7940 	}
7941 	goto LA1_;
7942 	LA15_: ;
7943 	LA1_: ;
7944 	asgnRef((void**) (&(*n).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
7945 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,readTypeParameter__sem_16914)7946 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, readTypeParameter__sem_16914)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* paramName, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
7947 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7948 {	result = NIM_NIL;
7949 	{
7950 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA3_;
7951 		{
7952 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* statement;
7953 			statement = NIM_NIL;
7954 			{
7955 				NI i;
7956 				NI colontmp_;
7957 				NI i_2;
7958 				i = (NI)0;
7959 				colontmp_ = (NI)0;
7960 				colontmp_ = safeLen__ast_3191((*typ).n);
7961 				i_2 = ((NI) 0);
7962 				{
7963 					while (1) {
7964 						if (!(i_2 < colontmp_)) goto LA8;
7965 						i = i_2;
7966 						statement = (*(*typ).n)._kind_6.sons->data[i];
7967 						switch ((*statement).kind) {
7968 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
7969 						{
7970 							{
7971 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
7972 								def = NIM_NIL;
7973 								{
7974 									NI i_3;
7975 									NI colontmp__2;
7976 									NI i_4;
7977 									i_3 = (NI)0;
7978 									colontmp__2 = (NI)0;
7979 									colontmp__2 = safeLen__ast_3191(statement);
7980 									i_4 = ((NI) 0);
7981 									{
7982 										while (1) {
7983 											if (!(i_4 < colontmp__2)) goto LA13;
7984 											i_3 = i_4;
7985 											def = (*statement)._kind_6.sons->data[i_3];
7986 											{
7987 												tyObject_TType__facALICuu8zUj0hjvbTLFg* foundType;
7988 												tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T18_;
7989 												tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T19_;
7990 												tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
7991 												if (!((*(*(*(*def)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).id == (*paramName).id)) goto LA16_;
7992 												foundType = makeTypeDesc__concepts_49(c, (*(*def)._kind_6.sons->data[((NI) 2)]).typ);
7993 												T18_ = nextSymId__ast_3132((*c).Sup.idgen);
7994 												T19_ = NIM_NIL;
7995 												T19_ = copySym__ast_4054((*(*def)._kind_6.sons->data[((NI) 0)])._kind_4.sym, T18_);
7996 												T20_ = NIM_NIL;
7997 												T20_ = linkTo__ast_3532(T19_, foundType);
7998 												result = newSymNode__ast_3719(T20_, info);
7999 												goto BeforeRet_;
8000 											}
8001 											LA16_: ;
8002 											i_4 += ((NI) 1);
8003 										} LA13: ;
8004 									}
8005 								}
8006 							}
8007 						}
8008 						break;
8009 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
8010 						{
8011 							{
8012 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def_2;
8013 								def_2 = NIM_NIL;
8014 								{
8015 									NI i_5;
8016 									NI colontmp__3;
8017 									NI i_6;
8018 									i_5 = (NI)0;
8019 									colontmp__3 = (NI)0;
8020 									colontmp__3 = safeLen__ast_3191(statement);
8021 									i_6 = ((NI) 0);
8022 									{
8023 										while (1) {
8024 											if (!(i_6 < colontmp__3)) goto LA25;
8025 											i_5 = i_6;
8026 											def_2 = (*statement)._kind_6.sons->data[i_5];
8027 											{
8028 												if (!((*(*(*(*def_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).id == (*paramName).id)) goto LA28_;
8029 												result = (*def_2)._kind_6.sons->data[((NI) 2)];
8030 												goto BeforeRet_;
8031 											}
8032 											LA28_: ;
8033 											i_6 += ((NI) 1);
8034 										} LA25: ;
8035 									}
8036 								}
8037 							}
8038 						}
8039 						break;
8040 						default:
8041 						{
8042 						}
8043 						break;
8044 						}
8045 						i_2 += ((NI) 1);
8046 					} LA8: ;
8047 				}
8048 			}
8049 		}
8050 	}
8051 	LA3_: ;
8052 	{
8053 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
8054 		tyObject_TType__facALICuu8zUj0hjvbTLFg* tbody;
8055 		if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52)))) goto LA33_;
8056 		{
8057 			if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54))) goto LA37_;
8058 			ty = skipGenericAlias__types_2219((*typ).sons->data[((NI) 1)]);
8059 		}
8060 		goto LA35_;
8061 		LA37_: ;
8062 		{
8063 			ty = skipGenericAlias__types_2219(typ);
8064 		}
8065 		LA35_: ;
8066 		tbody = (*ty).sons->data[((NI) 0)];
8067 		{
8068 			NI s;
8069 			NI colontmp__4;
8070 			NI T41_;
8071 			NI i_7;
8072 			s = (NI)0;
8073 			colontmp__4 = (NI)0;
8074 			T41_ = (NI)0;
8075 			T41_ = len__ast_4002(tbody);
8076 			colontmp__4 = (NI)(T41_ - ((NI) 1));
8077 			i_7 = ((NI) 0);
8078 			{
8079 				while (1) {
8080 					tyObject_TType__facALICuu8zUj0hjvbTLFg* tParam;
8081 					if (!(i_7 < colontmp__4)) goto LA43;
8082 					s = i_7;
8083 					tParam = (*tbody).sons->data[s];
8084 					{
8085 						tyObject_TType__facALICuu8zUj0hjvbTLFg* rawTyp;
8086 						if (!((*(*(*tParam).sym).name).id == (*paramName).id)) goto LA46_;
8087 						rawTyp = (*ty).sons->data[(NI)(s + ((NI) 1))];
8088 						{
8089 							if (!((*rawTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA50_;
8090 							{
8091 								if (!!(((*rawTyp).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA54_;
8092 								result = (*rawTyp).n;
8093 								goto BeforeRet_;
8094 							}
8095 							goto LA52_;
8096 							LA54_: ;
8097 							{
8098 								result = (*(*c).graph).emptyNode;
8099 								goto BeforeRet_;
8100 							}
8101 							LA52_: ;
8102 						}
8103 						goto LA48_;
8104 						LA50_: ;
8105 						{
8106 							tyObject_TType__facALICuu8zUj0hjvbTLFg* foundTyp;
8107 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T58_;
8108 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T59_;
8109 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T60_;
8110 							foundTyp = makeTypeDesc__concepts_49(c, rawTyp);
8111 							T58_ = nextSymId__ast_3132((*c).Sup.idgen);
8112 							T59_ = NIM_NIL;
8113 							T59_ = copySym__ast_4054((*tParam).sym, T58_);
8114 							T60_ = NIM_NIL;
8115 							T60_ = linkTo__ast_3532(T59_, foundTyp);
8116 							result = newSymNode__ast_3719(T60_, info);
8117 							goto BeforeRet_;
8118 						}
8119 						LA48_: ;
8120 					}
8121 					LA46_: ;
8122 					i_7 += ((NI) 1);
8123 				} LA43: ;
8124 			}
8125 		}
8126 	}
8127 	LA33_: ;
8128 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8129 	goto BeforeRet_;
8130 	}BeforeRet_: ;
8131 	return result;
8132 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryReadingGenericParam__sem_17124)8133 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryReadingGenericParam__sem_17124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8134 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8135 	result = NIM_NIL;
8136 	switch ((*t).kind) {
8137 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8138 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
8139 	{
8140 		result = readTypeParameter__sem_16914(c, t, i, (*n).info);
8141 		{
8142 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
8143 			if (!(result == (*(*c).graph).emptyNode)) goto LA4_;
8144 			result = n;
8145 			T6_ = NIM_NIL;
8146 			T6_ = copyTree__ast_4431(n);
8147 			asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T6_));
8148 		}
8149 		LA4_: ;
8150 	}
8151 	break;
8152 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
8153 	{
8154 		{
8155 			if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA10_;
8156 			result = readTypeParameter__sem_16914(c, t, i, (*n).info);
8157 		}
8158 		goto LA8_;
8159 		LA10_: ;
8160 		{
8161 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
8162 			T13_ = NIM_NIL;
8163 			T13_ = copyTree__ast_4431(n);
8164 			asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T13_));
8165 			result = n;
8166 		}
8167 		LA8_: ;
8168 	}
8169 	break;
8170 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
8171 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
8172 	{
8173 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
8174 		T15_ = NIM_NIL;
8175 		T15_ = copyTree__ast_4431(n);
8176 		asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T15_));
8177 		result = n;
8178 	}
8179 	break;
8180 	default:
8181 	{
8182 	}
8183 	break;
8184 	}
8185 	return result;
8186 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryReadingTypeField__sem_17138)8187 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryReadingTypeField__sem_17138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i, tyObject_TType__facALICuu8zUj0hjvbTLFg* ty) {
8188 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8189 	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty_2;
8190 	result = NIM_NIL;
8191 	ty_2 = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_105);
8192 	switch ((*ty_2).kind) {
8193 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
8194 	{
8195 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
8196 		f = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
8197 		{
8198 			while (1) {
8199 				if (!!((ty_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3;
8200 				f = getSymFromList__astalgo_245((*ty_2).n, i, ((NI) 0));
8201 				{
8202 					if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA6_;
8203 					goto LA2;
8204 				}
8205 				LA6_: ;
8206 				ty_2 = (*ty_2).sons->data[((NI) 0)];
8207 			} LA3: ;
8208 		} LA2: ;
8209 		{
8210 			if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10_;
8211 			result = newSymNode__ast_3716(f);
8212 			(*result).info = (*n).info;
8213 			asgnRef((void**) (&(*result).typ), ty_2);
8214 			markUsed__sigmatch_85(c, (*n).info, f);
8215 		}
8216 		LA10_: ;
8217 	}
8218 	break;
8219 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
8220 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
8221 	{
8222 		{
8223 			NIM_BOOL T15_;
8224 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
8225 			T15_ = (NIM_BOOL)0;
8226 			T15_ = !(((*ty_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8227 			if (!(T15_)) goto LA16_;
8228 			T15_ = ((*(*ty_2).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138));
8229 			LA16_: ;
8230 			if (!T15_) goto LA17_;
8231 			field = lookupInRecord__astalgo_84((*ty_2).n, i);
8232 			{
8233 				if (!!((field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21_;
8234 				asgnRef((void**) (&(*n).typ), makeTypeDesc__concepts_49(c, (*field).typ));
8235 				result = n;
8236 			}
8237 			LA21_: ;
8238 		}
8239 		LA17_: ;
8240 	}
8241 	break;
8242 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8243 	{
8244 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
8245 		T24_ = NIM_NIL;
8246 		T24_ = lastSon__ast_3743(ty_2);
8247 		result = tryReadingTypeField__sem_17138(c, n, i, T24_);
8248 		{
8249 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA27_;
8250 			result = tryReadingGenericParam__sem_17124(c, n, i, ty_2);
8251 		}
8252 		LA27_: ;
8253 	}
8254 	break;
8255 	default:
8256 	{
8257 		result = tryReadingGenericParam__sem_17124(c, n, i, ty_2);
8258 	}
8259 	break;
8260 	}
8261 	return result;
8262 }
N_NIMCALL(NIM_BOOL,isTypeExpr__sem_16750)8263 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeExpr__sem_16750)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8264 	NIM_BOOL result;
8265 	result = (NIM_BOOL)0;
8266 	switch ((*n).kind) {
8267 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
8268 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
8269 	{
8270 		result = NIM_TRUE;
8271 	}
8272 	break;
8273 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
8274 	{
8275 		result = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
8276 	}
8277 	break;
8278 	default:
8279 	{
8280 		result = NIM_FALSE;
8281 	}
8282 	break;
8283 	}
8284 	return result;
8285 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,createSetType__sem_16757)8286 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createSetType__sem_16757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType) {
8287 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
8288 	result = NIM_NIL;
8289 	result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), c);
8290 	rawAddSon__ast_4288(result, baseType, NIM_TRUE);
8291 	return result;
8292 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookupInRecordAndBuildCheck__sem_16768)8293 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecordAndBuildCheck__sem_16768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** check) {
8294 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
8295 {	result = NIM_NIL;
8296 	result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
8297 	switch ((*r).kind) {
8298 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
8299 	{
8300 		{
8301 			NI i;
8302 			NI colontmp_;
8303 			NI i_2;
8304 			i = (NI)0;
8305 			colontmp_ = (NI)0;
8306 			colontmp_ = len__ast_3198(r);
8307 			i_2 = ((NI) 0);
8308 			{
8309 				while (1) {
8310 					if (!(i_2 < colontmp_)) goto LA4;
8311 					i = i_2;
8312 					result = lookupInRecordAndBuildCheck__sem_16768(c, n, (*r)._kind_6.sons->data[i], field, check);
8313 					{
8314 						if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
8315 						goto BeforeRet_;
8316 					}
8317 					LA7_: ;
8318 					i_2 += ((NI) 1);
8319 				} LA4: ;
8320 			}
8321 		}
8322 	}
8323 	break;
8324 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
8325 	{
8326 		tyObject_TType__facALICuu8zUj0hjvbTLFg* setType;
8327 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
8328 		checkMinSonsLen__semdata_1084(r, ((NI) 2), (*(*c).graph).config);
8329 		{
8330 			if (!!(((*(*r)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
8331 			illFormedAst__semdata_1071(r, (*(*c).graph).config);
8332 		}
8333 		LA12_: ;
8334 		result = lookupInRecordAndBuildCheck__sem_16768(c, n, (*r)._kind_6.sons->data[((NI) 0)], field, check);
8335 		{
8336 			if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA16_;
8337 			goto BeforeRet_;
8338 		}
8339 		LA16_: ;
8340 		setType = createSetType__sem_16757(c, (*(*r)._kind_6.sons->data[((NI) 0)]).typ);
8341 		s = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*r).info, setType);
8342 		{
8343 			NI i_3;
8344 			NI colontmp__2;
8345 			NI i_4;
8346 			i_3 = (NI)0;
8347 			colontmp__2 = (NI)0;
8348 			colontmp__2 = len__ast_3198(r);
8349 			i_4 = ((NI) 1);
8350 			{
8351 				while (1) {
8352 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
8353 					if (!(i_4 < colontmp__2)) goto LA20;
8354 					i_3 = i_4;
8355 					it = (*r)._kind_6.sons->data[i_3];
8356 					switch ((*it).kind) {
8357 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
8358 					{
8359 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
8360 						T22_ = NIM_NIL;
8361 						T22_ = lastSon__ast_4832(it);
8362 						result = lookupInRecordAndBuildCheck__sem_16768(c, n, T22_, field, check);
8363 						{
8364 							if (!(result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA25_;
8365 							{
8366 								NI j;
8367 								NI colontmp__3;
8368 								NI T28_;
8369 								NI i_5;
8370 								j = (NI)0;
8371 								colontmp__3 = (NI)0;
8372 								T28_ = (NI)0;
8373 								T28_ = len__ast_3198(it);
8374 								colontmp__3 = (NI)(T28_ - ((NI) 1));
8375 								i_5 = ((NI) 0);
8376 								{
8377 									while (1) {
8378 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
8379 										if (!(i_5 < colontmp__3)) goto LA30;
8380 										j = i_5;
8381 										T31_ = NIM_NIL;
8382 										T31_ = copyTree__ast_4431((*it)._kind_6.sons->data[j]);
8383 										add__ast_4797(s, T31_);
8384 										i_5 += ((NI) 1);
8385 									} LA30: ;
8386 								}
8387 							}
8388 						}
8389 						goto LA23_;
8390 						LA25_: ;
8391 						{
8392 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inExpr;
8393 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T42_;
8394 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T43_;
8395 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
8396 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T45_;
8397 							{
8398 								if (!((*check) == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA35_;
8399 								unsureAsgnRef((void**) (&(*check)), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46), (*n).info));
8400 								add__ast_4797((*check), (*(*c).graph).emptyNode);
8401 							}
8402 							LA35_: ;
8403 							s = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n).info, setType);
8404 							{
8405 								NI j_2;
8406 								NI colontmp__4;
8407 								NI T38_;
8408 								NI i_6;
8409 								j_2 = (NI)0;
8410 								colontmp__4 = (NI)0;
8411 								T38_ = (NI)0;
8412 								T38_ = len__ast_3198(it);
8413 								colontmp__4 = (NI)(T38_ - ((NI) 1));
8414 								i_6 = ((NI) 0);
8415 								{
8416 									while (1) {
8417 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T41_;
8418 										if (!(i_6 < colontmp__4)) goto LA40;
8419 										j_2 = i_6;
8420 										T41_ = NIM_NIL;
8421 										T41_ = copyTree__ast_4431((*it)._kind_6.sons->data[j_2]);
8422 										add__ast_4797(s, T41_);
8423 										i_6 += ((NI) 1);
8424 									} LA40: ;
8425 								}
8426 							}
8427 							T42_ = NIM_NIL;
8428 							T42_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8429 							inExpr = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T42_);
8430 							T43_ = NIM_NIL;
8431 							T43_ = getSysMagic__magicsys_29((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_108), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134));
8432 							T44_ = NIM_NIL;
8433 							T44_ = newSymNode__ast_3719(T43_, (*n).info);
8434 							add__ast_4797(inExpr, T44_);
8435 							add__ast_4797(inExpr, s);
8436 							T45_ = NIM_NIL;
8437 							T45_ = copyTree__ast_4431((*r)._kind_6.sons->data[((NI) 0)]);
8438 							add__ast_4797(inExpr, T45_);
8439 							add__ast_4797((*check), inExpr);
8440 							goto BeforeRet_;
8441 						}
8442 						LA23_: ;
8443 					}
8444 					break;
8445 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
8446 					{
8447 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
8448 						T47_ = NIM_NIL;
8449 						T47_ = lastSon__ast_4832(it);
8450 						result = lookupInRecordAndBuildCheck__sem_16768(c, n, T47_, field, check);
8451 						{
8452 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inExpr_2;
8453 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T56_;
8454 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T57_;
8455 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
8456 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
8457 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* notExpr;
8458 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
8459 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T61_;
8460 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T62_;
8461 							if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA50_;
8462 							{
8463 								if (!((*check) == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA54_;
8464 								unsureAsgnRef((void**) (&(*check)), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46), (*n).info));
8465 								add__ast_4797((*check), (*(*c).graph).emptyNode);
8466 							}
8467 							LA54_: ;
8468 							T56_ = NIM_NIL;
8469 							T56_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8470 							inExpr_2 = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T56_);
8471 							T57_ = NIM_NIL;
8472 							T57_ = getSysMagic__magicsys_29((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_108), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134));
8473 							T58_ = NIM_NIL;
8474 							T58_ = newSymNode__ast_3719(T57_, (*n).info);
8475 							add__ast_4797(inExpr_2, T58_);
8476 							add__ast_4797(inExpr_2, s);
8477 							T59_ = NIM_NIL;
8478 							T59_ = copyTree__ast_4431((*r)._kind_6.sons->data[((NI) 0)]);
8479 							add__ast_4797(inExpr_2, T59_);
8480 							T60_ = NIM_NIL;
8481 							T60_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8482 							notExpr = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T60_);
8483 							T61_ = NIM_NIL;
8484 							T61_ = getSysMagic__magicsys_29((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_109), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
8485 							T62_ = NIM_NIL;
8486 							T62_ = newSymNode__ast_3719(T61_, (*n).info);
8487 							add__ast_4797(notExpr, T62_);
8488 							add__ast_4797(notExpr, inExpr_2);
8489 							add__ast_4797((*check), notExpr);
8490 							goto BeforeRet_;
8491 						}
8492 						LA50_: ;
8493 					}
8494 					break;
8495 					default:
8496 					{
8497 						illFormedAst__semdata_1071(it, (*(*c).graph).config);
8498 					}
8499 					break;
8500 					}
8501 					i_4 += ((NI) 1);
8502 				} LA20: ;
8503 			}
8504 		}
8505 	}
8506 	break;
8507 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
8508 	{
8509 		{
8510 			if (!((*(*(*r)._kind_4.sym).name).id == (*field).id)) goto LA67_;
8511 			result = (*r)._kind_4.sym;
8512 		}
8513 		LA67_: ;
8514 	}
8515 	break;
8516 	default:
8517 	{
8518 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
8519 	}
8520 	break;
8521 	}
8522 	}BeforeRet_: ;
8523 	return result;
8524 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,makeDeref__sem_9872)8525 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeDeref__sem_9872)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8526 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8527 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
8528 	result = NIM_NIL;
8529 	t = (*n).typ;
8530 	{
8531 		NIM_BOOL T3_;
8532 		T3_ = (NIM_BOOL)0;
8533 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
8534 		if (!(T3_)) goto LA4_;
8535 		T3_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
8536 		LA4_: ;
8537 		if (!T3_) goto LA5_;
8538 		t = lastSon__ast_3743(t);
8539 	}
8540 	LA5_: ;
8541 	t = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_39);
8542 	result = n;
8543 	{
8544 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA9_;
8545 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*t).sons->data[((NI) 0)]);
8546 		add__ast_4797(result, n);
8547 		t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_39);
8548 	}
8549 	LA9_: ;
8550 	{
8551 		while (1) {
8552 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
8553 			tyObject_TType__facALICuu8zUj0hjvbTLFg* baseTyp;
8554 			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA12;
8555 			a = result;
8556 			baseTyp = lastSon__ast_3743(t);
8557 			result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, baseTyp);
8558 			add__ast_4797(result, a);
8559 			t = skipTypes__ast_3735(baseTyp, TM__rF9caJawfOjYTjsgLVUSGFA_39);
8560 		} LA12: ;
8561 	}
8562 	return result;
8563 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,builtinFieldAccess__sem_17178)8564 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, builtinFieldAccess__sem_17178)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
8565 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8566 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
8567 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i;
8568 	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
8569 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
8570 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
8571 {	result = NIM_NIL;
8572 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
8573 	s = qualifiedLookUp__lookups_1233(c, n, 7);
8574 	{
8575 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
8576 		{
8577 			if (!((1568832 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA7_;
8578 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
8579 			{
8580 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
8581 				result = semSym__sem_16966(c, n, s, flags);
8582 			}
8583 			LA11_: ;
8584 		}
8585 		goto LA5_;
8586 		LA7_: ;
8587 		{
8588 			markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, s);
8589 			result = semSym__sem_16966(c, n, s, flags);
8590 		}
8591 		LA5_: ;
8592 		goto BeforeRet_;
8593 	}
8594 	LA3_: ;
8595 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], (flags | 516)));
8596 	i = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
8597 	ty = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
8598 	f = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
8599 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8600 	{
8601 		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA16_;
8602 		{
8603 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
8604 			T20_ = NIM_NIL;
8605 			T20_ = base__types_63(ty);
8606 			if (!((*T20_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA21_;
8607 			{
8608 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T25_;
8609 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
8610 				T25_ = NIM_NIL;
8611 				T25_ = getCurrOwner__semdata_315(c);
8612 				if (!!(((*T25_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA26_;
8613 				T28_ = NIM_NIL;
8614 				T28_ = copyTree__ast_4431(n);
8615 				asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T28_));
8616 				result = n;
8617 				goto BeforeRet_;
8618 			}
8619 			goto LA23_;
8620 			LA26_: ;
8621 			{
8622 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8623 				goto BeforeRet_;
8624 			}
8625 			LA23_: ;
8626 		}
8627 		goto LA18_;
8628 		LA21_: ;
8629 		{
8630 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
8631 			T31_ = NIM_NIL;
8632 			T31_ = base__types_63(ty);
8633 			result = tryReadingTypeField__sem_17138(c, n, i, T31_);
8634 			goto BeforeRet_;
8635 		}
8636 		LA18_: ;
8637 	}
8638 	goto LA14_;
8639 	LA16_: ;
8640 	{
8641 		NIM_BOOL T33_;
8642 		T33_ = (NIM_BOOL)0;
8643 		T33_ = isTypeExpr__sem_16750((*n)._kind_6.sons->data[((NI) 0)]);
8644 		if (!T33_) goto LA34_;
8645 		result = tryReadingTypeField__sem_17138(c, n, i, ty);
8646 		goto BeforeRet_;
8647 	}
8648 	goto LA14_;
8649 	LA34_: ;
8650 	{
8651 		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA37_;
8652 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8653 		goto BeforeRet_;
8654 	}
8655 	goto LA14_;
8656 	LA37_: ;
8657 	LA14_: ;
8658 	{
8659 		NIM_BOOL T41_;
8660 		T41_ = (NIM_BOOL)0;
8661 		T41_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
8662 		if (!(T41_)) goto LA42_;
8663 		T41_ = (((*ty).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
8664 		LA42_: ;
8665 		if (!T41_) goto LA43_;
8666 		ty = lastSon__ast_3743(ty);
8667 	}
8668 	LA43_: ;
8669 	ty = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_106);
8670 	{
8671 		while (1) {
8672 			if (!(((*ty).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32))&63U)))!=0)) goto LA46;
8673 			ty = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_107);
8674 		} LA46: ;
8675 	}
8676 	check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8677 	{
8678 		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA49_;
8679 		{
8680 			while (1) {
8681 				check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8682 				f = lookupInRecordAndBuildCheck__sem_16768(c, n, (*ty).n, i, &check);
8683 				{
8684 					if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA55_;
8685 					goto LA51;
8686 				}
8687 				LA55_: ;
8688 				{
8689 					if (!((*ty).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA59_;
8690 					goto LA51;
8691 				}
8692 				LA59_: ;
8693 				ty = skipTypes__ast_3735((*ty).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
8694 			}
8695 		} LA51: ;
8696 		{
8697 			NIM_BOOL visibilityCheckNeeded;
8698 			if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA63_;
8699 			{
8700 				NIM_BOOL T67_;
8701 				T67_ = (NIM_BOOL)0;
8702 				T67_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
8703 				if (!(T67_)) goto LA68_;
8704 				T67_ = ((*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym == f);
8705 				LA68_: ;
8706 				if (!T67_) goto LA69_;
8707 				visibilityCheckNeeded = NIM_FALSE;
8708 			}
8709 			goto LA65_;
8710 			LA69_: ;
8711 			{
8712 				visibilityCheckNeeded = NIM_TRUE;
8713 			}
8714 			LA65_: ;
8715 			{
8716 				NIM_BOOL T74_;
8717 				T74_ = (NIM_BOOL)0;
8718 				T74_ = !(visibilityCheckNeeded);
8719 				if (T74_) goto LA75_;
8720 				T74_ = fieldVisible__sigmatch_4944(c, f);
8721 				LA75_: ;
8722 				if (!T74_) goto LA76_;
8723 				markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, f);
8724 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872((*n)._kind_6.sons->data[((NI) 0)]));
8725 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(f));
8726 				asgnRef((void**) (&(*n).typ), (*f).typ);
8727 				{
8728 					if (!(check == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA80_;
8729 					result = n;
8730 				}
8731 				goto LA78_;
8732 				LA80_: ;
8733 				{
8734 					asgnRef((void**) (&(*check)._kind_6.sons->data[((NI) 0)]), n);
8735 					asgnRef((void**) (&(*check).typ), (*n).typ);
8736 					result = check;
8737 				}
8738 				LA78_: ;
8739 			}
8740 			LA76_: ;
8741 		}
8742 		LA63_: ;
8743 	}
8744 	goto LA47_;
8745 	LA49_: ;
8746 	{
8747 		NIM_BOOL T84_;
8748 		T84_ = (NIM_BOOL)0;
8749 		T84_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
8750 		if (!(T84_)) goto LA85_;
8751 		T84_ = !(((*ty).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8752 		LA85_: ;
8753 		if (!T84_) goto LA86_;
8754 		f = getSymFromList__astalgo_245((*ty).n, i, ((NI) 0));
8755 		{
8756 			if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA90_;
8757 			markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, f);
8758 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872((*n)._kind_6.sons->data[((NI) 0)]));
8759 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(f));
8760 			asgnRef((void**) (&(*n).typ), (*f).typ);
8761 			result = n;
8762 		}
8763 		LA90_: ;
8764 	}
8765 	goto LA47_;
8766 	LA86_: ;
8767 	LA47_: ;
8768 	{
8769 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
8770 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA94_;
8771 		t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_105);
8772 		result = tryReadingGenericParam__sem_17124(c, n, i, t);
8773 	}
8774 	LA94_: ;
8775 	}BeforeRet_: ;
8776 	return result;
8777 }
N_INLINE(void,appendChar)8778 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
8779 	(*dest).data[(*dest).Sup.len] = c;
8780 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
8781 	(*dest).Sup.len += ((NI) 1);
8782 }
N_NIMCALL(void,semOpAux__sem_88)8783 N_LIB_PRIVATE N_NIMCALL(void, semOpAux__sem_88)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8784 	{
8785 		NI i;
8786 		NI colontmp_;
8787 		NI i_2;
8788 		i = (NI)0;
8789 		colontmp_ = (NI)0;
8790 		colontmp_ = len__ast_3198(n);
8791 		i_2 = ((NI) 1);
8792 		{
8793 			while (1) {
8794 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
8795 				if (!(i_2 < colontmp_)) goto LA3;
8796 				i = i_2;
8797 				a = (*n)._kind_6.sons->data[i];
8798 				{
8799 					NIM_BOOL T6_;
8800 					NI T8_;
8801 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
8802 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_;
8803 					T6_ = (NIM_BOOL)0;
8804 					T6_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33));
8805 					if (!(T6_)) goto LA7_;
8806 					T8_ = (NI)0;
8807 					T8_ = len__ast_3198(a);
8808 					T6_ = (T8_ == ((NI) 2));
8809 					LA7_: ;
8810 					if (!T6_) goto LA9_;
8811 					info = (*(*a)._kind_6.sons->data[((NI) 0)]).info;
8812 					T11_ = NIM_NIL;
8813 					T11_ = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 0)], a);
8814 					asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T11_, info));
8815 					asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*a)._kind_6.sons->data[((NI) 1)], 512));
8816 					asgnRef((void**) (&(*a).typ), (*(*a)._kind_6.sons->data[((NI) 1)]).typ);
8817 				}
8818 				goto LA4_;
8819 				LA9_: ;
8820 				{
8821 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, a, 512));
8822 				}
8823 				LA4_: ;
8824 				i_2 += ((NI) 1);
8825 			} LA3: ;
8826 		}
8827 	}
8828 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,copyExcept__sem_12447)8829 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyExcept__sem_12447)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
8830 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8831 	result = NIM_NIL;
8832 	result = copyNode__ast_4336(n);
8833 	{
8834 		NI j;
8835 		NI colontmp_;
8836 		NI i_2;
8837 		j = (NI)0;
8838 		colontmp_ = (NI)0;
8839 		colontmp_ = len__ast_3198(n);
8840 		i_2 = ((NI) 0);
8841 		{
8842 			while (1) {
8843 				if (!(i_2 < colontmp_)) goto LA3;
8844 				j = i_2;
8845 				{
8846 					if (!!((j == i))) goto LA6_;
8847 					add__ast_4797(result, (*n)._kind_6.sons->data[j]);
8848 				}
8849 				LA6_: ;
8850 				i_2 += ((NI) 1);
8851 			} LA3: ;
8852 		}
8853 	}
8854 	return result;
8855 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplateExpr__sem_519)8856 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplateExpr__sem_519)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
8857 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8858 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
8859 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
8860 	result = NIM_NIL;
8861 	rememberExpansion__semdata_3656(c, (*n).info, s);
8862 	info = getCallLineInfo__sem_2390(n);
8863 	markUsed__sigmatch_85(c, info, s);
8864 	pushInfoContext__msgs_490((*(*c).graph).config, (*n).info, (*(*s).name).s);
8865 	T1_ = NIM_NIL;
8866 	T1_ = getCurrOwner__semdata_315(c);
8867 	result = evalTemplate__evaltempl_275(n, s, T1_, (*(*c).graph).config, (*c).cache, (*c).templInstCounter, (*c).Sup.idgen, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 16))&31U)))!=0));
8868 	{
8869 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&31U)))!=0))) goto LA4_;
8870 		result = semAfterMacroCall__sem_2787(c, n, result, s, flags);
8871 	}
8872 	LA4_: ;
8873 	popInfoContext__msgs_507((*(*c).graph).config);
8874 	(*result).info = info;
8875 	return result;
8876 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProcAnnotation__sem_12464)8877 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcAnnotation__sem_12464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prc, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas) {
8878 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8879 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
8880 {	result = NIM_NIL;
8881 	n = (*prc)._kind_6.sons->data[((NI) 4)];
8882 	{
8883 		NIM_BOOL T3_;
8884 		T3_ = (NIM_BOOL)0;
8885 		T3_ = (n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8886 		if (T3_) goto LA4_;
8887 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
8888 		LA4_: ;
8889 		if (!T3_) goto LA5_;
8890 		goto BeforeRet_;
8891 	}
8892 	LA5_: ;
8893 	{
8894 		NI i;
8895 		NI colontmp_;
8896 		NI i_2;
8897 		i = (NI)0;
8898 		colontmp_ = (NI)0;
8899 		colontmp_ = len__ast_3198(n);
8900 		i_2 = ((NI) 0);
8901 		{
8902 			while (1) {
8903 				if (!(i_2 < colontmp_)) goto LA9;
8904 				i = i_2;
8905 				{
8906 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
8907 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
8908 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
8909 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
8910 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
8911 					it = (*n)._kind_6.sons->data[i];
8912 					{
8913 						NIM_BOOL T13_;
8914 						NI T15_;
8915 						T13_ = (NIM_BOOL)0;
8916 						T13_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
8917 						if (!(T13_)) goto LA14_;
8918 						T15_ = (NI)0;
8919 						T15_ = len__ast_3198(it);
8920 						T13_ = (((NI) 1) <= T15_);
8921 						LA14_: ;
8922 						if (!T13_) goto LA16_;
8923 						key = (*it)._kind_6.sons->data[((NI) 0)];
8924 					}
8925 					goto LA11_;
8926 					LA16_: ;
8927 					{
8928 						key = it;
8929 					}
8930 					LA11_: ;
8931 					{
8932 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T21_;
8933 						T21_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
8934 						T21_ = whichPragma__trees_244(it);
8935 						if (!!((T21_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 0)))) goto LA22_;
8936 						goto LA10;
8937 					}
8938 					goto LA19_;
8939 					LA22_: ;
8940 					{
8941 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
8942 						ident = considerQuotedIdent__lookups_28(c, key, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8943 						{
8944 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T27_;
8945 							T27_ = NIM_NIL;
8946 							T27_ = strTableGet__astalgo_3390((*c).userPragmas, ident);
8947 							if (!!((T27_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA28_;
8948 							goto LA10;
8949 						}
8950 						goto LA25_;
8951 						LA28_: ;
8952 						{
8953 							NIM_BOOL amb;
8954 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
8955 							amb = NIM_FALSE;
8956 							sym = searchInScopes__lookups_423(c, ident, (&amb));
8957 							{
8958 								NIM_BOOL T33_;
8959 								T33_ = (NIM_BOOL)0;
8960 								T33_ = !((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8961 								if (!(T33_)) goto LA34_;
8962 								T33_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
8963 								LA34_: ;
8964 								if (!T33_) goto LA35_;
8965 								goto LA10;
8966 							}
8967 							LA35_: ;
8968 						}
8969 						LA25_: ;
8970 					}
8971 					LA19_: ;
8972 					x = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*key).info);
8973 					add__ast_4797(x, key);
8974 					{
8975 						NIM_BOOL T39_;
8976 						NI T41_;
8977 						T39_ = (NIM_BOOL)0;
8978 						T39_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
8979 						if (!(T39_)) goto LA40_;
8980 						T41_ = (NI)0;
8981 						T41_ = len__ast_3198(it);
8982 						T39_ = (((NI) 1) < T41_);
8983 						LA40_: ;
8984 						if (!T39_) goto LA42_;
8985 						{
8986 							NI i_3;
8987 							NI colontmp__2;
8988 							NI i_4;
8989 							i_3 = (NI)0;
8990 							colontmp__2 = (NI)0;
8991 							colontmp__2 = len__ast_3198(it);
8992 							i_4 = ((NI) 1);
8993 							{
8994 								while (1) {
8995 									if (!(i_4 < colontmp__2)) goto LA46;
8996 									i_3 = i_4;
8997 									add__ast_4797(x, (*it)._kind_6.sons->data[i_3]);
8998 									i_4 += ((NI) 1);
8999 								} LA46: ;
9000 							}
9001 						}
9002 					}
9003 					LA42_: ;
9004 					asgnRef((void**) (&(*prc)._kind_6.sons->data[((NI) 4)]), copyExcept__sem_12447(n, i));
9005 					{
9006 						NIM_BOOL T49_;
9007 						NI T51_;
9008 						T49_ = (NIM_BOOL)0;
9009 						T49_ = !(((*(*prc)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
9010 						if (!(T49_)) goto LA50_;
9011 						T51_ = (NI)0;
9012 						T51_ = len__ast_3198((*prc)._kind_6.sons->data[((NI) 4)]);
9013 						T49_ = (T51_ == ((NI) 0));
9014 						LA50_: ;
9015 						if (!T49_) goto LA52_;
9016 						asgnRef((void**) (&(*prc)._kind_6.sons->data[((NI) 4)]), (*(*c).graph).emptyNode);
9017 					}
9018 					LA52_: ;
9019 					add__ast_4797(x, prc);
9020 					r = semOverloadedCall__sem_2498(c, x, x, 393216, 262144);
9021 					{
9022 						if (!(r == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA56_;
9023 						asgnRef((void**) (&(*prc)._kind_6.sons->data[((NI) 4)]), n);
9024 						goto LA10;
9025 					}
9026 					LA56_: ;
9027 					{
9028 						if (!!(((*(*r)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA60_;
9029 						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_110));
9030 					}
9031 					LA60_: ;
9032 					m = (*(*r)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
9033 					switch ((*m).kind) {
9034 					case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
9035 					{
9036 						result = semMacroExpr__sem_524(c, r, r, m, 0);
9037 					}
9038 					break;
9039 					case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
9040 					{
9041 						result = semTemplateExpr__sem_519(c, r, m, 0);
9042 					}
9043 					break;
9044 					default:
9045 					{
9046 						asgnRef((void**) (&(*prc)._kind_6.sons->data[((NI) 4)]), n);
9047 						goto LA10;
9048 					}
9049 					break;
9050 					}
9051 					{
9052 						if (!!(!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))) goto LA67_;
9053 						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_111));
9054 					}
9055 					LA67_: ;
9056 					{
9057 						NIM_BOOL T71_;
9058 						NIM_BOOL T72_;
9059 						T71_ = (NIM_BOOL)0;
9060 						T72_ = (NIM_BOOL)0;
9061 						T72_ = ((*result).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*result).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*result).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*result).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
9062 						if (!(T72_)) goto LA73_;
9063 						T72_ = ((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9064 						LA73_: ;
9065 						T71_ = T72_;
9066 						if (!(T71_)) goto LA74_;
9067 						T71_ = !(((*(*result)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
9068 						LA74_: ;
9069 						if (!T71_) goto LA75_;
9070 						pragma__pragmas_123(c, (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym, (*result)._kind_6.sons->data[((NI) 4)], validPragmas, NIM_FALSE);
9071 					}
9072 					LA75_: ;
9073 					goto BeforeRet_;
9074 				} LA10: ;
9075 				i_2 += ((NI) 1);
9076 			} LA9: ;
9077 		}
9078 	}
9079 	}BeforeRet_: ;
9080 	return result;
9081 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newSymG__sem_458)9082 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSymG__sem_458)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
9083 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
9084 	result = NIM_NIL;
9085 	{
9086 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
9087 		result = (*n)._kind_4.sym;
9088 		{
9089 			tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
9090 			NimStringDesc* T10_;
9091 			if (!!(((*result).kind == kind || (*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5)))) goto LA7_;
9092 			nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
9093 			T9_[0] = toHumanStr__ast_5158((*result).kind);
9094 			T9_[1] = toHumanStr__ast_5158(kind);
9095 			T10_ = NIM_NIL;
9096 			T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_112), T9_, 2);
9097 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T10_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_113, NIM_FALSE);
9098 		}
9099 		LA7_: ;
9100 		asgnRef((void**) (&(*result).owner), getCurrOwner__semdata_315(c));
9101 	}
9102 	goto LA1_;
9103 	LA3_: ;
9104 	{
9105 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T12_;
9106 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T13_;
9107 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T14_;
9108 		T12_ = NIM_NIL;
9109 		T12_ = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9110 		T13_ = nextSymId__ast_3132((*c).Sup.idgen);
9111 		T14_ = NIM_NIL;
9112 		T14_ = getCurrOwner__semdata_315(c);
9113 		result = newSym__ast_3445(kind, T12_, T13_, T14_, (*n).info, 0);
9114 	}
9115 	LA1_: ;
9116 	return result;
9117 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semIdentVis__sem_471)9118 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semIdentVis__sem_471)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw allowed) {
9119 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
9120 	result = NIM_NIL;
9121 	{
9122 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA3_;
9123 		{
9124 			NI T7_;
9125 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* v;
9126 			T7_ = (NI)0;
9127 			T7_ = len__ast_3198(n);
9128 			if (!(T7_ == ((NI) 2))) goto LA8_;
9129 			result = newSymG__sem_458(kind, (*n)._kind_6.sons->data[((NI) 1)], c);
9130 			v = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9131 			{
9132 				NIM_BOOL T12_;
9133 				T12_ = (NIM_BOOL)0;
9134 				T12_ = ((allowed &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
9135 				if (!(T12_)) goto LA13_;
9136 				T12_ = ((*v).id == ((NI) 72));
9137 				LA13_: ;
9138 				if (!T12_) goto LA14_;
9139 				(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1)) & 63);
9140 			}
9141 			goto LA10_;
9142 			LA14_: ;
9143 			{
9144 				{
9145 					NimStringDesc* T21_;
9146 					if (!!(((allowed &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0))) goto LA19_;
9147 					T21_ = NIM_NIL;
9148 					T21_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_115));
9149 					liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_116, NIM_FALSE);
9150 				}
9151 				goto LA17_;
9152 				LA19_: ;
9153 				{
9154 					NimStringDesc* T23_;
9155 					NimStringDesc* T24_;
9156 					T23_ = NIM_NIL;
9157 					T23_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 0)], 0);
9158 					T24_ = NIM_NIL;
9159 					T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_117), T23_);
9160 					liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T24_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_118, NIM_FALSE);
9161 				}
9162 				LA17_: ;
9163 			}
9164 			LA10_: ;
9165 		}
9166 		goto LA5_;
9167 		LA8_: ;
9168 		{
9169 			illFormedAst__semdata_1071(n, (*(*c).graph).config);
9170 		}
9171 		LA5_: ;
9172 	}
9173 	goto LA1_;
9174 	LA3_: ;
9175 	{
9176 		result = newSymG__sem_458(kind, n, c);
9177 	}
9178 	LA1_: ;
9179 	return result;
9180 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semIdentWithPragma__sem_476)9181 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semIdentWithPragma__sem_476)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw allowed) {
9182 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
9183 	result = NIM_NIL;
9184 	{
9185 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
9186 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
9187 		result = semIdentVis__sem_471(c, kind, (*n)._kind_6.sons->data[((NI) 0)], allowed);
9188 		switch (kind) {
9189 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
9190 		{
9191 		}
9192 		break;
9193 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19):
9194 		{
9195 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_119, NIM_FALSE);
9196 		}
9197 		break;
9198 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
9199 		{
9200 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_120, NIM_FALSE);
9201 		}
9202 		break;
9203 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
9204 		{
9205 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_120, NIM_FALSE);
9206 		}
9207 		break;
9208 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
9209 		{
9210 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_121, NIM_FALSE);
9211 		}
9212 		break;
9213 		default:
9214 		{
9215 		}
9216 		break;
9217 		}
9218 	}
9219 	goto LA1_;
9220 	LA3_: ;
9221 	{
9222 		result = semIdentVis__sem_471(c, kind, n, allowed);
9223 	}
9224 	LA1_: ;
9225 	return result;
9226 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,getLineInfo__sem_9696)9227 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__sem_9696)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9228 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
9229 {	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
9230 	switch ((*n).kind) {
9231 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
9232 	{
9233 		{
9234 			NI T4_;
9235 			T4_ = (NI)0;
9236 			T4_ = len__ast_3198(n);
9237 			if (!(((NI) 1) < T4_)) goto LA5_;
9238 			result = getLineInfo__sem_9696((*n)._kind_6.sons->data[((NI) 1)]);
9239 			goto BeforeRet_;
9240 		}
9241 		LA5_: ;
9242 	}
9243 	break;
9244 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
9245 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
9246 	{
9247 		{
9248 			NI T10_;
9249 			T10_ = (NI)0;
9250 			T10_ = len__ast_3198(n);
9251 			if (!(((NI) 0) < T10_)) goto LA11_;
9252 			result = getLineInfo__sem_9696((*n)._kind_6.sons->data[((NI) 0)]);
9253 			goto BeforeRet_;
9254 		}
9255 		LA11_: ;
9256 	}
9257 	break;
9258 	default:
9259 	{
9260 	}
9261 	break;
9262 	}
9263 	result = (*n).info;
9264 	}BeforeRet_: ;
9265 	return result;
9266 }
N_INLINE(void,suggestSym__sigmatch_5375)9267 static N_INLINE(void, suggestSym__sigmatch_5375)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** usageSym, NIM_BOOL isDecl) {
9268 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
9269 	conf = (*g).config;
9270 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semIdentDef__sem_9679)9271 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semIdentDef__sem_9679)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
9272 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
9273 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
9274 	result = NIM_NIL;
9275 	{
9276 		NIM_BOOL T3_;
9277 		T3_ = (NIM_BOOL)0;
9278 		T3_ = isTopLevel__semdata_1091(c);
9279 		if (!T3_) goto LA4_;
9280 		result = semIdentWithPragma__sem_476(c, kind, n, 2);
9281 		(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
9282 	}
9283 	goto LA1_;
9284 	LA4_: ;
9285 	{
9286 		result = semIdentWithPragma__sem_476(c, kind, n, 0);
9287 		{
9288 			if (!((*(*result).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA9_;
9289 			(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
9290 		}
9291 		LA9_: ;
9292 	}
9293 	LA1_: ;
9294 	(*result).options = (*(*(*c).graph).config).options;
9295 	info = getLineInfo__sem_9696(n);
9296 	suggestSym__sigmatch_5375((*c).graph, info, result, &(*(*c).graph).usageSym, NIM_TRUE);
9297 	return result;
9298 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semGenericConstraints__sem_6326)9299 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericConstraints__sem_6326)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x) {
9300 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9301 	tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T1_;
9302 	result = NIM_NIL;
9303 	T1_ = NIM_NIL;
9304 	T1_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
9305 	asgnRef((void**) (&T1_->data[0]), x);
9306 	result = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12), T1_);
9307 	return result;
9308 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericParamList__sem_6334)9309 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericParamList__sem_6334)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* father) {
9310 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9311 {	result = NIM_NIL;
9312 	result = copyNode__ast_4336(n);
9313 	{
9314 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA3_;
9315 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
9316 		goto BeforeRet_;
9317 	}
9318 	LA3_: ;
9319 	{
9320 		NI i;
9321 		NI colontmp_;
9322 		NI i_2;
9323 		i = (NI)0;
9324 		colontmp_ = (NI)0;
9325 		colontmp_ = len__ast_3198(n);
9326 		i_2 = ((NI) 0);
9327 		{
9328 			while (1) {
9329 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
9330 				if (!(i_2 < colontmp_)) goto LA7;
9331 				i = i_2;
9332 				a = (*n)._kind_6.sons->data[i];
9333 				switch ((*a).kind) {
9334 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
9335 				{
9336 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
9337 					{
9338 						if (!!((father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA11_;
9339 						addSonSkipIntLit__magicsys_136(father, (*(*a)._kind_4.sym).typ, (*c).Sup.idgen);
9340 					}
9341 					LA11_: ;
9342 					{
9343 						if (!!((((*(*a)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA15_;
9344 						addDecl__lookups_845(c, (*a)._kind_4.sym);
9345 					}
9346 					LA15_: ;
9347 					T17_ = NIM_NIL;
9348 					T17_ = newSymNode__ast_3716((*a)._kind_4.sym);
9349 					add__ast_4797(result, T17_);
9350 				}
9351 				break;
9352 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
9353 				{
9354 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
9355 					NI T19_;
9356 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
9357 					NI T20_;
9358 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
9359 					T19_ = (NI)0;
9360 					T19_ = len__ast_3198(a);
9361 					def = (*a)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))];
9362 					T20_ = (NI)0;
9363 					T20_ = len__ast_3198(a);
9364 					constraint = (*a)._kind_6.sons->data[(NI)(T20_ - ((NI) 2))];
9365 					typ = NIM_NIL;
9366 					{
9367 						if (!!(((*constraint).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA23_;
9368 						typ = semTypeNode__sem_80(c, constraint, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9369 						{
9370 							NIM_BOOL T27_;
9371 							NI T29_;
9372 							T27_ = (NIM_BOOL)0;
9373 							T27_ = !(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
9374 							if (T27_) goto LA28_;
9375 							T29_ = (NI)0;
9376 							T29_ = len__ast_4002(typ);
9377 							T27_ = (T29_ == ((NI) 0));
9378 							LA28_: ;
9379 							if (!T27_) goto LA30_;
9380 							{
9381 								if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA34_;
9382 								{
9383 									tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T40_;
9384 									if (!((*(*typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA38_;
9385 									T40_ = NIM_NIL;
9386 									T40_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
9387 									asgnRef((void**) (&T40_->data[0]), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c));
9388 									typ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T40_);
9389 									(*typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
9390 								}
9391 								LA38_: ;
9392 							}
9393 							goto LA32_;
9394 							LA34_: ;
9395 							{
9396 								typ = semGenericConstraints__sem_6326(c, typ);
9397 							}
9398 							LA32_: ;
9399 						}
9400 						LA30_: ;
9401 					}
9402 					LA23_: ;
9403 					{
9404 						if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44_;
9405 						def = semConstExpr__sem_611(c, def);
9406 						{
9407 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA48_;
9408 							{
9409 								tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T54_;
9410 								if (!!(((*(*def).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA52_;
9411 								T54_ = NIM_NIL;
9412 								T54_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
9413 								asgnRef((void**) (&T54_->data[0]), (*def).typ);
9414 								typ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T54_);
9415 							}
9416 							LA52_: ;
9417 						}
9418 						goto LA46_;
9419 						LA48_: ;
9420 						{
9421 							asgnRef((void**) (&(*def).typ), skipTypes__ast_3735((*def).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
9422 							{
9423 								NIM_BOOL T58_;
9424 								T58_ = (NIM_BOOL)0;
9425 								T58_ = containsGenericType__types_3360((*def).typ);
9426 								if (!!(T58_)) goto LA59_;
9427 								def = fitNode__sem_70(c, typ, def, (*def).info);
9428 							}
9429 							LA59_: ;
9430 						}
9431 						LA46_: ;
9432 					}
9433 					LA44_: ;
9434 					{
9435 						if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA63_;
9436 						typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12), c);
9437 						{
9438 							if (!(father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA67_;
9439 							(*typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63);
9440 						}
9441 						LA67_: ;
9442 					}
9443 					LA63_: ;
9444 					(*typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25)) & 63);
9445 					{
9446 						NI j;
9447 						NI colontmp__2;
9448 						NI T70_;
9449 						NI i_3;
9450 						j = (NI)0;
9451 						colontmp__2 = (NI)0;
9452 						T70_ = (NI)0;
9453 						T70_ = len__ast_3198(a);
9454 						colontmp__2 = (NI)(T70_ - ((NI) 2));
9455 						i_3 = ((NI) 0);
9456 						{
9457 							while (1) {
9458 								tyObject_TType__facALICuu8zUj0hjvbTLFg* finalType;
9459 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* paramName;
9460 								tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw covarianceFlag;
9461 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
9462 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T132_;
9463 								if (!(i_3 < colontmp__2)) goto LA72;
9464 								j = i_3;
9465 								finalType = NIM_NIL;
9466 								{
9467 									if (!(j == ((NI) 0))) goto LA75_;
9468 									finalType = typ;
9469 								}
9470 								goto LA73_;
9471 								LA75_: ;
9472 								{
9473 									tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T78_;
9474 									T78_ = nextTypeId__ast_3151((*c).Sup.idgen);
9475 									finalType = copyType__ast_4046(typ, T78_, (*typ).owner);
9476 									copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), finalType, typ);
9477 								}
9478 								LA73_: ;
9479 								paramName = (*a)._kind_6.sons->data[j];
9480 								covarianceFlag = ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9);
9481 								{
9482 									NI T81_;
9483 									T81_ = (NI)0;
9484 									T81_ = safeLen__ast_3191(paramName);
9485 									if (!(T81_ == ((NI) 2))) goto LA82_;
9486 									{
9487 										NIM_BOOL T86_;
9488 										T86_ = (NIM_BOOL)0;
9489 										T86_ = NIM_TRUE;
9490 										if (T86_) goto LA87_;
9491 										T86_ = eqStrings((*(*(*paramName)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_124));
9492 										LA87_: ;
9493 										if (!T86_) goto LA88_;
9494 										{
9495 											NIM_BOOL T92_;
9496 											NimStringDesc* T96_;
9497 											NimStringDesc* T97_;
9498 											T92_ = (NIM_BOOL)0;
9499 											T92_ = (father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9500 											if (T92_) goto LA93_;
9501 											T92_ = !((((*(*father).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
9502 											LA93_: ;
9503 											if (!T92_) goto LA94_;
9504 											T96_ = NIM_NIL;
9505 											T96_ = dollar___renderer_2106((*paramName)._kind_6.sons->data[((NI) 0)]);
9506 											T97_ = NIM_NIL;
9507 											T97_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_125), T96_);
9508 											liMessage__msgs_1118((*(*c).graph).config, (*paramName).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T97_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_126, NIM_FALSE);
9509 										}
9510 										LA94_: ;
9511 									}
9512 									LA88_: ;
9513 									{
9514 										if (!eqStrings((*(*(*paramName)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_124))) goto LA100_;
9515 										covarianceFlag = ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37);
9516 									}
9517 									goto LA98_;
9518 									LA100_: ;
9519 									{
9520 										covarianceFlag = ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35);
9521 									}
9522 									LA98_: ;
9523 									{
9524 										if (!!((father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA105_;
9525 										(*father).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35)) & 63);
9526 									}
9527 									LA105_: ;
9528 									paramName = (*paramName)._kind_6.sons->data[((NI) 1)];
9529 								}
9530 								LA82_: ;
9531 								{
9532 									NIM_BOOL T109_;
9533 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T113_;
9534 									T109_ = (NIM_BOOL)0;
9535 									T109_ = ((*finalType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
9536 									if (T109_) goto LA110_;
9537 									T109_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
9538 									LA110_: ;
9539 									if (!T109_) goto LA111_;
9540 									T113_ = NIM_NIL;
9541 									T113_ = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4), paramName, c);
9542 									s = linkTo__ast_3532(T113_, finalType);
9543 								}
9544 								goto LA107_;
9545 								LA111_: ;
9546 								{
9547 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T115_;
9548 									T115_ = NIM_NIL;
9549 									T115_ = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), paramName, c);
9550 									s = linkTo__ast_3532(T115_, finalType);
9551 								}
9552 								LA107_: ;
9553 								{
9554 									if (!!((covarianceFlag == ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)))) goto LA118_;
9555 									(*(*s).typ).flags |= ((NU64)1)<<((covarianceFlag) & 63);
9556 								}
9557 								LA118_: ;
9558 								{
9559 									if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA122_;
9560 									asgnRef((void**) (&(*s).ast), def);
9561 								}
9562 								LA122_: ;
9563 								(*s).position = len__ast_3198(result);
9564 								{
9565 									if (!!((father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA126_;
9566 									addSonSkipIntLit__magicsys_136(father, (*s).typ, (*c).Sup.idgen);
9567 								}
9568 								LA126_: ;
9569 								{
9570 									if (!!((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA130_;
9571 									addDecl__lookups_845(c, s);
9572 								}
9573 								LA130_: ;
9574 								T132_ = NIM_NIL;
9575 								T132_ = newSymNode__ast_3716(s);
9576 								add__ast_4797(result, T132_);
9577 								i_3 += ((NI) 1);
9578 							} LA72: ;
9579 						}
9580 					}
9581 				}
9582 				break;
9583 				default:
9584 				{
9585 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
9586 				}
9587 				break;
9588 				}
9589 				i_2 += ((NI) 1);
9590 			} LA7: ;
9591 		}
9592 	}
9593 	}BeforeRet_: ;
9594 	return result;
9595 }
N_NIMCALL(void,setGenericParamsMisc__sem_6510)9596 N_LIB_PRIVATE N_NIMCALL(void, setGenericParamsMisc__sem_6510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9597 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig;
9598 	orig = (*n)._kind_6.sons->data[((NI) 2)];
9599 	{
9600 		if (!!(((*orig).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*orig).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA3_;
9601 		failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_122));
9602 	}
9603 	LA3_: ;
9604 	{
9605 		if (!((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA7_;
9606 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75), (*n).info));
9607 	}
9608 	goto LA5_;
9609 	LA7_: ;
9610 	{
9611 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semGenericParamList__sem_6334(c, orig, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
9612 	}
9613 	LA5_: ;
9614 	{
9615 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T14_;
9616 		if (!((*(*n)._kind_6.sons->data[((NI) 5)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA12_;
9617 		nimZeroMem((void*)T14_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9618 		T14_[0] = (*(*c).graph).emptyNode;
9619 		T14_[1] = orig;
9620 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 5)]), newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), T14_, 2));
9621 	}
9622 	goto LA10_;
9623 	LA12_: ;
9624 	{
9625 		asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]), orig);
9626 	}
9627 	LA10_: ;
9628 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newProcType__sem_5053)9629 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newProcType__sem_5053)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
9630 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9631 	tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* T1_;
9632 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
9633 	result = NIM_NIL;
9634 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25), prev, c);
9635 	T1_ = NIM_NIL;
9636 	T1_ = lastOptionEntry__semdata_341(c);
9637 	(*result).callConv = (*T1_).defaultCC;
9638 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), info));
9639 	rawAddSon__ast_4288(result, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), NIM_TRUE);
9640 	T2_ = NIM_NIL;
9641 	T2_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), info);
9642 	add__ast_4797((*result).n, T2_);
9643 	return result;
9644 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semParamType__sem_5032)9645 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semParamType__sem_5032)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** constraint) {
9646 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9647 	result = NIM_NIL;
9648 	{
9649 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40))) goto LA3_;
9650 		result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9651 		unsureAsgnRef((void**) (&(*constraint)), semNodeKindConstraints__parampatterns_186(n, (*(*c).graph).config, ((NI) 1)));
9652 	}
9653 	goto LA1_;
9654 	LA3_: ;
9655 	{
9656 		NIM_BOOL T6_;
9657 		NIM_BOOL T7_;
9658 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T10_;
9659 		T6_ = (NIM_BOOL)0;
9660 		T7_ = (NIM_BOOL)0;
9661 		T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27));
9662 		if (!(T7_)) goto LA8_;
9663 		T7_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56));
9664 		LA8_: ;
9665 		T6_ = T7_;
9666 		if (!(T6_)) goto LA9_;
9667 		T10_ = NIM_NIL;
9668 		T10_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9669 		T6_ = eqStrings((*T10_).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
9670 		LA9_: ;
9671 		if (!T6_) goto LA11_;
9672 		result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9673 		unsureAsgnRef((void**) (&(*constraint)), semNodeKindConstraints__parampatterns_186(n, (*(*c).graph).config, ((NI) 2)));
9674 	}
9675 	goto LA1_;
9676 	LA11_: ;
9677 	{
9678 		result = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9679 	}
9680 	LA1_: ;
9681 	return result;
9682 }
N_NIMCALL(NIM_BOOL,isMagic__sem_5062)9683 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMagic__sem_5062)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
9684 	NIM_BOOL result;
9685 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nPragmas;
9686 {	result = (NIM_BOOL)0;
9687 	nPragmas = (*(*sym).ast)._kind_6.sons->data[((NI) 4)];
9688 	result = hasPragma__pragmas_2498(nPragmas, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 74));
9689 	goto BeforeRet_;
9690 	}BeforeRet_: ;
9691 	return result;
9692 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericStmtSymbol__sem_8131)9693 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmtSymbol__sem_8131)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, NIM_BOOL fromDotExpr) {
9694 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9695 	result = NIM_NIL;
9696 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
9697 	switch ((*s).kind) {
9698 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0):
9699 	{
9700 		result = n;
9701 	}
9702 	break;
9703 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
9704 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
9705 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
9706 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
9707 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
9708 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
9709 	{
9710 		result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), NIM_FALSE);
9711 	}
9712 	break;
9713 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
9714 	{
9715 		{
9716 			NIM_BOOL T6_;
9717 			NIM_BOOL T7_;
9718 			NIM_BOOL T8_;
9719 			NI T11_;
9720 			T6_ = (NIM_BOOL)0;
9721 			T7_ = (NIM_BOOL)0;
9722 			T8_ = (NIM_BOOL)0;
9723 			T8_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
9724 			if (!(T8_)) goto LA9_;
9725 			T8_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
9726 			LA9_: ;
9727 			T7_ = T8_;
9728 			if (!(T7_)) goto LA10_;
9729 			T11_ = (NI)0;
9730 			T11_ = len__ast_4002((*s).typ);
9731 			T7_ = (T11_ == ((NI) 1));
9732 			LA10_: ;
9733 			T6_ = T7_;
9734 			if (!(T6_)) goto LA12_;
9735 			T6_ = !(fromDotExpr);
9736 			LA12_: ;
9737 			if (!T6_) goto LA13_;
9738 			result = semTemplateExpr__sem_519(c, n, s, 8192);
9739 			result = semGenericStmt__sem_8113(c, result, 0, ctx);
9740 		}
9741 		goto LA4_;
9742 		LA13_: ;
9743 		{
9744 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), NIM_FALSE);
9745 		}
9746 		LA4_: ;
9747 	}
9748 	break;
9749 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
9750 	{
9751 		{
9752 			NIM_BOOL T19_;
9753 			NIM_BOOL T20_;
9754 			NIM_BOOL T21_;
9755 			NI T24_;
9756 			T19_ = (NIM_BOOL)0;
9757 			T20_ = (NIM_BOOL)0;
9758 			T21_ = (NIM_BOOL)0;
9759 			T21_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
9760 			if (!(T21_)) goto LA22_;
9761 			T21_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
9762 			LA22_: ;
9763 			T20_ = T21_;
9764 			if (!(T20_)) goto LA23_;
9765 			T24_ = (NI)0;
9766 			T24_ = len__ast_4002((*s).typ);
9767 			T20_ = (T24_ == ((NI) 1));
9768 			LA23_: ;
9769 			T19_ = T20_;
9770 			if (!(T19_)) goto LA25_;
9771 			T19_ = !(fromDotExpr);
9772 			LA25_: ;
9773 			if (!T19_) goto LA26_;
9774 			result = semMacroExpr__sem_524(c, n, n, s, 8192);
9775 			result = semGenericStmt__sem_8113(c, result, 0, ctx);
9776 		}
9777 		goto LA17_;
9778 		LA26_: ;
9779 		{
9780 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), NIM_FALSE);
9781 		}
9782 		LA17_: ;
9783 	}
9784 	break;
9785 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
9786 	{
9787 		{
9788 			NIM_BOOL T32_;
9789 			T32_ = (NIM_BOOL)0;
9790 			T32_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
9791 			if (!(T32_)) goto LA33_;
9792 			T32_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
9793 			LA33_: ;
9794 			if (!T32_) goto LA34_;
9795 			{
9796 				if (!!(((*(*s).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA38_;
9797 				result = (*(*s).typ).n;
9798 			}
9799 			goto LA36_;
9800 			LA38_: ;
9801 			{
9802 				result = n;
9803 			}
9804 			LA36_: ;
9805 		}
9806 		goto LA30_;
9807 		LA34_: ;
9808 		{
9809 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
9810 		}
9811 		LA30_: ;
9812 	}
9813 	break;
9814 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
9815 	{
9816 		result = n;
9817 	}
9818 	break;
9819 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
9820 	{
9821 		{
9822 			NIM_BOOL T46_;
9823 			T46_ = (NIM_BOOL)0;
9824 			T46_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
9825 			if (!(T46_)) goto LA47_;
9826 			T46_ = (((*(*s).typ).flags & 100663296) == 0);
9827 			LA47_: ;
9828 			if (!T46_) goto LA48_;
9829 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
9830 		}
9831 		goto LA44_;
9832 		LA48_: ;
9833 		{
9834 			result = n;
9835 		}
9836 		LA44_: ;
9837 	}
9838 	break;
9839 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
9840 	{
9841 		{
9842 			if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0)) goto LA54_;
9843 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), NIM_FALSE);
9844 		}
9845 		goto LA52_;
9846 		LA54_: ;
9847 		{
9848 			result = newSymNode__ast_3719(s, (*n).info);
9849 		}
9850 		LA52_: ;
9851 	}
9852 	break;
9853 	default:
9854 	{
9855 		result = newSymNode__ast_3719(s, (*n).info);
9856 	}
9857 	break;
9858 	}
9859 	return result;
9860 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,lookup__sem_8193)9861 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lookup__sem_8193)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx) {
9862 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9863 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
9864 	NIM_BOOL amb;
9865 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
9866 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
9867 	result = NIM_NIL;
9868 	result = n;
9869 	ident = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9870 	amb = NIM_FALSE;
9871 	T1_ = NIM_NIL;
9872 	T1_ = searchInScopes__lookups_423(c, ident, (&amb));
9873 	s = skipAlias__lookups_118(T1_, n, (*(*c).graph).config);
9874 	{
9875 		if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
9876 		s = strTableGet__astalgo_3390((*c).pureEnumFields, ident);
9877 	}
9878 	LA4_: ;
9879 	{
9880 		if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA8_;
9881 		{
9882 			NIM_BOOL T12_;
9883 			NIM_BOOL T13_;
9884 			T12_ = (NIM_BOOL)0;
9885 			T13_ = (NIM_BOOL)0;
9886 			T13_ = contains__astalgo_3496((&(*ctx).toMixin), (*ident).id);
9887 			T12_ = !(T13_);
9888 			if (!(T12_)) goto LA14_;
9889 			T12_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 2))&7U)))!=0));
9890 			LA14_: ;
9891 			if (!T12_) goto LA15_;
9892 			errorUndeclaredIdentifier__lookups_1199(c, (*n).info, (*ident).s, ((NimStringDesc*) NIM_NIL));
9893 		}
9894 		LA15_: ;
9895 	}
9896 	goto LA6_;
9897 	LA8_: ;
9898 	{
9899 		{
9900 			NIM_BOOL T20_;
9901 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2002_;
9902 			T20_ = (NIM_BOOL)0;
9903 			T20_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 0))&7U)))!=0);
9904 			if (T20_) goto LA21_;
9905 			xX60gensym2002_ = s;
9906 			T20_ = contains__astalgo_3496((&(*ctx).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym2002_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2002_).Sup.itemId.item))));
9907 			LA21_: ;
9908 			if (!T20_) goto LA22_;
9909 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
9910 		}
9911 		goto LA18_;
9912 		LA22_: ;
9913 		{
9914 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sX60gensym2003_;
9915 			NIM_BOOL T25_;
9916 			NIM_BOOL T27_;
9917 			NIM_BOOL T28_;
9918 			sX60gensym2003_ = s;
9919 			T25_ = (NIM_BOOL)0;
9920 			T25_ = contains__astalgo_3496((&(*ctx).toMixin), (*(*sX60gensym2003_).name).id);
9921 			if (T25_) goto LA26_;
9922 			T27_ = (NIM_BOOL)0;
9923 			T28_ = (NIM_BOOL)0;
9924 			T28_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 3))&7U)))!=0);
9925 			if (!(T28_)) goto LA29_;
9926 			T28_ = ((*sX60gensym2003_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
9927 			LA29_: ;
9928 			T27_ = T28_;
9929 			if (!(T27_)) goto LA30_;
9930 			T27_ = ((OverloadableSyms__ast_3007 &((NU32)1<<((NU)((*sX60gensym2003_).kind)&31U)))!=0);
9931 			LA30_: ;
9932 			T25_ = T27_;
9933 			LA26_: ;
9934 			if (!T25_) goto LA31_;
9935 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), NIM_FALSE);
9936 		}
9937 		goto LA18_;
9938 		LA31_: ;
9939 		{
9940 			result = semGenericStmtSymbol__sem_8131(c, n, s, ctx, flags, NIM_FALSE);
9941 		}
9942 		LA18_: ;
9943 	}
9944 	LA6_: ;
9945 	return result;
9946 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDot__sem_8259)9947 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDot__sem_8259)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
9948 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9949 	result = NIM_NIL;
9950 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info);
9951 	add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
9952 	add__ast_4797(result, b);
9953 	return result;
9954 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fuzzyLookup__sem_8272)9955 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fuzzyLookup__sem_8272)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx, NIM_BOOL* isMacro) {
9956 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9957 	tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ luf;
9958 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
9959 	result = NIM_NIL;
9960 	{
9961 		if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 2))&7U)))!=0))) goto LA3_;
9962 		luf = 6;
9963 	}
9964 	goto LA1_;
9965 	LA3_: ;
9966 	{
9967 		luf = 4;
9968 	}
9969 	LA1_: ;
9970 	s = qualifiedLookUp__lookups_1233(c, n, luf);
9971 	{
9972 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA8_;
9973 		result = semGenericStmtSymbol__sem_8131(c, n, s, ctx, flags, NIM_FALSE);
9974 	}
9975 	goto LA6_;
9976 	LA8_: ;
9977 	{
9978 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
9979 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
9980 		tySequence__eHqUwlHGGaPw0TDPDeL79cQ* candidates;
9981 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], flags, ctx));
9982 		result = n;
9983 		n_2 = (*n)._kind_6.sons->data[((NI) 1)];
9984 		ident = considerQuotedIdent__lookups_28(c, n_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9985 		candidates = searchInScopesFilterBy__lookups_464(c, ident, 520192);
9986 		{
9987 			NI T13_;
9988 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
9989 			T13_ = (candidates ? candidates->Sup.len : 0);
9990 			if (!(((NI) 0) < T13_)) goto LA14_;
9991 			s_2 = candidates->data[((NI) 0)];
9992 			(*isMacro) = ((393216 &((NU32)1<<((NU)((*s_2).kind)&31U)))!=0);
9993 			{
9994 				NIM_BOOL T18_;
9995 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2020_;
9996 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
9997 				T18_ = (NIM_BOOL)0;
9998 				T18_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 0))&7U)))!=0);
9999 				if (T18_) goto LA19_;
10000 				xX60gensym2020_ = s_2;
10001 				T18_ = contains__astalgo_3496((&(*ctx).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym2020_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2020_).Sup.itemId.item))));
10002 				LA19_: ;
10003 				if (!T18_) goto LA20_;
10004 				T22_ = NIM_NIL;
10005 				T22_ = symChoice__sem_6586(c, n_2, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
10006 				result = newDot__sem_8259(result, T22_);
10007 			}
10008 			goto LA16_;
10009 			LA20_: ;
10010 			{
10011 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sX60gensym2021_;
10012 				NIM_BOOL T24_;
10013 				NIM_BOOL T26_;
10014 				NIM_BOOL T27_;
10015 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
10016 				sX60gensym2021_ = s_2;
10017 				T24_ = (NIM_BOOL)0;
10018 				T24_ = contains__astalgo_3496((&(*ctx).toMixin), (*(*sX60gensym2021_).name).id);
10019 				if (T24_) goto LA25_;
10020 				T26_ = (NIM_BOOL)0;
10021 				T27_ = (NIM_BOOL)0;
10022 				T27_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 3))&7U)))!=0);
10023 				if (!(T27_)) goto LA28_;
10024 				T27_ = ((*sX60gensym2021_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
10025 				LA28_: ;
10026 				T26_ = T27_;
10027 				if (!(T26_)) goto LA29_;
10028 				T26_ = ((OverloadableSyms__ast_3007 &((NU32)1<<((NU)((*sX60gensym2021_).kind)&31U)))!=0);
10029 				LA29_: ;
10030 				T24_ = T26_;
10031 				LA25_: ;
10032 				if (!T24_) goto LA30_;
10033 				T32_ = NIM_NIL;
10034 				T32_ = symChoice__sem_6586(c, n_2, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), NIM_FALSE);
10035 				result = newDot__sem_8259(result, T32_);
10036 			}
10037 			goto LA16_;
10038 			LA30_: ;
10039 			{
10040 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* syms;
10041 				syms = semGenericStmtSymbol__sem_8131(c, n_2, s_2, ctx, flags, NIM_TRUE);
10042 				{
10043 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* choice;
10044 					if (!((*syms).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA36_;
10045 					choice = symChoice__sem_6586(c, n_2, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), NIM_FALSE);
10046 					transitionSonsKind__ast_4359(choice, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 56));
10047 					result = newDot__sem_8259(result, choice);
10048 				}
10049 				goto LA34_;
10050 				LA36_: ;
10051 				{
10052 					result = newDot__sem_8259(result, syms);
10053 				}
10054 				LA34_: ;
10055 			}
10056 			LA16_: ;
10057 		}
10058 		LA14_: ;
10059 	}
10060 	LA6_: ;
10061 	return result;
10062 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMixinStmt__sem_6701)10063 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMixinStmt__sem_6701)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* toMixin) {
10064 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10065 	NI count;
10066 	result = NIM_NIL;
10067 	result = copyNode__ast_4336(n);
10068 	count = ((NI) 0);
10069 	{
10070 		NI i;
10071 		NI colontmp_;
10072 		NI i_2;
10073 		i = (NI)0;
10074 		colontmp_ = (NI)0;
10075 		colontmp_ = len__ast_3198(n);
10076 		i_2 = ((NI) 0);
10077 		{
10078 			while (1) {
10079 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T4_;
10080 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
10081 				NI T5_;
10082 				if (!(i_2 < colontmp_)) goto LA3;
10083 				i = i_2;
10084 				T4_ = NIM_NIL;
10085 				T4_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[i], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10086 				incl__pureZcollectionsZintsets_55(toMixin, (*T4_).id);
10087 				x = symChoice__sem_6586(c, (*n)._kind_6.sons->data[i], ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), NIM_FALSE);
10088 				T5_ = (NI)0;
10089 				T5_ = len__ast_3198(x);
10090 				count += T5_;
10091 				add__ast_4797(result, x);
10092 				i_2 += ((NI) 1);
10093 			} LA3: ;
10094 		}
10095 	}
10096 	{
10097 		if (!(count == ((NI) 0))) goto LA8_;
10098 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
10099 	}
10100 	LA8_: ;
10101 	return result;
10102 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBindStmt__sem_6647)10103 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindStmt__sem_6647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* toBind) {
10104 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10105 	result = NIM_NIL;
10106 	result = copyNode__ast_4336(n);
10107 	{
10108 		NI i;
10109 		NI colontmp_;
10110 		NI i_2;
10111 		i = (NI)0;
10112 		colontmp_ = (NI)0;
10113 		colontmp_ = len__ast_3198(n);
10114 		i_2 = ((NI) 0);
10115 		{
10116 			while (1) {
10117 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
10118 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
10119 				if (!(i_2 < colontmp_)) goto LA3;
10120 				i = i_2;
10121 				a = (*n)._kind_6.sons->data[i];
10122 				s = qualifiedLookUp__lookups_1233(c, a, 2);
10123 				{
10124 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sc;
10125 					if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA6_;
10126 					sc = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
10127 					{
10128 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1627_;
10129 						if (!((*sc).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA10_;
10130 						xX60gensym1627_ = (*sc)._kind_4.sym;
10131 						incl__pureZcollectionsZintsets_55(toBind, (NI)((NI)((NU64)(((NI) ((*xX60gensym1627_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1627_).Sup.itemId.item))));
10132 						add__ast_4797(result, sc);
10133 					}
10134 					goto LA8_;
10135 					LA10_: ;
10136 					{
10137 						{
10138 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
10139 							x = NIM_NIL;
10140 							{
10141 								NI i_3;
10142 								NI colontmp__2;
10143 								NI i_4;
10144 								i_3 = (NI)0;
10145 								colontmp__2 = (NI)0;
10146 								colontmp__2 = safeLen__ast_3191(sc);
10147 								i_4 = ((NI) 0);
10148 								{
10149 									while (1) {
10150 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1628_;
10151 										if (!(i_4 < colontmp__2)) goto LA16;
10152 										i_3 = i_4;
10153 										x = (*sc)._kind_6.sons->data[i_3];
10154 										xX60gensym1628_ = (*x)._kind_4.sym;
10155 										incl__pureZcollectionsZintsets_55(toBind, (NI)((NI)((NU64)(((NI) ((*xX60gensym1628_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1628_).Sup.itemId.item))));
10156 										add__ast_4797(result, x);
10157 										i_4 += ((NI) 1);
10158 									} LA16: ;
10159 								}
10160 							}
10161 						}
10162 					}
10163 					LA8_: ;
10164 				}
10165 				goto LA4_;
10166 				LA6_: ;
10167 				{
10168 					illFormedAst__semdata_1071(a, (*(*c).graph).config);
10169 				}
10170 				LA4_: ;
10171 				i_2 += ((NI) 1);
10172 			} LA3: ;
10173 		}
10174 	}
10175 	return result;
10176 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericStmtScope__sem_8118)10177 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmtScope__sem_8118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx) {
10178 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10179 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
10180 	result = NIM_NIL;
10181 	T1_ = NIM_NIL;
10182 	T1_ = openScope__lookups_69(c);
10183 	result = semGenericStmt__sem_8113(c, n, flags, ctx);
10184 	closeScope__lookups_101(c);
10185 	return result;
10186 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newSymS__sem_453)10187 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSymS__sem_453)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
10188 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
10189 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
10190 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
10191 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
10192 	result = NIM_NIL;
10193 	T1_ = NIM_NIL;
10194 	T1_ = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10195 	T2_ = nextSymId__ast_3132((*c).Sup.idgen);
10196 	T3_ = NIM_NIL;
10197 	T3_ = getCurrOwner__semdata_315(c);
10198 	result = newSym__ast_3445(kind, T1_, T2_, T3_, (*n).info, 0);
10199 	return result;
10200 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getIdentNode__sem_8093)10201 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_8093)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
10202 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10203 	result = NIM_NIL;
10204 	switch ((*n).kind) {
10205 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
10206 	{
10207 		result = getIdentNode__sem_8093(c, (*n)._kind_6.sons->data[((NI) 1)]);
10208 	}
10209 	break;
10210 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
10211 	{
10212 		result = getIdentNode__sem_8093(c, (*n)._kind_6.sons->data[((NI) 0)]);
10213 	}
10214 	break;
10215 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
10216 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
10217 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
10218 	{
10219 		result = n;
10220 	}
10221 	break;
10222 	default:
10223 	{
10224 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
10225 		result = n;
10226 	}
10227 	break;
10228 	}
10229 	return result;
10230 }
N_NIMCALL(void,addTempDecl__sem_8354)10231 N_LIB_PRIVATE N_NIMCALL(void, addTempDecl__sem_8354)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
10232 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
10233 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
10234 	T1_ = NIM_NIL;
10235 	T1_ = getIdentNode__sem_8093(c, n);
10236 	s = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T1_, c);
10237 	addPrelimDecl__lookups_848(c, s);
10238 	{
10239 		NIM_BOOL T4_;
10240 		T4_ = (NIM_BOOL)0;
10241 		T4_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
10242 		if (!(T4_)) goto LA5_;
10243 		T4_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
10244 		LA5_: ;
10245 		if (!T4_) goto LA6_;
10246 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*n).info, s, kind);
10247 	}
10248 	LA6_: ;
10249 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericStmt__sem_8113)10250 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmt__sem_8113)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags, tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w* ctx) {
10251 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10252 	result = NIM_NIL;
10253 	result = n;
10254 	switch ((*n).kind) {
10255 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
10256 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
10257 	{
10258 		result = lookup__sem_8193(c, n, flags, ctx);
10259 		{
10260 			NIM_BOOL T4_;
10261 			T4_ = (NIM_BOOL)0;
10262 			T4_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
10263 			if (!(T4_)) goto LA5_;
10264 			T4_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
10265 			LA5_: ;
10266 			if (!T4_) goto LA6_;
10267 			markUsed__sigmatch_85(c, (*n).info, (*result)._kind_4.sym);
10268 		}
10269 		LA6_: ;
10270 	}
10271 	break;
10272 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
10273 	{
10274 		NIM_BOOL dummy;
10275 		dummy = (NIM_BOOL)0;
10276 		result = fuzzyLookup__sem_8272(c, n, flags, ctx, (&dummy));
10277 	}
10278 	break;
10279 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
10280 	{
10281 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a;
10282 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b;
10283 		a = (*n)._kind_4.sym;
10284 		b = getGenSym__semdata_408(c, a);
10285 		{
10286 			if (!!((b == a))) goto LA12_;
10287 			asgnRef((void**) (&(*n)._kind_4.sym), b);
10288 		}
10289 		LA12_: ;
10290 	}
10291 	break;
10292 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
10293 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
10294 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
10295 	{
10296 	}
10297 	break;
10298 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
10299 	{
10300 		result = semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], (flags | 1), ctx);
10301 	}
10302 	break;
10303 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
10304 	{
10305 		result = semMixinStmt__sem_6701(c, n, (&(*ctx).toMixin));
10306 	}
10307 	break;
10308 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
10309 	{
10310 		result = semBindStmt__sem_6647(c, n, (&(*ctx).toBind));
10311 	}
10312 	break;
10313 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
10314 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
10315 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
10316 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
10317 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
10318 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
10319 	{
10320 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn;
10321 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
10322 		NI first;
10323 		NIM_BOOL mixinContext;
10324 		tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags_2;
10325 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
10326 		fn = (*n)._kind_6.sons->data[((NI) 0)];
10327 		s = qualifiedLookUp__lookups_1233(c, fn, 0);
10328 		{
10329 			NIM_BOOL T21_;
10330 			NIM_BOOL T22_;
10331 			NIM_BOOL T23_;
10332 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T27_;
10333 			NIM_BOOL T28_;
10334 			NimStringDesc* T31_;
10335 			T21_ = (NIM_BOOL)0;
10336 			T22_ = (NIM_BOOL)0;
10337 			T23_ = (NIM_BOOL)0;
10338 			T23_ = (s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
10339 			if (!(T23_)) goto LA24_;
10340 			T23_ = ((12 & flags) == 0);
10341 			LA24_: ;
10342 			T22_ = T23_;
10343 			if (!(T22_)) goto LA25_;
10344 			T22_ = ((*fn).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*fn).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53));
10345 			LA25_: ;
10346 			T21_ = T22_;
10347 			if (!(T21_)) goto LA26_;
10348 			T27_ = NIM_NIL;
10349 			T27_ = considerQuotedIdent__lookups_28(c, fn, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10350 			T28_ = (NIM_BOOL)0;
10351 			T28_ = contains__astalgo_3496((&(*ctx).toMixin), (*T27_).id);
10352 			T21_ = !(T28_);
10353 			LA26_: ;
10354 			if (!T21_) goto LA29_;
10355 			T31_ = NIM_NIL;
10356 			T31_ = renderTree__renderer_46(fn, 0);
10357 			errorUndeclaredIdentifier__lookups_1199(c, (*n).info, T31_, ((NimStringDesc*) NIM_NIL));
10358 		}
10359 		LA29_: ;
10360 		first = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 3))&7U)))!=0);
10361 		mixinContext = NIM_FALSE;
10362 		{
10363 			tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA whichChoice;
10364 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sc;
10365 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34_;
10366 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
10367 			mixinContext = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 1) || (*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 2) || (*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 3) || (*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 4) || (*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 140));
10368 			{
10369 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2045_;
10370 				NIM_BOOL T38_;
10371 				xX60gensym2045_ = s;
10372 				T38_ = (NIM_BOOL)0;
10373 				T38_ = contains__astalgo_3496((&(*ctx).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym2045_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2045_).Sup.itemId.item))));
10374 				if (!T38_) goto LA39_;
10375 				whichChoice = ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0);
10376 			}
10377 			goto LA36_;
10378 			LA39_: ;
10379 			{
10380 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sX60gensym2046_;
10381 				NIM_BOOL T42_;
10382 				NIM_BOOL T44_;
10383 				NIM_BOOL T45_;
10384 				sX60gensym2046_ = s;
10385 				T42_ = (NIM_BOOL)0;
10386 				T42_ = contains__astalgo_3496((&(*ctx).toMixin), (*(*sX60gensym2046_).name).id);
10387 				if (T42_) goto LA43_;
10388 				T44_ = (NIM_BOOL)0;
10389 				T45_ = (NIM_BOOL)0;
10390 				T45_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 3))&7U)))!=0);
10391 				if (!(T45_)) goto LA46_;
10392 				T45_ = ((*sX60gensym2046_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
10393 				LA46_: ;
10394 				T44_ = T45_;
10395 				if (!(T44_)) goto LA47_;
10396 				T44_ = ((OverloadableSyms__ast_3007 &((NU32)1<<((NU)((*sX60gensym2046_).kind)&31U)))!=0);
10397 				LA47_: ;
10398 				T42_ = T44_;
10399 				LA43_: ;
10400 				if (!T42_) goto LA48_;
10401 				whichChoice = ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2);
10402 			}
10403 			goto LA36_;
10404 			LA48_: ;
10405 			{
10406 				whichChoice = ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1);
10407 			}
10408 			LA36_: ;
10409 			sc = symChoice__sem_6586(c, fn, s, whichChoice, NIM_FALSE);
10410 			switch ((*s).kind) {
10411 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
10412 			{
10413 				{
10414 					NIM_BOOL T54_;
10415 					NIM_BOOL T55_;
10416 					NIM_BOOL T57_;
10417 					NI T58_;
10418 					NI T61_;
10419 					T54_ = (NIM_BOOL)0;
10420 					T55_ = (NIM_BOOL)0;
10421 					T55_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
10422 					if (!(T55_)) goto LA56_;
10423 					T57_ = (NIM_BOOL)0;
10424 					T58_ = (NI)0;
10425 					T58_ = len__ast_4002((*s).typ);
10426 					T57_ = (T58_ == ((NI) 1));
10427 					if (T57_) goto LA59_;
10428 					T57_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0);
10429 					LA59_: ;
10430 					T55_ = T57_;
10431 					LA56_: ;
10432 					T54_ = T55_;
10433 					if (!(T54_)) goto LA60_;
10434 					T61_ = (NI)0;
10435 					T61_ = safeLen__ast_3191(sc);
10436 					T54_ = (T61_ <= ((NI) 1));
10437 					LA60_: ;
10438 					if (!T54_) goto LA62_;
10439 					result = semMacroExpr__sem_524(c, n, n, s, 8192);
10440 					result = semGenericStmt__sem_8113(c, result, flags, ctx);
10441 				}
10442 				goto LA52_;
10443 				LA62_: ;
10444 				{
10445 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), sc);
10446 					result = n;
10447 				}
10448 				LA52_: ;
10449 				mixinContext = NIM_TRUE;
10450 			}
10451 			break;
10452 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
10453 			{
10454 				{
10455 					NIM_BOOL T68_;
10456 					NIM_BOOL T69_;
10457 					NIM_BOOL T71_;
10458 					NI T72_;
10459 					NI T75_;
10460 					T68_ = (NIM_BOOL)0;
10461 					T69_ = (NIM_BOOL)0;
10462 					T69_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
10463 					if (!(T69_)) goto LA70_;
10464 					T71_ = (NIM_BOOL)0;
10465 					T72_ = (NI)0;
10466 					T72_ = len__ast_4002((*s).typ);
10467 					T71_ = (T72_ == ((NI) 1));
10468 					if (T71_) goto LA73_;
10469 					T71_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0);
10470 					LA73_: ;
10471 					T69_ = T71_;
10472 					LA70_: ;
10473 					T68_ = T69_;
10474 					if (!(T68_)) goto LA74_;
10475 					T75_ = (NI)0;
10476 					T75_ = safeLen__ast_3191(sc);
10477 					T68_ = (T75_ <= ((NI) 1));
10478 					LA74_: ;
10479 					if (!T68_) goto LA76_;
10480 					result = semTemplateExpr__sem_519(c, n, s, 8192);
10481 					result = semGenericStmt__sem_8113(c, result, flags, ctx);
10482 				}
10483 				goto LA66_;
10484 				LA76_: ;
10485 				{
10486 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), sc);
10487 					result = n;
10488 				}
10489 				LA66_: ;
10490 				mixinContext = NIM_TRUE;
10491 			}
10492 			break;
10493 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0):
10494 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
10495 			{
10496 			}
10497 			break;
10498 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
10499 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
10500 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
10501 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
10502 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
10503 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
10504 			{
10505 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), sc);
10506 				first = ((NI) 1);
10507 				{
10508 					if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267))) goto LA83_;
10509 					first = safeLen__ast_3191(result);
10510 				}
10511 				LA83_: ;
10512 			}
10513 			break;
10514 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
10515 			{
10516 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*fn).info));
10517 				first = ((NI) 1);
10518 			}
10519 			break;
10520 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
10521 			{
10522 				{
10523 					NIM_BOOL T89_;
10524 					T89_ = (NIM_BOOL)0;
10525 					T89_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
10526 					if (!(T89_)) goto LA90_;
10527 					T89_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
10528 					LA90_: ;
10529 					if (!T89_) goto LA91_;
10530 					asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*fn).info));
10531 					first = ((NI) 1);
10532 				}
10533 				LA91_: ;
10534 			}
10535 			break;
10536 			default:
10537 			{
10538 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(s, (*fn).info));
10539 				first = ((NI) 1);
10540 			}
10541 			break;
10542 			}
10543 		}
10544 		goto LA32_;
10545 		LA34_: ;
10546 		{
10547 			if (!((*fn).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA95_;
10548 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), fuzzyLookup__sem_8272(c, fn, flags, ctx, (&mixinContext)));
10549 			first = ((NI) 1);
10550 		}
10551 		goto LA32_;
10552 		LA95_: ;
10553 		LA32_: ;
10554 		{
10555 			if (!mixinContext) goto LA99_;
10556 			flags_2 = (flags | 4);
10557 		}
10558 		goto LA97_;
10559 		LA99_: ;
10560 		{
10561 			flags_2 = flags;
10562 		}
10563 		LA97_: ;
10564 		{
10565 			NI i;
10566 			NI colontmp_;
10567 			NI i_2;
10568 			i = (NI)0;
10569 			colontmp_ = (NI)0;
10570 			colontmp_ = safeLen__ast_3191(result);
10571 			i_2 = first;
10572 			{
10573 				while (1) {
10574 					if (!(i_2 < colontmp_)) goto LA104;
10575 					i = i_2;
10576 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semGenericStmt__sem_8113(c, (*result)._kind_6.sons->data[i], flags_2, ctx));
10577 					i_2 += ((NI) 1);
10578 				} LA104: ;
10579 			}
10580 		}
10581 	}
10582 	break;
10583 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
10584 	{
10585 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T106_;
10586 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T107_;
10587 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
10588 		T106_ = NIM_NIL;
10589 		T106_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
10590 		T107_ = NIM_NIL;
10591 		T107_ = newIdentNode__ast_3712(T106_, (*n).info);
10592 		add__ast_4797(result, T107_);
10593 		{
10594 			NI i_3;
10595 			NI colontmp__2;
10596 			NI i_4;
10597 			i_3 = (NI)0;
10598 			colontmp__2 = (NI)0;
10599 			colontmp__2 = len__ast_3198(n);
10600 			i_4 = ((NI) 0);
10601 			{
10602 				while (1) {
10603 					if (!(i_4 < colontmp__2)) goto LA110;
10604 					i_3 = i_4;
10605 					add__ast_4797(result, (*n)._kind_6.sons->data[i_3]);
10606 					i_4 += ((NI) 1);
10607 				} LA110: ;
10608 			}
10609 		}
10610 		result = semGenericStmt__sem_8113(c, result, flags, ctx);
10611 	}
10612 	break;
10613 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
10614 	{
10615 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T112_;
10616 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T113_;
10617 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
10618 		T112_ = NIM_NIL;
10619 		T112_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
10620 		T113_ = NIM_NIL;
10621 		T113_ = newIdentNode__ast_3712(T112_, (*n).info);
10622 		add__ast_4797(result, T113_);
10623 		{
10624 			NI i_5;
10625 			NI colontmp__3;
10626 			NI i_6;
10627 			i_5 = (NI)0;
10628 			colontmp__3 = (NI)0;
10629 			colontmp__3 = len__ast_3198(n);
10630 			i_6 = ((NI) 0);
10631 			{
10632 				while (1) {
10633 					if (!(i_6 < colontmp__3)) goto LA116;
10634 					i_5 = i_6;
10635 					add__ast_4797(result, (*n)._kind_6.sons->data[i_5]);
10636 					i_6 += ((NI) 1);
10637 				} LA116: ;
10638 			}
10639 		}
10640 		result = semGenericStmt__sem_8113(c, result, flags, ctx);
10641 	}
10642 	break;
10643 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
10644 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
10645 	{
10646 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
10647 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
10648 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k;
10649 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
10650 		a_2 = (*n)._kind_6.sons->data[((NI) 0)];
10651 		b_2 = (*n)._kind_6.sons->data[((NI) 1)];
10652 		k = (*a_2).kind;
10653 		switch (k) {
10654 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
10655 		{
10656 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T119_;
10657 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T120_;
10658 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
10659 			T119_ = NIM_NIL;
10660 			T119_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_131));
10661 			T120_ = NIM_NIL;
10662 			T120_ = newIdentNode__ast_3712(T119_, (*n).info);
10663 			add__ast_4797(result, T120_);
10664 			{
10665 				NI i_7;
10666 				NI colontmp__4;
10667 				NI i_8;
10668 				i_7 = (NI)0;
10669 				colontmp__4 = (NI)0;
10670 				colontmp__4 = len__ast_3198(a_2);
10671 				i_8 = ((NI) 0);
10672 				{
10673 					while (1) {
10674 						if (!(i_8 < colontmp__4)) goto LA123;
10675 						i_7 = i_8;
10676 						add__ast_4797(result, (*a_2)._kind_6.sons->data[i_7]);
10677 						i_8 += ((NI) 1);
10678 					} LA123: ;
10679 				}
10680 			}
10681 			add__ast_4797(result, b_2);
10682 			result = semGenericStmt__sem_8113(c, result, flags, ctx);
10683 		}
10684 		break;
10685 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
10686 		{
10687 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T125_;
10688 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
10689 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
10690 			T125_ = NIM_NIL;
10691 			T125_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_132));
10692 			T126_ = NIM_NIL;
10693 			T126_ = newIdentNode__ast_3712(T125_, (*n).info);
10694 			add__ast_4797(result, T126_);
10695 			{
10696 				NI i_9;
10697 				NI colontmp__5;
10698 				NI i_10;
10699 				i_9 = (NI)0;
10700 				colontmp__5 = (NI)0;
10701 				colontmp__5 = len__ast_3198(a_2);
10702 				i_10 = ((NI) 0);
10703 				{
10704 					while (1) {
10705 						if (!(i_10 < colontmp__5)) goto LA129;
10706 						i_9 = i_10;
10707 						add__ast_4797(result, (*a_2)._kind_6.sons->data[i_9]);
10708 						i_10 += ((NI) 1);
10709 					} LA129: ;
10710 				}
10711 			}
10712 			add__ast_4797(result, b_2);
10713 			result = semGenericStmt__sem_8113(c, result, flags, ctx);
10714 		}
10715 		break;
10716 		default:
10717 		{
10718 			{
10719 				NI i_11;
10720 				NI colontmp__6;
10721 				NI i_12;
10722 				i_11 = (NI)0;
10723 				colontmp__6 = (NI)0;
10724 				colontmp__6 = len__ast_3198(n);
10725 				i_12 = ((NI) 0);
10726 				{
10727 					while (1) {
10728 						if (!(i_12 < colontmp__6)) goto LA133;
10729 						i_11 = i_12;
10730 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_11]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[i_11], flags, ctx));
10731 						i_12 += ((NI) 1);
10732 					} LA133: ;
10733 				}
10734 			}
10735 		}
10736 		break;
10737 		}
10738 	}
10739 	break;
10740 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
10741 	{
10742 		{
10743 			NI i_13;
10744 			NI colontmp__7;
10745 			NI i_14;
10746 			i_13 = (NI)0;
10747 			colontmp__7 = (NI)0;
10748 			colontmp__7 = len__ast_3198(n);
10749 			i_14 = ((NI) 0);
10750 			{
10751 				while (1) {
10752 					if (!(i_14 < colontmp__7)) goto LA137;
10753 					i_13 = i_14;
10754 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_13]), semGenericStmtScope__sem_8118(c, (*n)._kind_6.sons->data[i_13], flags, ctx));
10755 					i_14 += ((NI) 1);
10756 				} LA137: ;
10757 			}
10758 		}
10759 	}
10760 	break;
10761 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
10762 	{
10763 		{
10764 			NI i_15;
10765 			NI colontmp__8;
10766 			NI i_16;
10767 			i_15 = (NI)0;
10768 			colontmp__8 = (NI)0;
10769 			colontmp__8 = len__ast_3198(n);
10770 			i_16 = ((NI) 0);
10771 			{
10772 				while (1) {
10773 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
10774 					if (!(i_16 < colontmp__8)) goto LA141;
10775 					i_15 = i_16;
10776 					it = (*n)._kind_6.sons->data[i_15];
10777 					{
10778 						if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86))) goto LA144_;
10779 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i_15])._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*it)._kind_6.sons->data[((NI) 0)], flags, ctx));
10780 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i_15])._kind_6.sons->data[((NI) 1)]), semGenericStmt__sem_8113(c, (*it)._kind_6.sons->data[((NI) 1)], (flags | 4), ctx));
10781 					}
10782 					goto LA142_;
10783 					LA144_: ;
10784 					{
10785 						asgnRef((void**) (&(*n)._kind_6.sons->data[i_15]), semGenericStmt__sem_8113(c, it, (flags | 4), ctx));
10786 					}
10787 					LA142_: ;
10788 					i_16 += ((NI) 1);
10789 				} LA141: ;
10790 			}
10791 		}
10792 	}
10793 	break;
10794 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
10795 	{
10796 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T148_;
10797 		T148_ = NIM_NIL;
10798 		T148_ = openScope__lookups_69(c);
10799 		{
10800 			NI i_17;
10801 			NI colontmp__9;
10802 			NI i_18;
10803 			i_17 = (NI)0;
10804 			colontmp__9 = (NI)0;
10805 			colontmp__9 = len__ast_3198(n);
10806 			i_18 = ((NI) 0);
10807 			{
10808 				while (1) {
10809 					if (!(i_18 < colontmp__9)) goto LA151;
10810 					i_17 = i_18;
10811 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_17]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[i_17], flags, ctx));
10812 					i_18 += ((NI) 1);
10813 				} LA151: ;
10814 			}
10815 		}
10816 		closeScope__lookups_101(c);
10817 	}
10818 	break;
10819 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
10820 	{
10821 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T153_;
10822 		T153_ = NIM_NIL;
10823 		T153_ = openScope__lookups_69(c);
10824 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], flags, ctx));
10825 		{
10826 			NI i_19;
10827 			NI colontmp__10;
10828 			NI i_20;
10829 			i_19 = (NI)0;
10830 			colontmp__10 = (NI)0;
10831 			colontmp__10 = len__ast_3198(n);
10832 			i_20 = ((NI) 1);
10833 			{
10834 				while (1) {
10835 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
10836 					NI T161_;
10837 					NI T162_;
10838 					if (!(i_20 < colontmp__10)) goto LA156;
10839 					i_19 = i_20;
10840 					a_3 = (*n)._kind_6.sons->data[i_19];
10841 					checkMinSonsLen__semdata_1084(a_3, ((NI) 1), (*(*c).graph).config);
10842 					{
10843 						NI j;
10844 						NI colontmp__11;
10845 						NI T158_;
10846 						NI i_21;
10847 						j = (NI)0;
10848 						colontmp__11 = (NI)0;
10849 						T158_ = (NI)0;
10850 						T158_ = len__ast_3198(a_3);
10851 						colontmp__11 = (NI)(T158_ - ((NI) 1));
10852 						i_21 = ((NI) 0);
10853 						{
10854 							while (1) {
10855 								if (!(i_21 < colontmp__11)) goto LA160;
10856 								j = i_21;
10857 								asgnRef((void**) (&(*a_3)._kind_6.sons->data[j]), semGenericStmt__sem_8113(c, (*a_3)._kind_6.sons->data[j], flags, ctx));
10858 								i_21 += ((NI) 1);
10859 							} LA160: ;
10860 						}
10861 					}
10862 					T161_ = (NI)0;
10863 					T161_ = len__ast_3198(a_3);
10864 					T162_ = (NI)0;
10865 					T162_ = len__ast_3198(a_3);
10866 					asgnRef((void**) (&(*a_3)._kind_6.sons->data[(NI)(T161_ - ((NI) 1))]), semGenericStmtScope__sem_8118(c, (*a_3)._kind_6.sons->data[(NI)(T162_ - ((NI) 1))], flags, ctx));
10867 					i_20 += ((NI) 1);
10868 				} LA156: ;
10869 			}
10870 		}
10871 		closeScope__lookups_101(c);
10872 	}
10873 	break;
10874 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
10875 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
10876 	{
10877 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T164_;
10878 		NI T165_;
10879 		NI T166_;
10880 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T184_;
10881 		NI T185_;
10882 		NI T186_;
10883 		T164_ = NIM_NIL;
10884 		T164_ = openScope__lookups_69(c);
10885 		T165_ = (NI)0;
10886 		T165_ = len__ast_3198(n);
10887 		T166_ = (NI)0;
10888 		T166_ = len__ast_3198(n);
10889 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T165_ - ((NI) 2))]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[(NI)(T166_ - ((NI) 2))], flags, ctx));
10890 		{
10891 			NI i_22;
10892 			NI colontmp__12;
10893 			NI T168_;
10894 			NI i_23;
10895 			i_22 = (NI)0;
10896 			colontmp__12 = (NI)0;
10897 			T168_ = (NI)0;
10898 			T168_ = len__ast_3198(n);
10899 			colontmp__12 = (NI)(T168_ - ((NI) 2));
10900 			i_23 = ((NI) 0);
10901 			{
10902 				while (1) {
10903 					if (!(i_23 < colontmp__12)) goto LA170;
10904 					i_22 = i_23;
10905 					{
10906 						if (!((*(*n)._kind_6.sons->data[i_22]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA173_;
10907 						{
10908 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s_2;
10909 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__13;
10910 							s_2 = NIM_NIL;
10911 							colontmp__13 = NIM_NIL;
10912 							colontmp__13 = (*n)._kind_6.sons->data[i_22];
10913 							{
10914 								NI i_24;
10915 								NI colontmp__14;
10916 								NI i_25;
10917 								i_24 = (NI)0;
10918 								colontmp__14 = (NI)0;
10919 								colontmp__14 = safeLen__ast_3191(colontmp__13);
10920 								i_25 = ((NI) 0);
10921 								{
10922 									while (1) {
10923 										if (!(i_25 < colontmp__14)) goto LA178;
10924 										i_24 = i_25;
10925 										s_2 = (*colontmp__13)._kind_6.sons->data[i_24];
10926 										{
10927 											if (!((*s_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA181_;
10928 											addTempDecl__sem_8354(c, s_2, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
10929 										}
10930 										LA181_: ;
10931 										i_25 += ((NI) 1);
10932 									} LA178: ;
10933 								}
10934 							}
10935 						}
10936 					}
10937 					goto LA171_;
10938 					LA173_: ;
10939 					{
10940 						addTempDecl__sem_8354(c, (*n)._kind_6.sons->data[i_22], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
10941 					}
10942 					LA171_: ;
10943 					i_23 += ((NI) 1);
10944 				} LA170: ;
10945 			}
10946 		}
10947 		T184_ = NIM_NIL;
10948 		T184_ = openScope__lookups_69(c);
10949 		T185_ = (NI)0;
10950 		T185_ = len__ast_3198(n);
10951 		T186_ = (NI)0;
10952 		T186_ = len__ast_3198(n);
10953 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T185_ - ((NI) 1))]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[(NI)(T186_ - ((NI) 1))], flags, ctx));
10954 		closeScope__lookups_101(c);
10955 		closeScope__lookups_101(c);
10956 	}
10957 	break;
10958 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
10959 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
10960 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 129):
10961 	{
10962 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T188_;
10963 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
10964 		T188_ = NIM_NIL;
10965 		T188_ = openScope__lookups_69(c);
10966 		{
10967 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA191_;
10968 			addTempDecl__sem_8354(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22));
10969 		}
10970 		LA191_: ;
10971 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 1)], flags, ctx));
10972 		closeScope__lookups_101(c);
10973 	}
10974 	break;
10975 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
10976 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
10977 	{
10978 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
10979 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmtScope__sem_8118(c, (*n)._kind_6.sons->data[((NI) 0)], flags, ctx));
10980 		{
10981 			NI i_26;
10982 			NI colontmp__15;
10983 			NI i_27;
10984 			i_26 = (NI)0;
10985 			colontmp__15 = (NI)0;
10986 			colontmp__15 = len__ast_3198(n);
10987 			i_27 = ((NI) 1);
10988 			{
10989 				while (1) {
10990 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_4;
10991 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T197_;
10992 					NI T209_;
10993 					NI T210_;
10994 					if (!(i_27 < colontmp__15)) goto LA196;
10995 					i_26 = i_27;
10996 					a_4 = (*n)._kind_6.sons->data[i_26];
10997 					checkMinSonsLen__semdata_1084(a_4, ((NI) 1), (*(*c).graph).config);
10998 					T197_ = NIM_NIL;
10999 					T197_ = openScope__lookups_69(c);
11000 					{
11001 						NI j_2;
11002 						NI colontmp__16;
11003 						NI T199_;
11004 						NI i_28;
11005 						j_2 = (NI)0;
11006 						colontmp__16 = (NI)0;
11007 						T199_ = (NI)0;
11008 						T199_ = len__ast_3198(a_4);
11009 						colontmp__16 = (NI)(T199_ - ((NI) 1));
11010 						i_28 = ((NI) 0);
11011 						{
11012 							while (1) {
11013 								if (!(i_28 < colontmp__16)) goto LA201;
11014 								j_2 = i_28;
11015 								{
11016 									NIM_BOOL T204_;
11017 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T207_;
11018 									T204_ = (NIM_BOOL)0;
11019 									T204_ = isInfixAs__ast_4935((*a_4)._kind_6.sons->data[j_2]);
11020 									if (!T204_) goto LA205_;
11021 									T207_ = NIM_NIL;
11022 									T207_ = getIdentNode__sem_8093(c, (*(*a_4)._kind_6.sons->data[j_2])._kind_6.sons->data[((NI) 2)]);
11023 									addTempDecl__sem_8354(c, T207_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
11024 									asgnRef((void**) (&(*(*a_4)._kind_6.sons->data[j_2])._kind_6.sons->data[((NI) 1)]), semGenericStmt__sem_8113(c, (*(*a_4)._kind_6.sons->data[j_2])._kind_6.sons->data[((NI) 1)], (flags | 2), ctx));
11025 								}
11026 								goto LA202_;
11027 								LA205_: ;
11028 								{
11029 									asgnRef((void**) (&(*a_4)._kind_6.sons->data[j_2]), semGenericStmt__sem_8113(c, (*a_4)._kind_6.sons->data[j_2], (flags | 2), ctx));
11030 								}
11031 								LA202_: ;
11032 								i_28 += ((NI) 1);
11033 							} LA201: ;
11034 						}
11035 					}
11036 					T209_ = (NI)0;
11037 					T209_ = len__ast_3198(a_4);
11038 					T210_ = (NI)0;
11039 					T210_ = len__ast_3198(a_4);
11040 					asgnRef((void**) (&(*a_4)._kind_6.sons->data[(NI)(T209_ - ((NI) 1))]), semGenericStmtScope__sem_8118(c, (*a_4)._kind_6.sons->data[(NI)(T210_ - ((NI) 1))], flags, ctx));
11041 					closeScope__lookups_101(c);
11042 					i_27 += ((NI) 1);
11043 				} LA196: ;
11044 			}
11045 		}
11046 	}
11047 	break;
11048 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
11049 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
11050 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
11051 	{
11052 		tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw varKind;
11053 		switch ((*n).kind) {
11054 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
11055 		{
11056 			varKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
11057 		}
11058 		break;
11059 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
11060 		{
11061 			varKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9);
11062 		}
11063 		break;
11064 		default:
11065 		{
11066 			varKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10);
11067 		}
11068 		break;
11069 		}
11070 		{
11071 			NI i_29;
11072 			NI colontmp__17;
11073 			NI i_30;
11074 			i_29 = (NI)0;
11075 			colontmp__17 = (NI)0;
11076 			colontmp__17 = len__ast_3198(n);
11077 			i_30 = ((NI) 0);
11078 			{
11079 				while (1) {
11080 					if (!(i_30 < colontmp__17)) goto LA217;
11081 					i_29 = i_30;
11082 					{
11083 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_5;
11084 						a_5 = (*n)._kind_6.sons->data[i_29];
11085 						switch ((*a_5).kind) {
11086 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
11087 						{
11088 							goto LA218;
11089 						}
11090 						break;
11091 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
11092 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
11093 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
11094 						{
11095 							NI T221_;
11096 							NI T222_;
11097 							NI T223_;
11098 							NI T224_;
11099 							checkMinSonsLen__semdata_1084(a_5, ((NI) 3), (*(*c).graph).config);
11100 							T221_ = (NI)0;
11101 							T221_ = len__ast_3198(a_5);
11102 							T222_ = (NI)0;
11103 							T222_ = len__ast_3198(a_5);
11104 							asgnRef((void**) (&(*a_5)._kind_6.sons->data[(NI)(T221_ - ((NI) 2))]), semGenericStmt__sem_8113(c, (*a_5)._kind_6.sons->data[(NI)(T222_ - ((NI) 2))], (flags | 2), ctx));
11105 							T223_ = (NI)0;
11106 							T223_ = len__ast_3198(a_5);
11107 							T224_ = (NI)0;
11108 							T224_ = len__ast_3198(a_5);
11109 							asgnRef((void**) (&(*a_5)._kind_6.sons->data[(NI)(T223_ - ((NI) 1))]), semGenericStmt__sem_8113(c, (*a_5)._kind_6.sons->data[(NI)(T224_ - ((NI) 1))], flags, ctx));
11110 							{
11111 								NI j_3;
11112 								NI colontmp__18;
11113 								NI T226_;
11114 								NI i_31;
11115 								j_3 = (NI)0;
11116 								colontmp__18 = (NI)0;
11117 								T226_ = (NI)0;
11118 								T226_ = len__ast_3198(a_5);
11119 								colontmp__18 = (NI)(T226_ - ((NI) 2));
11120 								i_31 = ((NI) 0);
11121 								{
11122 									while (1) {
11123 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T229_;
11124 										if (!(i_31 < colontmp__18)) goto LA228;
11125 										j_3 = i_31;
11126 										T229_ = NIM_NIL;
11127 										T229_ = getIdentNode__sem_8093(c, (*a_5)._kind_6.sons->data[j_3]);
11128 										addTempDecl__sem_8354(c, T229_, varKind);
11129 										i_31 += ((NI) 1);
11130 									} LA228: ;
11131 								}
11132 							}
11133 						}
11134 						break;
11135 						default:
11136 						{
11137 							illFormedAst__semdata_1071(a_5, (*(*c).graph).config);
11138 						}
11139 						break;
11140 						}
11141 					} LA218: ;
11142 					i_30 += ((NI) 1);
11143 				} LA217: ;
11144 			}
11145 		}
11146 	}
11147 	break;
11148 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75):
11149 	{
11150 		{
11151 			NI i_32;
11152 			NI colontmp__19;
11153 			NI i_33;
11154 			i_32 = (NI)0;
11155 			colontmp__19 = (NI)0;
11156 			colontmp__19 = len__ast_3198(n);
11157 			i_33 = ((NI) 0);
11158 			{
11159 				while (1) {
11160 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_6;
11161 					NI T239_;
11162 					NI T240_;
11163 					if (!(i_33 < colontmp__19)) goto LA234;
11164 					i_32 = i_33;
11165 					a_6 = (*n)._kind_6.sons->data[i_32];
11166 					{
11167 						if (!!(((*a_6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA237_;
11168 						illFormedAst__semdata_1071(a_6, (*(*c).graph).config);
11169 					}
11170 					LA237_: ;
11171 					checkMinSonsLen__semdata_1084(a_6, ((NI) 3), (*(*c).graph).config);
11172 					T239_ = (NI)0;
11173 					T239_ = len__ast_3198(a_6);
11174 					T240_ = (NI)0;
11175 					T240_ = len__ast_3198(a_6);
11176 					asgnRef((void**) (&(*a_6)._kind_6.sons->data[(NI)(T239_ - ((NI) 2))]), semGenericStmt__sem_8113(c, (*a_6)._kind_6.sons->data[(NI)(T240_ - ((NI) 2))], (flags | 2), ctx));
11177 					{
11178 						NI j_4;
11179 						NI colontmp__20;
11180 						NI T242_;
11181 						NI i_34;
11182 						j_4 = (NI)0;
11183 						colontmp__20 = (NI)0;
11184 						T242_ = (NI)0;
11185 						T242_ = len__ast_3198(a_6);
11186 						colontmp__20 = (NI)(T242_ - ((NI) 2));
11187 						i_34 = ((NI) 0);
11188 						{
11189 							while (1) {
11190 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T245_;
11191 								if (!(i_34 < colontmp__20)) goto LA244;
11192 								j_4 = i_34;
11193 								T245_ = NIM_NIL;
11194 								T245_ = getIdentNode__sem_8093(c, (*a_6)._kind_6.sons->data[j_4]);
11195 								addTempDecl__sem_8354(c, T245_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
11196 								i_34 += ((NI) 1);
11197 							} LA244: ;
11198 						}
11199 					}
11200 					i_33 += ((NI) 1);
11201 				} LA234: ;
11202 			}
11203 		}
11204 	}
11205 	break;
11206 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
11207 	{
11208 		{
11209 			NI i_35;
11210 			NI colontmp__21;
11211 			NI i_36;
11212 			i_35 = (NI)0;
11213 			colontmp__21 = (NI)0;
11214 			colontmp__21 = len__ast_3198(n);
11215 			i_36 = ((NI) 0);
11216 			{
11217 				while (1) {
11218 					if (!(i_36 < colontmp__21)) goto LA249;
11219 					i_35 = i_36;
11220 					{
11221 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_7;
11222 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T259_;
11223 						a_7 = (*n)._kind_6.sons->data[i_35];
11224 						{
11225 							if (!((*a_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA253_;
11226 							goto LA250;
11227 						}
11228 						LA253_: ;
11229 						{
11230 							if (!!(((*a_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA257_;
11231 							illFormedAst__semdata_1071(a_7, (*(*c).graph).config);
11232 						}
11233 						LA257_: ;
11234 						checkSonsLen__semdata_1077(a_7, ((NI) 3), (*(*c).graph).config);
11235 						T259_ = NIM_NIL;
11236 						T259_ = getIdentNode__sem_8093(c, (*a_7)._kind_6.sons->data[((NI) 0)]);
11237 						addTempDecl__sem_8354(c, T259_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
11238 					} LA250: ;
11239 					i_36 += ((NI) 1);
11240 				} LA249: ;
11241 			}
11242 		}
11243 		{
11244 			NI i_37;
11245 			NI colontmp__22;
11246 			NI i_38;
11247 			i_37 = (NI)0;
11248 			colontmp__22 = (NI)0;
11249 			colontmp__22 = len__ast_3198(n);
11250 			i_38 = ((NI) 0);
11251 			{
11252 				while (1) {
11253 					if (!(i_38 < colontmp__22)) goto LA262;
11254 					i_37 = i_38;
11255 					{
11256 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_8;
11257 						a_8 = (*n)._kind_6.sons->data[i_37];
11258 						{
11259 							if (!((*a_8).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA266_;
11260 							goto LA263;
11261 						}
11262 						LA266_: ;
11263 						{
11264 							if (!!(((*a_8).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA270_;
11265 							illFormedAst__semdata_1071(a_8, (*(*c).graph).config);
11266 						}
11267 						LA270_: ;
11268 						checkSonsLen__semdata_1077(a_8, ((NI) 3), (*(*c).graph).config);
11269 						{
11270 							tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T276_;
11271 							if (!!(((*(*a_8)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA274_;
11272 							T276_ = NIM_NIL;
11273 							T276_ = openScope__lookups_69(c);
11274 							asgnRef((void**) (&(*a_8)._kind_6.sons->data[((NI) 1)]), semGenericStmt__sem_8113(c, (*a_8)._kind_6.sons->data[((NI) 1)], flags, ctx));
11275 							asgnRef((void**) (&(*a_8)._kind_6.sons->data[((NI) 2)]), semGenericStmt__sem_8113(c, (*a_8)._kind_6.sons->data[((NI) 2)], (flags | 2), ctx));
11276 							closeScope__lookups_101(c);
11277 						}
11278 						goto LA272_;
11279 						LA274_: ;
11280 						{
11281 							asgnRef((void**) (&(*a_8)._kind_6.sons->data[((NI) 2)]), semGenericStmt__sem_8113(c, (*a_8)._kind_6.sons->data[((NI) 2)], (flags | 2), ctx));
11282 						}
11283 						LA272_: ;
11284 					} LA263: ;
11285 					i_38 += ((NI) 1);
11286 				} LA262: ;
11287 			}
11288 		}
11289 	}
11290 	break;
11291 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
11292 	{
11293 		{
11294 			NI T281_;
11295 			T281_ = (NI)0;
11296 			T281_ = len__ast_3198(n);
11297 			if (!(((NI) 0) < T281_)) goto LA282_;
11298 			{
11299 				if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA286_;
11300 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], (flags | 2), ctx));
11301 			}
11302 			LA286_: ;
11303 			{
11304 				NI i_39;
11305 				NI colontmp__23;
11306 				NI i_40;
11307 				i_39 = (NI)0;
11308 				colontmp__23 = (NI)0;
11309 				colontmp__23 = len__ast_3198(n);
11310 				i_40 = ((NI) 1);
11311 				{
11312 					while (1) {
11313 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_9;
11314 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T294_;
11315 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T295_;
11316 						if (!(i_40 < colontmp__23)) goto LA290;
11317 						i_39 = i_40;
11318 						a_9 = NIM_NIL;
11319 						switch ((*(*n)._kind_6.sons->data[i_39]).kind) {
11320 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
11321 						{
11322 							a_9 = (*(*n)._kind_6.sons->data[i_39])._kind_6.sons->data[((NI) 0)];
11323 						}
11324 						break;
11325 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
11326 						{
11327 							a_9 = (*n)._kind_6.sons->data[i_39];
11328 						}
11329 						break;
11330 						default:
11331 						{
11332 							illFormedAst__semdata_1071(n, (*(*c).graph).config);
11333 						}
11334 						break;
11335 						}
11336 						T294_ = NIM_NIL;
11337 						T294_ = getIdentNode__sem_8093(c, a_9);
11338 						T295_ = NIM_NIL;
11339 						T295_ = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T294_, c);
11340 						addDecl__lookups_845(c, T295_);
11341 						i_40 += ((NI) 1);
11342 					} LA290: ;
11343 				}
11344 			}
11345 		}
11346 		LA282_: ;
11347 	}
11348 	break;
11349 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
11350 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
11351 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
11352 	{
11353 	}
11354 	break;
11355 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
11356 	{
11357 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
11358 		{
11359 			NI i_41;
11360 			NI colontmp__24;
11361 			NI i_42;
11362 			i_41 = (NI)0;
11363 			colontmp__24 = (NI)0;
11364 			colontmp__24 = len__ast_3198(n);
11365 			i_42 = ((NI) 1);
11366 			{
11367 				while (1) {
11368 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_10;
11369 					NI T305_;
11370 					NI T306_;
11371 					NI T307_;
11372 					NI T308_;
11373 					if (!(i_42 < colontmp__24)) goto LA300;
11374 					i_41 = i_42;
11375 					a_10 = (*n)._kind_6.sons->data[i_41];
11376 					{
11377 						if (!!(((*a_10).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA303_;
11378 						illFormedAst__semdata_1071(a_10, (*(*c).graph).config);
11379 					}
11380 					LA303_: ;
11381 					checkMinSonsLen__semdata_1084(a_10, ((NI) 3), (*(*c).graph).config);
11382 					T305_ = (NI)0;
11383 					T305_ = len__ast_3198(a_10);
11384 					T306_ = (NI)0;
11385 					T306_ = len__ast_3198(a_10);
11386 					asgnRef((void**) (&(*a_10)._kind_6.sons->data[(NI)(T305_ - ((NI) 2))]), semGenericStmt__sem_8113(c, (*a_10)._kind_6.sons->data[(NI)(T306_ - ((NI) 2))], (flags | 2), ctx));
11387 					T307_ = (NI)0;
11388 					T307_ = len__ast_3198(a_10);
11389 					T308_ = (NI)0;
11390 					T308_ = len__ast_3198(a_10);
11391 					asgnRef((void**) (&(*a_10)._kind_6.sons->data[(NI)(T307_ - ((NI) 1))]), semGenericStmt__sem_8113(c, (*a_10)._kind_6.sons->data[(NI)(T308_ - ((NI) 1))], flags, ctx));
11392 					{
11393 						NI j_5;
11394 						NI colontmp__25;
11395 						NI T310_;
11396 						NI i_43;
11397 						j_5 = (NI)0;
11398 						colontmp__25 = (NI)0;
11399 						T310_ = (NI)0;
11400 						T310_ = len__ast_3198(a_10);
11401 						colontmp__25 = (NI)(T310_ - ((NI) 2));
11402 						i_43 = ((NI) 0);
11403 						{
11404 							while (1) {
11405 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T313_;
11406 								if (!(i_43 < colontmp__25)) goto LA312;
11407 								j_5 = i_43;
11408 								T313_ = NIM_NIL;
11409 								T313_ = getIdentNode__sem_8093(c, (*a_10)._kind_6.sons->data[j_5]);
11410 								addTempDecl__sem_8354(c, T313_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
11411 								i_43 += ((NI) 1);
11412 							} LA312: ;
11413 						}
11414 					}
11415 					i_42 += ((NI) 1);
11416 				} LA300: ;
11417 			}
11418 		}
11419 		{
11420 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA316_;
11421 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], (flags | 2), ctx));
11422 		}
11423 		LA316_: ;
11424 	}
11425 	break;
11426 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
11427 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
11428 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
11429 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
11430 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
11431 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
11432 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
11433 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
11434 	{
11435 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T324_;
11436 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
11437 		checkSonsLen__semdata_1077(n, ((NI) 7), (*(*c).graph).config);
11438 		{
11439 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T323_;
11440 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA321_;
11441 			T323_ = NIM_NIL;
11442 			T323_ = getIdentNode__sem_8093(c, (*n)._kind_6.sons->data[((NI) 0)]);
11443 			addTempDecl__sem_8354(c, T323_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
11444 		}
11445 		LA321_: ;
11446 		T324_ = NIM_NIL;
11447 		T324_ = openScope__lookups_69(c);
11448 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 2)], flags, ctx));
11449 		{
11450 			if (!!(((*(*n)._kind_6.sons->data[((NI) 3)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA327_;
11451 			{
11452 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T333_;
11453 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T334_;
11454 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T335_;
11455 				if (!!(((*(*(*n)._kind_6.sons->data[((NI) 3)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA331_;
11456 				T333_ = NIM_NIL;
11457 				T333_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
11458 				T334_ = nextSymId__ast_3132((*c).Sup.idgen);
11459 				T335_ = NIM_NIL;
11460 				T335_ = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T333_, T334_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (*n).info, 0);
11461 				addPrelimDecl__lookups_848(c, T335_);
11462 			}
11463 			LA331_: ;
11464 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 3)], flags, ctx));
11465 		}
11466 		LA327_: ;
11467 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 4)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 4)], flags, ctx));
11468 		body = NIM_NIL;
11469 		{
11470 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_3;
11471 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA338_;
11472 			s_3 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
11473 			{
11474 				NIM_BOOL T342_;
11475 				T342_ = (NIM_BOOL)0;
11476 				T342_ = (((*s_3).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
11477 				if (!(T342_)) goto LA343_;
11478 				T342_ = ((*s_3).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
11479 				LA343_: ;
11480 				if (!T342_) goto LA344_;
11481 				body = (*n)._kind_6.sons->data[((NI) 6)];
11482 			}
11483 			goto LA340_;
11484 			LA344_: ;
11485 			{
11486 				body = getBody__modulegraphs_11241((*c).graph, s_3);
11487 			}
11488 			LA340_: ;
11489 		}
11490 		goto LA336_;
11491 		LA338_: ;
11492 		{
11493 			body = (*n)._kind_6.sons->data[((NI) 6)];
11494 		}
11495 		LA336_: ;
11496 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semGenericStmtScope__sem_8118(c, body, flags, ctx));
11497 		closeScope__lookups_101(c);
11498 	}
11499 	break;
11500 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
11501 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
11502 	{
11503 	}
11504 	break;
11505 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
11506 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
11507 	{
11508 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
11509 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 1)], flags, ctx));
11510 	}
11511 	break;
11512 	default:
11513 	{
11514 		{
11515 			NI i_44;
11516 			NI colontmp__26;
11517 			NI i_45;
11518 			i_44 = (NI)0;
11519 			colontmp__26 = (NI)0;
11520 			colontmp__26 = len__ast_3198(n);
11521 			i_45 = ((NI) 0);
11522 			{
11523 				while (1) {
11524 					if (!(i_45 < colontmp__26)) goto LA353;
11525 					i_44 = i_45;
11526 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_44]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[i_44], flags, ctx));
11527 					i_45 += ((NI) 1);
11528 				} LA353: ;
11529 			}
11530 		}
11531 	}
11532 	break;
11533 	}
11534 	return result;
11535 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericStmt__sem_2885)11536 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmt__sem_2885)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
11537 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
11538 	tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w ctx;
11539 	result = NIM_NIL;
11540 	nimZeroMem((void*)(&ctx), sizeof(tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w));
11541 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
11542 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
11543 	result = semGenericStmt__sem_8113(c, n, 0, (&ctx));
11544 	return result;
11545 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,addImplicitGeneric__sem_4737)11546 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, addImplicitGeneric__sem_4737)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typeClass, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typId, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, NimStringDesc* paramName) {
11547 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
11548 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* finalTypId;
11549 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
11550 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11551 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T24_;
11552 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T34_;
11553 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
11554 {	result = NIM_NIL;
11555 	{
11556 		if (!(genericParams == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
11557 		goto BeforeRet_;
11558 	}
11559 	LA3_: ;
11560 	{
11561 		NIM_BOOL T7_;
11562 		T7_ = (NIM_BOOL)0;
11563 		T7_ = eqeq___idents_220(typId, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
11564 		if (!!(T7_)) goto LA8_;
11565 		finalTypId = typId;
11566 	}
11567 	goto LA5_;
11568 	LA8_: ;
11569 	{
11570 		NimStringDesc* T11_;
11571 		T11_ = NIM_NIL;
11572 		T11_ = rawNewString((paramName ? paramName->Sup.len : 0) + 5);
11573 appendString(T11_, paramName);
11574 appendString(T11_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_141));
11575 		finalTypId = getIdent__idents_143((*c).cache, T11_);
11576 	}
11577 	LA5_: ;
11578 	{
11579 		NI i;
11580 		NI colontmp_;
11581 		NI i_2;
11582 		i = (NI)0;
11583 		colontmp_ = (NI)0;
11584 		colontmp_ = len__ast_3198(genericParams);
11585 		i_2 = ((NI) 0);
11586 		{
11587 			while (1) {
11588 				if (!(i_2 < colontmp_)) goto LA14;
11589 				i = i_2;
11590 				{
11591 					if (!((*(*(*(*genericParams)._kind_6.sons->data[i])._kind_4.sym).name).id == (*finalTypId).id)) goto LA17_;
11592 					result = (*(*genericParams)._kind_6.sons->data[i]).typ;
11593 					goto BeforeRet_;
11594 				}
11595 				LA17_: ;
11596 				i_2 += ((NI) 1);
11597 			} LA14: ;
11598 		}
11599 	}
11600 	{
11601 		if (!!(((*typeClass).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21_;
11602 		owner = (*typeClass).sym;
11603 	}
11604 	goto LA19_;
11605 	LA21_: ;
11606 	{
11607 		owner = getCurrOwner__semdata_315(c);
11608 	}
11609 	LA19_: ;
11610 	T24_ = nextSymId__ast_3132((*c).Sup.idgen);
11611 	s = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), finalTypId, T24_, owner, info, 0);
11612 	{
11613 		if (!(((*owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 23))&63U)))!=0)) goto LA27_;
11614 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 23)) & 63);
11615 	}
11616 	LA27_: ;
11617 	{
11618 		NIM_BOOL T31_;
11619 		T31_ = (NIM_BOOL)0;
11620 		T31_ = eqeq___idents_220(typId, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
11621 		if (!T31_) goto LA32_;
11622 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34)) & 63);
11623 	}
11624 	LA32_: ;
11625 	T34_ = NIM_NIL;
11626 	T34_ = linkTo__ast_3532(s, typeClass);
11627 	(*typeClass).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 26)) & 63);
11628 	(*s).position = len__ast_3198(genericParams);
11629 	T35_ = NIM_NIL;
11630 	T35_ = newSymNode__ast_3716(s);
11631 	add__ast_4797(genericParams, T35_);
11632 	result = typeClass;
11633 	addDecl__lookups_845(c, s);
11634 	}BeforeRet_: ;
11635 	return result;
11636 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,instGenericContainer__sem_1125)11637 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, instGenericContainer__sem_1125)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* header, NIM_BOOL allowMetaTypes) {
11638 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
11639 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
11640 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* T5_;
11641 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T6_;
11642 	tyObject_TType__facALICuu8zUj0hjvbTLFg* genericTyp;
11643 	result = NIM_NIL;
11644 	{
11645 		NimStringDesc* argX60gensym168_;
11646 		if (!!(((*header).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9)))) goto LA3_;
11647 		argX60gensym168_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_148);
11648 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym168_, TM__rF9caJawfOjYTjsgLVUSGFA_148);
11649 	}
11650 	LA3_: ;
11651 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
11652 	initIdTable__ast_4096((&cl.symMap));
11653 	initIdTable__ast_4096((&cl.localCache));
11654 	T5_ = NIM_NIL;
11655 	T5_ = (tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*) newObj((&NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_), sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ));
11656 	cl.typeMap = T5_;
11657 	initIdTable__ast_4096((&(*cl.typeMap).topLayer));
11658 	cl.info = info;
11659 	cl.c = c;
11660 	cl.allowMetaTypes = allowMetaTypes;
11661 	T6_ = NIM_NIL;
11662 	T6_ = openScope__lookups_69(c);
11663 	genericTyp = base__types_63(header);
11664 	{
11665 		NI i;
11666 		NI colontmp_;
11667 		NI T8_;
11668 		NI i_2;
11669 		i = (NI)0;
11670 		colontmp_ = (NI)0;
11671 		T8_ = (NI)0;
11672 		T8_ = len__ast_4002(genericTyp);
11673 		colontmp_ = (NI)(T8_ - ((NI) 1));
11674 		i_2 = ((NI) 0);
11675 		{
11676 			while (1) {
11677 				tyObject_TType__facALICuu8zUj0hjvbTLFg* genParam;
11678 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
11679 				if (!(i_2 < colontmp_)) goto LA10;
11680 				i = i_2;
11681 				genParam = (*genericTyp).sons->data[i];
11682 				param = NIM_NIL;
11683 				{
11684 					tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T15_;
11685 					if (!((*genParam).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA13_;
11686 					T15_ = nextSymId__ast_3132((*c).Sup.idgen);
11687 					param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), (*(*genParam).sym).name, T15_, (*genericTyp).sym, (*(*genParam).sym).info, 0);
11688 					asgnRef((void**) (&(*param).ast), (*(*header).sons->data[(NI)(i + ((NI) 1))]).n);
11689 					asgnRef((void**) (&(*param).typ), (*header).sons->data[(NI)(i + ((NI) 1))]);
11690 				}
11691 				goto LA11_;
11692 				LA13_: ;
11693 				{
11694 					tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
11695 					T17_ = nextSymId__ast_3132((*c).Sup.idgen);
11696 					param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), (*(*genParam).sym).name, T17_, (*genericTyp).sym, (*(*genParam).sym).info, 0);
11697 					asgnRef((void**) (&(*param).typ), makeTypeDesc__concepts_49(c, (*header).sons->data[(NI)(i + ((NI) 1))]));
11698 				}
11699 				LA11_: ;
11700 				(*param).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
11701 				addDecl__lookups_845(c, param);
11702 				i_2 += ((NI) 1);
11703 			} LA10: ;
11704 		}
11705 	}
11706 	result = replaceTypeVarsT__semtypinst_178((&cl), header);
11707 	closeScope__lookups_101(c);
11708 	return result;
11709 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,liftParamType__sem_4789)11710 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, liftParamType__sem_4789)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw procKind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType, NimStringDesc* paramName, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NIM_BOOL anon) {
11711 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
11712 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* paramTypId;
11713 {	result = NIM_NIL;
11714 	{
11715 		if (!(paramType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
11716 		goto BeforeRet_;
11717 	}
11718 	LA3_: ;
11719 	{
11720 		NIM_BOOL T7_;
11721 		T7_ = (NIM_BOOL)0;
11722 		T7_ = !(anon);
11723 		if (!(T7_)) goto LA8_;
11724 		T7_ = !(((*paramType).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
11725 		LA8_: ;
11726 		if (!T7_) goto LA9_;
11727 		paramTypId = (*(*paramType).sym).name;
11728 	}
11729 	goto LA5_;
11730 	LA9_: ;
11731 	{
11732 		paramTypId = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
11733 	}
11734 	LA5_: ;
11735 	switch ((*paramType).kind) {
11736 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
11737 	{
11738 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
11739 		T13_ = NIM_NIL;
11740 		T13_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12), c);
11741 		result = addImplicitGeneric__sem_4737(c, T13_, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL), info, genericParams, paramName);
11742 	}
11743 	break;
11744 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
11745 	{
11746 		tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted;
11747 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T26_;
11748 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
11749 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T39_;
11750 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
11751 		{
11752 			NIM_BOOL T17_;
11753 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
11754 			T17_ = (NIM_BOOL)0;
11755 			T18_ = NIM_NIL;
11756 			T18_ = base__types_63(paramType);
11757 			T17_ = !(((*T18_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
11758 			if (!(T17_)) goto LA19_;
11759 			T17_ = !(((*paramType).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11760 			LA19_: ;
11761 			if (!T17_) goto LA20_;
11762 			goto BeforeRet_;
11763 		}
11764 		LA20_: ;
11765 		{
11766 			if (!(((*paramType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA24_;
11767 			goto BeforeRet_;
11768 		}
11769 		LA24_: ;
11770 		T26_ = NIM_NIL;
11771 		T26_ = base__types_63(paramType);
11772 		lifted = liftParamType__sem_4789(c, procKind, genericParams, T26_, paramName, info, NIM_FALSE);
11773 		{
11774 			if (!!((lifted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA29_;
11775 			base = lifted;
11776 		}
11777 		goto LA27_;
11778 		LA29_: ;
11779 		{
11780 			base = base__types_63(paramType);
11781 		}
11782 		LA27_: ;
11783 		{
11784 			NIM_BOOL T34_;
11785 			NimStringDesc* T38_;
11786 			T34_ = (NIM_BOOL)0;
11787 			T34_ = isMetaType__ast_3495(base);
11788 			if (!(T34_)) goto LA35_;
11789 			T34_ = (procKind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
11790 			LA35_: ;
11791 			if (!T34_) goto LA36_;
11792 			T38_ = NIM_NIL;
11793 			T38_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_142), paramName);
11794 			liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T38_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_143, NIM_FALSE);
11795 		}
11796 		LA36_: ;
11797 		T39_ = NIM_NIL;
11798 		T39_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
11799 		asgnRef((void**) (&T39_->data[0]), base);
11800 		T40_ = NIM_NIL;
11801 		T40_ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T39_);
11802 		result = addImplicitGeneric__sem_4737(c, T40_, paramTypId, info, genericParams, paramName);
11803 		{
11804 			if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA43_;
11805 			(*result).flags = ((*result).flags | 16777728);
11806 		}
11807 		LA43_: ;
11808 	}
11809 	break;
11810 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
11811 	{
11812 		{
11813 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
11814 			tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T64_;
11815 			if (!!((((*paramType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0))) goto LA48_;
11816 			{
11817 				NIM_BOOL T52_;
11818 				NIM_BOOL T53_;
11819 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T54_;
11820 				NIM_BOOL T56_;
11821 				NIM_BOOL T58_;
11822 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T59_;
11823 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T61_;
11824 				T52_ = (NIM_BOOL)0;
11825 				T53_ = (NIM_BOOL)0;
11826 				T54_ = NIM_NIL;
11827 				T54_ = base__types_63(paramType);
11828 				T53_ = ((*T54_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
11829 				if (!(T53_)) goto LA55_;
11830 				T56_ = (NIM_BOOL)0;
11831 				T56_ = eqeq___idents_220(paramTypId, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
11832 				T53_ = !(T56_);
11833 				LA55_: ;
11834 				T52_ = T53_;
11835 				if (!(T52_)) goto LA57_;
11836 				T58_ = (NIM_BOOL)0;
11837 				T59_ = NIM_NIL;
11838 				T59_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_144));
11839 				T58_ = ((*paramTypId).id == (*T59_).id);
11840 				if (T58_) goto LA60_;
11841 				T61_ = NIM_NIL;
11842 				T61_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_145));
11843 				T58_ = ((*paramTypId).id == (*T61_).id);
11844 				LA60_: ;
11845 				T52_ = T58_;
11846 				LA57_: ;
11847 				if (!T52_) goto LA62_;
11848 				paramTypId = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
11849 			}
11850 			LA62_: ;
11851 			T64_ = NIM_NIL;
11852 			T64_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
11853 			asgnRef((void**) (&T64_->data[0]), base__types_63(paramType));
11854 			t = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T64_);
11855 			(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
11856 			result = addImplicitGeneric__sem_4737(c, t, paramTypId, info, genericParams, paramName);
11857 		}
11858 		LA48_: ;
11859 	}
11860 	break;
11861 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
11862 	{
11863 		{
11864 			NI T68_;
11865 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T71_;
11866 			T68_ = (NI)0;
11867 			T68_ = len__ast_4002(paramType);
11868 			if (!(T68_ == ((NI) 1))) goto LA69_;
11869 			T71_ = NIM_NIL;
11870 			T71_ = base__types_63(paramType);
11871 			result = liftParamType__sem_4789(c, procKind, genericParams, T71_, paramName, info, NIM_TRUE);
11872 		}
11873 		LA69_: ;
11874 	}
11875 	break;
11876 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
11877 	{
11878 		{
11879 			NI i;
11880 			NI colontmp_;
11881 			NI i_2;
11882 			i = (NI)0;
11883 			colontmp_ = (NI)0;
11884 			colontmp_ = len__ast_4002(paramType);
11885 			i_2 = ((NI) 0);
11886 			{
11887 				while (1) {
11888 					tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
11889 					if (!(i_2 < colontmp_)) goto LA75;
11890 					i = i_2;
11891 					t_2 = liftParamType__sem_4789(c, procKind, genericParams, (*paramType).sons->data[i], paramName, info, NIM_FALSE);
11892 					{
11893 						if (!!((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA78_;
11894 						asgnRef((void**) (&(*paramType).sons->data[i]), t_2);
11895 						result = paramType;
11896 					}
11897 					LA78_: ;
11898 					i_2 += ((NI) 1);
11899 				} LA75: ;
11900 			}
11901 		}
11902 	}
11903 	break;
11904 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
11905 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
11906 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
11907 	{
11908 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T81_;
11909 		T81_ = NIM_NIL;
11910 		T81_ = base__types_63(paramType);
11911 		result = liftParamType__sem_4789(c, procKind, genericParams, T81_, paramName, info, NIM_FALSE);
11912 	}
11913 	break;
11914 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
11915 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
11916 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
11917 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
11918 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
11919 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
11920 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
11921 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
11922 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
11923 	{
11924 		{
11925 			NIM_BOOL T85_;
11926 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T87_;
11927 			tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
11928 			tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T90_;
11929 			T85_ = (NIM_BOOL)0;
11930 			T85_ = ((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
11931 			if (!(T85_)) goto LA86_;
11932 			T87_ = NIM_NIL;
11933 			T87_ = lastSon__ast_3743(paramType);
11934 			T85_ = ((*T87_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
11935 			LA86_: ;
11936 			if (!T85_) goto LA88_;
11937 			T90_ = NIM_NIL;
11938 			T90_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
11939 			asgnRef((void**) (&T90_->data[0]), newTypeS__semdata_733((*paramType).kind, c));
11940 			typ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51), T90_);
11941 			result = addImplicitGeneric__sem_4737(c, typ, paramTypId, info, genericParams, paramName);
11942 		}
11943 		goto LA83_;
11944 		LA88_: ;
11945 		{
11946 			{
11947 				NI i_3;
11948 				NI colontmp__2;
11949 				NI i_4;
11950 				i_3 = (NI)0;
11951 				colontmp__2 = (NI)0;
11952 				colontmp__2 = len__ast_4002(paramType);
11953 				i_4 = ((NI) 0);
11954 				{
11955 					while (1) {
11956 						tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted_2;
11957 						if (!(i_4 < colontmp__2)) goto LA94;
11958 						i_3 = i_4;
11959 						{
11960 							NimStringDesc* T99_;
11961 							NimStringDesc* T100_;
11962 							if (!((*paramType).sons->data[i_3] == paramType)) goto LA97_;
11963 							T99_ = NIM_NIL;
11964 							T99_ = typeToString__types_50(paramType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
11965 							T100_ = NIM_NIL;
11966 							T100_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), T99_);
11967 							liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T100_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_147, NIM_FALSE);
11968 						}
11969 						LA97_: ;
11970 						lifted_2 = liftParamType__sem_4789(c, procKind, genericParams, (*paramType).sons->data[i_3], paramName, info, NIM_FALSE);
11971 						{
11972 							if (!!((lifted_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA103_;
11973 							asgnRef((void**) (&(*paramType).sons->data[i_3]), lifted_2);
11974 							result = paramType;
11975 						}
11976 						LA103_: ;
11977 						i_4 += ((NI) 1);
11978 					} LA94: ;
11979 				}
11980 			}
11981 		}
11982 		LA83_: ;
11983 	}
11984 	break;
11985 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
11986 	{
11987 		tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
11988 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T122_;
11989 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9), c);
11990 		rawAddSon__ast_4288(result, paramType, NIM_TRUE);
11991 		{
11992 			NI i_5;
11993 			NI colontmp__3;
11994 			NI T107_;
11995 			NI i_6;
11996 			i_5 = (NI)0;
11997 			colontmp__3 = (NI)0;
11998 			T107_ = (NI)0;
11999 			T107_ = len__ast_4002(paramType);
12000 			colontmp__3 = (NI)(T107_ - ((NI) 1));
12001 			i_6 = ((NI) 0);
12002 			{
12003 				while (1) {
12004 					if (!(i_6 < colontmp__3)) goto LA109;
12005 					i_5 = i_6;
12006 					{
12007 						tyObject_TType__facALICuu8zUj0hjvbTLFg* staticCopy;
12008 						if (!((*(*paramType).sons->data[i_5]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA112_;
12009 						staticCopy = exactReplica__ast_4051((*paramType).sons->data[i_5]);
12010 						(*staticCopy).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 27)) & 63);
12011 						rawAddSon__ast_4288(result, staticCopy, NIM_TRUE);
12012 					}
12013 					goto LA110_;
12014 					LA112_: ;
12015 					{
12016 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_;
12017 						T115_ = NIM_NIL;
12018 						T115_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59), c);
12019 						rawAddSon__ast_4288(result, T115_, NIM_TRUE);
12020 					}
12021 					LA110_: ;
12022 					i_6 += ((NI) 1);
12023 				} LA109: ;
12024 			}
12025 		}
12026 		{
12027 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T118_;
12028 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T121_;
12029 			T118_ = NIM_NIL;
12030 			T118_ = lastSon__ast_3743(paramType);
12031 			if (!((*T118_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA119_;
12032 			(*result).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53);
12033 			T121_ = NIM_NIL;
12034 			T121_ = lastSon__ast_3743(paramType);
12035 			rawAddSon__ast_4288(result, T121_, NIM_TRUE);
12036 			result = addImplicitGeneric__sem_4737(c, result, paramTypId, info, genericParams, paramName);
12037 			goto BeforeRet_;
12038 		}
12039 		LA119_: ;
12040 		x = instGenericContainer__sem_1125(c, (*(*paramType).sym).info, result, NIM_TRUE);
12041 		T122_ = NIM_NIL;
12042 		T122_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 2);
12043 		asgnRef((void**) (&T122_->data[0]), paramType);
12044 		asgnRef((void**) (&T122_->data[1]), x);
12045 		result = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54), T122_);
12046 		result = addImplicitGeneric__sem_4737(c, result, paramTypId, info, genericParams, paramName);
12047 	}
12048 	break;
12049 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
12050 	{
12051 		tyObject_TType__facALICuu8zUj0hjvbTLFg* liftBody;
12052 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T144_;
12053 		{
12054 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T126_;
12055 			tyObject_TType__facALICuu8zUj0hjvbTLFg* cp;
12056 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T129_;
12057 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T130_;
12058 			T126_ = NIM_NIL;
12059 			T126_ = lastSon__ast_3743(paramType);
12060 			if (!((*T126_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA127_;
12061 			T129_ = nextTypeId__ast_3151((*c).Sup.idgen);
12062 			T130_ = NIM_NIL;
12063 			T130_ = getCurrOwner__semdata_315(c);
12064 			cp = copyType__ast_4046(paramType, T129_, T130_);
12065 			copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), cp, paramType);
12066 			(*cp).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53);
12067 			result = addImplicitGeneric__sem_4737(c, cp, paramTypId, info, genericParams, paramName);
12068 			goto BeforeRet_;
12069 		}
12070 		LA127_: ;
12071 		{
12072 			NI i_7;
12073 			NI colontmp__4;
12074 			NI T132_;
12075 			NI i_8;
12076 			i_7 = (NI)0;
12077 			colontmp__4 = (NI)0;
12078 			T132_ = (NI)0;
12079 			T132_ = len__ast_4002(paramType);
12080 			colontmp__4 = (NI)(T132_ - ((NI) 1));
12081 			i_8 = ((NI) 1);
12082 			{
12083 				while (1) {
12084 					tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted_3;
12085 					if (!(i_8 < colontmp__4)) goto LA134;
12086 					i_7 = i_8;
12087 					lifted_3 = liftParamType__sem_4789(c, procKind, genericParams, (*paramType).sons->data[i_7], paramName, info, NIM_FALSE);
12088 					{
12089 						if (!!((lifted_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA137_;
12090 						asgnRef((void**) (&(*paramType).sons->data[i_7]), lifted_3);
12091 						result = paramType;
12092 						{
12093 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T141_;
12094 							NimStringDesc* argX60gensym1159_;
12095 							T141_ = NIM_NIL;
12096 							T141_ = lastSon__ast_3743(result);
12097 							if (!!((((*T141_).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21))&63U)))!=0))) goto LA142_;
12098 							argX60gensym1159_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_149);
12099 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1159_, TM__rF9caJawfOjYTjsgLVUSGFA_149);
12100 						}
12101 						LA142_: ;
12102 					}
12103 					LA137_: ;
12104 					i_8 += ((NI) 1);
12105 				} LA134: ;
12106 			}
12107 		}
12108 		T144_ = NIM_NIL;
12109 		T144_ = lastSon__ast_3743(paramType);
12110 		liftBody = liftParamType__sem_4789(c, procKind, genericParams, T144_, paramName, info, NIM_TRUE);
12111 		{
12112 			if (!!((liftBody == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA147_;
12113 			result = liftBody;
12114 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21)) & 63);
12115 		}
12116 		LA147_: ;
12117 	}
12118 	break;
12119 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
12120 	{
12121 		tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
12122 		{
12123 			NI i_9;
12124 			NI colontmp__5;
12125 			NI i_10;
12126 			i_9 = (NI)0;
12127 			colontmp__5 = (NI)0;
12128 			colontmp__5 = len__ast_4002(paramType);
12129 			i_10 = ((NI) 1);
12130 			{
12131 				while (1) {
12132 					tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted_4;
12133 					if (!(i_10 < colontmp__5)) goto LA152;
12134 					i_9 = i_10;
12135 					lifted_4 = liftParamType__sem_4789(c, procKind, genericParams, (*paramType).sons->data[i_9], paramName, info, NIM_FALSE);
12136 					{
12137 						if (!!((lifted_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA155_;
12138 						asgnRef((void**) (&(*paramType).sons->data[i_9]), lifted_4);
12139 					}
12140 					LA155_: ;
12141 					i_10 += ((NI) 1);
12142 				} LA152: ;
12143 			}
12144 		}
12145 		body = base__types_63(paramType);
12146 		{
12147 			if (!((*body).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30) || (*body).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA159_;
12148 			goto BeforeRet_;
12149 		}
12150 		LA159_: ;
12151 		{
12152 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T163_;
12153 			tyObject_TType__facALICuu8zUj0hjvbTLFg* expanded;
12154 			T163_ = NIM_NIL;
12155 			T163_ = lastSon__ast_3743(body);
12156 			if (!((*T163_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA164_;
12157 			expanded = instGenericContainer__sem_1125(c, info, paramType, NIM_TRUE);
12158 			result = liftParamType__sem_4789(c, procKind, genericParams, expanded, paramName, info, NIM_TRUE);
12159 		}
12160 		LA164_: ;
12161 	}
12162 	break;
12163 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
12164 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
12165 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
12166 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
12167 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
12168 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
12169 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
12170 	{
12171 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T167_;
12172 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T168_;
12173 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T169_;
12174 		T167_ = nextTypeId__ast_3151((*c).Sup.idgen);
12175 		T168_ = NIM_NIL;
12176 		T168_ = getCurrOwner__semdata_315(c);
12177 		T169_ = NIM_NIL;
12178 		T169_ = copyType__ast_4046(paramType, T167_, T168_);
12179 		result = addImplicitGeneric__sem_4737(c, T169_, paramTypId, info, genericParams, paramName);
12180 	}
12181 	break;
12182 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
12183 	{
12184 		markUsed__sigmatch_85(c, (*(*paramType).sym).info, (*paramType).sym);
12185 		{
12186 			if (!(((*paramType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA173_;
12187 			(*paramType).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
12188 			transitionGenericParamToType__ast_4390((*paramType).sym);
12189 		}
12190 		LA173_: ;
12191 	}
12192 	break;
12193 	default:
12194 	{
12195 	}
12196 	break;
12197 	}
12198 	}BeforeRet_: ;
12199 	return result;
12200 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semProcTypeNode__sem_5067)12201 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semProcTypeNode__sem_5067)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, NIM_BOOL isType) {
12202 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
12203 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
12204 	NI counter;
12205 	tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
12206 	result = NIM_NIL;
12207 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
12208 	result = newProcType__sem_5053(c, (*n).info, prev);
12209 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
12210 	initIntSet__pureZcollectionsZintsets_238((&check));
12211 	counter = ((NI) 0);
12212 	{
12213 		NI i;
12214 		NI colontmp_;
12215 		NI i_2;
12216 		i = (NI)0;
12217 		colontmp_ = (NI)0;
12218 		colontmp_ = len__ast_3198(n);
12219 		i_2 = ((NI) 1);
12220 		{
12221 			while (1) {
12222 				if (!(i_2 < colontmp_)) goto LA3;
12223 				i = i_2;
12224 				{
12225 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
12226 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
12227 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
12228 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
12229 					NIM_BOOL hasType;
12230 					NI T15_;
12231 					NIM_BOOL hasDefault;
12232 					NI T16_;
12233 					a = (*n)._kind_6.sons->data[i];
12234 					{
12235 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA7_;
12236 						{
12237 							NIM_BOOL T11_;
12238 							T11_ = (NIM_BOOL)0;
12239 							T11_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
12240 							if (!(T11_)) goto LA12_;
12241 							T11_ = (((*(*a)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
12242 							LA12_: ;
12243 							if (!T11_) goto LA13_;
12244 							goto LA4;
12245 						}
12246 						LA13_: ;
12247 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
12248 					}
12249 					LA7_: ;
12250 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
12251 					typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
12252 					def = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12253 					constraint = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12254 					T15_ = (NI)0;
12255 					T15_ = len__ast_3198(a);
12256 					hasType = !(((*(*a)._kind_6.sons->data[(NI)(T15_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
12257 					T16_ = (NI)0;
12258 					T16_ = len__ast_3198(a);
12259 					hasDefault = !(((*(*a)._kind_6.sons->data[(NI)(T16_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
12260 					{
12261 						NI T21_;
12262 						if (!hasType) goto LA19_;
12263 						T21_ = (NI)0;
12264 						T21_ = len__ast_3198(a);
12265 						typ = semParamType__sem_5032(c, (*a)._kind_6.sons->data[(NI)(T21_ - ((NI) 2))], &constraint);
12266 						{
12267 							NIM_BOOL T24_;
12268 							NIM_BOOL T26_;
12269 							T24_ = (NIM_BOOL)0;
12270 							T24_ = ((12288 &((NU32)1<<((NU)(kind)&31U)))!=0);
12271 							if (!(T24_)) goto LA25_;
12272 							T26_ = (NIM_BOOL)0;
12273 							T26_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
12274 							if (T26_) goto LA27_;
12275 							T26_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12276 							LA27_: ;
12277 							T24_ = T26_;
12278 							LA25_: ;
12279 							if (!T24_) goto LA28_;
12280 							{
12281 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T32_;
12282 								NIM_BOOL T33_;
12283 								NI T36_;
12284 								NimStringDesc* T37_;
12285 								T32_ = NIM_NIL;
12286 								T32_ = getCurrOwner__semdata_315(c);
12287 								T33_ = (NIM_BOOL)0;
12288 								T33_ = isMagic__sem_5062(T32_);
12289 								if (!!(T33_)) goto LA34_;
12290 								T36_ = (NI)0;
12291 								T36_ = len__ast_3198(a);
12292 								T37_ = NIM_NIL;
12293 								T37_ = rawNewString(((*(*(*typ).sym).name).s ? (*(*(*typ).sym).name).s->Sup.len : 0) + 57);
12294 appendString(T37_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
12295 appendString(T37_, (*(*(*typ).sym).name).s);
12296 appendString(T37_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_129));
12297 								liMessage__msgs_1118((*(*c).graph).config, (*(*a)._kind_6.sons->data[(NI)(T36_ - ((NI) 2))]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T37_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_130, NIM_FALSE);
12298 							}
12299 							LA34_: ;
12300 						}
12301 						LA28_: ;
12302 					}
12303 					LA19_: ;
12304 					{
12305 						NI T42_;
12306 						if (!hasDefault) goto LA40_;
12307 						T42_ = (NI)0;
12308 						T42_ = len__ast_3198(a);
12309 						def = (*a)._kind_6.sons->data[(NI)(T42_ - ((NI) 1))];
12310 						{
12311 							{
12312 								NIM_BOOL T46_;
12313 								T46_ = (NIM_BOOL)0;
12314 								T46_ = isGenericParams__ast_4616(genericParams);
12315 								if (!T46_) goto LA47_;
12316 								def = semGenericStmt__sem_2885(c, def);
12317 								{
12318 									NIM_BOOL T51_;
12319 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T54_;
12320 									T51_ = (NIM_BOOL)0;
12321 									T51_ = hasUnresolvedArgs__sem_142(c, def);
12322 									if (!T51_) goto LA52_;
12323 									T54_ = NIM_NIL;
12324 									T54_ = copyTree__ast_4431(def);
12325 									asgnRef((void**) (&(*def).typ), makeTypeFromExpr__semdata_804(c, T54_));
12326 									goto LA43;
12327 								}
12328 								LA52_: ;
12329 							}
12330 							LA47_: ;
12331 							def = semExprWithType__sem_56(c, def, 512);
12332 							{
12333 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T57_;
12334 								NIM_BOOL T58_;
12335 								T57_ = NIM_NIL;
12336 								T57_ = getCurrOwner__semdata_315(c);
12337 								T58_ = (NIM_BOOL)0;
12338 								T58_ = referencesAnotherParam__sem_1165(def, T57_);
12339 								if (!T58_) goto LA59_;
12340 								(*def).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
12341 							}
12342 							LA59_: ;
12343 						} LA43: ;
12344 						{
12345 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA63_;
12346 							typ = (*def).typ;
12347 							{
12348 								NIM_BOOL T67_;
12349 								NimStringDesc* T70_;
12350 								NimStringDesc* T71_;
12351 								T67_ = (NIM_BOOL)0;
12352 								T67_ = isEmptyContainer__types_3626(typ);
12353 								if (!T67_) goto LA68_;
12354 								T70_ = NIM_NIL;
12355 								T71_ = NIM_NIL;
12356 								T71_ = dollar___renderer_2106((*a)._kind_6.sons->data[((NI) 0)]);
12357 								T70_ = rawNewString((T71_ ? T71_->Sup.len : 0) + 37);
12358 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_133));
12359 appendString(T70_, T71_);
12360 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
12361 								liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T70_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_134, NIM_FALSE);
12362 							}
12363 							LA68_: ;
12364 							{
12365 								tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T76_;
12366 								if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA74_;
12367 								T76_ = NIM_NIL;
12368 								T76_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
12369 								asgnRef((void**) (&T76_->data[0]), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c));
12370 								typ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T76_);
12371 								(*typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
12372 							}
12373 							LA74_: ;
12374 						}
12375 						goto LA61_;
12376 						LA63_: ;
12377 						{
12378 							{
12379 								NIM_BOOL T80_;
12380 								T80_ = (NIM_BOOL)0;
12381 								T80_ = containsGenericType__types_3360(typ);
12382 								if (!!(T80_)) goto LA81_;
12383 								def = fitNode__sem_70(c, typ, def, (*def).info);
12384 							}
12385 							goto LA78_;
12386 							LA81_: ;
12387 							{
12388 								if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA84_;
12389 								def = semConstExpr__sem_611(c, def);
12390 								def = fitNode__sem_70(c, typ, def, (*def).info);
12391 							}
12392 							goto LA78_;
12393 							LA84_: ;
12394 							LA78_: ;
12395 						}
12396 						LA61_: ;
12397 					}
12398 					LA40_: ;
12399 					{
12400 						NIM_BOOL T88_;
12401 						T88_ = (NIM_BOOL)0;
12402 						T88_ = !(hasType);
12403 						if (!(T88_)) goto LA89_;
12404 						T88_ = !(hasDefault);
12405 						LA89_: ;
12406 						if (!T88_) goto LA90_;
12407 						{
12408 							if (!isType) goto LA94_;
12409 							liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_135), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_136, NIM_FALSE);
12410 						}
12411 						LA94_: ;
12412 						{
12413 							if (!((393216 &((NU32)1<<((NU)(kind)&31U)))!=0)) goto LA98_;
12414 							typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6), c);
12415 						}
12416 						LA98_: ;
12417 					}
12418 					goto LA86_;
12419 					LA90_: ;
12420 					{
12421 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T101_;
12422 						T101_ = NIM_NIL;
12423 						T101_ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_137);
12424 						if (!((*T101_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA102_;
12425 						goto LA4;
12426 					}
12427 					goto LA86_;
12428 					LA102_: ;
12429 					LA86_: ;
12430 					{
12431 						NI j;
12432 						NI colontmp__2;
12433 						NI T105_;
12434 						NI i_3;
12435 						j = (NI)0;
12436 						colontmp__2 = (NI)0;
12437 						T105_ = (NI)0;
12438 						T105_ = len__ast_3198(a);
12439 						colontmp__2 = (NI)(T105_ - ((NI) 2));
12440 						i_3 = ((NI) 0);
12441 						{
12442 							while (1) {
12443 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* arg;
12444 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T108_;
12445 								tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted;
12446 								tyObject_TType__facALICuu8zUj0hjvbTLFg* finalType;
12447 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T149_;
12448 								if (!(i_3 < colontmp__2)) goto LA107;
12449 								j = i_3;
12450 								T108_ = NIM_NIL;
12451 								{
12452 									if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA111_;
12453 									T108_ = (*(*a)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)];
12454 								}
12455 								goto LA109_;
12456 								LA111_: ;
12457 								{
12458 									T108_ = (*a)._kind_6.sons->data[j];
12459 								}
12460 								LA109_: ;
12461 								arg = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), T108_, c);
12462 								{
12463 									if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA116_;
12464 									pragma__pragmas_123(c, arg, (*(*a)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_138, NIM_FALSE);
12465 								}
12466 								LA116_: ;
12467 								{
12468 									NIM_BOOL T120_;
12469 									NIM_BOOL T121_;
12470 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
12471 									T120_ = (NIM_BOOL)0;
12472 									T121_ = (NIM_BOOL)0;
12473 									T121_ = !(hasType);
12474 									if (!(T121_)) goto LA122_;
12475 									T121_ = !(hasDefault);
12476 									LA122_: ;
12477 									T120_ = T121_;
12478 									if (!(T120_)) goto LA123_;
12479 									T120_ = !(((393216 &((NU32)1<<((NU)(kind)&31U)))!=0));
12480 									LA123_: ;
12481 									if (!T120_) goto LA124_;
12482 									param = strTableGet__astalgo_3390((*c).signatures, (*arg).name);
12483 									{
12484 										if (!!((param == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA128_;
12485 										typ = (*param).typ;
12486 									}
12487 									goto LA126_;
12488 									LA128_: ;
12489 									{
12490 										NimStringDesc* T131_;
12491 										T131_ = NIM_NIL;
12492 										T131_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_139), (*(*arg).name).s);
12493 										liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T131_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_140, NIM_FALSE);
12494 										typ = errorType__semdata_1002(c);
12495 									}
12496 									LA126_: ;
12497 								}
12498 								LA124_: ;
12499 								lifted = liftParamType__sem_4789(c, kind, genericParams, typ, (*(*arg).name).s, (*arg).info, NIM_FALSE);
12500 								{
12501 									if (!!((lifted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA134_;
12502 									finalType = lifted;
12503 								}
12504 								goto LA132_;
12505 								LA134_: ;
12506 								{
12507 									finalType = skipIntLit__magicsys_124(typ, (*c).Sup.idgen);
12508 								}
12509 								LA132_: ;
12510 								asgnRef((void**) (&(*arg).typ), finalType);
12511 								(*arg).position = counter;
12512 								asgnRef((void**) (&(*arg).constraint), constraint);
12513 								counter += ((NI) 1);
12514 								{
12515 									NIM_BOOL T139_;
12516 									T139_ = (NIM_BOOL)0;
12517 									T139_ = !((def == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12518 									if (!(T139_)) goto LA140_;
12519 									T139_ = !(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
12520 									LA140_: ;
12521 									if (!T139_) goto LA141_;
12522 									asgnRef((void**) (&(*arg).ast), copyTree__ast_4431(def));
12523 								}
12524 								LA141_: ;
12525 								{
12526 									NIM_BOOL T145_;
12527 									NimStringDesc* T148_;
12528 									T145_ = (NIM_BOOL)0;
12529 									T145_ = containsOrIncl__astalgo_402((&check), (*(*arg).name).id);
12530 									if (!T145_) goto LA146_;
12531 									T148_ = NIM_NIL;
12532 									T148_ = rawNewString(((*(*arg).name).s ? (*(*arg).name).s->Sup.len : 0) + 23);
12533 appendString(T148_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
12534 appendString(T148_, (*(*arg).name).s);
12535 appendString(T148_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
12536 									liMessage__msgs_1118((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T148_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_151, NIM_FALSE);
12537 								}
12538 								LA146_: ;
12539 								T149_ = NIM_NIL;
12540 								T149_ = newSymNode__ast_3716(arg);
12541 								add__ast_4797((*result).n, T149_);
12542 								rawAddSon__ast_4288(result, finalType, NIM_TRUE);
12543 								addParamOrResult__sem_1024(c, arg, kind);
12544 								{
12545 									NIM_BOOL T152_;
12546 									T152_ = (NIM_BOOL)0;
12547 									T152_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
12548 									if (!(T152_)) goto LA153_;
12549 									T152_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
12550 									LA153_: ;
12551 									if (!T152_) goto LA154_;
12552 									nep1CheckDefImpl__linter_110((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, arg, (*arg).kind);
12553 								}
12554 								LA154_: ;
12555 								{
12556 									if (!((IL64(422212465065984) & (*(*(*c).graph).config).globalOptions) == 0)) goto LA158_;
12557 									asgnRef((void**) (&(*a)._kind_6.sons->data[j]), newSymNode__ast_3716(arg));
12558 								}
12559 								LA158_: ;
12560 								i_3 += ((NI) 1);
12561 							} LA107: ;
12562 						}
12563 					}
12564 				} LA4: ;
12565 				i_2 += ((NI) 1);
12566 			} LA3: ;
12567 		}
12568 	}
12569 	r = NIM_NIL;
12570 	{
12571 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA162_;
12572 		r = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
12573 	}
12574 	LA162_: ;
12575 	{
12576 		NIM_BOOL T166_;
12577 		NIM_BOOL T167_;
12578 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
12579 		T166_ = (NIM_BOOL)0;
12580 		T167_ = (NIM_BOOL)0;
12581 		T167_ = !((r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
12582 		if (!(T167_)) goto LA168_;
12583 		T167_ = ((393216 &((NU32)1<<((NU)(kind)&31U)))!=0);
12584 		LA168_: ;
12585 		T166_ = T167_;
12586 		if (!(T166_)) goto LA169_;
12587 		T166_ = ((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
12588 		LA169_: ;
12589 		if (!T166_) goto LA170_;
12590 		info = (*(*n)._kind_6.sons->data[((NI) 0)]).info;
12591 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_152), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_153, NIM_FALSE);
12592 		r = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
12593 	}
12594 	LA170_: ;
12595 	{
12596 		if (!!((r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA174_;
12597 		{
12598 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T178_;
12599 			tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw oldFlags;
12600 			T178_ = NIM_NIL;
12601 			T178_ = skipTypes__ast_3735(r, TM__rF9caJawfOjYTjsgLVUSGFA_137);
12602 			if (!!(((*T178_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63)))) goto LA179_;
12603 			{
12604 				NIM_BOOL T183_;
12605 				NimStringDesc* T187_;
12606 				NimStringDesc* T188_;
12607 				T183_ = (NIM_BOOL)0;
12608 				T183_ = !(((393216 &((NU32)1<<((NU)(kind)&31U)))!=0));
12609 				if (!(T183_)) goto LA184_;
12610 				T183_ = ((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12611 				LA184_: ;
12612 				if (!T183_) goto LA185_;
12613 				T187_ = NIM_NIL;
12614 				T188_ = NIM_NIL;
12615 				T188_ = typeToString__types_50(r, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
12616 				T187_ = rawNewString((T188_ ? T188_->Sup.len : 0) + 53);
12617 appendString(T187_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_154));
12618 appendString(T187_, T188_);
12619 appendString(T187_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_155));
12620 				liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T187_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_156, NIM_FALSE);
12621 			}
12622 			goto LA181_;
12623 			LA185_: ;
12624 			{
12625 				if (!((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA190_;
12626 				r = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6), c);
12627 			}
12628 			goto LA181_;
12629 			LA190_: ;
12630 			{
12631 				if (!((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA193_;
12632 			}
12633 			goto LA181_;
12634 			LA193_: ;
12635 			{
12636 				{
12637 					NIM_BOOL T198_;
12638 					tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted_2;
12639 					T198_ = (NIM_BOOL)0;
12640 					T198_ = ((*r).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
12641 					if (T198_) goto LA199_;
12642 					T198_ = !((((*(*r).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0));
12643 					LA199_: ;
12644 					if (!T198_) goto LA200_;
12645 					lifted_2 = liftParamType__sem_4789(c, kind, genericParams, r, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102), (*(*n)._kind_6.sons->data[((NI) 0)]).info, NIM_FALSE);
12646 					{
12647 						if (!!((lifted_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA204_;
12648 						r = lifted_2;
12649 						(*r).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11)) & 63);
12650 					}
12651 					LA204_: ;
12652 				}
12653 				LA200_: ;
12654 				r = skipIntLit__magicsys_124(r, (*c).Sup.idgen);
12655 				{
12656 					if (!(kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA208_;
12657 					(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
12658 				}
12659 				LA208_: ;
12660 			}
12661 			LA181_: ;
12662 			asgnRef((void**) (&(*result).sons->data[((NI) 0)]), r);
12663 			oldFlags = (*result).flags;
12664 			propagateToOwner__ast_4219(result, r, NIM_TRUE);
12665 			{
12666 				if (!!((oldFlags == (*result).flags))) goto LA212_;
12667 				{
12668 					if (!!(((oldFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21))&63U)))!=0))) goto LA216_;
12669 					(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21)) & 63));
12670 				}
12671 				LA216_: ;
12672 			}
12673 			LA212_: ;
12674 			asgnRef((void**) (&(*(*result).n).typ), r);
12675 		}
12676 		LA179_: ;
12677 	}
12678 	LA174_: ;
12679 	{
12680 		NIM_BOOL T220_;
12681 		T220_ = (NIM_BOOL)0;
12682 		T220_ = isGenericParams__ast_4616(genericParams);
12683 		if (!T220_) goto LA221_;
12684 		{
12685 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
12686 			n_2 = NIM_NIL;
12687 			{
12688 				NI i_4;
12689 				NI colontmp__3;
12690 				NI i_5;
12691 				i_4 = (NI)0;
12692 				colontmp__3 = (NI)0;
12693 				colontmp__3 = safeLen__ast_3191(genericParams);
12694 				i_5 = ((NI) 0);
12695 				{
12696 					while (1) {
12697 						if (!(i_5 < colontmp__3)) goto LA226;
12698 						i_4 = i_5;
12699 						n_2 = (*genericParams)._kind_6.sons->data[i_4];
12700 						{
12701 							if (!((IL64(17179869185) & (*(*n_2)._kind_4.sym).flags) == 0)) goto LA229_;
12702 							(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
12703 						}
12704 						LA229_: ;
12705 						{
12706 							if (!(((*(*(*n_2)._kind_4.sym).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA233_;
12707 							transitionGenericParamToType__ast_4390((*n_2)._kind_4.sym);
12708 							(*(*(*n_2)._kind_4.sym).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
12709 						}
12710 						LA233_: ;
12711 						i_5 += ((NI) 1);
12712 					} LA226: ;
12713 				}
12714 			}
12715 		}
12716 	}
12717 	LA221_: ;
12718 	return result;
12719 }
N_NIMCALL(void,semParamList__sem_91)12720 N_LIB_PRIVATE N_NIMCALL(void, semParamList__sem_91)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
12721 	asgnRef((void**) (&(*s).typ), semProcTypeNode__sem_5067(c, n, genericParams, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*s).kind, NIM_FALSE));
12722 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newParam__sem_7841)12723 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newParam__sem_7841)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
12724 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12725 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
12726 	result = NIM_NIL;
12727 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
12728 	x = (*(*(*(*(*c).owner).typ).n)._kind_6.sons->data[(NI)((*s).position + ((NI) 1))])._kind_4.sym;
12729 	result = newSymNode__ast_3719(x, (*n).info);
12730 	return result;
12731 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleSym__sem_7855)12732 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleSym__sem_7855)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
12733 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12734 	result = NIM_NIL;
12735 	result = n;
12736 	{
12737 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
12738 		{
12739 			NIM_BOOL T7_;
12740 			T7_ = (NIM_BOOL)0;
12741 			T7_ = ((*s).owner == (*c).owner);
12742 			if (!(T7_)) goto LA8_;
12743 			T7_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
12744 			LA8_: ;
12745 			if (!T7_) goto LA9_;
12746 			result = newParam__sem_7841(c, n, s);
12747 		}
12748 		goto LA5_;
12749 		LA9_: ;
12750 		{
12751 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1907_;
12752 			NIM_BOOL T12_;
12753 			xX60gensym1907_ = s;
12754 			T12_ = (NIM_BOOL)0;
12755 			T12_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1907_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1907_).Sup.itemId.item))));
12756 			if (!T12_) goto LA13_;
12757 			result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
12758 		}
12759 		goto LA5_;
12760 		LA13_: ;
12761 		{
12762 			NIM_BOOL T16_;
12763 			NIM_BOOL T18_;
12764 			NI T19_;
12765 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
12766 			T16_ = (NIM_BOOL)0;
12767 			T16_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18));
12768 			if (!(T16_)) goto LA17_;
12769 			T18_ = (NIM_BOOL)0;
12770 			T19_ = (NI)0;
12771 			T19_ = len__ast_4002((*s).typ);
12772 			T18_ = (T19_ == ((NI) 1));
12773 			if (T18_) goto LA20_;
12774 			T18_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0);
12775 			LA20_: ;
12776 			T16_ = T18_;
12777 			LA17_: ;
12778 			if (!T16_) goto LA21_;
12779 			T23_ = NIM_NIL;
12780 			T23_ = semTemplateExpr__sem_519((*c).c, n, s, 8192);
12781 			result = semPatternBody__sem_7835(c, T23_);
12782 		}
12783 		goto LA5_;
12784 		LA21_: ;
12785 		{
12786 		}
12787 		LA5_: ;
12788 	}
12789 	LA3_: ;
12790 	return result;
12791 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,expectParam__sem_7897)12792 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, expectParam__sem_7897)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12793 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12794 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
12795 	result = NIM_NIL;
12796 	s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
12797 	{
12798 		NIM_BOOL T3_;
12799 		NIM_BOOL T4_;
12800 		T3_ = (NIM_BOOL)0;
12801 		T4_ = (NIM_BOOL)0;
12802 		T4_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
12803 		if (!(T4_)) goto LA5_;
12804 		T4_ = ((*s).owner == (*c).owner);
12805 		LA5_: ;
12806 		T3_ = T4_;
12807 		if (!(T3_)) goto LA6_;
12808 		T3_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
12809 		LA6_: ;
12810 		if (!T3_) goto LA7_;
12811 		result = newParam__sem_7841(c, n, s);
12812 	}
12813 	goto LA1_;
12814 	LA7_: ;
12815 	{
12816 		liMessage__msgs_1118((*(*(*c).c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_157), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_160, NIM_FALSE);
12817 		result = n;
12818 	}
12819 	LA1_: ;
12820 	return result;
12821 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPatternBody__sem_7835)12822 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPatternBody__sem_7835)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12823 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12824 {	result = NIM_NIL;
12825 	result = n;
12826 	switch ((*n).kind) {
12827 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
12828 	{
12829 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
12830 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
12831 		result = handleSym__sem_7855(c, n, s);
12832 	}
12833 	break;
12834 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
12835 	{
12836 		result = semBindStmt__sem_6647((*c).c, n, (&(*c).toBind));
12837 	}
12838 	break;
12839 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
12840 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
12841 	{
12842 	}
12843 	break;
12844 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
12845 	{
12846 		{
12847 			NI T7_;
12848 			T7_ = (NI)0;
12849 			T7_ = len__ast_3198(n);
12850 			if (!!((T7_ == ((NI) 2)))) goto LA8_;
12851 			liMessage__msgs_1118((*(*(*c).c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_157), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_158, NIM_FALSE);
12852 		}
12853 		goto LA5_;
12854 		LA8_: ;
12855 		{
12856 			if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA11_;
12857 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 0)]));
12858 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), expectParam__sem_7897(c, (*n)._kind_6.sons->data[((NI) 1)]));
12859 		}
12860 		goto LA5_;
12861 		LA11_: ;
12862 		{
12863 			NIM_BOOL T14_;
12864 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opr;
12865 			T14_ = (NIM_BOOL)0;
12866 			T14_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30));
12867 			if (!(T14_)) goto LA15_;
12868 			T14_ = ((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
12869 			LA15_: ;
12870 			if (!T14_) goto LA16_;
12871 			opr = (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
12872 			{
12873 				if (!eqStrings((*(*opr)._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44))) goto LA20_;
12874 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 0)]));
12875 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)]), expectParam__sem_7897(c, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)]));
12876 			}
12877 			goto LA18_;
12878 			LA20_: ;
12879 			{
12880 				liMessage__msgs_1118((*(*(*c).c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_157), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_161, NIM_FALSE);
12881 			}
12882 			LA18_: ;
12883 		}
12884 		goto LA5_;
12885 		LA16_: ;
12886 		{
12887 			liMessage__msgs_1118((*(*(*c).c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_157), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_162, NIM_FALSE);
12888 		}
12889 		LA5_: ;
12890 	}
12891 	break;
12892 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
12893 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
12894 	{
12895 		{
12896 			NIM_BOOL T27_;
12897 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
12898 			T27_ = (NIM_BOOL)0;
12899 			T27_ = stupidStmtListExpr__trees_404(n);
12900 			if (!T27_) goto LA28_;
12901 			T30_ = NIM_NIL;
12902 			T30_ = lastSon__ast_4832(n);
12903 			result = semPatternBody__sem_7835(c, T30_);
12904 		}
12905 		goto LA25_;
12906 		LA28_: ;
12907 		{
12908 			{
12909 				NI i;
12910 				NI colontmp_;
12911 				NI i_2;
12912 				i = (NI)0;
12913 				colontmp_ = (NI)0;
12914 				colontmp_ = len__ast_3198(n);
12915 				i_2 = ((NI) 0);
12916 				{
12917 					while (1) {
12918 						if (!(i_2 < colontmp_)) goto LA34;
12919 						i = i_2;
12920 						asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[i]));
12921 						i_2 += ((NI) 1);
12922 					} LA34: ;
12923 				}
12924 			}
12925 		}
12926 		LA25_: ;
12927 	}
12928 	break;
12929 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
12930 	{
12931 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
12932 		s_2 = qualifiedLookUp__lookups_1233((*c).c, (*n)._kind_6.sons->data[((NI) 0)], 0);
12933 		{
12934 			if (!!((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA38_;
12935 			{
12936 				NIM_BOOL T42_;
12937 				T42_ = (NIM_BOOL)0;
12938 				T42_ = ((*s_2).owner == (*c).owner);
12939 				if (!(T42_)) goto LA43_;
12940 				T42_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
12941 				LA43_: ;
12942 				if (!T42_) goto LA44_;
12943 			}
12944 			goto LA40_;
12945 			LA44_: ;
12946 			{
12947 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1944_;
12948 				NIM_BOOL T47_;
12949 				xX60gensym1944_ = s_2;
12950 				T47_ = (NIM_BOOL)0;
12951 				T47_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1944_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1944_).Sup.itemId.item))));
12952 				if (!T47_) goto LA48_;
12953 			}
12954 			goto LA40_;
12955 			LA48_: ;
12956 			{
12957 				NIM_BOOL T51_;
12958 				NIM_BOOL T53_;
12959 				NI T54_;
12960 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
12961 				T51_ = (NIM_BOOL)0;
12962 				T51_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18));
12963 				if (!(T51_)) goto LA52_;
12964 				T53_ = (NIM_BOOL)0;
12965 				T54_ = (NI)0;
12966 				T54_ = len__ast_4002((*s_2).typ);
12967 				T53_ = (T54_ == ((NI) 1));
12968 				if (T53_) goto LA55_;
12969 				T53_ = (((*s_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0);
12970 				LA55_: ;
12971 				T51_ = T53_;
12972 				LA52_: ;
12973 				if (!T51_) goto LA56_;
12974 				T58_ = NIM_NIL;
12975 				T58_ = semTemplateExpr__sem_519((*c).c, n, s_2, 8192);
12976 				result = semPatternBody__sem_7835(c, T58_);
12977 				goto BeforeRet_;
12978 			}
12979 			goto LA40_;
12980 			LA56_: ;
12981 			LA40_: ;
12982 		}
12983 		LA38_: ;
12984 		{
12985 			NIM_BOOL T61_;
12986 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
12987 			NIM_BOOL T63_;
12988 			T61_ = (NIM_BOOL)0;
12989 			T61_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
12990 			if (!(T61_)) goto LA62_;
12991 			id = considerQuotedIdent__lookups_28((*c).c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12992 			T63_ = (NIM_BOOL)0;
12993 			T63_ = eqeq___idents_220(id, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
12994 			T61_ = !(T63_);
12995 			LA62_: ;
12996 			if (!T61_) goto LA64_;
12997 			{
12998 				NIM_BOOL T68_;
12999 				NI T72_;
13000 				T68_ = (NIM_BOOL)0;
13001 				T68_ = eqStrings((*id).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_163));
13002 				if (T68_) goto LA69_;
13003 				T68_ = eqStrings((*id).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_164));
13004 				LA69_: ;
13005 				if (!T68_) goto LA70_;
13006 				T72_ = (NI)0;
13007 				T72_ = len__ast_3198(n);
13008 				result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n).info, T72_);
13009 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(id, (*n).info));
13010 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 1)]));
13011 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), expectParam__sem_7897(c, (*n)._kind_6.sons->data[((NI) 2)]));
13012 				goto BeforeRet_;
13013 			}
13014 			goto LA66_;
13015 			LA70_: ;
13016 			{
13017 				NI T76_;
13018 				if (!eqStrings((*id).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44))) goto LA74_;
13019 				T76_ = (NI)0;
13020 				T76_ = len__ast_3198(n);
13021 				result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n).info, T76_);
13022 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(id, (*n).info));
13023 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 1)]));
13024 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 2)]));
13025 				goto BeforeRet_;
13026 			}
13027 			goto LA66_;
13028 			LA74_: ;
13029 			LA66_: ;
13030 		}
13031 		LA64_: ;
13032 		{
13033 			NIM_BOOL T79_;
13034 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id_2;
13035 			NIM_BOOL T81_;
13036 			T79_ = (NIM_BOOL)0;
13037 			T79_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30));
13038 			if (!(T79_)) goto LA80_;
13039 			id_2 = considerQuotedIdent__lookups_28((*c).c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
13040 			T81_ = (NIM_BOOL)0;
13041 			T81_ = eqeq___idents_220(id_2, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
13042 			T79_ = !(T81_);
13043 			LA80_: ;
13044 			if (!T79_) goto LA82_;
13045 			{
13046 				NI T88_;
13047 				if (!eqStrings((*id_2).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_165))) goto LA86_;
13048 				T88_ = (NI)0;
13049 				T88_ = len__ast_3198(n);
13050 				result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n).info, T88_);
13051 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(id_2, (*n).info));
13052 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 1)]));
13053 				goto BeforeRet_;
13054 			}
13055 			LA86_: ;
13056 		}
13057 		LA82_: ;
13058 		{
13059 			NI i_3;
13060 			NI colontmp__2;
13061 			NI i_4;
13062 			i_3 = (NI)0;
13063 			colontmp__2 = (NI)0;
13064 			colontmp__2 = len__ast_3198(n);
13065 			i_4 = ((NI) 0);
13066 			{
13067 				while (1) {
13068 					if (!(i_4 < colontmp__2)) goto LA91;
13069 					i_3 = i_4;
13070 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[i_3]));
13071 					i_4 += ((NI) 1);
13072 				} LA91: ;
13073 			}
13074 		}
13075 	}
13076 	break;
13077 	default:
13078 	{
13079 		switch ((*n).kind) {
13080 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
13081 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
13082 		{
13083 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_3;
13084 			s_3 = qualifiedLookUp__lookups_1233((*c).c, n, 0);
13085 			{
13086 				if (!!((s_3 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA96_;
13087 				{
13088 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1967_;
13089 					NIM_BOOL T100_;
13090 					xX60gensym1967_ = s_3;
13091 					T100_ = (NIM_BOOL)0;
13092 					T100_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1967_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1967_).Sup.itemId.item))));
13093 					if (!T100_) goto LA101_;
13094 					result = symChoice__sem_6586((*c).c, n, s_3, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
13095 					goto BeforeRet_;
13096 				}
13097 				goto LA98_;
13098 				LA101_: ;
13099 				{
13100 					result = newIdentNode__ast_3712((*s_3).name, (*n).info);
13101 					goto BeforeRet_;
13102 				}
13103 				LA98_: ;
13104 			}
13105 			LA96_: ;
13106 		}
13107 		break;
13108 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
13109 		{
13110 			{
13111 				NI T107_;
13112 				T107_ = (NI)0;
13113 				T107_ = len__ast_3198(n);
13114 				if (!(T107_ == ((NI) 1))) goto LA108_;
13115 				result = semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 0)]);
13116 				goto BeforeRet_;
13117 			}
13118 			LA108_: ;
13119 		}
13120 		break;
13121 		default:
13122 		{
13123 		}
13124 		break;
13125 		}
13126 		{
13127 			NI i_5;
13128 			NI colontmp__3;
13129 			NI i_6;
13130 			i_5 = (NI)0;
13131 			colontmp__3 = (NI)0;
13132 			colontmp__3 = len__ast_3198(n);
13133 			i_6 = ((NI) 0);
13134 			{
13135 				while (1) {
13136 					if (!(i_6 < colontmp__3)) goto LA113;
13137 					i_5 = i_6;
13138 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_5]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[i_5]));
13139 					i_6 += ((NI) 1);
13140 				} LA113: ;
13141 			}
13142 		}
13143 	}
13144 	break;
13145 	}
13146 	}BeforeRet_: ;
13147 	return result;
13148 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPattern__sem_7129)13149 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPattern__sem_7129)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
13150 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
13151 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
13152 	tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw ctx;
13153 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
13154 	tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T16_;
13155 	result = NIM_NIL;
13156 	T1_ = NIM_NIL;
13157 	T1_ = openScope__lookups_69(c);
13158 	nimZeroMem((void*)(&ctx), sizeof(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw));
13159 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
13160 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
13161 	initIntSet__pureZcollectionsZintsets_238((&ctx.toInject));
13162 	ctx.c = c;
13163 	ctx.owner = getCurrOwner__semdata_315(c);
13164 	T2_ = NIM_NIL;
13165 	T2_ = semPatternBody__sem_7835((&ctx), n);
13166 	result = flattenStmts__trees_355(T2_);
13167 	{
13168 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA5_;
13169 		{
13170 			NI T9_;
13171 			T9_ = (NI)0;
13172 			T9_ = len__ast_3198(result);
13173 			if (!(T9_ == ((NI) 1))) goto LA10_;
13174 			result = (*result)._kind_6.sons->data[((NI) 0)];
13175 		}
13176 		goto LA7_;
13177 		LA10_: ;
13178 		{
13179 			NI T13_;
13180 			T13_ = (NI)0;
13181 			T13_ = len__ast_3198(result);
13182 			if (!(T13_ == ((NI) 0))) goto LA14_;
13183 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_166), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_167, NIM_FALSE);
13184 		}
13185 		goto LA7_;
13186 		LA14_: ;
13187 		LA7_: ;
13188 	}
13189 	LA5_: ;
13190 	closeScope__lookups_101(c);
13191 	nimZeroMem((void*)(&T16_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
13192 	nimZeroMem((void*)(&T16_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
13193 	T16_.sym = s;
13194 	addPattern__semdata_692(c, T16_);
13195 	return result;
13196 }
N_NIMCALL(void,addGenericParamListToScope__sem_11585)13197 N_LIB_PRIVATE N_NIMCALL(void, addGenericParamListToScope__sem_11585)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13198 	{
13199 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA3_;
13200 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
13201 	}
13202 	LA3_: ;
13203 	{
13204 		NI i;
13205 		NI colontmp_;
13206 		NI i_2;
13207 		i = (NI)0;
13208 		colontmp_ = (NI)0;
13209 		colontmp_ = len__ast_3198(n);
13210 		i_2 = ((NI) 0);
13211 		{
13212 			while (1) {
13213 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
13214 				if (!(i_2 < colontmp_)) goto LA7;
13215 				i = i_2;
13216 				a = (*n)._kind_6.sons->data[i];
13217 				{
13218 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA10_;
13219 					addDecl__lookups_845(c, (*a)._kind_4.sym);
13220 				}
13221 				goto LA8_;
13222 				LA10_: ;
13223 				{
13224 					illFormedAst__semdata_1071(a, (*(*c).graph).config);
13225 				}
13226 				LA8_: ;
13227 				i_2 += ((NI) 1);
13228 			} LA7: ;
13229 		}
13230 	}
13231 }
N_NIMCALL(void,addParams__sem_96)13232 N_LIB_PRIVATE N_NIMCALL(void, addParams__sem_96)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
13233 	{
13234 		NI i;
13235 		NI colontmp_;
13236 		NI i_2;
13237 		i = (NI)0;
13238 		colontmp_ = (NI)0;
13239 		colontmp_ = len__ast_3198(n);
13240 		i_2 = ((NI) 1);
13241 		{
13242 			while (1) {
13243 				if (!(i_2 < colontmp_)) goto LA3;
13244 				i = i_2;
13245 				{
13246 					if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA6_;
13247 					addParamOrResult__sem_1024(c, (*(*n)._kind_6.sons->data[i])._kind_4.sym, kind);
13248 				}
13249 				goto LA4_;
13250 				LA6_: ;
13251 				{
13252 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
13253 				}
13254 				LA4_: ;
13255 				i_2 += ((NI) 1);
13256 			} LA3: ;
13257 		}
13258 	}
13259 }
N_INLINE(NIM_BOOL,importantComments__options_3985)13260 static N_INLINE(NIM_BOOL, importantComments__options_3985)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
13261 	NIM_BOOL result;
13262 	result = (NIM_BOOL)0;
13263 	result = ((3991552 &((NU32)1<<((NU)((*conf).cmd)&31U)))!=0);
13264 	return result;
13265 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,canonType__sem_12663)13266 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, canonType__sem_12663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
13267 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
13268 	result = NIM_NIL;
13269 	{
13270 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA3_;
13271 		result = (*(*c).graph).sysTypes[(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))- 0];
13272 	}
13273 	goto LA1_;
13274 	LA3_: ;
13275 	{
13276 		result = t;
13277 	}
13278 	LA1_: ;
13279 	return result;
13280 }
N_NIMCALL(void,prevDestructor__sem_12671)13281 N_LIB_PRIVATE N_NIMCALL(void, prevDestructor__sem_12671)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prevOp, tyObject_TType__facALICuu8zUj0hjvbTLFg* obj, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
13282 	NimStringDesc* msg;
13283 	NimStringDesc* T1_;
13284 	NimStringDesc* T2_;
13285 	T1_ = NIM_NIL;
13286 	T2_ = NIM_NIL;
13287 	T2_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13288 	T1_ = rawNewString(((*(*prevOp).name).s ? (*(*prevOp).name).s->Sup.len : 0) + (T2_ ? T2_->Sup.len : 0) + 27);
13289 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_183));
13290 appendString(T1_, (*(*prevOp).name).s);
13291 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_184));
13292 appendString(T1_, T2_);
13293 	msg = T1_;
13294 	{
13295 		NimStringDesc* T7_;
13296 		NimStringDesc* T8_;
13297 		if (!!((((*prevOp).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0))) goto LA5_;
13298 		T7_ = NIM_NIL;
13299 		T8_ = NIM_NIL;
13300 		T8_ = dollar___msgs_624((*(*c).graph).config, (*prevOp).info);
13301 		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + 56);
13302 appendString(T7_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_185));
13303 appendString(T7_, T8_);
13304 		msg = resizeString(msg, (T7_ ? T7_->Sup.len : 0) + 0);
13305 appendString(msg, T7_);
13306 	}
13307 	goto LA3_;
13308 	LA5_: ;
13309 	{
13310 		NimStringDesc* T10_;
13311 		NimStringDesc* T11_;
13312 		T10_ = NIM_NIL;
13313 		T11_ = NIM_NIL;
13314 		T11_ = dollar___msgs_624((*(*c).graph).config, (*prevOp).info);
13315 		T10_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 33);
13316 appendString(T10_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_186));
13317 appendString(T10_, T11_);
13318 		msg = resizeString(msg, (T10_ ? T10_->Sup.len : 0) + 0);
13319 appendString(msg, T10_);
13320 	}
13321 	LA3_: ;
13322 	liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_187, NIM_FALSE);
13323 }
N_NIMCALL(void,bindTypeHook__sem_12701)13324 N_LIB_PRIVATE N_NIMCALL(void, bindTypeHook__sem_12701)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op) {
13325 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
13326 	NIM_BOOL noError;
13327 	NIM_BOOL cond;
13328 	t = (*s).typ;
13329 	noError = NIM_FALSE;
13330 	{
13331 		NIM_BOOL T5_;
13332 		NIM_BOOL T6_;
13333 		NI T7_;
13334 		if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0))) goto LA3_;
13335 		T5_ = (NIM_BOOL)0;
13336 		T6_ = (NIM_BOOL)0;
13337 		T7_ = (NI)0;
13338 		T7_ = len__ast_4002(t);
13339 		T6_ = (T7_ == ((NI) 2));
13340 		if (!(T6_)) goto LA8_;
13341 		T6_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13342 		LA8_: ;
13343 		T5_ = T6_;
13344 		if (!(T5_)) goto LA9_;
13345 		T5_ = ((*(*t).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
13346 		LA9_: ;
13347 		cond = T5_;
13348 	}
13349 	goto LA1_;
13350 	LA3_: ;
13351 	{
13352 		NIM_BOOL T13_;
13353 		NIM_BOOL T14_;
13354 		NIM_BOOL T15_;
13355 		NI T16_;
13356 		if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA11_;
13357 		T13_ = (NIM_BOOL)0;
13358 		T14_ = (NIM_BOOL)0;
13359 		T15_ = (NIM_BOOL)0;
13360 		T16_ = (NI)0;
13361 		T16_ = len__ast_4002(t);
13362 		T15_ = (T16_ == ((NI) 3));
13363 		if (!(T15_)) goto LA17_;
13364 		T15_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13365 		LA17_: ;
13366 		T14_ = T15_;
13367 		if (!(T14_)) goto LA18_;
13368 		T14_ = ((*(*t).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
13369 		LA18_: ;
13370 		T13_ = T14_;
13371 		if (!(T13_)) goto LA19_;
13372 		T13_ = ((*(*t).sons->data[((NI) 2)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
13373 		LA19_: ;
13374 		cond = T13_;
13375 	}
13376 	goto LA1_;
13377 	LA11_: ;
13378 	{
13379 		NIM_BOOL T21_;
13380 		NI T22_;
13381 		T21_ = (NIM_BOOL)0;
13382 		T22_ = (NI)0;
13383 		T22_ = len__ast_4002(t);
13384 		T21_ = (((NI) 2) <= T22_);
13385 		if (!(T21_)) goto LA23_;
13386 		T21_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13387 		LA23_: ;
13388 		cond = T21_;
13389 	}
13390 	LA1_: ;
13391 	{
13392 		tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
13393 		if (!cond) goto LA26_;
13394 		obj = skipTypes__ast_3735((*t).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_182);
13395 		{
13396 			while (1) {
13397 				(*obj).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
13398 				{
13399 					if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA32_;
13400 					obj = lastSon__ast_3743(obj);
13401 				}
13402 				goto LA30_;
13403 				LA32_: ;
13404 				{
13405 					if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA35_;
13406 					obj = (*obj).sons->data[((NI) 0)];
13407 				}
13408 				goto LA30_;
13409 				LA35_: ;
13410 				{
13411 					goto LA28;
13412 				}
13413 				LA30_: ;
13414 			}
13415 		} LA28: ;
13416 		{
13417 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ao;
13418 			if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13) || (*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA40_;
13419 			obj = canonType__sem_12663(c, obj);
13420 			ao = getAttachedOp__modulegraphs_4011((*c).graph, obj, op);
13421 			{
13422 				if (!(ao == s)) goto LA44_;
13423 			}
13424 			goto LA42_;
13425 			LA44_: ;
13426 			{
13427 				NIM_BOOL T47_;
13428 				T47_ = (NIM_BOOL)0;
13429 				T47_ = (ao == 0);
13430 				if (!(T47_)) goto LA48_;
13431 				T47_ = !((((*obj).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38))&63U)))!=0));
13432 				LA48_: ;
13433 				if (!T47_) goto LA49_;
13434 				setAttachedOp__modulegraphs_4407((*c).graph, (*(*c).module).position, obj, op, s);
13435 			}
13436 			goto LA42_;
13437 			LA49_: ;
13438 			{
13439 				prevDestructor__sem_12671(c, ao, obj, (*n).info);
13440 			}
13441 			LA42_: ;
13442 			noError = NIM_TRUE;
13443 			{
13444 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T54_;
13445 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T55_;
13446 				NimStringDesc* T58_;
13447 				NimStringDesc* T59_;
13448 				T54_ = NIM_NIL;
13449 				T54_ = getModule__astalgo_216((*obj).owner);
13450 				T55_ = NIM_NIL;
13451 				T55_ = getModule__astalgo_216(s);
13452 				if (!!((T54_ == T55_))) goto LA56_;
13453 				T58_ = NIM_NIL;
13454 				T59_ = NIM_NIL;
13455 				T59_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13456 				T58_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + (T59_ ? T59_->Sup.len : 0) + 79);
13457 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_188));
13458 appendString(T58_, (*(*s).name).s);
13459 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_189));
13460 appendString(T58_, T59_);
13461 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
13462 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T58_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_190, NIM_FALSE);
13463 			}
13464 			LA56_: ;
13465 		}
13466 		LA40_: ;
13467 	}
13468 	LA26_: ;
13469 	{
13470 		NIM_BOOL T62_;
13471 		T62_ = (NIM_BOOL)0;
13472 		T62_ = !(noError);
13473 		if (!(T62_)) goto LA63_;
13474 		T62_ = !((((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
13475 		LA63_: ;
13476 		if (!T62_) goto LA64_;
13477 		{
13478 			if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA68_;
13479 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_191), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_192, NIM_FALSE);
13480 		}
13481 		goto LA66_;
13482 		LA68_: ;
13483 		{
13484 			NimStringDesc* T71_;
13485 			T71_ = NIM_NIL;
13486 			T71_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 50);
13487 appendString(T71_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_193));
13488 appendString(T71_, (*(*s).name).s);
13489 appendString(T71_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_194));
13490 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T71_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_195, NIM_FALSE);
13491 		}
13492 		LA66_: ;
13493 	}
13494 	LA64_: ;
13495 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
13496 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35)) & 63);
13497 }
N_NIMCALL(void,semOverride__sem_12810)13498 N_LIB_PRIVATE N_NIMCALL(void, semOverride__sem_12810)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13499 	NimStringDesc* name;
13500 {	name = nsuNormalize((*(*s).name).s);
13501 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_175))) goto LA1_;
13502 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_176))) goto LA2_;
13503 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_177))) goto LA2_;
13504 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178))) goto LA3_;
13505 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_179))) goto LA3_;
13506 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_180))) goto LA3_;
13507 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_181))) goto LA4_;
13508 	goto LA5_;
13509 	LA1_: ;
13510 	{
13511 		bindTypeHook__sem_12701(c, s, n, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
13512 	}
13513 	goto LA6_;
13514 	LA2_: ;
13515 	{
13516 		{
13517 			NIM_BOOL T11_;
13518 			NIM_BOOL T12_;
13519 			NI T13_;
13520 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
13521 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
13522 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
13523 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
13524 			T11_ = (NIM_BOOL)0;
13525 			T12_ = (NIM_BOOL)0;
13526 			T13_ = (NI)0;
13527 			T13_ = len__ast_4002((*s).typ);
13528 			T12_ = (T13_ == ((NI) 2));
13529 			if (!(T12_)) goto LA14_;
13530 			T15_ = NIM_NIL;
13531 			T15_ = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
13532 			T12_ = ((*T15_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T15_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
13533 			LA14_: ;
13534 			T11_ = T12_;
13535 			if (!(T11_)) goto LA16_;
13536 			T11_ = sameType__types_1824((*(*s).typ).sons->data[((NI) 1)], (*(*s).typ).sons->data[((NI) 0)], 0);
13537 			LA16_: ;
13538 			if (!T11_) goto LA17_;
13539 			T19_ = NIM_NIL;
13540 			T19_ = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
13541 			T20_ = NIM_NIL;
13542 			T20_ = lastSon__ast_3743(T19_);
13543 			t = skipTypes__ast_3735(T20_, TM__rF9caJawfOjYTjsgLVUSGFA_70);
13544 			{
13545 				while (1) {
13546 					{
13547 						if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA25_;
13548 						t = lastSon__ast_3743(t);
13549 					}
13550 					goto LA23_;
13551 					LA25_: ;
13552 					{
13553 						if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA28_;
13554 						t = (*t).sons->data[((NI) 0)];
13555 					}
13556 					goto LA23_;
13557 					LA28_: ;
13558 					{
13559 						goto LA21;
13560 					}
13561 					LA23_: ;
13562 				}
13563 			} LA21: ;
13564 			{
13565 				if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA33_;
13566 				{
13567 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T37_;
13568 					T37_ = NIM_NIL;
13569 					T37_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4));
13570 					if (!(T37_ == 0)) goto LA38_;
13571 					setAttachedOp__modulegraphs_4407((*c).graph, (*(*c).module).position, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4), s);
13572 				}
13573 				goto LA35_;
13574 				LA38_: ;
13575 				{
13576 					NimStringDesc* T41_;
13577 					NimStringDesc* T42_;
13578 					T41_ = NIM_NIL;
13579 					T42_ = NIM_NIL;
13580 					T42_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13581 					T41_ = rawNewString((T42_ ? T42_->Sup.len : 0) + 35);
13582 appendString(T41_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_196));
13583 appendString(T41_, T42_);
13584 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T41_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_197, NIM_FALSE);
13585 				}
13586 				LA35_: ;
13587 			}
13588 			goto LA31_;
13589 			LA33_: ;
13590 			{
13591 				NimStringDesc* T44_;
13592 				NimStringDesc* T45_;
13593 				T44_ = NIM_NIL;
13594 				T45_ = NIM_NIL;
13595 				T45_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13596 				T44_ = rawNewString((T45_ ? T45_->Sup.len : 0) + 27);
13597 appendString(T44_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_198));
13598 appendString(T44_, T45_);
13599 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T44_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_199, NIM_FALSE);
13600 			}
13601 			LA31_: ;
13602 			{
13603 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T48_;
13604 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T49_;
13605 				NimStringDesc* T52_;
13606 				NimStringDesc* T53_;
13607 				T48_ = NIM_NIL;
13608 				T48_ = getModule__astalgo_216((*t).owner);
13609 				T49_ = NIM_NIL;
13610 				T49_ = getModule__astalgo_216(s);
13611 				if (!!((T48_ == T49_))) goto LA50_;
13612 				T52_ = NIM_NIL;
13613 				T53_ = NIM_NIL;
13614 				T53_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13615 				T52_ = rawNewString((name ? name->Sup.len : 0) + (T53_ ? T53_->Sup.len : 0) + 79);
13616 appendString(T52_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_188));
13617 appendString(T52_, name);
13618 appendString(T52_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_189));
13619 appendString(T52_, T53_);
13620 appendString(T52_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
13621 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T52_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_200, NIM_FALSE);
13622 			}
13623 			LA50_: ;
13624 		}
13625 		goto LA9_;
13626 		LA17_: ;
13627 		{
13628 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_201), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_202, NIM_FALSE);
13629 		}
13630 		LA9_: ;
13631 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
13632 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35)) & 63);
13633 	}
13634 	goto LA6_;
13635 	LA3_: ;
13636 	{
13637 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
13638 		{
13639 			if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 7))) goto LA58_;
13640 			goto BeforeRet_;
13641 		}
13642 		LA58_: ;
13643 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
13644 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35)) & 63);
13645 		t_2 = (*s).typ;
13646 		{
13647 			NIM_BOOL T62_;
13648 			NIM_BOOL T63_;
13649 			NI T64_;
13650 			tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
13651 			tyObject_TType__facALICuu8zUj0hjvbTLFg* objB;
13652 			T62_ = (NIM_BOOL)0;
13653 			T63_ = (NIM_BOOL)0;
13654 			T64_ = (NI)0;
13655 			T64_ = len__ast_4002(t_2);
13656 			T63_ = (T64_ == ((NI) 3));
13657 			if (!(T63_)) goto LA65_;
13658 			T63_ = ((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13659 			LA65_: ;
13660 			T62_ = T63_;
13661 			if (!(T62_)) goto LA66_;
13662 			T62_ = ((*(*t_2).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
13663 			LA66_: ;
13664 			if (!T62_) goto LA67_;
13665 			obj = (*(*t_2).sons->data[((NI) 1)]).sons->data[((NI) 0)];
13666 			{
13667 				while (1) {
13668 					(*obj).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
13669 					{
13670 						if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA73_;
13671 						obj = lastSon__ast_3743(obj);
13672 					}
13673 					goto LA71_;
13674 					LA73_: ;
13675 					{
13676 						if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA76_;
13677 						obj = (*obj).sons->data[((NI) 0)];
13678 					}
13679 					goto LA71_;
13680 					LA76_: ;
13681 					{
13682 						goto LA69;
13683 					}
13684 					LA71_: ;
13685 				}
13686 			} LA69: ;
13687 			objB = (*t_2).sons->data[((NI) 2)];
13688 			{
13689 				while (1) {
13690 					{
13691 						if (!((*objB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA83_;
13692 						objB = lastSon__ast_3743(objB);
13693 					}
13694 					goto LA81_;
13695 					LA83_: ;
13696 					{
13697 						if (!((*objB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*objB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA86_;
13698 						objB = (*objB).sons->data[((NI) 0)];
13699 					}
13700 					goto LA81_;
13701 					LA86_: ;
13702 					{
13703 						goto LA79;
13704 					}
13705 					LA81_: ;
13706 				}
13707 			} LA79: ;
13708 			{
13709 				NIM_BOOL T91_;
13710 				tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg k;
13711 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ao;
13712 				T91_ = (NIM_BOOL)0;
13713 				T91_ = ((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13) || (*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
13714 				if (!(T91_)) goto LA92_;
13715 				T91_ = sameType__types_1824(obj, objB, 0);
13716 				LA92_: ;
13717 				if (!T91_) goto LA93_;
13718 				obj = canonType__sem_12663(c, obj);
13719 				{
13720 					NIM_BOOL T97_;
13721 					T97_ = (NIM_BOOL)0;
13722 					T97_ = eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178));
13723 					if (T97_) goto LA98_;
13724 					T97_ = eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_179));
13725 					LA98_: ;
13726 					if (!T97_) goto LA99_;
13727 					k = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1);
13728 				}
13729 				goto LA95_;
13730 				LA99_: ;
13731 				{
13732 					k = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2);
13733 				}
13734 				LA95_: ;
13735 				ao = getAttachedOp__modulegraphs_4011((*c).graph, obj, k);
13736 				{
13737 					if (!(ao == s)) goto LA104_;
13738 				}
13739 				goto LA102_;
13740 				LA104_: ;
13741 				{
13742 					NIM_BOOL T107_;
13743 					T107_ = (NIM_BOOL)0;
13744 					T107_ = (ao == 0);
13745 					if (!(T107_)) goto LA108_;
13746 					T107_ = !((((*obj).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38))&63U)))!=0));
13747 					LA108_: ;
13748 					if (!T107_) goto LA109_;
13749 					setAttachedOp__modulegraphs_4407((*c).graph, (*(*c).module).position, obj, k, s);
13750 				}
13751 				goto LA102_;
13752 				LA109_: ;
13753 				{
13754 					prevDestructor__sem_12671(c, ao, obj, (*n).info);
13755 				}
13756 				LA102_: ;
13757 				{
13758 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T114_;
13759 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T115_;
13760 					NimStringDesc* T118_;
13761 					NimStringDesc* T119_;
13762 					T114_ = NIM_NIL;
13763 					T114_ = getModule__astalgo_216((*obj).owner);
13764 					T115_ = NIM_NIL;
13765 					T115_ = getModule__astalgo_216(s);
13766 					if (!!((T114_ == T115_))) goto LA116_;
13767 					T118_ = NIM_NIL;
13768 					T119_ = NIM_NIL;
13769 					T119_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13770 					T118_ = rawNewString((name ? name->Sup.len : 0) + (T119_ ? T119_->Sup.len : 0) + 79);
13771 appendString(T118_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_188));
13772 appendString(T118_, name);
13773 appendString(T118_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_189));
13774 appendString(T118_, T119_);
13775 appendString(T118_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
13776 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T118_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_203, NIM_FALSE);
13777 				}
13778 				LA116_: ;
13779 				goto BeforeRet_;
13780 			}
13781 			LA93_: ;
13782 		}
13783 		LA67_: ;
13784 		{
13785 			NimStringDesc* T124_;
13786 			if (!!((((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0))) goto LA122_;
13787 			T124_ = NIM_NIL;
13788 			T124_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 56);
13789 appendString(T124_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_193));
13790 appendString(T124_, (*(*s).name).s);
13791 appendString(T124_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_204));
13792 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T124_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_205, NIM_FALSE);
13793 		}
13794 		LA122_: ;
13795 	}
13796 	goto LA6_;
13797 	LA4_: ;
13798 	{
13799 		{
13800 			if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151)))) goto LA128_;
13801 			bindTypeHook__sem_12701(c, s, n, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3));
13802 		}
13803 		LA128_: ;
13804 	}
13805 	goto LA6_;
13806 	LA5_: ;
13807 	{
13808 		{
13809 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0)) goto LA133_;
13810 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_206), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_207, NIM_FALSE);
13811 		}
13812 		LA133_: ;
13813 	}
13814 	LA6_: ;
13815 	}BeforeRet_: ;
13816 }
N_INLINE(NI,find__stdZenumutils_48)13817 static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
13818 	NI result;
13819 {	result = (NI)0;
13820 	result = ((NI) 0);
13821 	{
13822 		NimStringDesc** i;
13823 		NI i_2;
13824 		i = (NimStringDesc**)0;
13825 		i_2 = ((NI) 0);
13826 		{
13827 			while (1) {
13828 				if (!(i_2 < aLen_0)) goto LA3;
13829 				i = (&a[i_2]);
13830 				{
13831 					if (!eqStrings((*i), item)) goto LA6_;
13832 					goto BeforeRet_;
13833 				}
13834 				LA6_: ;
13835 				result += ((NI) 1);
13836 				i_2 += ((NI) 1);
13837 			} LA3: ;
13838 		}
13839 	}
13840 	result = ((NI) -1);
13841 	}BeforeRet_: ;
13842 	return result;
13843 }
N_INLINE(NIM_BOOL,contains__stdZenumutils_43)13844 static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
13845 	NIM_BOOL result;
13846 	NI T1_;
13847 {	result = (NIM_BOOL)0;
13848 	T1_ = (NI)0;
13849 	T1_ = find__stdZenumutils_48(a, aLen_0, item);
13850 	result = (((NI) 0) <= T1_);
13851 	goto BeforeRet_;
13852 	}BeforeRet_: ;
13853 	return result;
13854 }
N_NIMCALL(NIM_BOOL,cursorInProcAux__sem_12953)13855 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProcAux__sem_12953)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13856 	NIM_BOOL result;
13857 {	result = (NIM_BOOL)0;
13858 	{
13859 		tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg T3_;
13860 		T3_ = (tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg)0;
13861 		T3_ = inCheckpoint__sigmatch_5312((*n).info, (*conf).m.trackPos);
13862 		if (!!((T3_ == ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 0)))) goto LA4_;
13863 		result = NIM_TRUE;
13864 		goto BeforeRet_;
13865 	}
13866 	LA4_: ;
13867 	{
13868 		NI i;
13869 		NI colontmp_;
13870 		NI i_2;
13871 		i = (NI)0;
13872 		colontmp_ = (NI)0;
13873 		colontmp_ = safeLen__ast_3191(n);
13874 		i_2 = ((NI) 0);
13875 		{
13876 			while (1) {
13877 				if (!(i_2 < colontmp_)) goto LA8;
13878 				i = i_2;
13879 				{
13880 					NIM_BOOL T11_;
13881 					T11_ = (NIM_BOOL)0;
13882 					T11_ = cursorInProcAux__sem_12953(conf, (*n)._kind_6.sons->data[i]);
13883 					if (!T11_) goto LA12_;
13884 					result = NIM_TRUE;
13885 					goto BeforeRet_;
13886 				}
13887 				LA12_: ;
13888 				i_2 += ((NI) 1);
13889 			} LA8: ;
13890 		}
13891 	}
13892 	}BeforeRet_: ;
13893 	return result;
13894 }
N_NIMCALL(NIM_BOOL,cursorInProc__sem_12968)13895 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProc__sem_12968)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13896 	NIM_BOOL result;
13897 	result = (NIM_BOOL)0;
13898 	{
13899 		if (!((*n).info.fileIndex == (*conf).m.trackPos.fileIndex)) goto LA3_;
13900 		result = cursorInProcAux__sem_12953(conf, n);
13901 	}
13902 	LA3_: ;
13903 	return result;
13904 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4646)13905 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4646)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
13906 	NIM_BOOL result;
13907 	NIM_BOOL T1_;
13908 	NIM_BOOL T3_;
13909 	result = (NIM_BOOL)0;
13910 	T1_ = (NIM_BOOL)0;
13911 	T1_ = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
13912 	if (!(T1_)) goto LA2_;
13913 	T3_ = (NIM_BOOL)0;
13914 	T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
13915 	if (T3_) goto LA4_;
13916 	T3_ = isGenericRoutine__ast_4627((*s).ast);
13917 	LA4_: ;
13918 	T1_ = T3_;
13919 	LA2_: ;
13920 	result = T1_;
13921 	return result;
13922 }
N_NIMCALL(NIM_BOOL,hasObjParam__sem_12972)13923 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasObjParam__sem_12972)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
13924 	NIM_BOOL result;
13925 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
13926 {	result = (NIM_BOOL)0;
13927 	t = (*s).typ;
13928 	{
13929 		NI col;
13930 		NI colontmp_;
13931 		NI i;
13932 		col = (NI)0;
13933 		colontmp_ = (NI)0;
13934 		colontmp_ = len__ast_4002(t);
13935 		i = ((NI) 1);
13936 		{
13937 			while (1) {
13938 				if (!(i < colontmp_)) goto LA3;
13939 				col = i;
13940 				{
13941 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
13942 					T6_ = NIM_NIL;
13943 					T6_ = skipTypes__ast_3735((*t).sons->data[col], TM__rF9caJawfOjYTjsgLVUSGFA_53);
13944 					if (!((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA7_;
13945 					result = NIM_TRUE;
13946 					goto BeforeRet_;
13947 				}
13948 				LA7_: ;
13949 				i += ((NI) 1);
13950 			} LA3: ;
13951 		}
13952 	}
13953 	}BeforeRet_: ;
13954 	return result;
13955 }
N_NIMCALL(void,semMethodPrototype__sem_12992)13956 N_LIB_PRIVATE N_NIMCALL(void, semMethodPrototype__sem_12992)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13957 	{
13958 		NIM_BOOL T3_;
13959 		tyObject_TType__facALICuu8zUj0hjvbTLFg* tt;
13960 		NIM_BOOL foundObj;
13961 		T3_ = (NIM_BOOL)0;
13962 		T3_ = isGenericRoutine__ast_4646(s);
13963 		if (!T3_) goto LA4_;
13964 		tt = (*s).typ;
13965 		foundObj = NIM_FALSE;
13966 		{
13967 			NI col;
13968 			NI colontmp_;
13969 			NI i;
13970 			col = (NI)0;
13971 			colontmp_ = (NI)0;
13972 			colontmp_ = len__ast_4002(tt);
13973 			i = ((NI) 1);
13974 			{
13975 				while (1) {
13976 					tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
13977 					if (!(i < colontmp_)) goto LA8;
13978 					col = i;
13979 					t = (*tt).sons->data[col];
13980 					{
13981 						NIM_BOOL T11_;
13982 						tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
13983 						T11_ = (NIM_BOOL)0;
13984 						T11_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
13985 						if (!(T11_)) goto LA12_;
13986 						T11_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9));
13987 						LA12_: ;
13988 						if (!T11_) goto LA13_;
13989 						x = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_220);
13990 						{
13991 							NIM_BOOL T17_;
13992 							NI T19_;
13993 							NI T20_;
13994 							T17_ = (NIM_BOOL)0;
13995 							T17_ = ((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
13996 							if (!(T17_)) goto LA18_;
13997 							T19_ = (NI)0;
13998 							T19_ = len__ast_4002(t);
13999 							T20_ = (NI)0;
14000 							T20_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 2)]);
14001 							T17_ = ((NI)(T19_ - ((NI) 1)) == T20_);
14002 							LA18_: ;
14003 							if (!T17_) goto LA21_;
14004 							foundObj = NIM_TRUE;
14005 							addMethodToGeneric__modulegraphs_7689((*c).graph, (*(*c).module).position, x, col, s);
14006 						}
14007 						LA21_: ;
14008 					}
14009 					LA13_: ;
14010 					i += ((NI) 1);
14011 				} LA8: ;
14012 			}
14013 		}
14014 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_221), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_222, NIM_FALSE);
14015 	}
14016 	goto LA1_;
14017 	LA4_: ;
14018 	{
14019 		{
14020 			NIM_BOOL T26_;
14021 			T26_ = (NIM_BOOL)0;
14022 			T26_ = hasObjParam__sem_12972(s);
14023 			if (!T26_) goto LA27_;
14024 			methodDef__cgmeth_263((*c).graph, (*c).Sup.idgen, s);
14025 		}
14026 		goto LA24_;
14027 		LA27_: ;
14028 		{
14029 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_223), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_224, NIM_FALSE);
14030 		}
14031 		LA24_: ;
14032 	}
14033 	LA1_: ;
14034 }
N_NIMCALL(void,pushProcCon__sem_898)14035 N_LIB_PRIVATE N_NIMCALL(void, pushProcCon__sem_898)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
14036 	rawPushProcCon__sem_849(c, owner);
14037 	rawHandleSelf__sem_865(c, owner);
14038 }
N_NIMCALL(void,activate__sem_108)14039 N_LIB_PRIVATE N_NIMCALL(void, activate__sem_108)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14040 }
N_INLINE(NIM_BOOL,isArrayConstr__sem_145)14041 static N_INLINE(NIM_BOOL, isArrayConstr__sem_145)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14042 	NIM_BOOL result;
14043 	NIM_BOOL T1_;
14044 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
14045 	result = (NIM_BOOL)0;
14046 	T1_ = (NIM_BOOL)0;
14047 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
14048 	if (!(T1_)) goto LA2_;
14049 	T3_ = NIM_NIL;
14050 	T3_ = skipTypes__ast_3735((*n).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
14051 	T1_ = ((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
14052 	LA2_: ;
14053 	result = T1_;
14054 	return result;
14055 }
N_NIMCALL(void,fixAbstractType__sem_14966)14056 N_LIB_PRIVATE N_NIMCALL(void, fixAbstractType__sem_14966)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14057 	{
14058 		NI i;
14059 		NI colontmp_;
14060 		NI i_2;
14061 		i = (NI)0;
14062 		colontmp_ = (NI)0;
14063 		colontmp_ = len__ast_3198(n);
14064 		i_2 = ((NI) 1);
14065 		{
14066 			while (1) {
14067 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
14068 				if (!(i_2 < colontmp_)) goto LA3;
14069 				i = i_2;
14070 				it = (*n)._kind_6.sons->data[i];
14071 				{
14072 					NIM_BOOL T6_;
14073 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
14074 					T6_ = (NIM_BOOL)0;
14075 					T6_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59));
14076 					if (!(T6_)) goto LA7_;
14077 					T8_ = NIM_NIL;
14078 					T8_ = skipTypes__ast_3735((*it).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
14079 					T6_ = !(((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)));
14080 					LA7_: ;
14081 					if (!T6_) goto LA9_;
14082 					{
14083 						NIM_BOOL T13_;
14084 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
14085 						tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
14086 						T13_ = (NIM_BOOL)0;
14087 						T14_ = NIM_NIL;
14088 						T14_ = skipTypes__ast_3735((*(*it)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
14089 						T13_ = ((*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19));
14090 						if (T13_) goto LA15_;
14091 						T13_ = isArrayConstr__sem_145((*it)._kind_6.sons->data[((NI) 1)]);
14092 						LA15_: ;
14093 						if (!T13_) goto LA16_;
14094 						s = skipTypes__ast_3735((*it).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
14095 						{
14096 							if (!!(((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA20_;
14097 							changeType__sem_75(c, (*it)._kind_6.sons->data[((NI) 1)], s, NIM_TRUE);
14098 						}
14099 						LA20_: ;
14100 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), (*it)._kind_6.sons->data[((NI) 1)]);
14101 					}
14102 					LA16_: ;
14103 				}
14104 				LA9_: ;
14105 				i_2 += ((NI) 1);
14106 			} LA3: ;
14107 		}
14108 	}
14109 }
N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag,isAssignable__sem_15001)14110 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__sem_15001)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr) {
14111 	tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag result;
14112 	result = (tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag)0;
14113 	result = isAssignable__parampatterns_334((*(*c).p).owner, n, isUnsafeAddr);
14114 	return result;
14115 }
N_NIMCALL(NimStringDesc *,renderNotLValue__sem_1612)14116 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderNotLValue__sem_1612)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14117 	NimStringDesc* result;
14118 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
14119 	result = NIM_NIL;
14120 	result = dollar___renderer_2106(n);
14121 	{
14122 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
14123 		n_2 = (*n)._kind_6.sons->data[((NI) 0)];
14124 	}
14125 	goto LA1_;
14126 	LA3_: ;
14127 	{
14128 		n_2 = n;
14129 	}
14130 	LA1_: ;
14131 	{
14132 		NIM_BOOL T8_;
14133 		NI T10_;
14134 		NimStringDesc* T13_;
14135 		NimStringDesc* T14_;
14136 		T8_ = (NIM_BOOL)0;
14137 		T8_ = ((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
14138 		if (!(T8_)) goto LA9_;
14139 		T10_ = (NI)0;
14140 		T10_ = len__ast_3198(n_2);
14141 		T8_ = (((NI) 1) < T10_);
14142 		LA9_: ;
14143 		if (!T8_) goto LA11_;
14144 		T13_ = NIM_NIL;
14145 		T14_ = NIM_NIL;
14146 		T14_ = dollar___renderer_2106((*n_2)._kind_6.sons->data[((NI) 0)]);
14147 		T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + (result ? result->Sup.len : 0) + 2);
14148 appendString(T13_, T14_);
14149 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
14150 appendString(T13_, result);
14151 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
14152 		result = T13_;
14153 	}
14154 	goto LA6_;
14155 	LA11_: ;
14156 	{
14157 		NIM_BOOL T16_;
14158 		NI T18_;
14159 		NimStringDesc* T21_;
14160 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
14161 		NimStringDesc* T23_;
14162 		T16_ = (NIM_BOOL)0;
14163 		T16_ = ((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59));
14164 		if (!(T16_)) goto LA17_;
14165 		T18_ = (NI)0;
14166 		T18_ = len__ast_3198(n_2);
14167 		T16_ = (T18_ == ((NI) 2));
14168 		LA17_: ;
14169 		if (!T16_) goto LA19_;
14170 		T21_ = NIM_NIL;
14171 		T22_ = NIM_NIL;
14172 		T22_ = skipTypes__ast_3735((*n_2).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
14173 		T23_ = NIM_NIL;
14174 		T23_ = typeToString__types_50(T22_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
14175 		T21_ = rawNewString((T23_ ? T23_->Sup.len : 0) + (result ? result->Sup.len : 0) + 2);
14176 appendString(T21_, T23_);
14177 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
14178 appendString(T21_, result);
14179 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
14180 		result = T21_;
14181 	}
14182 	goto LA6_;
14183 	LA19_: ;
14184 	LA6_: ;
14185 	return result;
14186 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newHiddenAddrTaken__sem_15054)14187 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newHiddenAddrTaken__sem_15054)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14188 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14189 	result = NIM_NIL;
14190 	{
14191 		NIM_BOOL T3_;
14192 		NIM_BOOL T5_;
14193 		T3_ = (NIM_BOOL)0;
14194 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
14195 		if (!(T3_)) goto LA4_;
14196 		T5_ = (NIM_BOOL)0;
14197 		T5_ = ((*(*(*c).graph).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
14198 		if (T5_) goto LA6_;
14199 		T5_ = (((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
14200 		LA6_: ;
14201 		T3_ = !(T5_);
14202 		LA4_: ;
14203 		if (!T3_) goto LA7_;
14204 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
14205 		result = (*n)._kind_6.sons->data[((NI) 0)];
14206 	}
14207 	goto LA1_;
14208 	LA7_: ;
14209 	{
14210 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
14211 		tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag aa;
14212 		T10_ = NIM_NIL;
14213 		T10_ = makeVarType__semdata_766(c, (*n).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
14214 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*n).info, T10_);
14215 		add__ast_4797(result, n);
14216 		aa = isAssignable__sem_15001(c, n, NIM_FALSE);
14217 		{
14218 			if (!!(((6 &((NU8)1<<((NU)(aa)&7U)))!=0))) goto LA13_;
14219 			{
14220 				NIM_BOOL T17_;
14221 				T17_ = (NIM_BOOL)0;
14222 				T17_ = (aa == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 3));
14223 				if (!(T17_)) goto LA18_;
14224 				T17_ = (((NI) 0) < (*c).inUncheckedAssignSection);
14225 				LA18_: ;
14226 				if (!T17_) goto LA19_;
14227 			}
14228 			goto LA15_;
14229 			LA19_: ;
14230 			{
14231 				NimStringDesc* T22_;
14232 				NimStringDesc* T23_;
14233 				T22_ = NIM_NIL;
14234 				T22_ = renderNotLValue__sem_1612(n);
14235 				T23_ = NIM_NIL;
14236 				T23_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_230), T22_);
14237 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_234, NIM_FALSE);
14238 			}
14239 			LA15_: ;
14240 		}
14241 		LA13_: ;
14242 	}
14243 	LA1_: ;
14244 	return result;
14245 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,analyseIfAddressTaken__sem_15084)14246 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, analyseIfAddressTaken__sem_15084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14247 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14248 {	result = NIM_NIL;
14249 	result = n;
14250 	switch ((*n).kind) {
14251 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
14252 	{
14253 		{
14254 			NIM_BOOL T4_;
14255 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
14256 			T4_ = (NIM_BOOL)0;
14257 			T4_ = !(((*(*n)._kind_4.sym).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14258 			if (!(T4_)) goto LA5_;
14259 			T6_ = NIM_NIL;
14260 			T6_ = skipTypes__ast_3735((*(*n)._kind_4.sym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
14261 			T4_ = !(((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)));
14262 			LA5_: ;
14263 			if (!T4_) goto LA7_;
14264 			(*(*n)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
14265 			result = newHiddenAddrTaken__sem_15054(c, n);
14266 		}
14267 		LA7_: ;
14268 	}
14269 	break;
14270 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
14271 	{
14272 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
14273 		{
14274 			if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
14275 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_235), TM__rF9caJawfOjYTjsgLVUSGFA_236);
14276 			goto BeforeRet_;
14277 		}
14278 		LA12_: ;
14279 		{
14280 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
14281 			T16_ = NIM_NIL;
14282 			T16_ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
14283 			if (!!(((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)))) goto LA17_;
14284 			(*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
14285 			result = newHiddenAddrTaken__sem_15054(c, n);
14286 		}
14287 		LA17_: ;
14288 	}
14289 	break;
14290 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
14291 	{
14292 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
14293 		{
14294 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
14295 			T22_ = NIM_NIL;
14296 			T22_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
14297 			if (!!(((*T22_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T22_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)))) goto LA23_;
14298 			{
14299 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA27_;
14300 				(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
14301 			}
14302 			LA27_: ;
14303 			result = newHiddenAddrTaken__sem_15054(c, n);
14304 		}
14305 		LA23_: ;
14306 	}
14307 	break;
14308 	default:
14309 	{
14310 		result = newHiddenAddrTaken__sem_15054(c, n);
14311 	}
14312 	break;
14313 	}
14314 	}BeforeRet_: ;
14315 	return result;
14316 }
N_NIMCALL(void,analyseIfAddressTakenInCall__sem_15142)14317 N_LIB_PRIVATE N_NIMCALL(void, analyseIfAddressTakenInCall__sem_15142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14318 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
14319 {	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
14320 	t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_137);
14321 	{
14322 		NIM_BOOL T3_;
14323 		T3_ = (NIM_BOOL)0;
14324 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
14325 		if (!(T3_)) goto LA4_;
14326 		T3_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_229[(NU)((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic)>>3] &(1U<<((NU)((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic)&7U)))!=0);
14327 		LA4_: ;
14328 		if (!T3_) goto LA5_;
14329 		{
14330 			NI i;
14331 			NI colontmp_;
14332 			NI i_2;
14333 			i = (NI)0;
14334 			colontmp_ = (NI)0;
14335 			colontmp_ = len__ast_3198(n);
14336 			i_2 = ((NI) 1);
14337 			{
14338 				while (1) {
14339 					if (!(i_2 < colontmp_)) goto LA9;
14340 					i = i_2;
14341 					{
14342 						NIM_BOOL T12_;
14343 						NIM_BOOL T13_;
14344 						NI T14_;
14345 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
14346 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
14347 						tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag aa;
14348 						T12_ = (NIM_BOOL)0;
14349 						T13_ = (NIM_BOOL)0;
14350 						T14_ = (NI)0;
14351 						T14_ = len__ast_4002(t);
14352 						T13_ = (i < T14_);
14353 						if (!(T13_)) goto LA15_;
14354 						T13_ = !(((*t).sons->data[i] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14355 						LA15_: ;
14356 						T12_ = T13_;
14357 						if (!(T12_)) goto LA16_;
14358 						T17_ = NIM_NIL;
14359 						T17_ = skipTypes__ast_3735((*t).sons->data[i], TM__rF9caJawfOjYTjsgLVUSGFA_5);
14360 						T12_ = ((*T17_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
14361 						LA16_: ;
14362 						if (!T12_) goto LA18_;
14363 						it = (*n)._kind_6.sons->data[i];
14364 						aa = isAssignable__sem_15001(c, it, NIM_FALSE);
14365 						{
14366 							if (!!(((6 &((NU8)1<<((NU)(aa)&7U)))!=0))) goto LA22_;
14367 							{
14368 								if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64)))) goto LA26_;
14369 								{
14370 									NIM_BOOL T30_;
14371 									T30_ = (NIM_BOOL)0;
14372 									T30_ = (aa == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 3));
14373 									if (!(T30_)) goto LA31_;
14374 									T30_ = (((NI) 0) < (*c).inUncheckedAssignSection);
14375 									LA31_: ;
14376 									if (!T30_) goto LA32_;
14377 								}
14378 								goto LA28_;
14379 								LA32_: ;
14380 								{
14381 									NimStringDesc* T35_;
14382 									NimStringDesc* T36_;
14383 									T35_ = NIM_NIL;
14384 									T35_ = dollar___renderer_2106(it);
14385 									T36_ = NIM_NIL;
14386 									T36_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_230), T35_);
14387 									liMessage__msgs_1118((*(*c).graph).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T36_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_231, NIM_FALSE);
14388 								}
14389 								LA28_: ;
14390 							}
14391 							LA26_: ;
14392 						}
14393 						LA22_: ;
14394 					}
14395 					LA18_: ;
14396 					i_2 += ((NI) 1);
14397 				} LA9: ;
14398 			}
14399 		}
14400 		{
14401 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
14402 			if (!((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34))) goto LA39_;
14403 			arg = (*n)._kind_6.sons->data[((NI) 1)];
14404 			{
14405 				if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA43_;
14406 				arg = (*arg)._kind_6.sons->data[((NI) 0)];
14407 			}
14408 			LA43_: ;
14409 			{
14410 				NIM_BOOL T47_;
14411 				NIM_BOOL T48_;
14412 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T51_;
14413 				NimStringDesc* T54_;
14414 				NimStringDesc* T55_;
14415 				T47_ = (NIM_BOOL)0;
14416 				T48_ = (NIM_BOOL)0;
14417 				T48_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
14418 				if (!(T48_)) goto LA49_;
14419 				T48_ = ((*(*arg)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
14420 				LA49_: ;
14421 				T47_ = T48_;
14422 				if (!(T47_)) goto LA50_;
14423 				T51_ = NIM_NIL;
14424 				T51_ = skipTypes__ast_3735((*arg).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
14425 				T47_ = ((*T51_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T51_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
14426 				LA50_: ;
14427 				if (!T47_) goto LA52_;
14428 				T54_ = NIM_NIL;
14429 				T54_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 1)], 4);
14430 				T55_ = NIM_NIL;
14431 				T55_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_232), T54_);
14432 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T55_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_233, NIM_FALSE);
14433 			}
14434 			LA52_: ;
14435 		}
14436 		LA39_: ;
14437 		goto BeforeRet_;
14438 	}
14439 	LA5_: ;
14440 	{
14441 		NI i_3;
14442 		NI colontmp__2;
14443 		NI i_4;
14444 		i_3 = (NI)0;
14445 		colontmp__2 = (NI)0;
14446 		colontmp__2 = len__ast_3198(n);
14447 		i_4 = ((NI) 1);
14448 		{
14449 			while (1) {
14450 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
14451 				if (!(i_4 < colontmp__2)) goto LA58;
14452 				i_3 = i_4;
14453 				{
14454 					if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA61_;
14455 					n_2 = (*n)._kind_6.sons->data[((NI) 0)];
14456 				}
14457 				goto LA59_;
14458 				LA61_: ;
14459 				{
14460 					n_2 = n;
14461 				}
14462 				LA59_: ;
14463 				{
14464 					if (!((*(*n_2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA66_;
14465 					analyseIfAddressTakenInCall__sem_15142(c, (*n_2)._kind_6.sons->data[i_3]);
14466 				}
14467 				LA66_: ;
14468 				{
14469 					NIM_BOOL T70_;
14470 					NI T71_;
14471 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
14472 					T70_ = (NIM_BOOL)0;
14473 					T71_ = (NI)0;
14474 					T71_ = len__ast_4002(t);
14475 					T70_ = (i_3 < T71_);
14476 					if (!(T70_)) goto LA72_;
14477 					T73_ = NIM_NIL;
14478 					T73_ = skipTypes__ast_3735((*t).sons->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_5);
14479 					T70_ = ((*T73_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
14480 					LA72_: ;
14481 					if (!T70_) goto LA74_;
14482 					{
14483 						if (!!(((*(*n_2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64)))) goto LA78_;
14484 						asgnRef((void**) (&(*n_2)._kind_6.sons->data[i_3]), analyseIfAddressTaken__sem_15084(c, (*n_2)._kind_6.sons->data[i_3]));
14485 					}
14486 					LA78_: ;
14487 				}
14488 				LA74_: ;
14489 				i_4 += ((NI) 1);
14490 			} LA58: ;
14491 		}
14492 	}
14493 	}BeforeRet_: ;
14494 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAddrArg__sem_15262)14495 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAddrArg__sem_15262)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr) {
14496 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14497 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
14498 	result = NIM_NIL;
14499 	x = semExprWithType__sem_56(c, n, 0);
14500 	{
14501 		if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
14502 		(*(*x)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
14503 	}
14504 	LA3_: ;
14505 	{
14506 		tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag T7_;
14507 		T7_ = (tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag)0;
14508 		T7_ = isAssignable__sem_15001(c, x, isUnsafeAddr);
14509 		if (!!(((6 &((NU8)1<<((NU)(T7_)&7U)))!=0))) goto LA8_;
14510 		{
14511 			if (!isUnsafeAddr) goto LA12_;
14512 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_237), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_238, NIM_FALSE);
14513 		}
14514 		goto LA10_;
14515 		LA12_: ;
14516 		{
14517 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_240), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_241, NIM_FALSE);
14518 		}
14519 		LA10_: ;
14520 	}
14521 	LA8_: ;
14522 	result = x;
14523 	return result;
14524 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTypeOf__sem_132)14525 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeOf__sem_132)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14526 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14527 	NI64 m;
14528 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typExpr;
14529 	tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ T11_;
14530 	result = NIM_NIL;
14531 	m = IL64(1);
14532 	{
14533 		NI T3_;
14534 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* mode;
14535 		T3_ = (NI)0;
14536 		T3_ = len__ast_3198(n);
14537 		if (!(T3_ == ((NI) 3))) goto LA4_;
14538 		mode = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 2)]);
14539 		{
14540 			if (!!(((*mode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA8_;
14541 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_243), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_244, NIM_FALSE);
14542 		}
14543 		goto LA6_;
14544 		LA8_: ;
14545 		{
14546 			m = (*mode)._kind_1.intVal;
14547 		}
14548 		LA6_: ;
14549 	}
14550 	LA4_: ;
14551 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132), (*n).info);
14552 	{
14553 		if (!(m == IL64(1))) goto LA14_;
14554 		T11_ = 8;
14555 	}
14556 	goto LA12_;
14557 	LA14_: ;
14558 	{
14559 		T11_ = 0;
14560 	}
14561 	LA12_: ;
14562 	typExpr = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], T11_);
14563 	add__ast_4797(result, typExpr);
14564 	asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, (*typExpr).typ));
14565 	return result;
14566 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDeref__sem_17356)14567 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeref__sem_17356)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14568 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14569 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
14570 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
14571 	result = NIM_NIL;
14572 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
14573 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
14574 	a = getConstExpr__semfold_81((*c).module, (*n)._kind_6.sons->data[((NI) 0)], (*c).Sup.idgen, (*c).graph);
14575 	{
14576 		if (!!((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
14577 		{
14578 			if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA7_;
14579 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_248), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_249, NIM_FALSE);
14580 		}
14581 		LA7_: ;
14582 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
14583 	}
14584 	LA3_: ;
14585 	result = n;
14586 	t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_250);
14587 	switch ((*t).kind) {
14588 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
14589 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
14590 	{
14591 		asgnRef((void**) (&(*n).typ), lastSon__ast_3743(t));
14592 	}
14593 	break;
14594 	default:
14595 	{
14596 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
14597 	}
14598 	break;
14599 	}
14600 	return result;
14601 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semStaticType__sem_128)14602 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStaticType__sem_128)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* childNode, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
14603 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
14604 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
14605 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
14606 	result = NIM_NIL;
14607 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), prev, c);
14608 	T1_ = NIM_NIL;
14609 	T1_ = semTypeNode__sem_80(c, childNode, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
14610 	base = skipTypes__ast_3735(T1_, TM__rF9caJawfOjYTjsgLVUSGFA_252);
14611 	rawAddSon__ast_4288(result, base, NIM_TRUE);
14612 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 24)) & 63);
14613 	return result;
14614 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSymGenericInstantiation__sem_13998)14615 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSymGenericInstantiation__sem_13998)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
14616 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14617 	result = NIM_NIL;
14618 	result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
14619 	return result;
14620 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,explicitGenericSym__sem_2571)14621 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericSym__sem_2571)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
14622 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14623 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
14624 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newInst;
14625 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
14626 {	result = NIM_NIL;
14627 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
14628 	newCandidate__sigmatch_189(c, s, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((NI) -1), (&m));
14629 	{
14630 		NI i;
14631 		NI colontmp_;
14632 		NI i_2;
14633 		i = (NI)0;
14634 		colontmp_ = (NI)0;
14635 		colontmp_ = len__ast_3198(n);
14636 		i_2 = ((NI) 1);
14637 		{
14638 			while (1) {
14639 				tyObject_TType__facALICuu8zUj0hjvbTLFg* formal;
14640 				tyObject_TType__facALICuu8zUj0hjvbTLFg* arg;
14641 				tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tm;
14642 				if (!(i_2 < colontmp_)) goto LA3;
14643 				i = i_2;
14644 				formal = (*(*(*(*s).ast)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[(NI)(i - ((NI) 1))]).typ;
14645 				arg = (*(*n)._kind_6.sons->data[i]).typ;
14646 				{
14647 					NIM_BOOL T6_;
14648 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
14649 					T6_ = (NIM_BOOL)0;
14650 					T6_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
14651 					if (!(T6_)) goto LA7_;
14652 					T6_ = !(((*arg).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
14653 					LA7_: ;
14654 					if (!T6_) goto LA8_;
14655 					evaluated = (*c).semTryConstExpr(c, (*n)._kind_6.sons->data[i]);
14656 					{
14657 						if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA12_;
14658 						arg = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), c);
14659 						if ((*arg).sons) { nimGCunrefRC1((*arg).sons); (*arg).sons = NIM_NIL; }
14660 						(*arg).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
14661 						asgnRef((void**) (&(*arg).sons->data[0]), (*evaluated).typ);
14662 						asgnRef((void**) (&(*arg).n), evaluated);
14663 					}
14664 					LA12_: ;
14665 				}
14666 				LA8_: ;
14667 				tm = typeRel__sigmatch_202((&m), formal, arg, 0);
14668 				{
14669 					if (!((3 &((NU16)1<<((NU)(tm)&15U)))!=0)) goto LA16_;
14670 					result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
14671 					goto BeforeRet_;
14672 				}
14673 				LA16_: ;
14674 				i_2 += ((NI) 1);
14675 			} LA3: ;
14676 		}
14677 	}
14678 	newInst = generateInstance__sem_1295(c, s, m.bindings, (*n).info);
14679 	(*(*newInst).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63));
14680 	info = getCallLineInfo__sem_2390(n);
14681 	markUsed__sigmatch_85(c, info, s);
14682 	result = newSymNode__ast_3719(newInst, info);
14683 	}BeforeRet_: ;
14684 	return result;
14685 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,explicitGenericInstError__sem_2567)14686 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericInstError__sem_2567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14687 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14688 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1_;
14689 	NimStringDesc* T2_;
14690 	NimStringDesc* T3_;
14691 	result = NIM_NIL;
14692 	T1_ = getCallLineInfo__sem_2390(n);
14693 	T2_ = NIM_NIL;
14694 	T2_ = renderTree__renderer_46(n, 0);
14695 	T3_ = NIM_NIL;
14696 	T3_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), T2_);
14697 	liMessage__msgs_1118((*(*c).graph).config, T1_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T3_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_262, NIM_FALSE);
14698 	result = n;
14699 	return result;
14700 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,explicitGenericInstantiation__sem_2621)14701 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericInstantiation__sem_2621)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
14702 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14703 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
14704 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
14705 {	result = NIM_NIL;
14706 	{
14707 		NI i;
14708 		NI colontmp_;
14709 		NI i_2;
14710 		i = (NI)0;
14711 		colontmp_ = (NI)0;
14712 		colontmp_ = len__ast_3198(n);
14713 		i_2 = ((NI) 1);
14714 		{
14715 			while (1) {
14716 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
14717 				if (!(i_2 < colontmp_)) goto LA3;
14718 				i = i_2;
14719 				e = semExpr__sem_52(c, (*n)._kind_6.sons->data[i], 0);
14720 				{
14721 					if (!((*e).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA6_;
14722 					asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), errorType__semdata_1002(c));
14723 				}
14724 				goto LA4_;
14725 				LA6_: ;
14726 				{
14727 					asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), skipTypes__ast_3735((*e).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
14728 				}
14729 				LA4_: ;
14730 				i_2 += ((NI) 1);
14731 			} LA3: ;
14732 		}
14733 	}
14734 	s_2 = s;
14735 	a = (*n)._kind_6.sons->data[((NI) 0)];
14736 	{
14737 		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
14738 		{
14739 			NI T15_;
14740 			NI T16_;
14741 			NI expected;
14742 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T19_;
14743 			NimStringDesc* T20_;
14744 			NimStringDesc* T21_;
14745 			NI T22_;
14746 			NimStringDesc* T23_;
14747 			NimStringDesc* T24_;
14748 			T15_ = (NI)0;
14749 			T15_ = safeLen__ast_3191((*(*s_2).ast)._kind_6.sons->data[((NI) 2)]);
14750 			T16_ = (NI)0;
14751 			T16_ = len__ast_3198(n);
14752 			if (!!((T15_ == (NI)(T16_ - ((NI) 1))))) goto LA17_;
14753 			expected = safeLen__ast_3191((*(*s_2).ast)._kind_6.sons->data[((NI) 2)]);
14754 			T19_ = getCallLineInfo__sem_2390(n);
14755 			T20_ = NIM_NIL;
14756 			T21_ = NIM_NIL;
14757 			T21_ = renderTree__renderer_46(n, 0);
14758 			T22_ = (NI)0;
14759 			T22_ = len__ast_3198(n);
14760 			T23_ = NIM_NIL;
14761 			T23_ = dollar___systemZdollars_3((NI)(T22_ - ((NI) 1)));
14762 			T24_ = NIM_NIL;
14763 			T24_ = dollar___systemZdollars_3(expected);
14764 			T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + (T23_ ? T23_->Sup.len : 0) + (T24_ ? T24_->Sup.len : 0) + 52);
14765 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_257));
14766 appendString(T20_, T21_);
14767 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_258));
14768 appendString(T20_, T23_);
14769 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_259));
14770 appendString(T20_, T24_);
14771 			liMessage__msgs_1118((*(*c).graph).config, T19_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_260, NIM_FALSE);
14772 			result = n;
14773 			goto BeforeRet_;
14774 		}
14775 		LA17_: ;
14776 		result = explicitGenericSym__sem_2571(c, n, s_2);
14777 		{
14778 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA27_;
14779 			result = explicitGenericInstError__sem_2567(c, n);
14780 		}
14781 		LA27_: ;
14782 	}
14783 	goto LA9_;
14784 	LA11_: ;
14785 	{
14786 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T32_;
14787 		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA30_;
14788 		T32_ = getCallLineInfo__sem_2390(n);
14789 		result = newNodeI__ast_3356((*a).kind, T32_);
14790 		{
14791 			NI i_3;
14792 			NI colontmp__2;
14793 			NI i_4;
14794 			i_3 = (NI)0;
14795 			colontmp__2 = (NI)0;
14796 			colontmp__2 = len__ast_3198(a);
14797 			i_4 = ((NI) 0);
14798 			{
14799 				while (1) {
14800 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate;
14801 					if (!(i_4 < colontmp__2)) goto LA35;
14802 					i_3 = i_4;
14803 					candidate = (*(*a)._kind_6.sons->data[i_3])._kind_4.sym;
14804 					{
14805 						if (!((126976 &((NU32)1<<((NU)((*candidate).kind)&31U)))!=0)) goto LA38_;
14806 						{
14807 							NI T42_;
14808 							NI T43_;
14809 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
14810 							T42_ = (NI)0;
14811 							T42_ = safeLen__ast_3191((*(*candidate).ast)._kind_6.sons->data[((NI) 2)]);
14812 							T43_ = (NI)0;
14813 							T43_ = len__ast_3198(n);
14814 							if (!(T42_ == (NI)(T43_ - ((NI) 1)))) goto LA44_;
14815 							x = explicitGenericSym__sem_2571(c, n, candidate);
14816 							{
14817 								if (!!((x == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA48_;
14818 								add__ast_4797(result, x);
14819 							}
14820 							LA48_: ;
14821 						}
14822 						LA44_: ;
14823 					}
14824 					LA38_: ;
14825 					i_4 += ((NI) 1);
14826 				} LA35: ;
14827 			}
14828 		}
14829 		{
14830 			NIM_BOOL T52_;
14831 			NI T53_;
14832 			T52_ = (NIM_BOOL)0;
14833 			T53_ = (NI)0;
14834 			T53_ = len__ast_3198(result);
14835 			T52_ = (T53_ == ((NI) 1));
14836 			if (!(T52_)) goto LA54_;
14837 			T52_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56));
14838 			LA54_: ;
14839 			if (!T52_) goto LA55_;
14840 			result = (*result)._kind_6.sons->data[((NI) 0)];
14841 		}
14842 		goto LA50_;
14843 		LA55_: ;
14844 		{
14845 			NI T58_;
14846 			T58_ = (NI)0;
14847 			T58_ = len__ast_3198(result);
14848 			if (!(T58_ == ((NI) 0))) goto LA59_;
14849 			result = explicitGenericInstError__sem_2567(c, n);
14850 		}
14851 		goto LA50_;
14852 		LA59_: ;
14853 		LA50_: ;
14854 	}
14855 	goto LA9_;
14856 	LA30_: ;
14857 	{
14858 		result = explicitGenericInstError__sem_2567(c, n);
14859 	}
14860 	LA9_: ;
14861 	}BeforeRet_: ;
14862 	return result;
14863 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,maybeInstantiateGeneric__sem_17378)14864 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, maybeInstantiateGeneric__sem_17378)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
14865 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14866 	NI neededGenParams;
14867 	NI heldGenParams;
14868 	NI T1_;
14869 	NI implicitParams;
14870 	result = NIM_NIL;
14871 	neededGenParams = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 2)]);
14872 	T1_ = (NI)0;
14873 	T1_ = len__ast_3198(n);
14874 	heldGenParams = (NI)(T1_ - ((NI) 1));
14875 	implicitParams = ((NI) 0);
14876 	{
14877 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
14878 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp_;
14879 		x = NIM_NIL;
14880 		colontmp_ = NIM_NIL;
14881 		colontmp_ = (*(*s).ast)._kind_6.sons->data[((NI) 2)];
14882 		{
14883 			NI i;
14884 			NI colontmp__2;
14885 			NI i_2;
14886 			i = (NI)0;
14887 			colontmp__2 = (NI)0;
14888 			colontmp__2 = safeLen__ast_3191(colontmp_);
14889 			i_2 = ((NI) 0);
14890 			{
14891 				while (1) {
14892 					if (!(i_2 < colontmp__2)) goto LA5;
14893 					i = i_2;
14894 					x = (*colontmp_)._kind_6.sons->data[i];
14895 					{
14896 						if (!(((*(*x).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 26))&63U)))!=0)) goto LA8_;
14897 						implicitParams += ((NI) 1);
14898 					}
14899 					LA8_: ;
14900 					i_2 += ((NI) 1);
14901 				} LA5: ;
14902 			}
14903 		}
14904 	}
14905 	{
14906 		NIM_BOOL T12_;
14907 		T12_ = (NIM_BOOL)0;
14908 		T12_ = !((heldGenParams == neededGenParams));
14909 		if (!(T12_)) goto LA13_;
14910 		T12_ = ((NI)(implicitParams + heldGenParams) == neededGenParams);
14911 		LA13_: ;
14912 		if (!T12_) goto LA14_;
14913 		result = n;
14914 	}
14915 	goto LA10_;
14916 	LA14_: ;
14917 	{
14918 		result = explicitGenericInstantiation__sem_2621(c, n, s);
14919 		{
14920 			if (!(result == n)) goto LA19_;
14921 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), copyTree__ast_4431((*result)._kind_6.sons->data[((NI) 0)]));
14922 		}
14923 		goto LA17_;
14924 		LA19_: ;
14925 		{
14926 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), result);
14927 		}
14928 		LA17_: ;
14929 	}
14930 	LA10_: ;
14931 	return result;
14932 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symFromType__sem_530)14933 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromType__sem_530)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
14934 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
14935 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
14936 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
14937 {	result = NIM_NIL;
14938 	{
14939 		if (!!(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
14940 		result = (*t).sym;
14941 		goto BeforeRet_;
14942 	}
14943 	LA3_: ;
14944 	T5_ = NIM_NIL;
14945 	T5_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_263));
14946 	T6_ = nextSymId__ast_3132((*c).Sup.idgen);
14947 	result = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T5_, T6_, (*t).owner, info, 0);
14948 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34)) & 63);
14949 	asgnRef((void**) (&(*result).typ), t);
14950 	}BeforeRet_: ;
14951 	return result;
14952 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,symNodeFromType__sem_543)14953 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, symNodeFromType__sem_543)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
14954 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14955 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
14956 	result = NIM_NIL;
14957 	T1_ = NIM_NIL;
14958 	T1_ = symFromType__sem_530(c, t, info);
14959 	result = newSymNode__ast_3719(T1_, info);
14960 	asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, t));
14961 	return result;
14962 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSubscript__sem_15311)14963 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSubscript__sem_15311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
14964 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14965 	tyObject_TType__facALICuu8zUj0hjvbTLFg* arr;
14966 {	result = NIM_NIL;
14967 	{
14968 		NI T3_;
14969 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
14970 		T3_ = (NI)0;
14971 		T3_ = len__ast_3198(n);
14972 		if (!(T3_ == ((NI) 1))) goto LA4_;
14973 		x = semDeref__sem_17356(c, n);
14974 		{
14975 			if (!(x == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA8_;
14976 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
14977 			goto BeforeRet_;
14978 		}
14979 		LA8_: ;
14980 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47), (*x).info, (*x).typ);
14981 		add__ast_4797(result, (*x)._kind_6.sons->data[((NI) 0)]);
14982 		goto BeforeRet_;
14983 	}
14984 	LA4_: ;
14985 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
14986 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 16384));
14987 	arr = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_251);
14988 	{
14989 		if (!((*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA12_;
14990 		{
14991 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
14992 			T16_ = NIM_NIL;
14993 			T16_ = base__types_63(arr);
14994 			if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA17_;
14995 			result = n;
14996 			asgnRef((void**) (&(*result).typ), semStaticType__sem_128(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14997 			goto BeforeRet_;
14998 		}
14999 		goto LA14_;
15000 		LA17_: ;
15001 		{
15002 			if (!!(((*arr).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA20_;
15003 			result = semSubscript__sem_15311(c, (*arr).n, flags);
15004 			goto BeforeRet_;
15005 		}
15006 		goto LA14_;
15007 		LA20_: ;
15008 		{
15009 			arr = base__types_63(arr);
15010 		}
15011 		LA14_: ;
15012 	}
15013 	LA12_: ;
15014 	switch ((*arr).kind) {
15015 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
15016 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
15017 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
15018 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
15019 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
15020 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
15021 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
15022 	{
15023 		{
15024 			NI T26_;
15025 			T26_ = (NI)0;
15026 			T26_ = len__ast_3198(n);
15027 			if (!!((T26_ == ((NI) 2)))) goto LA27_;
15028 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
15029 			goto BeforeRet_;
15030 		}
15031 		LA27_: ;
15032 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872((*n)._kind_6.sons->data[((NI) 0)]));
15033 		{
15034 			NI i;
15035 			NI colontmp_;
15036 			NI i_2;
15037 			i = (NI)0;
15038 			colontmp_ = (NI)0;
15039 			colontmp_ = len__ast_3198(n);
15040 			i_2 = ((NI) 1);
15041 			{
15042 				while (1) {
15043 					if (!(i_2 < colontmp_)) goto LA31;
15044 					i = i_2;
15045 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[i], (flags & 520)));
15046 					i_2 += ((NI) 1);
15047 				} LA31: ;
15048 			}
15049 		}
15050 		{
15051 			tyObject_TType__facALICuu8zUj0hjvbTLFg* indexType;
15052 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
15053 			if (!((*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA34_;
15054 			indexType = (*arr).sons->data[((NI) 0)];
15055 			arg = indexTypesMatch__sem_120(c, indexType, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*n)._kind_6.sons->data[((NI) 1)]);
15056 			{
15057 				if (!!((arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA38_;
15058 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), arg);
15059 				result = n;
15060 				asgnRef((void**) (&(*result).typ), elemType__types_263(arr));
15061 			}
15062 			LA38_: ;
15063 		}
15064 		goto LA32_;
15065 		LA34_: ;
15066 		{
15067 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T41_;
15068 			T41_ = NIM_NIL;
15069 			T41_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_253);
15070 			if (!((*T41_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T41_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*T41_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T41_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA42_;
15071 			result = n;
15072 			asgnRef((void**) (&(*result).typ), elemType__types_263(arr));
15073 		}
15074 		goto LA32_;
15075 		LA42_: ;
15076 		LA32_: ;
15077 	}
15078 	break;
15079 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
15080 	{
15081 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
15082 		result = n;
15083 		T45_ = NIM_NIL;
15084 		T45_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
15085 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, T45_));
15086 	}
15087 	break;
15088 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
15089 	{
15090 		{
15091 			NI T49_;
15092 			T49_ = (NI)0;
15093 			T49_ = len__ast_3198(n);
15094 			if (!!((T49_ == ((NI) 2)))) goto LA50_;
15095 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
15096 			goto BeforeRet_;
15097 		}
15098 		LA50_: ;
15099 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872((*n)._kind_6.sons->data[((NI) 0)]));
15100 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 1)]));
15101 		{
15102 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T54_;
15103 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA idx;
15104 			T54_ = NIM_NIL;
15105 			T54_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_254);
15106 			if (!((*T54_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T54_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35))) goto LA55_;
15107 			idx = getOrdValue__types_161((*n)._kind_6.sons->data[((NI) 1)], Max__int495056_27);
15108 			{
15109 				NIM_BOOL T59_;
15110 				NI T61_;
15111 				NI T64_;
15112 				T59_ = (NIM_BOOL)0;
15113 				T59_ = lteq___int495056_752(IL64(0), idx);
15114 				if (!(T59_)) goto LA60_;
15115 				T61_ = (NI)0;
15116 				T61_ = len__ast_4002(arr);
15117 				T59_ = lt___int495056_721(idx, ((NI64) (T61_)));
15118 				LA60_: ;
15119 				if (!T59_) goto LA62_;
15120 				T64_ = (NI)0;
15121 				T64_ = toInt__int495056_170(idx);
15122 				asgnRef((void**) (&(*n).typ), (*arr).sons->data[T64_]);
15123 			}
15124 			goto LA57_;
15125 			LA62_: ;
15126 			{
15127 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_255), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_256, NIM_FALSE);
15128 			}
15129 			LA57_: ;
15130 			result = n;
15131 		}
15132 		goto LA52_;
15133 		LA55_: ;
15134 		{
15135 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
15136 		}
15137 		LA52_: ;
15138 	}
15139 	break;
15140 	default:
15141 	{
15142 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
15143 		{
15144 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA70_;
15145 			s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
15146 		}
15147 		goto LA68_;
15148 		LA70_: ;
15149 		{
15150 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA73_;
15151 			s = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)])._kind_4.sym;
15152 		}
15153 		goto LA68_;
15154 		LA73_: ;
15155 		{
15156 			s = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
15157 		}
15158 		LA68_: ;
15159 		{
15160 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA78_;
15161 			switch ((*s).kind) {
15162 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
15163 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
15164 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
15165 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
15166 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
15167 			{
15168 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semSymGenericInstantiation__sem_13998(c, (*n)._kind_6.sons->data[((NI) 0)], s));
15169 				result = maybeInstantiateGeneric__sem_17378(c, n, s);
15170 			}
15171 			break;
15172 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
15173 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
15174 			{
15175 				{
15176 					if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 15))&31U)))!=0)) goto LA84_;
15177 					result = n;
15178 				}
15179 				goto LA82_;
15180 				LA84_: ;
15181 				{
15182 					transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
15183 					switch ((*s).kind) {
15184 					case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
15185 					{
15186 						result = semMacroExpr__sem_524(c, n, n, s, flags);
15187 					}
15188 					break;
15189 					case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
15190 					{
15191 						result = semTemplateExpr__sem_519(c, n, s, flags);
15192 					}
15193 					break;
15194 					default:
15195 					{
15196 					}
15197 					break;
15198 					}
15199 				}
15200 				LA82_: ;
15201 			}
15202 			break;
15203 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
15204 			{
15205 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T91_;
15206 				T91_ = NIM_NIL;
15207 				T91_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
15208 				result = symNodeFromType__sem_543(c, T91_, (*n).info);
15209 			}
15210 			break;
15211 			default:
15212 			{
15213 			}
15214 			break;
15215 			}
15216 		}
15217 		LA78_: ;
15218 	}
15219 	break;
15220 	}
15221 	}BeforeRet_: ;
15222 	return result;
15223 }
N_NIMCALL(void,effectProblem__sem_1583)15224 N_LIB_PRIVATE N_NIMCALL(void, effectProblem__sem_1583)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, NimStringDesc** result, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
15225 	{
15226 		NIM_BOOL T3_;
15227 		T3_ = (NIM_BOOL)0;
15228 		T3_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
15229 		if (!(T3_)) goto LA4_;
15230 		T3_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
15231 		LA4_: ;
15232 		if (!T3_) goto LA5_;
15233 		{
15234 			NIM_BOOL T9_;
15235 			T9_ = (NIM_BOOL)0;
15236 			T9_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0);
15237 			if (!(T9_)) goto LA10_;
15238 			T9_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0));
15239 			LA10_: ;
15240 			if (!T9_) goto LA11_;
15241 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 103));
15242 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_286));
15243 		}
15244 		goto LA7_;
15245 		LA11_: ;
15246 		{
15247 			NIM_BOOL T14_;
15248 			T14_ = (NIM_BOOL)0;
15249 			T14_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0);
15250 			if (!(T14_)) goto LA15_;
15251 			T14_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
15252 			LA15_: ;
15253 			if (!T14_) goto LA16_;
15254 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 116));
15255 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_287));
15256 		}
15257 		goto LA7_;
15258 		LA16_: ;
15259 		{
15260 			tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T19_;
15261 			T19_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
15262 			T19_ = compatibleEffects__types_3425(f, a);
15263 			switch (T19_) {
15264 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0):
15265 			{
15266 			}
15267 			break;
15268 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 1):
15269 			{
15270 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 37));
15271 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_288));
15272 			}
15273 			break;
15274 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 2):
15275 			{
15276 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 110));
15277 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_289));
15278 			}
15279 			break;
15280 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 3):
15281 			{
15282 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 35));
15283 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_290));
15284 			}
15285 			break;
15286 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 4):
15287 			{
15288 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 106));
15289 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_291));
15290 			}
15291 			break;
15292 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 5):
15293 			{
15294 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 107));
15295 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_292));
15296 			}
15297 			break;
15298 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 6):
15299 			{
15300 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 39));
15301 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_293));
15302 			}
15303 			break;
15304 			}
15305 		}
15306 		LA7_: ;
15307 	}
15308 	LA5_: ;
15309 }
N_INLINE(void,nimGCunrefNoCycle)15310 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
15311 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
15312 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
15313 	T1_ = usrToCell__system_5300(p);
15314 	decRef__system_5345(T1_);
15315 }
N_INLINE(NI,star___pureZalgorithm_8)15316 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
15317 	NI result;
15318 	NI y;
15319 	result = (NI)0;
15320 	y = (NI)(order - ((NI) 1));
15321 	result = (NI)((NI)(x ^ y) - y);
15322 	return result;
15323 }
N_NIMCALL(void,mergeAlt__sem_1820)15324 N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sem_1820)(NimStringDesc** a, NI aLen_0, NimStringDesc** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
15325 	NI j;
15326 	NI bb;
15327 	NI i;
15328 	NI k;
15329 {	{
15330 		NI T3_;
15331 		NI T4_;
15332 		T3_ = (NI)0;
15333 		T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI) 1))], cmp.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_294)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI) 1))]);
15334 		T4_ = (NI)0;
15335 		T4_ = star___pureZalgorithm_8(T3_, order);
15336 		if (!(T4_ <= ((NI) 0))) goto LA5_;
15337 		goto BeforeRet_;
15338 	}
15339 	LA5_: ;
15340 	j = lo;
15341 	bb = ((NI) 0);
15342 	{
15343 		while (1) {
15344 			if (!(j <= m)) goto LA8;
15345 			unsureAsgnRef((void**) (&b[bb]), a[j]);
15346 			bb += ((NI) 1);
15347 			j += ((NI) 1);
15348 		} LA8: ;
15349 	}
15350 	i = ((NI) 0);
15351 	k = lo;
15352 	{
15353 		while (1) {
15354 			NIM_BOOL T11_;
15355 			T11_ = (NIM_BOOL)0;
15356 			T11_ = (k < j);
15357 			if (!(T11_)) goto LA12_;
15358 			T11_ = (j <= hi);
15359 			LA12_: ;
15360 			if (!T11_) goto LA10;
15361 			{
15362 				NI T15_;
15363 				NI T16_;
15364 				T15_ = (NI)0;
15365 				T15_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_295)(cmp.ClP_0))(b[i], a[j]);
15366 				T16_ = (NI)0;
15367 				T16_ = star___pureZalgorithm_8(T15_, order);
15368 				if (!(T16_ <= ((NI) 0))) goto LA17_;
15369 				unsureAsgnRef((void**) (&a[k]), b[i]);
15370 				i += ((NI) 1);
15371 			}
15372 			goto LA13_;
15373 			LA17_: ;
15374 			{
15375 				unsureAsgnRef((void**) (&a[k]), a[j]);
15376 				j += ((NI) 1);
15377 			}
15378 			LA13_: ;
15379 			k += ((NI) 1);
15380 		} LA10: ;
15381 	}
15382 	{
15383 		while (1) {
15384 			if (!(k < j)) goto LA21;
15385 			unsureAsgnRef((void**) (&a[k]), b[i]);
15386 			k += ((NI) 1);
15387 			i += ((NI) 1);
15388 		} LA21: ;
15389 	}
15390 	}BeforeRet_: ;
15391 }
N_NIMCALL(void,sort__sem_1803)15392 N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1803)(NimStringDesc** a, NI aLen_0, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
15393 	NI n;
15394 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* b;
15395 	NI s;
15396 	n = aLen_0;
15397 	b = newSeq__systemZio_503(((NI) ((NI)(n / ((NI) 2)))));
15398 	s = ((NI) 1);
15399 	{
15400 		while (1) {
15401 			NI m;
15402 			if (!(s < n)) goto LA2;
15403 			m = (NI)((NI)(n - ((NI) 1)) - s);
15404 			{
15405 				while (1) {
15406 					if (!(((NI) 0) <= m)) goto LA4;
15407 					mergeAlt__sem_1820(a, aLen_0, b->data, (b ? b->Sup.len : 0), (((NI)((NI)(m - s) + ((NI) 1)) >= ((NI) 0)) ? (NI)((NI)(m - s) + ((NI) 1)) : ((NI) 0)), m, (NI)(m + s), cmp, order);
15408 					m -= (NI)(s * ((NI) 2));
15409 				} LA4: ;
15410 			}
15411 			s = (NI)(s * ((NI) 2));
15412 		} LA2: ;
15413 	}
15414 }
N_INLINE(NI,cmpStrings)15415 static N_INLINE(NI, cmpStrings)(NimStringDesc* a, NimStringDesc* b) {
15416 	NI result;
15417 	NI alen;
15418 	NI blen;
15419 	NI minlen;
15420 	result = (NI)0;
15421 	alen = (a ? a->Sup.len : 0);
15422 	blen = (b ? b->Sup.len : 0);
15423 	minlen = ((alen <= blen) ? alen : blen);
15424 	{
15425 		int T5_;
15426 		if (!(((NI) 0) < minlen)) goto LA3_;
15427 		T5_ = (int)0;
15428 		T5_ = memcmp(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((size_t) (minlen)));
15429 		result = ((NI) (T5_));
15430 		{
15431 			if (!(result == ((NI) 0))) goto LA8_;
15432 			result = (NI)(alen - blen);
15433 		}
15434 		LA8_: ;
15435 	}
15436 	goto LA1_;
15437 	LA3_: ;
15438 	{
15439 		result = (NI)(alen - blen);
15440 	}
15441 	LA1_: ;
15442 	return result;
15443 }
N_NIMCALL(NI,cmp__sem_1796)15444 N_LIB_PRIVATE N_NIMCALL(NI, cmp__sem_1796)(NimStringDesc* x, NimStringDesc* y) {
15445 	NI result;
15446 {	result = (NI)0;
15447 	{
15448 		if (!eqStrings(x, y)) goto LA3_;
15449 		result = ((NI) 0);
15450 		goto BeforeRet_;
15451 	}
15452 	LA3_: ;
15453 	{
15454 		if (!(cmpStrings(x, y) < 0)) goto LA7_;
15455 		result = ((NI) -1);
15456 		goto BeforeRet_;
15457 	}
15458 	LA7_: ;
15459 	result = ((NI) 1);
15460 	goto BeforeRet_;
15461 	}BeforeRet_: ;
15462 	return result;
15463 }
N_NIMCALL(void,sort__sem_1792)15464 N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1792)(NimStringDesc** a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
15465 	tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA T1_;
15466 	nimZeroMem((void*)(&T1_), sizeof(tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA));
15467 	T1_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_296) (cmp__sem_1796)); T1_.ClE_0 = NIM_NIL;
15468 	sort__sem_1803(a, aLen_0, T1_, order);
15469 }
N_NIMCALL(void,presentFailedCandidates__sem_1636)15470 N_LIB_PRIVATE N_NIMCALL(void, presentFailedCandidates__sem_1636)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__0dpGN6F4ocevqUQGsaf41w* errors, tyTuple__ZtAk5YtH0VW1iPowvxePrg* Result) {
15471 	tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer;
15472 	NimStringDesc* proto;
15473 	NIM_BOOL filterOnlyFirst;
15474 	NIM_BOOL maybeWrongSpace;
15475 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* candidatesAll;
15476 	NimStringDesc* candidates;
15477 	NI skipped;
15478 	tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw colontmp__2;
15479 	NimStringDesc* colontmp__3;
15480 	prefer = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0);
15481 	proto = describeArgs__sigmatch_384(c, n, ((NI) 1), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
15482 	{
15483 		tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ* err;
15484 		NI i;
15485 		NI L;
15486 		NI T2_;
15487 		err = (tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ*)0;
15488 		i = ((NI) 0);
15489 		T2_ = (errors ? errors->Sup.len : 0);
15490 		L = T2_;
15491 		{
15492 			while (1) {
15493 				NimStringDesc* errProto;
15494 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
15495 				if (!(i < L)) goto LA4;
15496 				err = (&errors->data[i]);
15497 				errProto = ((NimStringDesc*) NIM_NIL);
15498 				n_2 = (*(*(*err).sym).typ).n;
15499 				{
15500 					NI i_2;
15501 					NI colontmp_;
15502 					NI i_3;
15503 					i_2 = (NI)0;
15504 					colontmp_ = (NI)0;
15505 					colontmp_ = len__ast_3198(n_2);
15506 					i_3 = ((NI) 1);
15507 					{
15508 						while (1) {
15509 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
15510 							if (!(i_3 < colontmp_)) goto LA7;
15511 							i_2 = i_3;
15512 							p = (*n_2)._kind_6.sons->data[i_2];
15513 							{
15514 								NimStringDesc* T12_;
15515 								if (!((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA10_;
15516 								T12_ = NIM_NIL;
15517 								T12_ = typeToString__types_50((*(*p)._kind_4.sym).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
15518 								errProto = resizeString(errProto, (T12_ ? T12_->Sup.len : 0) + 0);
15519 appendString(errProto, T12_);
15520 								{
15521 									NI T15_;
15522 									T15_ = (NI)0;
15523 									T15_ = len__ast_3198(n_2);
15524 									if (!!((i_2 == (NI)(T15_ - ((NI) 1))))) goto LA16_;
15525 									errProto = resizeString(errProto, 2);
15526 appendString(errProto, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
15527 								}
15528 								LA16_: ;
15529 							}
15530 							LA10_: ;
15531 							i_3 += ((NI) 1);
15532 						} LA7: ;
15533 					}
15534 				}
15535 				{
15536 					if (!eqStrings(errProto, proto)) goto LA20_;
15537 					prefer = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 3);
15538 					goto LA1;
15539 				}
15540 				LA20_: ;
15541 				i += ((NI) 1);
15542 			} LA4: ;
15543 		}
15544 	} LA1: ;
15545 	filterOnlyFirst = NIM_FALSE;
15546 	{
15547 		if (!!((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 32))&63U)))!=0))) goto LA24_;
15548 		{
15549 			tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ* err_2;
15550 			NI i_4;
15551 			NI L_2;
15552 			NI T27_;
15553 			err_2 = (tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ*)0;
15554 			i_4 = ((NI) 0);
15555 			T27_ = (errors ? errors->Sup.len : 0);
15556 			L_2 = T27_;
15557 			{
15558 				while (1) {
15559 					if (!(i_4 < L_2)) goto LA29;
15560 					err_2 = (&errors->data[i_4]);
15561 					{
15562 						if (!(((NI) 1) < (*err_2).firstMismatch.arg)) goto LA32_;
15563 						filterOnlyFirst = NIM_TRUE;
15564 						goto LA26;
15565 					}
15566 					LA32_: ;
15567 					i_4 += ((NI) 1);
15568 				} LA29: ;
15569 			}
15570 		} LA26: ;
15571 	}
15572 	LA24_: ;
15573 	maybeWrongSpace = NIM_FALSE;
15574 	candidatesAll = NIM_NIL;
15575 	candidates = ((NimStringDesc*) NIM_NIL);
15576 	skipped = ((NI) 0);
15577 	{
15578 		tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ* err_3;
15579 		NI i_5;
15580 		NI L_3;
15581 		NI T35_;
15582 		err_3 = (tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ*)0;
15583 		i_5 = ((NI) 0);
15584 		T35_ = (errors ? errors->Sup.len : 0);
15585 		L_3 = T35_;
15586 		{
15587 			while (1) {
15588 				if (!(i_5 < L_3)) goto LA37;
15589 				err_3 = (&errors->data[i_5]);
15590 				{
15591 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nArg;
15592 					NimStringDesc* nameParam;
15593 					NI T132_;
15594 					NimStringDesc* T133_;
15595 					candidates = setLengthStr(candidates, ((NI) 0));
15596 					{
15597 						NIM_BOOL T41_;
15598 						T41_ = (NIM_BOOL)0;
15599 						T41_ = filterOnlyFirst;
15600 						if (!(T41_)) goto LA42_;
15601 						T41_ = ((*err_3).firstMismatch.arg == ((NI) 1));
15602 						LA42_: ;
15603 						if (!T41_) goto LA43_;
15604 						skipped += ((NI) 1);
15605 						goto LA38;
15606 					}
15607 					LA43_: ;
15608 					{
15609 						NIM_BOOL T47_;
15610 						NimStringDesc* T51_;
15611 						T47_ = (NIM_BOOL)0;
15612 						T47_ = ((520192 &((NU32)1<<((NU)((*(*err_3).sym).kind)&31U)))!=0);
15613 						if (!(T47_)) goto LA48_;
15614 						T47_ = !(((*(*err_3).sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
15615 						LA48_: ;
15616 						if (!T47_) goto LA49_;
15617 						T51_ = NIM_NIL;
15618 						T51_ = renderTree__renderer_46((*(*err_3).sym).ast, 22);
15619 						candidates = resizeString(candidates, (T51_ ? T51_->Sup.len : 0) + 0);
15620 appendString(candidates, T51_);
15621 					}
15622 					goto LA45_;
15623 					LA49_: ;
15624 					{
15625 						NimStringDesc* T53_;
15626 						T53_ = NIM_NIL;
15627 						T53_ = getProcHeader__types_222((*(*c).graph).config, (*err_3).sym, prefer, NIM_TRUE);
15628 						candidates = resizeString(candidates, (T53_ ? T53_->Sup.len : 0) + 0);
15629 appendString(candidates, T53_);
15630 					}
15631 					LA45_: ;
15632 					addDeclaredLocMaybe__astmsgs_21((&candidates), (*(*c).graph).config, (*err_3).sym);
15633 					candidates = resizeString(candidates, 1);
15634 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
15635 					{
15636 						NI T56_;
15637 						T56_ = (NI)0;
15638 						T56_ = len__ast_3198(n);
15639 						if (!((*err_3).firstMismatch.arg < T56_)) goto LA57_;
15640 						nArg = (*n)._kind_6.sons->data[(*err_3).firstMismatch.arg];
15641 					}
15642 					goto LA54_;
15643 					LA57_: ;
15644 					{
15645 						nArg = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
15646 					}
15647 					LA54_: ;
15648 					{
15649 						if (!!(((*err_3).firstMismatch.formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA62_;
15650 						nameParam = (*(*(*err_3).firstMismatch.formal).name).s;
15651 					}
15652 					goto LA60_;
15653 					LA62_: ;
15654 					{
15655 						nameParam = ((NimStringDesc*) NIM_NIL);
15656 					}
15657 					LA60_: ;
15658 					{
15659 						NI T67_;
15660 						NimStringDesc* T70_;
15661 						NimStringDesc* T71_;
15662 						T67_ = (NI)0;
15663 						T67_ = len__ast_3198(n);
15664 						if (!(((NI) 1) < T67_)) goto LA68_;
15665 						T70_ = NIM_NIL;
15666 						T71_ = NIM_NIL;
15667 						T71_ = dollar___systemZdollars_3((*err_3).firstMismatch.arg);
15668 						T70_ = rawNewString((T71_ ? T71_->Sup.len : 0) + 35);
15669 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_271));
15670 appendString(T70_, T71_);
15671 						candidates = resizeString(candidates, (T70_ ? T70_->Sup.len : 0) + 0);
15672 appendString(candidates, T70_);
15673 						switch ((*err_3).firstMismatch.kind) {
15674 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 2):
15675 						{
15676 							{
15677 								if (!(nArg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA75_;
15678 								candidates = resizeString(candidates, 26);
15679 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_272));
15680 							}
15681 							goto LA73_;
15682 							LA75_: ;
15683 							{
15684 								NimStringDesc* T78_;
15685 								NimStringDesc* T79_;
15686 								T78_ = NIM_NIL;
15687 								T79_ = NIM_NIL;
15688 								T79_ = dollar___renderer_2106((*nArg)._kind_6.sons->data[((NI) 0)]);
15689 								T78_ = rawNewString((T79_ ? T79_->Sup.len : 0) + 28);
15690 appendString(T78_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_273));
15691 appendString(T78_, T79_);
15692 								candidates = resizeString(candidates, (T78_ ? T78_->Sup.len : 0) + 0);
15693 appendString(candidates, T78_);
15694 							}
15695 							LA73_: ;
15696 						}
15697 						break;
15698 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 1):
15699 						{
15700 							NimStringDesc* T81_;
15701 							NimStringDesc* T82_;
15702 							T81_ = NIM_NIL;
15703 							T82_ = NIM_NIL;
15704 							T82_ = dollar___renderer_2106((*nArg)._kind_6.sons->data[((NI) 0)]);
15705 							T81_ = rawNewString((T82_ ? T82_->Sup.len : 0) + 33);
15706 appendString(T81_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_274));
15707 appendString(T81_, T82_);
15708 							candidates = resizeString(candidates, (T81_ ? T81_->Sup.len : 0) + 0);
15709 appendString(candidates, T81_);
15710 						}
15711 						break;
15712 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 7):
15713 						{
15714 							candidates = resizeString(candidates, 52);
15715 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_275));
15716 						}
15717 						break;
15718 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 6):
15719 						{
15720 							candidates = resizeString(candidates, 23);
15721 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_276));
15722 						}
15723 						break;
15724 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 5):
15725 						{
15726 							NimStringDesc* T86_;
15727 							T86_ = NIM_NIL;
15728 							T86_ = rawNewString((nameParam ? nameParam->Sup.len : 0) + 22);
15729 appendString(T86_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_277));
15730 appendString(T86_, nameParam);
15731 							candidates = resizeString(candidates, (T86_ ? T86_->Sup.len : 0) + 0);
15732 appendString(candidates, T86_);
15733 						}
15734 						break;
15735 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3):
15736 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4):
15737 						{
15738 							tyObject_TType__facALICuu8zUj0hjvbTLFg* wanted;
15739 							NimStringDesc* T96_;
15740 							{
15741 								if (!!(!((nArg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))) goto LA90_;
15742 								failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_278));
15743 							}
15744 							LA90_: ;
15745 							wanted = (*(*err_3).firstMismatch.formal).typ;
15746 							{
15747 								if (!!(!(((*err_3).firstMismatch.formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA94_;
15748 								failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_279));
15749 							}
15750 							LA94_: ;
15751 							T96_ = NIM_NIL;
15752 							T96_ = rawNewString((nameParam ? nameParam->Sup.len : 0) + 23);
15753 appendString(T96_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_280));
15754 appendString(T96_, nameParam);
15755 appendString(T96_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_281));
15756 							candidates = resizeString(candidates, (T96_ ? T96_->Sup.len : 0) + 0);
15757 appendString(candidates, T96_);
15758 							addTypeDeclVerboseMaybe__types_53((&candidates), (*(*c).graph).config, wanted);
15759 							candidates = resizeString(candidates, 19);
15760 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_282));
15761 							{
15762 								NimStringDesc* T101_;
15763 								if (!((*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4))) goto LA99_;
15764 								T101_ = NIM_NIL;
15765 								T101_ = renderNotLValue__sem_1612(nArg);
15766 								candidates = resizeString(candidates, (T101_ ? T101_->Sup.len : 0) + 0);
15767 appendString(candidates, T101_);
15768 								candidates = resizeString(candidates, 25);
15769 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_283));
15770 							}
15771 							goto LA97_;
15772 							LA99_: ;
15773 							{
15774 								NimStringDesc* T103_;
15775 								tyObject_TType__facALICuu8zUj0hjvbTLFg* got;
15776 								T103_ = NIM_NIL;
15777 								T103_ = renderTree__renderer_46(nArg, 0);
15778 								candidates = resizeString(candidates, (T103_ ? T103_->Sup.len : 0) + 0);
15779 appendString(candidates, T103_);
15780 								candidates = resizeString(candidates, 14);
15781 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_284));
15782 								got = (*nArg).typ;
15783 								addTypeDeclVerboseMaybe__types_53((&candidates), (*(*c).graph).config, got);
15784 								{
15785 									if (!!(!((wanted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))))) goto LA106_;
15786 									failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_285));
15787 								}
15788 								LA106_: ;
15789 								{
15790 									if (!!((got == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA110_;
15791 									{
15792 										NIM_BOOL T114_;
15793 										T114_ = (NIM_BOOL)0;
15794 										T114_ = ((*got).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
15795 										if (!(T114_)) goto LA115_;
15796 										T114_ = ((*wanted).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
15797 										LA115_: ;
15798 										if (!T114_) goto LA116_;
15799 										addPragmaAndCallConvMismatch__types_3795((&candidates), wanted, got, (*(*c).graph).config);
15800 									}
15801 									LA116_: ;
15802 									effectProblem__sem_1583(wanted, got, (&candidates), c);
15803 								}
15804 								LA110_: ;
15805 							}
15806 							LA97_: ;
15807 						}
15808 						break;
15809 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 0):
15810 						{
15811 						}
15812 						break;
15813 						}
15814 						candidates = resizeString(candidates, 1);
15815 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
15816 						{
15817 							NIM_BOOL T121_;
15818 							NIM_BOOL T122_;
15819 							T121_ = (NIM_BOOL)0;
15820 							T122_ = (NIM_BOOL)0;
15821 							T122_ = ((*err_3).firstMismatch.arg == ((NI) 1));
15822 							if (!(T122_)) goto LA123_;
15823 							T122_ = ((*nArg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
15824 							LA123_: ;
15825 							T121_ = T122_;
15826 							if (!(T121_)) goto LA124_;
15827 							T121_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26));
15828 							LA124_: ;
15829 							if (!T121_) goto LA125_;
15830 							maybeWrongSpace = NIM_TRUE;
15831 						}
15832 						LA125_: ;
15833 					}
15834 					LA68_: ;
15835 					{
15836 						NimStringDesc** diag;
15837 						NI i_6;
15838 						NI L_4;
15839 						NI T128_;
15840 						diag = (NimStringDesc**)0;
15841 						i_6 = ((NI) 0);
15842 						T128_ = ((*err_3).diagnostics ? (*err_3).diagnostics->Sup.len : 0);
15843 						L_4 = T128_;
15844 						{
15845 							while (1) {
15846 								NimStringDesc* T131_;
15847 								if (!(i_6 < L_4)) goto LA130;
15848 								diag = (&(*err_3).diagnostics->data[i_6]);
15849 								T131_ = NIM_NIL;
15850 								T131_ = rawNewString(((*diag) ? (*diag)->Sup.len : 0) + 1);
15851 appendString(T131_, (*diag));
15852 appendString(T131_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
15853 								candidates = resizeString(candidates, (T131_ ? T131_->Sup.len : 0) + 0);
15854 appendString(candidates, T131_);
15855 								i_6 += ((NI) 1);
15856 							} LA130: ;
15857 						}
15858 					}
15859 					candidatesAll = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(candidatesAll), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
15860 					T132_ = candidatesAll->Sup.len++;
15861 					T133_ = NIM_NIL;
15862 					T133_ = candidatesAll->data[T132_]; candidatesAll->data[T132_] = copyStringRC1(candidates);
15863 					if (T133_) nimGCunrefNoCycle(T133_);
15864 				} LA38: ;
15865 				i_5 += ((NI) 1);
15866 			} LA37: ;
15867 		}
15868 	}
15869 	sort__sem_1792(candidatesAll->data, (candidatesAll ? candidatesAll->Sup.len : 0), ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
15870 	candidates = nsuJoinSep(candidatesAll->data, (candidatesAll ? candidatesAll->Sup.len : 0), ((NimStringDesc*) NIM_NIL));
15871 	{
15872 		NimStringDesc* T138_;
15873 		NimStringDesc* T139_;
15874 		if (!(((NI) 0) < skipped)) goto LA136_;
15875 		T138_ = NIM_NIL;
15876 		T139_ = NIM_NIL;
15877 		T139_ = dollar___systemZdollars_3(skipped);
15878 		T138_ = rawNewString((T139_ ? T139_->Sup.len : 0) + 97);
15879 appendString(T138_, T139_);
15880 appendString(T138_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_297));
15881 		candidates = resizeString(candidates, (T138_ ? T138_->Sup.len : 0) + 0);
15882 appendString(candidates, T138_);
15883 	}
15884 	LA136_: ;
15885 	{
15886 		NimStringDesc* T144_;
15887 		NimStringDesc* T145_;
15888 		if (!maybeWrongSpace) goto LA142_;
15889 		T144_ = NIM_NIL;
15890 		T145_ = NIM_NIL;
15891 		T145_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 0)], 0);
15892 		T144_ = rawNewString((T145_ ? T145_->Sup.len : 0) + 40);
15893 appendString(T144_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_298));
15894 appendString(T144_, T145_);
15895 appendString(T144_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_299));
15896 		candidates = resizeString(candidates, (T144_ ? T144_->Sup.len : 0) + 0);
15897 appendString(candidates, T144_);
15898 	}
15899 	LA142_: ;
15900 	colontmp__2 = prefer;
15901 	colontmp__3 = copyString(candidates);
15902 	(*Result).Field0 = colontmp__2;
15903 	unsureAsgnRef((void**) (&(*Result).Field1), copyString(colontmp__3));
15904 }
N_NIMCALL(void,notFoundError__sem_1922)15905 N_LIB_PRIVATE N_NIMCALL(void, notFoundError__sem_1922)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__0dpGN6F4ocevqUQGsaf41w* errors) {
15906 	tyTuple__ZtAk5YtH0VW1iPowvxePrg T12_;
15907 	tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer;
15908 	NimStringDesc* candidates;
15909 	NimStringDesc* result;
15910 	NimStringDesc* T13_;
15911 	NimStringDesc* T19_;
15912 	NimStringDesc* T20_;
15913 {	{
15914 		if (!((*(*(*c).graph).config).m.errorOutputs == 0)) goto LA3_;
15915 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_266), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_267, NIM_FALSE);
15916 		goto BeforeRet_;
15917 	}
15918 	LA3_: ;
15919 	{
15920 		NI T7_;
15921 		NimStringDesc* T10_;
15922 		NimStringDesc* T11_;
15923 		T7_ = (errors ? errors->Sup.len : 0);
15924 		if (!(T7_ == ((NI) 0))) goto LA8_;
15925 		T10_ = NIM_NIL;
15926 		T10_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 0)], 0);
15927 		T11_ = NIM_NIL;
15928 		T11_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_268), T10_);
15929 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_269, NIM_FALSE);
15930 		goto BeforeRet_;
15931 	}
15932 	LA8_: ;
15933 	nimZeroMem((void*)(&T12_), sizeof(tyTuple__ZtAk5YtH0VW1iPowvxePrg));
15934 	presentFailedCandidates__sem_1636(c, n, errors, (&T12_));
15935 	prefer = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
15936 	prefer = T12_.Field0;
15937 	candidates = NIM_NIL;
15938 	candidates = T12_.Field1;
15939 	result = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_300));
15940 	T13_ = NIM_NIL;
15941 	T13_ = describeArgs__sigmatch_384(c, n, ((NI) 1), prefer);
15942 	result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
15943 appendString(result, T13_);
15944 	result = addChar(result, 62);
15945 	{
15946 		NimStringDesc* T18_;
15947 		if (!!(((candidates ? candidates->Sup.len : 0) == 0))) goto LA16_;
15948 		T18_ = NIM_NIL;
15949 		T18_ = rawNewString((candidates ? candidates->Sup.len : 0) + 22);
15950 appendString(T18_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_301));
15951 appendString(T18_, candidates);
15952 		result = resizeString(result, (T18_ ? T18_->Sup.len : 0) + 0);
15953 appendString(result, T18_);
15954 	}
15955 	LA16_: ;
15956 	T19_ = NIM_NIL;
15957 	T20_ = NIM_NIL;
15958 	T20_ = dollar___renderer_2106(n);
15959 	T19_ = rawNewString((result ? result->Sup.len : 0) + (T20_ ? T20_->Sup.len : 0) + 13);
15960 appendString(T19_, result);
15961 appendString(T19_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_302));
15962 appendString(T19_, T20_);
15963 	liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_303, NIM_FALSE);
15964 	}BeforeRet_: ;
15965 }
N_NIMCALL(void,bracketNotFoundError__sem_1937)15966 N_LIB_PRIVATE N_NIMCALL(void, bracketNotFoundError__sem_1937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
15967 	tySequence__0dpGN6F4ocevqUQGsaf41w* errors;
15968 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
15969 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol;
15970 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
15971 	errors = NIM_NIL;
15972 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
15973 	headSymbol = (*n)._kind_6.sons->data[((NI) 0)];
15974 	symx = initOverloadIter__lookups_1374((&o), c, headSymbol);
15975 	{
15976 		while (1) {
15977 			if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
15978 			{
15979 				tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ T7_;
15980 				NI T8_;
15981 				if (!((520192 &((NU32)1<<((NU)((*symx).kind)&31U)))!=0)) goto LA5_;
15982 				nimZeroMem((void*)(&T7_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
15983 				nimZeroMem((void*)(&T7_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
15984 				T7_.sym = symx;
15985 				nimZeroMem((void*)(&T7_.firstMismatch), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
15986 				T7_.diagnostics = NIM_NIL;
15987 				T7_.enabled = NIM_FALSE;
15988 				errors = (tySequence__0dpGN6F4ocevqUQGsaf41w*) incrSeqV3((TGenericSeq*)(errors), (&NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_));
15989 				T8_ = errors->Sup.len++;
15990 				asgnRef((void**) (&errors->data[T8_].sym), T7_.sym);
15991 				errors->data[T8_].firstMismatch.kind = T7_.firstMismatch.kind;
15992 				errors->data[T8_].firstMismatch.arg = T7_.firstMismatch.arg;
15993 				asgnRef((void**) (&errors->data[T8_].firstMismatch.formal), T7_.firstMismatch.formal);
15994 				genericSeqAssign((&errors->data[T8_].diagnostics), T7_.diagnostics, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
15995 				errors->data[T8_].enabled = T7_.enabled;
15996 			}
15997 			LA5_: ;
15998 			symx = nextOverloadIter__lookups_1528((&o), c, headSymbol);
15999 		} LA2: ;
16000 	}
16001 	{
16002 		NI T11_;
16003 		NimStringDesc* T14_;
16004 		NimStringDesc* T15_;
16005 		T11_ = (errors ? errors->Sup.len : 0);
16006 		if (!(T11_ == ((NI) 0))) goto LA12_;
16007 		T14_ = NIM_NIL;
16008 		T15_ = NIM_NIL;
16009 		T15_ = dollar___renderer_2106(n);
16010 		T14_ = rawNewString((T15_ ? T15_->Sup.len : 0) + 19);
16011 appendString(T14_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_264));
16012 appendString(T14_, T15_);
16013 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_265, NIM_FALSE);
16014 	}
16015 	goto LA9_;
16016 	LA12_: ;
16017 	{
16018 		notFoundError__sem_1922(c, n, errors);
16019 	}
16020 	LA9_: ;
16021 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrGet__sem_15315)16022 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrGet__sem_15315)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
16023 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16024 	result = NIM_NIL;
16025 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
16026 	{
16027 		NI i;
16028 		NI colontmp_;
16029 		NI i_2;
16030 		i = (NI)0;
16031 		colontmp_ = (NI)0;
16032 		colontmp_ = len__ast_3198(n);
16033 		i_2 = ((NI) 1);
16034 		{
16035 			while (1) {
16036 				if (!(i_2 < colontmp_)) goto LA3;
16037 				i = i_2;
16038 				add__ast_4797(result, (*n)._kind_6.sons->data[i]);
16039 				i_2 += ((NI) 1);
16040 			} LA3: ;
16041 		}
16042 	}
16043 	result = semSubscript__sem_15311(c, result, flags);
16044 	{
16045 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
16046 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T8_;
16047 		if (!(result == 0)) goto LA6_;
16048 		x = copyTree__ast_4431(n);
16049 		T8_ = NIM_NIL;
16050 		T8_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
16051 		asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T8_, (*n).info));
16052 		bracketNotFoundError__sem_1937(c, x);
16053 		result = n;
16054 	}
16055 	LA6_: ;
16056 	return result;
16057 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipAddr__ast_5218)16058 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddr__ast_5218)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16059 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16060 	result = NIM_NIL;
16061 	{
16062 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
16063 		result = (*n)._kind_6.sons->data[((NI) 0)];
16064 	}
16065 	goto LA1_;
16066 	LA3_: ;
16067 	{
16068 		result = n;
16069 	}
16070 	LA1_: ;
16071 	return result;
16072 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrPut__sem_15338)16073 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrPut__sem_15338)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
16074 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16075 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
16076 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
16077 	result = NIM_NIL;
16078 	b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
16079 	T1_ = NIM_NIL;
16080 	T1_ = skipAddr__ast_5218((*n)._kind_6.sons->data[((NI) 1)]);
16081 	add__ast_4797(b, T1_);
16082 	{
16083 		NI i;
16084 		NI colontmp_;
16085 		NI T3_;
16086 		NI i_2;
16087 		i = (NI)0;
16088 		colontmp_ = (NI)0;
16089 		T3_ = (NI)0;
16090 		T3_ = len__ast_3198(n);
16091 		colontmp_ = (NI)(T3_ - ((NI) 1));
16092 		i_2 = ((NI) 2);
16093 		{
16094 			while (1) {
16095 				if (!(i_2 < colontmp_)) goto LA5;
16096 				i = i_2;
16097 				add__ast_4797(b, (*n)._kind_6.sons->data[i]);
16098 				i_2 += ((NI) 1);
16099 			} LA5: ;
16100 		}
16101 	}
16102 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info, ((NI) 2));
16103 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), b);
16104 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), lastSon__ast_4832(n));
16105 	result = semAsgn__sem_15307(c, result, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 1));
16106 	return result;
16107 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAsgnOpr__sem_15367)16108 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgnOpr__sem_15367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16109 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16110 	result = NIM_NIL;
16111 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info, ((NI) 2));
16112 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 1)]);
16113 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), (*n)._kind_6.sons->data[((NI) 2)]);
16114 	result = semAsgn__sem_15307(c, result, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 2));
16115 	return result;
16116 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semShallowCopy__sem_15753)16117 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semShallowCopy__sem_15753)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
16118 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16119 	result = NIM_NIL;
16120 	{
16121 		NI T3_;
16122 		T3_ = (NI)0;
16123 		T3_ = len__ast_3198(n);
16124 		if (!(T3_ == ((NI) 3))) goto LA4_;
16125 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), (*n).info);
16126 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
16127 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 2)]);
16128 		result = semAsgn__sem_15307(c, result, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0));
16129 	}
16130 	goto LA1_;
16131 	LA4_: ;
16132 	{
16133 		result = semDirectOp__sem_511(c, n, flags);
16134 	}
16135 	LA1_: ;
16136 	return result;
16137 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIsPartOf__sem_15375)16138 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIsPartOf__sem_15375)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
16139 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16140 	tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w r;
16141 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T1_;
16142 	result = NIM_NIL;
16143 	r = isPartOf__aliases_129((*n)._kind_6.sons->data[((NI) 1)], (*n)._kind_6.sons->data[((NI) 2)]);
16144 	T1_ = toInt128__types_1378(r);
16145 	result = newIntNodeT__semfold_57(T1_, n, (*c).Sup.idgen, (*c).graph);
16146 	return result;
16147 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,toNode__sem_15428)16148 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toNode__sem_15428)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i) {
16149 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16150 	result = NIM_NIL;
16151 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), i, t);
16152 	return result;
16153 }
N_NIMCALL(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw,parseEnum__sem_15509)16154 N_LIB_PRIVATE N_NIMCALL(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw, parseEnum__sem_15509)(NimStringDesc* s) {
16155 	tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw result;
16156 	NimStringDesc* T1_;
16157 	result = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
16158 	T1_ = NIM_NIL;
16159 	T1_ = nimIdentNormalize__pureZstrutils_105(s);
16160 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_319))) goto LA2_;
16161 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_320))) goto LA3_;
16162 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_321))) goto LA4_;
16163 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_322))) goto LA5_;
16164 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_323))) goto LA6_;
16165 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_324))) goto LA7_;
16166 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_325))) goto LA8_;
16167 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_326))) goto LA9_;
16168 	goto LA10_;
16169 	LA2_: ;
16170 	{
16171 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0);
16172 	}
16173 	goto LA11_;
16174 	LA3_: ;
16175 	{
16176 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1);
16177 	}
16178 	goto LA11_;
16179 	LA4_: ;
16180 	{
16181 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 2);
16182 	}
16183 	goto LA11_;
16184 	LA5_: ;
16185 	{
16186 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 3);
16187 	}
16188 	goto LA11_;
16189 	LA6_: ;
16190 	{
16191 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 4);
16192 	}
16193 	goto LA11_;
16194 	LA7_: ;
16195 	{
16196 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5);
16197 	}
16198 	goto LA11_;
16199 	LA8_: ;
16200 	{
16201 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 6);
16202 	}
16203 	goto LA11_;
16204 	LA9_: ;
16205 	{
16206 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7);
16207 	}
16208 	goto LA11_;
16209 	LA10_: ;
16210 	{
16211 		tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T21_;
16212 		NimStringDesc* T22_;
16213 		T21_ = NIM_NIL;
16214 		T21_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
16215 		(*T21_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
16216 		(*T21_).Sup.Sup.name = "ValueError";
16217 		T22_ = NIM_NIL;
16218 		T22_ = rawNewString((s ? s->Sup.len : 0) + 20);
16219 appendString(T22_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_327));
16220 appendString(T22_, s);
16221 		asgnRef((void**) (&(*T21_).Sup.Sup.message), T22_);
16222 		asgnRef((void**) (&(*T21_).Sup.Sup.parent), ((Exception*) NIM_NIL));
16223 		raiseExceptionEx((Exception*)T21_, "ValueError", "parseEnum", "enumutils.nim", 66);
16224 	}
16225 	LA11_: ;
16226 	return result;
16227 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getTypeDescNode__sem_15447)16228 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getTypeDescNode__sem_15447)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
16229 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16230 	tyObject_TType__facALICuu8zUj0hjvbTLFg* resType;
16231 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
16232 	result = NIM_NIL;
16233 	T1_ = nextTypeId__ast_3151((*c).Sup.idgen);
16234 	resType = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T1_, sym);
16235 	rawAddSon__ast_4288(resType, typ, NIM_TRUE);
16236 	result = toNode__sem_15428(resType, info);
16237 	return result;
16238 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,uninstantiate__sem_15443)16239 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, uninstantiate__sem_15443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
16240 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
16241 	result = NIM_NIL;
16242 	switch ((*t).kind) {
16243 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
16244 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
16245 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
16246 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
16247 	{
16248 		result = t;
16249 	}
16250 	break;
16251 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
16252 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
16253 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
16254 	{
16255 		result = base__types_63(t);
16256 	}
16257 	break;
16258 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
16259 	{
16260 		result = uninstantiate__sem_15443((*t).sons->data[((NI) 1)]);
16261 	}
16262 	break;
16263 	default:
16264 	{
16265 		result = t;
16266 	}
16267 	break;
16268 	}
16269 	return result;
16270 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalTypeTrait__sem_15454)16271 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalTypeTrait__sem_15454)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* traitCall, tyObject_TType__facALICuu8zUj0hjvbTLFg* operand, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* context) {
16272 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16273 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* trait;
16274 	tyObject_TType__facALICuu8zUj0hjvbTLFg* operand_2;
16275 	NimStringDesc* s;
16276 {	result = NIM_NIL;
16277 	trait = (*traitCall)._kind_6.sons->data[((NI) 0)];
16278 	{
16279 		NimStringDesc* argX60gensym4009_;
16280 		if (!!(((*trait).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
16281 		argX60gensym4009_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_305);
16282 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4009_, TM__rF9caJawfOjYTjsgLVUSGFA_305);
16283 	}
16284 	LA3_: ;
16285 	operand_2 = skipTypes__ast_3735(operand, TM__rF9caJawfOjYTjsgLVUSGFA_306);
16286 	{
16287 		NIM_BOOL T7_;
16288 		NIM_BOOL T9_;
16289 		NI T10_;
16290 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
16291 		T7_ = (NIM_BOOL)0;
16292 		T7_ = ((*operand_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
16293 		if (T7_) goto LA8_;
16294 		T9_ = (NIM_BOOL)0;
16295 		T10_ = (NI)0;
16296 		T10_ = len__ast_3198(traitCall);
16297 		T9_ = (((NI) 2) < T10_);
16298 		if (!(T9_)) goto LA11_;
16299 		T12_ = NIM_NIL;
16300 		T12_ = skipTypes__ast_3735((*(*traitCall)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
16301 		T9_ = ((*T12_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
16302 		LA11_: ;
16303 		T7_ = T9_;
16304 		LA8_: ;
16305 		if (!T7_) goto LA13_;
16306 		result = traitCall;
16307 		goto BeforeRet_;
16308 	}
16309 	LA13_: ;
16310 	s = (*(*(*trait)._kind_4.sym).name).s;
16311 	switch (hashString(s) & 15) {
16312 	case 0:
16313 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_311))) goto LA19_;
16314 break;
16315 	case 1:
16316 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_313))) goto LA21_;
16317 break;
16318 	case 3:
16319 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44))) goto LA15_;
16320 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_312))) goto LA20_;
16321 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_316))) goto LA24_;
16322 break;
16323 	case 4:
16324 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_310))) goto LA19_;
16325 break;
16326 	case 5:
16327 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_109))) goto LA17_;
16328 break;
16329 	case 7:
16330 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_309))) goto LA18_;
16331 break;
16332 	case 9:
16333 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_318))) goto LA26_;
16334 break;
16335 	case 10:
16336 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_307))) goto LA15_;
16337 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_317))) goto LA25_;
16338 break;
16339 	case 11:
16340 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_315))) goto LA23_;
16341 break;
16342 	case 13:
16343 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_314))) goto LA22_;
16344 break;
16345 	case 14:
16346 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_308))) goto LA16_;
16347 break;
16348 	}
16349 	goto LA27_;
16350 	LA15_: ;
16351 	{
16352 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T30_;
16353 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
16354 		T30_ = NIM_NIL;
16355 		T30_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 2);
16356 		asgnRef((void**) (&T30_->data[0]), operand_2);
16357 		asgnRef((void**) (&T30_->data[1]), skipTypes__ast_3735((*(*traitCall)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16358 		T31_ = NIM_NIL;
16359 		T31_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57), T30_, (*c).Sup.idgen);
16360 		result = toNode__sem_15428(T31_, (*traitCall).info);
16361 		goto BeforeRet_;
16362 	}
16363 	goto LA28_;
16364 	LA16_: ;
16365 	{
16366 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T33_;
16367 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
16368 		T33_ = NIM_NIL;
16369 		T33_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 2);
16370 		asgnRef((void**) (&T33_->data[0]), operand_2);
16371 		asgnRef((void**) (&T33_->data[1]), skipTypes__ast_3735((*(*traitCall)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16372 		T34_ = NIM_NIL;
16373 		T34_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56), T33_, (*c).Sup.idgen);
16374 		result = toNode__sem_15428(T34_, (*traitCall).info);
16375 		goto BeforeRet_;
16376 	}
16377 	goto LA28_;
16378 	LA17_: ;
16379 	{
16380 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T36_;
16381 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
16382 		T36_ = NIM_NIL;
16383 		T36_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
16384 		asgnRef((void**) (&T36_->data[0]), operand_2);
16385 		T37_ = NIM_NIL;
16386 		T37_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58), T36_, (*c).Sup.idgen);
16387 		result = toNode__sem_15428(T37_, (*traitCall).info);
16388 		goto BeforeRet_;
16389 	}
16390 	goto LA28_;
16391 	LA18_: ;
16392 	{
16393 		tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer;
16394 		NimStringDesc* T44_;
16395 		prefer = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5);
16396 		{
16397 			NI T41_;
16398 			NimStringDesc* preferStr;
16399 			T41_ = (NI)0;
16400 			T41_ = len__ast_3198(traitCall);
16401 			if (!(((NI) 2) <= T41_)) goto LA42_;
16402 			preferStr = (*(*traitCall)._kind_6.sons->data[((NI) 2)])._kind_3.strVal;
16403 			prefer = parseEnum__sem_15509(preferStr);
16404 		}
16405 		LA42_: ;
16406 		T44_ = NIM_NIL;
16407 		T44_ = typeToString__types_50(operand_2, prefer);
16408 		result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T44_);
16409 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*(*traitCall)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
16410 		(*result).info = (*traitCall).info;
16411 	}
16412 	goto LA28_;
16413 	LA19_: ;
16414 	{
16415 		NimStringDesc* T46_;
16416 		T46_ = NIM_NIL;
16417 		T46_ = typeToString__types_50(operand_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5));
16418 		result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T46_);
16419 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*(*traitCall)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
16420 		(*result).info = (*traitCall).info;
16421 	}
16422 	goto LA28_;
16423 	LA20_: ;
16424 	{
16425 		NI T48_;
16426 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T49_;
16427 		T48_ = (NI)0;
16428 		T48_ = len__ast_4002(operand_2);
16429 		result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((NI)(T48_ - ((*operand_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))))));
16430 		T49_ = nextTypeId__ast_3151((*c).Sup.idgen);
16431 		asgnRef((void**) (&(*result).typ), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), T49_, context));
16432 		(*result).info = (*traitCall).info;
16433 	}
16434 	goto LA28_;
16435 	LA21_: ;
16436 	{
16437 		tyObject_TType__facALICuu8zUj0hjvbTLFg* arg;
16438 		arg = operand_2;
16439 		switch ((*arg).kind) {
16440 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
16441 		{
16442 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T52_;
16443 			T52_ = NIM_NIL;
16444 			T52_ = base__types_63(arg);
16445 			result = getTypeDescNode__sem_15447(c, T52_, (*operand_2).owner, (*traitCall).info);
16446 		}
16447 		break;
16448 		default:
16449 		{
16450 			tyArray__Re75IspeoxXy2oCZHwcRrA T54_;
16451 			NimStringDesc* T55_;
16452 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T56_;
16453 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T57_;
16454 			nimZeroMem((void*)T54_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
16455 			T54_[0] = toHumanStr__ast_5188((*arg).kind);
16456 			T54_[1] = typeToString__types_50(operand_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
16457 			T55_ = NIM_NIL;
16458 			T55_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_328), T54_, 2);
16459 			liMessage__msgs_1118((*(*c).graph).config, (*traitCall).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T55_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_329, NIM_FALSE);
16460 			T56_ = nextTypeId__ast_3151((*c).Sup.idgen);
16461 			T57_ = NIM_NIL;
16462 			T57_ = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), T56_, context);
16463 			result = toNode__sem_15428(T57_, (*traitCall).info);
16464 		}
16465 		break;
16466 		}
16467 	}
16468 	goto LA28_;
16469 	LA22_: ;
16470 	{
16471 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
16472 		T59_ = NIM_NIL;
16473 		T59_ = uninstantiate__sem_15443(operand_2);
16474 		result = toNode__sem_15428(T59_, (*traitCall).info);
16475 	}
16476 	goto LA28_;
16477 	LA23_: ;
16478 	{
16479 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
16480 		NIM_BOOL complexObj;
16481 		NIM_BOOL T61_;
16482 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T63_;
16483 		t = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_330);
16484 		T61_ = (NIM_BOOL)0;
16485 		T61_ = containsGarbageCollectedRef__types_612(t);
16486 		if (T61_) goto LA62_;
16487 		T61_ = !(((IL64(2147483664) & (*t).flags) == 0));
16488 		LA62_: ;
16489 		complexObj = T61_;
16490 		T63_ = toInt128__types_1378(!(complexObj));
16491 		result = newIntNodeT__semfold_57(T63_, traitCall, (*c).Sup.idgen, (*c).graph);
16492 	}
16493 	goto LA28_;
16494 	LA24_: ;
16495 	{
16496 		tyObject_TType__facALICuu8zUj0hjvbTLFg* operand_3;
16497 		NIM_BOOL cond;
16498 		NIM_BOOL T65_;
16499 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T67_;
16500 		operand_3 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16501 		T65_ = (NIM_BOOL)0;
16502 		T65_ = ((*operand_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
16503 		if (!(T65_)) goto LA66_;
16504 		T65_ = !(((*operand_3).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
16505 		LA66_: ;
16506 		cond = T65_;
16507 		T67_ = toInt128__types_1378(cond);
16508 		result = newIntNodeT__semfold_57(T67_, traitCall, (*c).Sup.idgen, (*c).graph);
16509 	}
16510 	goto LA28_;
16511 	LA25_: ;
16512 	{
16513 		tyObject_TType__facALICuu8zUj0hjvbTLFg* operand_4;
16514 		NI T69_;
16515 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T70_;
16516 		operand_4 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16517 		T69_ = (NI)0;
16518 		T69_ = len__ast_4002(operand_4);
16519 		T70_ = toInt128__types_1378(T69_);
16520 		result = newIntNodeT__semfold_57(T70_, traitCall, (*c).Sup.idgen, (*c).graph);
16521 	}
16522 	goto LA28_;
16523 	LA26_: ;
16524 	{
16525 		tyObject_TType__facALICuu8zUj0hjvbTLFg* arg_2;
16526 		NIM_BOOL rec;
16527 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T72_;
16528 		arg_2 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16529 		T72_ = NIM_NIL;
16530 		T72_ = semConstExpr__sem_611(c, (*traitCall)._kind_6.sons->data[((NI) 2)]);
16531 		rec = !(((*T72_)._kind_1.intVal == IL64(0)));
16532 		{
16533 			while (1) {
16534 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T75_;
16535 				if (!((*arg_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA74;
16536 				T75_ = NIM_NIL;
16537 				T75_ = base__types_63(arg_2);
16538 				arg_2 = skipTypes__ast_3735(T75_, TM__rF9caJawfOjYTjsgLVUSGFA_332);
16539 				{
16540 					if (!!(rec)) goto LA78_;
16541 					goto LA73;
16542 				}
16543 				LA78_: ;
16544 			} LA74: ;
16545 		} LA73: ;
16546 		result = getTypeDescNode__sem_15447(c, arg_2, (*operand_2).owner, (*traitCall).info);
16547 	}
16548 	goto LA28_;
16549 	LA27_: ;
16550 	{
16551 		NimStringDesc* T81_;
16552 		T81_ = NIM_NIL;
16553 		T81_ = rawNewString((s ? s->Sup.len : 0) + 15);
16554 appendString(T81_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_333));
16555 appendString(T81_, s);
16556 		liMessage__msgs_1118((*(*c).graph).config, (*traitCall).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T81_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_334, NIM_FALSE);
16557 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*traitCall).info);
16558 	}
16559 	LA28_: ;
16560 	}BeforeRet_: ;
16561 	return result;
16562 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTypeTraits__sem_15631)16563 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeTraits__sem_15631)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16564 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16565 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
16566 	result = NIM_NIL;
16567 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
16568 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
16569 	{
16570 		NIM_BOOL T3_;
16571 		NimStringDesc* argX60gensym4046_;
16572 		T3_ = (NIM_BOOL)0;
16573 		T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
16574 		if (!(T3_)) goto LA4_;
16575 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
16576 		LA4_: ;
16577 		if (!!(T3_)) goto LA5_;
16578 		argX60gensym4046_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_304);
16579 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4046_, TM__rF9caJawfOjYTjsgLVUSGFA_304);
16580 	}
16581 	LA5_: ;
16582 	{
16583 		NI T9_;
16584 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
16585 		T9_ = (NI)0;
16586 		T9_ = len__ast_4002(t);
16587 		if (!(((NI) 0) < T9_)) goto LA10_;
16588 		T12_ = NIM_NIL;
16589 		T12_ = getCurrOwner__semdata_315(c);
16590 		result = evalTypeTrait__sem_15454(c, n, t, T12_);
16591 	}
16592 	goto LA7_;
16593 	LA10_: ;
16594 	{
16595 		result = n;
16596 	}
16597 	LA7_: ;
16598 	return result;
16599 }
N_NIMCALL(NI,expectIntLit__sem_15390)16600 N_LIB_PRIVATE N_NIMCALL(NI, expectIntLit__sem_15390)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16601 	NI result;
16602 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
16603 	result = (NI)0;
16604 	x = (*c).semConstExpr(c, n);
16605 	switch ((*x).kind) {
16606 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
16607 	{
16608 		result = ((NI) ((*x)._kind_1.intVal));
16609 	}
16610 	break;
16611 	default:
16612 	{
16613 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_335), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_336, NIM_FALSE);
16614 	}
16615 	break;
16616 	}
16617 	return result;
16618 }
N_INLINE(NI,toLinenumber__msgs_609)16619 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
16620 	NI result;
16621 	result = (NI)0;
16622 	result = ((NI) (info.line));
16623 	return result;
16624 }
N_INLINE(NI,toColumn__msgs_612)16625 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
16626 	NI result;
16627 	result = (NI)0;
16628 	result = ((NI) (info.col));
16629 	return result;
16630 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semInstantiationInfo__sem_15397)16631 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInstantiationInfo__sem_15397)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16632 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16633 	NI idx;
16634 	NI useFullPaths;
16635 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
16636 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* filename;
16637 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
16638 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* line;
16639 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
16640 	NI T23_;
16641 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* column;
16642 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
16643 	NI T25_;
16644 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T26_;
16645 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
16646 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T28_;
16647 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
16648 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T30_;
16649 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
16650 	result = NIM_NIL;
16651 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*n).info, (*n).typ);
16652 	idx = expectIntLit__sem_15390(c, (*n)._kind_6.sons->data[((NI) 1)]);
16653 	useFullPaths = expectIntLit__sem_15390(c, (*n)._kind_6.sons->data[((NI) 2)]);
16654 	info = getInfoContext__msgs_516((*(*c).graph).config, idx);
16655 	T1_ = NIM_NIL;
16656 	T1_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
16657 	filename = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*n).info, T1_);
16658 	{
16659 		if (!!((useFullPaths == ((NI) 0)))) goto LA4_;
16660 		asgnRef((void**) (&(*filename)._kind_3.strVal), toFullPath__msgs_538((*(*c).graph).config, info.fileIndex));
16661 	}
16662 	goto LA2_;
16663 	LA4_: ;
16664 	{
16665 		{
16666 			NIM_BOOL T9_;
16667 			T9_ = (NIM_BOOL)0;
16668 			T9_ = (info.fileIndex < ((NI32) 0));
16669 			if (T9_) goto LA10_;
16670 			T9_ = ((*(*c).graph).config == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL));
16671 			LA10_: ;
16672 			if (!T9_) goto LA11_;
16673 			{
16674 				NimStringDesc* T17_;
16675 				if (!(info.fileIndex == ((NI32) -3))) goto LA15_;
16676 				T17_ = NIM_NIL;
16677 				T17_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_337));
16678 				if (T17_) nimGCunrefNoCycle(T17_);
16679 			}
16680 			goto LA13_;
16681 			LA15_: ;
16682 			{
16683 				NimStringDesc* T19_;
16684 				T19_ = NIM_NIL;
16685 				T19_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_338));
16686 				if (T19_) nimGCunrefNoCycle(T19_);
16687 			}
16688 			LA13_: ;
16689 		}
16690 		goto LA7_;
16691 		LA11_: ;
16692 		{
16693 			NimStringDesc* T21_;
16694 			T21_ = NIM_NIL;
16695 			T21_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1((*(*(*c).graph).config).m.fileInfos->data[info.fileIndex].shortName);
16696 			if (T21_) nimGCunrefNoCycle(T21_);
16697 		}
16698 		LA7_: ;
16699 	}
16700 	LA2_: ;
16701 	T22_ = NIM_NIL;
16702 	T22_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
16703 	line = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*n).info, T22_);
16704 	T23_ = (NI)0;
16705 	T23_ = toLinenumber__msgs_609(info);
16706 	(*line)._kind_1.intVal = ((NI64) (T23_));
16707 	T24_ = NIM_NIL;
16708 	T24_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
16709 	column = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*n).info, T24_);
16710 	T25_ = (NI)0;
16711 	T25_ = toColumn__msgs_612(info);
16712 	(*column)._kind_1.intVal = ((NI64) (T25_));
16713 	nimZeroMem((void*)T26_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16714 	T26_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 0)];
16715 	T26_[1] = filename;
16716 	T27_ = NIM_NIL;
16717 	T27_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T26_, 2);
16718 	add__ast_4797(result, T27_);
16719 	nimZeroMem((void*)T28_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16720 	T28_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 1)];
16721 	T28_[1] = line;
16722 	T29_ = NIM_NIL;
16723 	T29_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T28_, 2);
16724 	add__ast_4797(result, T29_);
16725 	nimZeroMem((void*)T30_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16726 	T30_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 2)];
16727 	T30_[1] = column;
16728 	T31_ = NIM_NIL;
16729 	T31_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T30_, 2);
16730 	add__ast_4797(result, T31_);
16731 	return result;
16732 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOrd__sem_15652)16733 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOrd__sem_15652)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16734 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16735 	tyObject_TType__facALICuu8zUj0hjvbTLFg* parType;
16736 	result = NIM_NIL;
16737 	result = n;
16738 	parType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
16739 	{
16740 		NIM_BOOL T3_;
16741 		T3_ = (NIM_BOOL)0;
16742 		T3_ = isOrdinalType__types_299(parType, NIM_TRUE);
16743 		if (!T3_) goto LA4_;
16744 	}
16745 	goto LA1_;
16746 	LA4_: ;
16747 	{
16748 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_340, NIM_FALSE);
16749 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
16750 	}
16751 	LA1_: ;
16752 	return result;
16753 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOf__sem_15757)16754 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOf__sem_15757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16755 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16756 {	result = NIM_NIL;
16757 	{
16758 		NI T3_;
16759 		tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
16760 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
16761 		tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
16762 		tyObject_TType__facALICuu8zUj0hjvbTLFg* y;
16763 		T3_ = (NI)0;
16764 		T3_ = len__ast_3198(n);
16765 		if (!(T3_ == ((NI) 3))) goto LA4_;
16766 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
16767 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 2)], 512));
16768 		a = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
16769 		b = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
16770 		x = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_341);
16771 		y = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_341);
16772 		{
16773 			NIM_BOOL T8_;
16774 			T8_ = (NIM_BOOL)0;
16775 			T8_ = ((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
16776 			if (T8_) goto LA9_;
16777 			T8_ = !(((*y).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
16778 			LA9_: ;
16779 			if (!T8_) goto LA10_;
16780 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_342), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_343, NIM_FALSE);
16781 		}
16782 		goto LA6_;
16783 		LA10_: ;
16784 		{
16785 			NIM_BOOL T13_;
16786 			T13_ = (NIM_BOOL)0;
16787 			T13_ = !(((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
16788 			if (T13_) goto LA14_;
16789 			T13_ = !(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
16790 			LA14_: ;
16791 			if (!T13_) goto LA15_;
16792 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_342), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_344, NIM_FALSE);
16793 		}
16794 		goto LA6_;
16795 		LA15_: ;
16796 		{
16797 			NI diff;
16798 			diff = inheritanceDiff__types_2685(a, b);
16799 			{
16800 				NimStringDesc* T22_;
16801 				if (!(diff <= ((NI) 0))) goto LA20_;
16802 				T22_ = NIM_NIL;
16803 				T22_ = renderTree__renderer_46(n, 0);
16804 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 85), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_345, NIM_FALSE);
16805 				result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
16806 				(*result).info = (*n).info;
16807 				asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16808 				goto BeforeRet_;
16809 			}
16810 			goto LA18_;
16811 			LA20_: ;
16812 			{
16813 				if (!(diff == ((NI) IL64(9223372036854775807)))) goto LA24_;
16814 				{
16815 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
16816 					NimStringDesc* T31_;
16817 					NimStringDesc* T32_;
16818 					T28_ = NIM_NIL;
16819 					T28_ = commonSuperclass__types_2747(a, b);
16820 					if (!(T28_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA29_;
16821 					T31_ = NIM_NIL;
16822 					T31_ = typeToString__types_50(a, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
16823 					T32_ = NIM_NIL;
16824 					T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_346), T31_);
16825 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_347, NIM_FALSE);
16826 				}
16827 				goto LA26_;
16828 				LA29_: ;
16829 				{
16830 					NimStringDesc* T34_;
16831 					T34_ = NIM_NIL;
16832 					T34_ = renderTree__renderer_46(n, 0);
16833 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 86), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_348, NIM_FALSE);
16834 					result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
16835 					(*result).info = (*n).info;
16836 					asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16837 				}
16838 				LA26_: ;
16839 			}
16840 			goto LA18_;
16841 			LA24_: ;
16842 			LA18_: ;
16843 		}
16844 		LA6_: ;
16845 	}
16846 	goto LA1_;
16847 	LA4_: ;
16848 	{
16849 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_349), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_350, NIM_FALSE);
16850 	}
16851 	LA1_: ;
16852 	asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16853 	result = n;
16854 	}BeforeRet_: ;
16855 	return result;
16856 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semLowHigh__sem_14549)16857 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowHigh__sem_14549)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
16858 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16859 	result = NIM_NIL;
16860 	{
16861 		NI T3_;
16862 		NimStringDesc* T6_;
16863 		T3_ = (NI)0;
16864 		T3_ = len__ast_3198(n);
16865 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
16866 		T6_ = NIM_NIL;
16867 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_351), opToStr__sem_14554[(m)- 8]);
16868 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_354, NIM_FALSE);
16869 	}
16870 	goto LA1_;
16871 	LA4_: ;
16872 	{
16873 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
16874 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 512));
16875 		typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_355);
16876 		switch ((*typ).kind) {
16877 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
16878 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
16879 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
16880 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
16881 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
16882 		{
16883 			asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
16884 		}
16885 		break;
16886 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
16887 		{
16888 			asgnRef((void**) (&(*n).typ), (*typ).sons->data[((NI) 0)]);
16889 			{
16890 				NIM_BOOL T12_;
16891 				T12_ = (NIM_BOOL)0;
16892 				T12_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
16893 				if (!(T12_)) goto LA13_;
16894 				T12_ = emptyRange__nimsets_273((*(*(*n).typ).n)._kind_6.sons->data[((NI) 0)], (*(*(*n).typ).n)._kind_6.sons->data[((NI) 1)]);
16895 				LA13_: ;
16896 				if (!T12_) goto LA14_;
16897 				asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
16898 			}
16899 			LA14_: ;
16900 		}
16901 		break;
16902 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
16903 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
16904 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
16905 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
16906 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
16907 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
16908 		{
16909 			asgnRef((void**) (&(*n).typ), skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16910 		}
16911 		break;
16912 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
16913 		{
16914 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
16915 			T18_ = NIM_NIL;
16916 			T18_ = copyTree__ast_4431(n);
16917 			asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T18_));
16918 		}
16919 		break;
16920 		default:
16921 		{
16922 			NimStringDesc* T20_;
16923 			T20_ = NIM_NIL;
16924 			T20_ = rawNewString((opToStr__sem_14554[(m)- 8] ? opToStr__sem_14554[(m)- 8]->Sup.len : 0) + 22);
16925 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_356));
16926 appendString(T20_, opToStr__sem_14554[(m)- 8]);
16927 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_357, NIM_FALSE);
16928 		}
16929 		break;
16930 		}
16931 	}
16932 	LA1_: ;
16933 	result = n;
16934 	return result;
16935 }
N_INLINE(NIM_BOOL,isCompileTimeProc__ast_4683)16936 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
16937 	NIM_BOOL result;
16938 	NIM_BOOL T1_;
16939 	NIM_BOOL T3_;
16940 	result = (NIM_BOOL)0;
16941 	T1_ = (NIM_BOOL)0;
16942 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
16943 	if (T1_) goto LA2_;
16944 	T3_ = (NIM_BOOL)0;
16945 	T3_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
16946 	if (!(T3_)) goto LA4_;
16947 	T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
16948 	LA4_: ;
16949 	T1_ = T3_;
16950 	LA2_: ;
16951 	result = T1_;
16952 	return result;
16953 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBindSym__sem_15658)16954 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindSym__sem_15658)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16955 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16956 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sl;
16957 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* isMixin;
16958 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* id;
16959 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
16960 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
16961 {	result = NIM_NIL;
16962 	result = copyNode__ast_4336(n);
16963 	add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
16964 	sl = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 1)]);
16965 	{
16966 		if (!!(((*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) || (*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21) || (*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA3_;
16967 		liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_358), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_359, NIM_FALSE);
16968 		result = errorNode__semdata_1009(c, n);
16969 		goto BeforeRet_;
16970 	}
16971 	LA3_: ;
16972 	isMixin = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 2)]);
16973 	{
16974 		NIM_BOOL T7_;
16975 		NIM_BOOL T8_;
16976 		T7_ = (NIM_BOOL)0;
16977 		T8_ = (NIM_BOOL)0;
16978 		T8_ = !(((*isMixin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)));
16979 		if (T8_) goto LA9_;
16980 		T8_ = ((*isMixin)._kind_1.intVal < IL64(0));
16981 		LA9_: ;
16982 		T7_ = T8_;
16983 		if (T7_) goto LA10_;
16984 		T7_ = (IL64(2) < (*isMixin)._kind_1.intVal);
16985 		LA10_: ;
16986 		if (!T7_) goto LA11_;
16987 		liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 2)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_360), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_361, NIM_FALSE);
16988 		result = errorNode__semdata_1009(c, n);
16989 		goto BeforeRet_;
16990 	}
16991 	LA11_: ;
16992 	T13_ = NIM_NIL;
16993 	T13_ = getIdent__idents_143((*c).cache, (*sl)._kind_3.strVal);
16994 	id = newIdentNode__ast_3712(T13_, (*n).info);
16995 	s = qualifiedLookUp__lookups_1233(c, id, 2);
16996 	{
16997 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sc;
16998 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA16_;
16999 		sc = symChoice__sem_6586(c, id, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) ((*isMixin)._kind_1.intVal)), NIM_FALSE);
17000 		{
17001 			NIM_BOOL T20_;
17002 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T22_;
17003 			T20_ = (NIM_BOOL)0;
17004 			T20_ = (((NI) 0) < (*c).inStaticContext);
17005 			if (T20_) goto LA21_;
17006 			T22_ = NIM_NIL;
17007 			T22_ = getCurrOwner__semdata_315(c);
17008 			T20_ = isCompileTimeProc__ast_4683(T22_);
17009 			LA21_: ;
17010 			if (!!(T20_)) goto LA23_;
17011 			result = sc;
17012 			goto BeforeRet_;
17013 		}
17014 		LA23_: ;
17015 		add__ast_4797(result, sc);
17016 	}
17017 	goto LA14_;
17018 	LA16_: ;
17019 	{
17020 		errorUndeclaredIdentifier__lookups_1199(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, (*sl)._kind_3.strVal, ((NimStringDesc*) NIM_NIL));
17021 	}
17022 	LA14_: ;
17023 	}BeforeRet_: ;
17024 	return result;
17025 }
N_NIMCALL(void,Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ)17026 static N_NIMCALL(void, Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ)(void* p, NI op) {
17027 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* a;
17028 	a = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*)p;
17029 	nimGCvisit((void*)(*a).c1, op);
17030 	nimGCvisit((void*)(*a).scope2, op);
17031 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,opBindSym__sem_15697)17032 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opBindSym__sem_15697)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI isMixin, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* info) {
17033 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17034 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* id;
17035 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* tmpScope;
17036 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
17037 {	result = NIM_NIL;
17038 	{
17039 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA3_;
17040 		liMessage__msgs_1118((*(*c).graph).config, (*info).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_364), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_365, NIM_FALSE);
17041 		result = errorNode__semdata_1009(c, n);
17042 		goto BeforeRet_;
17043 	}
17044 	LA3_: ;
17045 	{
17046 		NIM_BOOL T7_;
17047 		T7_ = (NIM_BOOL)0;
17048 		T7_ = (isMixin < ((NI) 0));
17049 		if (T7_) goto LA8_;
17050 		T7_ = (((NI) 2) < isMixin);
17051 		LA8_: ;
17052 		if (!T7_) goto LA9_;
17053 		liMessage__msgs_1118((*(*c).graph).config, (*info).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_360), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_366, NIM_FALSE);
17054 		result = errorNode__semdata_1009(c, n);
17055 		goto BeforeRet_;
17056 	}
17057 	LA9_: ;
17058 	{
17059 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA13_;
17060 		id = n;
17061 	}
17062 	goto LA11_;
17063 	LA13_: ;
17064 	{
17065 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T16_;
17066 		T16_ = NIM_NIL;
17067 		T16_ = getIdent__idents_143((*c).cache, (*n)._kind_3.strVal);
17068 		id = newIdentNode__ast_3712(T16_, (*info).info);
17069 	}
17070 	LA11_: ;
17071 	tmpScope = (*c).currentScope;
17072 	asgnRef((void**) (&(*c).currentScope), scope);
17073 	s = qualifiedLookUp__lookups_1233(c, id, 2);
17074 	{
17075 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA19_;
17076 		result = symChoice__sem_6586(c, id, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) (isMixin)), NIM_FALSE);
17077 	}
17078 	goto LA17_;
17079 	LA19_: ;
17080 	{
17081 		NimStringDesc* T22_;
17082 		T22_ = NIM_NIL;
17083 		{
17084 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA25_;
17085 			T22_ = copyString((*(*n)._kind_5.ident).s);
17086 		}
17087 		goto LA23_;
17088 		LA25_: ;
17089 		{
17090 			T22_ = copyString((*n)._kind_3.strVal);
17091 		}
17092 		LA23_: ;
17093 		errorUndeclaredIdentifier__lookups_1199(c, (*info).info, T22_, ((NimStringDesc*) NIM_NIL));
17094 	}
17095 	LA17_: ;
17096 	asgnRef((void**) (&(*c).currentScope), tmpScope);
17097 	}BeforeRet_: ;
17098 	return result;
17099 }
N_CLOSURE(void,bindSymWrapper__sem_15736)17100 N_LIB_PRIVATE N_CLOSURE(void, bindSymWrapper__sem_15736)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
17101 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* colonenvP_;
17102 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
17103 	NI64 T2_;
17104 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
17105 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
17106 	colonenvP_ = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*) ClE_0;
17107 	T1_ = NIM_NIL;
17108 	T1_ = getNode__vm_330(a, ((NI) 0));
17109 	T2_ = (NI64)0;
17110 	T2_ = getInt__vm_273(a, ((NI) 1));
17111 	T3_ = NIM_NIL;
17112 	T3_ = getNode__vm_330(a, ((NI) 2));
17113 	T4_ = NIM_NIL;
17114 	T4_ = opBindSym__sem_15697((*colonenvP_).c1, (*colonenvP_).scope2, T1_, ((NI) (T2_)), T3_);
17115 	setResult__vm_246(a, T4_);
17116 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDynamicBindSym__sem_15727)17117 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDynamicBindSym__sem_15727)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17118 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17119 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* colonenv_;
17120 	tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* vm;
17121 	NI idx;
17122 	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T12_;
17123 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idxNode;
17124 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T13_;
17125 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
17126 {	result = NIM_NIL;
17127 	colonenv_ = NIM_NIL;
17128 	colonenv_ = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*) newObj((&NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_), sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg));
17129 	(*colonenv_).Sup.m_type = (&NTIobject__LF0eKAnygFo4etNDdpTetg_);
17130 	asgnRef((void**) (&(*colonenv_).c1), c);
17131 	{
17132 		NIM_BOOL T3_;
17133 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
17134 		T3_ = (NIM_BOOL)0;
17135 		T3_ = (((NI) 0) < (*(*colonenv_).c1).inStaticContext);
17136 		if (T3_) goto LA4_;
17137 		T5_ = NIM_NIL;
17138 		T5_ = getCurrOwner__semdata_315((*colonenv_).c1);
17139 		T3_ = isCompileTimeProc__ast_4683(T5_);
17140 		LA4_: ;
17141 		if (!!(T3_)) goto LA6_;
17142 		result = semBindSym__sem_15658((*colonenv_).c1, n);
17143 		goto BeforeRet_;
17144 	}
17145 	LA6_: ;
17146 	{
17147 		if (!((*(*(*colonenv_).c1).graph).vm == 0)) goto LA10_;
17148 		setupGlobalCtx__vm_13671((*(*colonenv_).c1).module, (*(*colonenv_).c1).graph, (*(*colonenv_).c1).Sup.idgen);
17149 	}
17150 	LA10_: ;
17151 	vm = (*((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw**) (&((*(*(*colonenv_).c1).graph).vm))));
17152 	asgnRef((void**) (&(*colonenv_).scope2), (*(*colonenv_).c1).currentScope);
17153 	nimZeroMem((void*)(&T12_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
17154 	T12_.ClP_0 = bindSymWrapper__sem_15736; T12_.ClE_0 = colonenv_;
17155 	idx = registerCallback__vmdef_433(vm, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_363), T12_);
17156 	nimZeroMem((void*)(&T13_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
17157 	T14_ = NIM_NIL;
17158 	T14_ = getSysType__magicsys_60((*(*colonenv_).c1).graph, T13_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
17159 	idxNode = newIntTypeNode__ast_3783(((NI64) (idx)), T14_);
17160 	result = copyNode__ast_4336(n);
17161 	{
17162 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
17163 		x = NIM_NIL;
17164 		{
17165 			NI i;
17166 			NI colontmp_;
17167 			NI i_2;
17168 			i = (NI)0;
17169 			colontmp_ = (NI)0;
17170 			colontmp_ = safeLen__ast_3191(n);
17171 			i_2 = ((NI) 0);
17172 			{
17173 				while (1) {
17174 					if (!(i_2 < colontmp_)) goto LA18;
17175 					i = i_2;
17176 					x = (*n)._kind_6.sons->data[i];
17177 					add__ast_4797(result, x);
17178 					i_2 += ((NI) 1);
17179 				} LA18: ;
17180 			}
17181 		}
17182 	}
17183 	add__ast_4797(result, n);
17184 	add__ast_4797(result, idxNode);
17185 	}BeforeRet_: ;
17186 	return result;
17187 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,whereToBindTypeHook__sem_12681)17188 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, whereToBindTypeHook__sem_12681)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
17189 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
17190 	result = NIM_NIL;
17191 	result = t;
17192 	{
17193 		while (1) {
17194 			{
17195 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA5_;
17196 				result = lastSon__ast_3743(result);
17197 			}
17198 			goto LA3_;
17199 			LA5_: ;
17200 			{
17201 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA8_;
17202 				result = (*result).sons->data[((NI) 0)];
17203 			}
17204 			goto LA3_;
17205 			LA8_: ;
17206 			{
17207 				goto LA1;
17208 			}
17209 			LA3_: ;
17210 		}
17211 	} LA1: ;
17212 	{
17213 		if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA13_;
17214 		result = canonType__sem_12663(c, result);
17215 	}
17216 	LA13_: ;
17217 	return result;
17218 }
N_NIMCALL(void,Marker_tyRef__s6znTCfmZMSZG9absJgsa1w)17219 static N_NIMCALL(void, Marker_tyRef__s6znTCfmZMSZG9absJgsa1w)(void* p, NI op) {
17220 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* a;
17221 	a = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*)p;
17222 	nimGCvisit((void*)(*a).orig1, op);
17223 }
N_CLOSURE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transform__sem_15878)17224 N_LIB_PRIVATE N_CLOSURE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transform__sem_15878)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* procSym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* old, tyObject_TType__facALICuu8zUj0hjvbTLFg* fresh, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newParam, void* ClE_0) {
17225 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17226 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* colonenvP_;
17227 	result = NIM_NIL;
17228 	colonenvP_ = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*) ClE_0;
17229 	result = shallowCopy__ast_4413(n);
17230 	{
17231 		NIM_BOOL T3_;
17232 		T3_ = (NIM_BOOL)0;
17233 		T3_ = sameTypeOrNil__types_1848((*n).typ, old, 0);
17234 		if (!T3_) goto LA4_;
17235 		asgnRef((void**) (&(*result).typ), fresh);
17236 	}
17237 	LA4_: ;
17238 	{
17239 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
17240 		{
17241 			if (!((*n)._kind_4.sym == oldParam)) goto LA12_;
17242 			asgnRef((void**) (&(*result)._kind_4.sym), newParam);
17243 		}
17244 		goto LA10_;
17245 		LA12_: ;
17246 		{
17247 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
17248 			if (!((*(*n)._kind_4.sym).owner == (*colonenvP_).orig1)) goto LA15_;
17249 			T17_ = nextSymId__ast_3132((*c).Sup.idgen);
17250 			asgnRef((void**) (&(*result)._kind_4.sym), copySym__ast_4054((*n)._kind_4.sym, T17_));
17251 			asgnRef((void**) (&(*(*result)._kind_4.sym).owner), procSym);
17252 		}
17253 		goto LA10_;
17254 		LA15_: ;
17255 		LA10_: ;
17256 	}
17257 	LA8_: ;
17258 	{
17259 		NI i;
17260 		NI colontmp_;
17261 		NI i_2;
17262 		i = (NI)0;
17263 		colontmp_ = (NI)0;
17264 		colontmp_ = safeLen__ast_3191(n);
17265 		i_2 = ((NI) 0);
17266 		{
17267 			while (1) {
17268 				tyProc__9aCo26f5IRYbBmS07lBztwA T21_;
17269 				if (!(i_2 < colontmp_)) goto LA20;
17270 				i = i_2;
17271 				nimZeroMem((void*)(&T21_), sizeof(tyProc__9aCo26f5IRYbBmS07lBztwA));
17272 				T21_.ClP_0 = transform__sem_15878; T21_.ClE_0 = colonenvP_;
17273 				asgnRef((void**) (&(*result)._kind_6.sons->data[i]), T21_.ClE_0? T21_.ClP_0(c, procSym, (*n)._kind_6.sons->data[i], old, fresh, oldParam, newParam, T21_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_375)(T21_.ClP_0))(c, procSym, (*n)._kind_6.sons->data[i], old, fresh, oldParam, newParam));
17274 				i_2 += ((NI) 1);
17275 			} LA20: ;
17276 		}
17277 	}
17278 	return result;
17279 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,turnFinalizerIntoDestructor__sem_15873)17280 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, turnFinalizerIntoDestructor__sem_15873)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
17281 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
17282 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* colonenv_;
17283 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
17284 	tyObject_TType__facALICuu8zUj0hjvbTLFg* origParamType;
17285 	tyObject_TType__facALICuu8zUj0hjvbTLFg* newParamType;
17286 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
17287 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam;
17288 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newParam;
17289 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T3_;
17290 	tyProc__9aCo26f5IRYbBmS07lBztwA T4_;
17291 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T5_;
17292 	result = NIM_NIL;
17293 	colonenv_ = NIM_NIL;
17294 	colonenv_ = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*) newObj((&NTIrefobject__s6znTCfmZMSZG9absJgsa1w_), sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw));
17295 	(*colonenv_).Sup.m_type = (&NTIobject__irrxU9bX4WBQP9bu3Q627FYw_);
17296 	asgnRef((void**) (&(*colonenv_).orig1), orig);
17297 	T1_ = nextSymId__ast_3132((*c).Sup.idgen);
17298 	result = copySym__ast_4054((*colonenv_).orig1, T1_);
17299 	(*result).info = info;
17300 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
17301 	asgnRef((void**) (&(*result).owner), (*colonenv_).orig1);
17302 	origParamType = (*(*(*colonenv_).orig1).typ).sons->data[((NI) 1)];
17303 	T2_ = NIM_NIL;
17304 	T2_ = skipTypes__ast_3735(origParamType, TM__rF9caJawfOjYTjsgLVUSGFA_97);
17305 	newParamType = makeVarType__semdata_775(result, T2_, (*c).Sup.idgen, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
17306 	oldParam = (*(*(*(*(*colonenv_).orig1).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
17307 	T3_ = nextSymId__ast_3132((*c).Sup.idgen);
17308 	newParam = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), (*oldParam).name, T3_, result, (*result).info, 0);
17309 	asgnRef((void**) (&(*newParam).typ), newParamType);
17310 	nimZeroMem((void*)(&T4_), sizeof(tyProc__9aCo26f5IRYbBmS07lBztwA));
17311 	T4_.ClP_0 = transform__sem_15878; T4_.ClE_0 = colonenv_;
17312 	asgnRef((void**) (&(*result).ast), T4_.ClE_0? T4_.ClP_0(c, result, (*(*colonenv_).orig1).ast, origParamType, newParamType, oldParam, newParam, T4_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_376)(T4_.ClP_0))(c, result, (*(*colonenv_).orig1).ast, origParamType, newParamType, oldParam, newParam));
17313 	T5_ = nextTypeId__ast_3151((*c).Sup.idgen);
17314 	asgnRef((void**) (&(*result).typ), newProcType__ast_5056((*result).info, T5_, result));
17315 	addParam__ast_5065((*result).typ, newParam);
17316 	return result;
17317 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,unownedType__sem_15813)17318 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, unownedType__sem_15813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
17319 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
17320 	result = NIM_NIL;
17321 	switch ((*t).kind) {
17322 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
17323 	{
17324 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* elems;
17325 		NI T2_;
17326 		NIM_BOOL someChange;
17327 		T2_ = (NI)0;
17328 		T2_ = len__ast_4002(t);
17329 		elems = newSeq__modulegraphs_2893(((NI) (T2_)));
17330 		someChange = NIM_FALSE;
17331 		{
17332 			NI i;
17333 			NI colontmp_;
17334 			NI i_2;
17335 			i = (NI)0;
17336 			colontmp_ = (NI)0;
17337 			colontmp_ = len__ast_4002(t);
17338 			i_2 = ((NI) 0);
17339 			{
17340 				while (1) {
17341 					if (!(i_2 < colontmp_)) goto LA5;
17342 					i = i_2;
17343 					asgnRef((void**) (&elems->data[i]), unownedType__sem_15813(c, (*t).sons->data[i]));
17344 					{
17345 						if (!!((elems->data[i] == (*t).sons->data[i]))) goto LA8_;
17346 						someChange = NIM_TRUE;
17347 					}
17348 					LA8_: ;
17349 					i_2 += ((NI) 1);
17350 				} LA5: ;
17351 			}
17352 		}
17353 		{
17354 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
17355 			if (!someChange) goto LA12_;
17356 			T14_ = nextTypeId__ast_3151((*c).Sup.idgen);
17357 			result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), T14_, (*t).owner);
17358 			{
17359 				tyObject_TType__facALICuu8zUj0hjvbTLFg** e;
17360 				NI i_3;
17361 				NI L;
17362 				NI T16_;
17363 				e = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
17364 				i_3 = ((NI) 0);
17365 				T16_ = (elems ? elems->Sup.len : 0);
17366 				L = T16_;
17367 				{
17368 					while (1) {
17369 						if (!(i_3 < L)) goto LA18;
17370 						e = &elems->data[i_3];
17371 						rawAddSon__ast_4288(result, (*e), NIM_TRUE);
17372 						i_3 += ((NI) 1);
17373 					} LA18: ;
17374 				}
17375 			}
17376 		}
17377 		goto LA10_;
17378 		LA12_: ;
17379 		{
17380 			result = t;
17381 		}
17382 		LA10_: ;
17383 	}
17384 	break;
17385 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
17386 	{
17387 		result = (*t).sons->data[((NI) 0)];
17388 	}
17389 	break;
17390 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
17391 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
17392 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
17393 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
17394 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
17395 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
17396 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
17397 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
17398 	{
17399 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
17400 		NI T22_;
17401 		T22_ = (NI)0;
17402 		T22_ = len__ast_4002(t);
17403 		b = unownedType__sem_15813(c, (*t).sons->data[(NI)(T22_ - ((NI) 1))]);
17404 		{
17405 			NI T25_;
17406 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T28_;
17407 			NI T29_;
17408 			T25_ = (NI)0;
17409 			T25_ = len__ast_4002(t);
17410 			if (!!((b == (*t).sons->data[(NI)(T25_ - ((NI) 1))]))) goto LA26_;
17411 			T28_ = nextTypeId__ast_3151((*c).Sup.idgen);
17412 			result = copyType__ast_4046(t, T28_, (*t).owner);
17413 			copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), result, t);
17414 			T29_ = (NI)0;
17415 			T29_ = len__ast_4002(result);
17416 			asgnRef((void**) (&(*result).sons->data[(NI)(T29_ - ((NI) 1))]), b);
17417 			(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63));
17418 		}
17419 		goto LA23_;
17420 		LA26_: ;
17421 		{
17422 			result = t;
17423 		}
17424 		LA23_: ;
17425 	}
17426 	break;
17427 	default:
17428 	{
17429 		result = t;
17430 	}
17431 	break;
17432 	}
17433 	return result;
17434 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semUnown__sem_15809)17435 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUnown__sem_15809)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17436 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17437 	result = NIM_NIL;
17438 	result = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 1)]);
17439 	asgnRef((void**) (&(*result).typ), unownedType__sem_15813(c, (*result).typ));
17440 	return result;
17441 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semQuantifier__sem_15916)17442 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuantifier__sem_15916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17443 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17444 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
17445 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* args;
17446 	NI T26_;
17447 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
17448 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
17449 	result = NIM_NIL;
17450 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
17451 	T1_ = NIM_NIL;
17452 	T1_ = openScope__lookups_69(c);
17453 	result = newNodeIT__ast_3378((*n).kind, (*n).info, (*n).typ);
17454 	add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
17455 	args = (*n)._kind_6.sons->data[((NI) 1)];
17456 	{
17457 		NI i;
17458 		NI colontmp_;
17459 		NI T3_;
17460 		NI res;
17461 		i = (NI)0;
17462 		colontmp_ = (NI)0;
17463 		T3_ = (NI)0;
17464 		T3_ = len__ast_3198(args);
17465 		colontmp_ = (NI)(T3_ - ((NI) 2));
17466 		res = ((NI) 0);
17467 		{
17468 			while (1) {
17469 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
17470 				NIM_BOOL valid;
17471 				if (!(res <= colontmp_)) goto LA5;
17472 				i = res;
17473 				it = (*args)._kind_6.sons->data[i];
17474 				valid = NIM_FALSE;
17475 				{
17476 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* op;
17477 					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA8_;
17478 					op = considerQuotedIdent__lookups_28(c, (*it)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
17479 					{
17480 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
17481 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* domain;
17482 						tyArray__T6RKPw8xfAeNaoei9aZGzXg T20_;
17483 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
17484 						if (!((*op).id == ((NI) 31))) goto LA12_;
17485 						v = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21), (*it)._kind_6.sons->data[((NI) 1)], c);
17486 						{
17487 							NIM_BOOL T16_;
17488 							T16_ = (NIM_BOOL)0;
17489 							T16_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
17490 							if (!(T16_)) goto LA17_;
17491 							T16_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
17492 							LA17_: ;
17493 							if (!T16_) goto LA18_;
17494 							nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
17495 						}
17496 						LA18_: ;
17497 						domain = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 2)], 2);
17498 						asgnRef((void**) (&(*v).typ), (*domain).typ);
17499 						valid = NIM_TRUE;
17500 						addDecl__lookups_845(c, v);
17501 						nimZeroMem((void*)T20_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
17502 						T20_[0] = (*it)._kind_6.sons->data[((NI) 0)];
17503 						T20_[1] = newSymNode__ast_3716(v);
17504 						T20_[2] = domain;
17505 						T21_ = NIM_NIL;
17506 						T21_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), T20_, 3);
17507 						add__ast_4797(result, T21_);
17508 					}
17509 					LA12_: ;
17510 				}
17511 				LA8_: ;
17512 				{
17513 					if (!!(valid)) goto LA24_;
17514 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_377), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_378, NIM_FALSE);
17515 				}
17516 				LA24_: ;
17517 				res += ((NI) 1);
17518 			} LA5: ;
17519 		}
17520 	}
17521 	T26_ = (NI)0;
17522 	T26_ = len__ast_3198(args);
17523 	T27_ = NIM_NIL;
17524 	T27_ = semExprWithType__sem_56(c, (*args)._kind_6.sons->data[(NI)(T26_ - ((NI) 1))], 0);
17525 	T28_ = NIM_NIL;
17526 	T28_ = forceBool__sem_2869(c, T27_);
17527 	add__ast_4797(result, T28_);
17528 	closeScope__lookups_101(c);
17529 	return result;
17530 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOld__sem_15985)17531 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOld__sem_15985)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17532 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17533 	result = NIM_NIL;
17534 	{
17535 		if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
17536 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]);
17537 	}
17538 	LA3_: ;
17539 	{
17540 		NIM_BOOL T7_;
17541 		T7_ = (NIM_BOOL)0;
17542 		T7_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
17543 		if (T7_) goto LA8_;
17544 		T7_ = !(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
17545 		LA8_: ;
17546 		if (!T7_) goto LA9_;
17547 		liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_379), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_380, NIM_FALSE);
17548 	}
17549 	goto LA5_;
17550 	LA9_: ;
17551 	{
17552 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
17553 		NimStringDesc* T15_;
17554 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T16_;
17555 		T12_ = NIM_NIL;
17556 		T12_ = getCurrOwner__semdata_315(c);
17557 		if (!!(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).owner == T12_))) goto LA13_;
17558 		T15_ = NIM_NIL;
17559 		T16_ = NIM_NIL;
17560 		T16_ = getCurrOwner__semdata_315(c);
17561 		T15_ = rawNewString(((*(*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).name).s ? (*(*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).name).s->Sup.len : 0) + ((*(*T16_).name).s ? (*(*T16_).name).s->Sup.len : 0) + 20);
17562 appendString(T15_, (*(*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).name).s);
17563 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_381));
17564 appendString(T15_, (*(*T16_).name).s);
17565 		liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_382, NIM_FALSE);
17566 	}
17567 	goto LA5_;
17568 	LA13_: ;
17569 	LA5_: ;
17570 	result = n;
17571 	return result;
17572 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPrivateAccess__sem_16015)17573 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPrivateAccess__sem_16015)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17574 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17575 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
17576 	NI T1_;
17577 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
17578 	result = NIM_NIL;
17579 	t = toObjectFromRefPtrGeneric__ast_4890((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).sons->data[((NI) 0)]);
17580 	asgnRef((void**) (&(*(*c).currentScope).allowPrivateAccess), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*(*c).currentScope).allowPrivateAccess), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
17581 	T1_ = (*(*c).currentScope).allowPrivateAccess->Sup.len++;
17582 	asgnRef((void**) (&(*(*c).currentScope).allowPrivateAccess->data[T1_]), (*t).sym);
17583 	T2_ = NIM_NIL;
17584 	T2_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
17585 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info, T2_);
17586 	return result;
17587 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,magicsAfterOverloadResolution__sem_16026)17588 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, magicsAfterOverloadResolution__sem_16026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
17589 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17590 	result = NIM_NIL;
17591 	switch ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
17592 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16):
17593 	{
17594 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
17595 		result = n;
17596 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semAddrArg__sem_15262(c, (*n)._kind_6.sons->data[((NI) 1)], eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_242))));
17597 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 1)]).typ));
17598 	}
17599 	break;
17600 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
17601 	{
17602 		result = semTypeOf__sem_132(c, n);
17603 	}
17604 	break;
17605 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
17606 	{
17607 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4179_;
17608 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4179_;
17609 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4179_;
17610 		NI64 sizeX60gensym4179_;
17611 		configX60gensym4179_ = (*(*c).graph).config;
17612 		nodeX60gensym4179_ = n;
17613 		typX60gensym4179_ = (*(*nodeX60gensym4179_)._kind_6.sons->data[((NI) 1)]).typ;
17614 		computeSizeAlign__types_2924(configX60gensym4179_, typX60gensym4179_);
17615 		sizeX60gensym4179_ = (*typX60gensym4179_).size;
17616 		{
17617 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4179_;
17618 			if (!(IL64(0) <= sizeX60gensym4179_)) goto LA6_;
17619 			resX60gensym4179_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), sizeX60gensym4179_);
17620 			(*resX60gensym4179_).info = (*nodeX60gensym4179_).info;
17621 			asgnRef((void**) (&(*resX60gensym4179_).typ), (*nodeX60gensym4179_).typ);
17622 			result = resX60gensym4179_;
17623 		}
17624 		goto LA4_;
17625 		LA6_: ;
17626 		{
17627 			result = n;
17628 		}
17629 		LA4_: ;
17630 	}
17631 	break;
17632 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11):
17633 	{
17634 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4183_;
17635 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4183_;
17636 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4183_;
17637 		NI16 alignX60gensym4183_;
17638 		configX60gensym4183_ = (*(*c).graph).config;
17639 		nodeX60gensym4183_ = n;
17640 		typX60gensym4183_ = (*(*nodeX60gensym4183_)._kind_6.sons->data[((NI) 1)]).typ;
17641 		computeSizeAlign__types_2924(configX60gensym4183_, typX60gensym4183_);
17642 		alignX60gensym4183_ = (*typX60gensym4183_).align;
17643 		{
17644 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4183_;
17645 			if (!(((NI16) 0) <= alignX60gensym4183_)) goto LA12_;
17646 			resX60gensym4183_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (alignX60gensym4183_)));
17647 			(*resX60gensym4183_).info = (*nodeX60gensym4183_).info;
17648 			asgnRef((void**) (&(*resX60gensym4183_).typ), (*nodeX60gensym4183_).typ);
17649 			result = resX60gensym4183_;
17650 		}
17651 		goto LA10_;
17652 		LA12_: ;
17653 		{
17654 			result = n;
17655 		}
17656 		LA10_: ;
17657 	}
17658 	break;
17659 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12):
17660 	{
17661 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4187_;
17662 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4187_;
17663 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dotExprX60gensym4187_;
17664 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* valueX60gensym4187_;
17665 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* memberX60gensym4187_;
17666 		NI offsetX60gensym4187_;
17667 		configX60gensym4187_ = (*(*c).graph).config;
17668 		nodeX60gensym4187_ = n;
17669 		dotExprX60gensym4187_ = NIM_NIL;
17670 		{
17671 			{
17672 				if (!((*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA19_;
17673 				dotExprX60gensym4187_ = (*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)];
17674 			}
17675 			goto LA17_;
17676 			LA19_: ;
17677 			{
17678 				if (!((*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA22_;
17679 				dotExprX60gensym4187_ = (*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
17680 			}
17681 			goto LA17_;
17682 			LA22_: ;
17683 			{
17684 				liMessage__msgs_1118(configX60gensym4187_, (*nodeX60gensym4187_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_245), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_246, NIM_FALSE);
17685 			}
17686 			LA17_: ;
17687 		}
17688 		valueX60gensym4187_ = (*dotExprX60gensym4187_)._kind_6.sons->data[((NI) 0)];
17689 		memberX60gensym4187_ = (*dotExprX60gensym4187_)._kind_6.sons->data[((NI) 1)];
17690 		computeSizeAlign__types_2924(configX60gensym4187_, (*valueX60gensym4187_).typ);
17691 		offsetX60gensym4187_ = (*(*memberX60gensym4187_)._kind_4.sym).offset;
17692 		{
17693 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym4187_;
17694 			if (!(((NI) 0) <= offsetX60gensym4187_)) goto LA27_;
17695 			tmpX60gensym4187_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (offsetX60gensym4187_)));
17696 			(*tmpX60gensym4187_).info = (*nodeX60gensym4187_).info;
17697 			asgnRef((void**) (&(*tmpX60gensym4187_).typ), (*nodeX60gensym4187_).typ);
17698 			result = tmpX60gensym4187_;
17699 		}
17700 		goto LA25_;
17701 		LA27_: ;
17702 		{
17703 			result = n;
17704 		}
17705 		LA25_: ;
17706 	}
17707 	break;
17708 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5):
17709 	{
17710 		result = semArrGet__sem_15315(c, n, flags);
17711 	}
17712 	break;
17713 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6):
17714 	{
17715 		result = semArrPut__sem_15338(c, n, flags);
17716 	}
17717 	break;
17718 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 7):
17719 	{
17720 		{
17721 			if (!eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178))) goto LA35_;
17722 			result = semAsgnOpr__sem_15367(c, n);
17723 		}
17724 		goto LA33_;
17725 		LA35_: ;
17726 		{
17727 			result = semShallowCopy__sem_15753(c, n, flags);
17728 		}
17729 		LA33_: ;
17730 	}
17731 	break;
17732 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 139):
17733 	{
17734 		result = semIsPartOf__sem_15375(c, n, flags);
17735 	}
17736 	break;
17737 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 13):
17738 	{
17739 		result = semTypeTraits__sem_15631(c, n);
17740 	}
17741 	break;
17742 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 140):
17743 	{
17744 		NimStringDesc* T41_;
17745 		T41_ = NIM_NIL;
17746 		T41_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 1)], 4);
17747 		result = newStrNodeT__semfold_76(T41_, n, (*c).graph);
17748 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
17749 	}
17750 	break;
17751 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 260):
17752 	{
17753 		result = semInstantiationInfo__sem_15397(c, n);
17754 	}
17755 	break;
17756 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
17757 	{
17758 		result = semOrd__sem_15652(c, n);
17759 	}
17760 	break;
17761 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
17762 	{
17763 		result = semOf__sem_15757(c, n);
17764 	}
17765 	break;
17766 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
17767 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 8):
17768 	{
17769 		result = semLowHigh__sem_14549(c, n, (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic);
17770 	}
17771 	break;
17772 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 21):
17773 	{
17774 		result = semShallowCopy__sem_15753(c, n, flags);
17775 	}
17776 	break;
17777 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250):
17778 	{
17779 		{
17780 			if (!!((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 6))&31U)))!=0))) goto LA50_;
17781 			result = semBindSym__sem_15658(c, n);
17782 		}
17783 		goto LA48_;
17784 		LA50_: ;
17785 		{
17786 			result = semDynamicBindSym__sem_15727(c, n);
17787 		}
17788 		LA48_: ;
17789 	}
17790 	break;
17791 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 203):
17792 	{
17793 		result = n;
17794 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
17795 	}
17796 	break;
17797 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
17798 	{
17799 		result = n;
17800 	}
17801 	break;
17802 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 19):
17803 	{
17804 		tyProc__RcJNn9bSvWdJgUmA1O6sbHA plugin;
17805 		plugin = getPlugin__pluginsZactive_25((*c).cache, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
17806 		{
17807 			NimStringDesc* T60_;
17808 			if (!(plugin == 0)) goto LA58_;
17809 			T60_ = NIM_NIL;
17810 			T60_ = rawNewString(((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s ? (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s->Sup.len : 0) + 19);
17811 appendString(T60_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_367));
17812 appendString(T60_, (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
17813 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T60_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_368, NIM_FALSE);
17814 			result = n;
17815 		}
17816 		goto LA56_;
17817 		LA58_: ;
17818 		{
17819 			result = plugin(c, n);
17820 		}
17821 		LA56_: ;
17822 	}
17823 	break;
17824 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
17825 	{
17826 		{
17827 			NIM_BOOL T65_;
17828 			NI T66_;
17829 			NI T68_;
17830 			T65_ = (NIM_BOOL)0;
17831 			T66_ = (NI)0;
17832 			T66_ = len__ast_3198(n);
17833 			T65_ = ((*(*n)._kind_6.sons->data[(NI)(T66_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
17834 			if (!(T65_)) goto LA67_;
17835 			T68_ = (NI)0;
17836 			T68_ = len__ast_3198(n);
17837 			T65_ = !(((12288 &((NU32)1<<((NU)((*(*(*n)._kind_6.sons->data[(NI)(T68_ - ((NI) 1))])._kind_4.sym).kind)&31U)))!=0));
17838 			LA67_: ;
17839 			if (!T65_) goto LA69_;
17840 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_369), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_370, NIM_FALSE);
17841 		}
17842 		goto LA63_;
17843 		LA69_: ;
17844 		{
17845 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nfin;
17846 			NI T74_;
17847 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fin;
17848 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA72_;
17849 			T74_ = (NI)0;
17850 			T74_ = len__ast_3198(n);
17851 			nfin = skipConvCastAndClosure__astalgo_114((*n)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))]);
17852 			switch ((*nfin).kind) {
17853 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
17854 			{
17855 				fin = (*nfin)._kind_4.sym;
17856 			}
17857 			break;
17858 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
17859 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
17860 			{
17861 				fin = (*(*nfin)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
17862 			}
17863 			break;
17864 			default:
17865 			{
17866 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_369), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_371, NIM_FALSE);
17867 				fin = NIM_NIL;
17868 			}
17869 			break;
17870 			}
17871 			{
17872 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
17873 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T86_;
17874 				if (!!((fin == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA80_;
17875 				{
17876 					if (!!(((12288 &((NU32)1<<((NU)((*fin).kind)&31U)))!=0))) goto LA84_;
17877 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_369), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_372, NIM_FALSE);
17878 				}
17879 				LA84_: ;
17880 				T86_ = NIM_NIL;
17881 				T86_ = skipTypes__ast_3735((*(*fin).typ).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_373);
17882 				t = whereToBindTypeHook__sem_12681(c, T86_);
17883 				{
17884 					NIM_BOOL T89_;
17885 					NIM_BOOL T90_;
17886 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T92_;
17887 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T94_;
17888 					T89_ = (NIM_BOOL)0;
17889 					T90_ = (NIM_BOOL)0;
17890 					T90_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
17891 					if (!(T90_)) goto LA91_;
17892 					T92_ = NIM_NIL;
17893 					T92_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17894 					T90_ = !((T92_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
17895 					LA91_: ;
17896 					T89_ = T90_;
17897 					if (!(T89_)) goto LA93_;
17898 					T94_ = NIM_NIL;
17899 					T94_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17900 					T89_ = ((*T94_).owner == fin);
17901 					LA93_: ;
17902 					if (!T89_) goto LA95_;
17903 				}
17904 				goto LA87_;
17905 				LA95_: ;
17906 				{
17907 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T98_;
17908 					T98_ = NIM_NIL;
17909 					T98_ = turnFinalizerIntoDestructor__sem_15873(c, fin, (*n).info);
17910 					bindTypeHook__sem_12701(c, T98_, n, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17911 				}
17912 				LA87_: ;
17913 			}
17914 			LA80_: ;
17915 		}
17916 		goto LA63_;
17917 		LA72_: ;
17918 		LA63_: ;
17919 		result = n;
17920 	}
17921 	break;
17922 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
17923 	{
17924 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
17925 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
17926 		result = n;
17927 		t_2 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
17928 		op = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17929 		{
17930 			if (!!((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA102_;
17931 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op));
17932 		}
17933 		LA102_: ;
17934 	}
17935 	break;
17936 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
17937 	{
17938 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_3;
17939 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op_2;
17940 		result = n;
17941 		t_3 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
17942 		op_2 = getAttachedOp__modulegraphs_4011((*c).graph, t_3, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3));
17943 		{
17944 			if (!!((op_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA107_;
17945 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op_2));
17946 		}
17947 		LA107_: ;
17948 	}
17949 	break;
17950 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
17951 	{
17952 		result = semUnown__sem_15809(c, n);
17953 	}
17954 	break;
17955 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 113):
17956 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 114):
17957 	{
17958 		result = semQuantifier__sem_15916(c, n);
17959 	}
17960 	break;
17961 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 115):
17962 	{
17963 		result = semOld__sem_15985(c, n);
17964 	}
17965 	break;
17966 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
17967 	{
17968 		tyObject_TType__facALICuu8zUj0hjvbTLFg* seqType;
17969 		result = n;
17970 		seqType = skipTypes__ast_3735((*(*result)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_383);
17971 		{
17972 			NIM_BOOL T115_;
17973 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T117_;
17974 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T120_;
17975 			NimStringDesc* T121_;
17976 			T115_ = (NIM_BOOL)0;
17977 			T115_ = ((*seqType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
17978 			if (!(T115_)) goto LA116_;
17979 			T117_ = NIM_NIL;
17980 			T117_ = base__types_63(seqType);
17981 			T115_ = requiresInit__typeallowed_578(T117_);
17982 			LA116_: ;
17983 			if (!T115_) goto LA118_;
17984 			T120_ = NIM_NIL;
17985 			T120_ = base__types_63(seqType);
17986 			T121_ = NIM_NIL;
17987 			T121_ = typeToString__types_50(T120_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
17988 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 39), T121_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_384, NIM_FALSE);
17989 		}
17990 		LA118_: ;
17991 	}
17992 	break;
17993 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
17994 	{
17995 		tyObject_TType__facALICuu8zUj0hjvbTLFg* constructed;
17996 		result = n;
17997 		{
17998 			NimStringDesc* argX60gensym4250_;
17999 			if (!!(((*(*(*result)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA125_;
18000 			argX60gensym4250_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_385);
18001 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4250_, TM__rF9caJawfOjYTjsgLVUSGFA_385);
18002 		}
18003 		LA125_: ;
18004 		constructed = base__types_63((*(*result)._kind_6.sons->data[((NI) 1)]).typ);
18005 		{
18006 			NIM_BOOL T129_;
18007 			NimStringDesc* T132_;
18008 			T129_ = (NIM_BOOL)0;
18009 			T129_ = requiresInit__typeallowed_578(constructed);
18010 			if (!T129_) goto LA130_;
18011 			T132_ = NIM_NIL;
18012 			T132_ = typeToString__types_50(constructed, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18013 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 40), T132_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_386, NIM_FALSE);
18014 		}
18015 		LA130_: ;
18016 	}
18017 	break;
18018 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
18019 	{
18020 		{
18021 			NIM_BOOL T136_;
18022 			NimStringDesc* T139_;
18023 			NimStringDesc* T140_;
18024 			T136_ = (NIM_BOOL)0;
18025 			T136_ = checkIsolate__isolation95check_112((*n)._kind_6.sons->data[((NI) 1)]);
18026 			if (!!(T136_)) goto LA137_;
18027 			T139_ = NIM_NIL;
18028 			T140_ = NIM_NIL;
18029 			T140_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
18030 			T139_ = rawNewString((T140_ ? T140_->Sup.len : 0) + 31);
18031 appendString(T139_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_387));
18032 appendString(T139_, T140_);
18033 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T139_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_388, NIM_FALSE);
18034 		}
18035 		LA137_: ;
18036 		result = n;
18037 	}
18038 	break;
18039 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
18040 	{
18041 		{
18042 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T144_;
18043 			T144_ = NIM_NIL;
18044 			T144_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
18045 			if (!((*T144_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T144_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA145_;
18046 			(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic = ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66);
18047 		}
18048 		LA145_: ;
18049 		result = n;
18050 	}
18051 	break;
18052 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 275):
18053 	{
18054 		result = semPrivateAccess__sem_16015(c, n);
18055 	}
18056 	break;
18057 	default:
18058 	{
18059 		result = n;
18060 	}
18061 	break;
18062 	}
18063 	return result;
18064 }
N_NIMCALL(NIM_BOOL,hasCycle__sem_548)18065 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCycle__sem_548)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18066 	NIM_BOOL result;
18067 	result = (NIM_BOOL)0;
18068 	(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0)) & 31);
18069 	{
18070 		NI i;
18071 		NI colontmp_;
18072 		NI i_2;
18073 		i = (NI)0;
18074 		colontmp_ = (NI)0;
18075 		colontmp_ = safeLen__ast_3191(n);
18076 		i_2 = ((NI) 0);
18077 		{
18078 			while (1) {
18079 				if (!(i_2 < colontmp_)) goto LA3;
18080 				i = i_2;
18081 				{
18082 					NIM_BOOL T6_;
18083 					T6_ = (NIM_BOOL)0;
18084 					T6_ = (((*(*n)._kind_6.sons->data[i]).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0))&31U)))!=0);
18085 					if (T6_) goto LA7_;
18086 					T6_ = hasCycle__sem_548((*n)._kind_6.sons->data[i]);
18087 					LA7_: ;
18088 					if (!T6_) goto LA8_;
18089 					result = NIM_TRUE;
18090 					goto LA1;
18091 				}
18092 				LA8_: ;
18093 				i_2 += ((NI) 1);
18094 			} LA3: ;
18095 		}
18096 	} LA1: ;
18097 	(*n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0)) & 31));
18098 	return result;
18099 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fixupTypeAfterEval__sem_570)18100 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fixupTypeAfterEval__sem_570)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eOrig) {
18101 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18102 	result = NIM_NIL;
18103 	{
18104 		if (!((*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA3_;
18105 		result = semExprWithType__sem_56(c, evaluated, 0);
18106 	}
18107 	goto LA1_;
18108 	LA3_: ;
18109 	{
18110 		tyObject_TType__facALICuu8zUj0hjvbTLFg* expectedType;
18111 		result = evaluated;
18112 		expectedType = skipTypes__ast_3735((*eOrig).typ, TM__rF9caJawfOjYTjsgLVUSGFA_30);
18113 		{
18114 			NIM_BOOL T8_;
18115 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym48_;
18116 			T8_ = (NIM_BOOL)0;
18117 			T8_ = hasCycle__sem_548(result);
18118 			if (!T8_) goto LA9_;
18119 			n2X60gensym48_ = eOrig;
18120 			liMessage__msgs_1118((*(*c).graph).config, (*n2X60gensym48_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_392), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_393, NIM_FALSE);
18121 			result = errorNode__semdata_1009(c, n2X60gensym48_);
18122 		}
18123 		goto LA6_;
18124 		LA9_: ;
18125 		{
18126 			annotateType__semmacrosanity_69(result, expectedType, (*(*c).graph).config);
18127 		}
18128 		LA6_: ;
18129 	}
18130 	LA1_: ;
18131 	return result;
18132 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalAtCompileTime__sem_117)18133 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalAtCompileTime__sem_117)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18134 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18135 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
18136 {	result = NIM_NIL;
18137 	result = n;
18138 	{
18139 		NIM_BOOL T3_;
18140 		T3_ = (NIM_BOOL)0;
18141 		T3_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32)));
18142 		if (T3_) goto LA4_;
18143 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
18144 		LA4_: ;
18145 		if (!T3_) goto LA5_;
18146 		goto BeforeRet_;
18147 	}
18148 	LA5_: ;
18149 	callee = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18150 	{
18151 		NIM_BOOL T9_;
18152 		T9_ = (NIM_BOOL)0;
18153 		T9_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18154 		if (!(T9_)) goto LA10_;
18155 		T9_ = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0);
18156 		LA10_: ;
18157 		if (!T9_) goto LA11_;
18158 		goto BeforeRet_;
18159 	}
18160 	LA11_: ;
18161 	{
18162 		NIM_BOOL T15_;
18163 		NIM_BOOL T16_;
18164 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
18165 		NIM_BOOL allConst;
18166 		T15_ = (NIM_BOOL)0;
18167 		T16_ = (NIM_BOOL)0;
18168 		T16_ = !(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
18169 		if (!(T16_)) goto LA17_;
18170 		T16_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_389[(NU)((*callee).magic)>>3] &(1U<<((NU)((*callee).magic)&7U)))!=0);
18171 		LA17_: ;
18172 		T15_ = T16_;
18173 		if (!(T15_)) goto LA18_;
18174 		T15_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18175 		LA18_: ;
18176 		if (!T15_) goto LA19_;
18177 		call = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, (*n).typ);
18178 		add__ast_4797(call, (*n)._kind_6.sons->data[((NI) 0)]);
18179 		allConst = NIM_TRUE;
18180 		{
18181 			NI i;
18182 			NI colontmp_;
18183 			NI i_2;
18184 			i = (NI)0;
18185 			colontmp_ = (NI)0;
18186 			colontmp_ = len__ast_3198(n);
18187 			i_2 = ((NI) 1);
18188 			{
18189 				while (1) {
18190 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
18191 					if (!(i_2 < colontmp_)) goto LA23;
18192 					i = i_2;
18193 					a = getConstExpr__semfold_81((*c).module, (*n)._kind_6.sons->data[i], (*c).Sup.idgen, (*c).graph);
18194 					{
18195 						if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA26_;
18196 						allConst = NIM_FALSE;
18197 						a = (*n)._kind_6.sons->data[i];
18198 						{
18199 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA30_;
18200 							a = (*a)._kind_6.sons->data[((NI) 1)];
18201 						}
18202 						LA30_: ;
18203 					}
18204 					LA26_: ;
18205 					add__ast_4797(call, a);
18206 					i_2 += ((NI) 1);
18207 				} LA23: ;
18208 			}
18209 		}
18210 		{
18211 			if (!allConst) goto LA34_;
18212 			result = getConstExpr__semfold_81((*c).module, call, (*c).Sup.idgen, (*c).graph);
18213 			{
18214 				if (!(result == 0)) goto LA38_;
18215 				result = n;
18216 			}
18217 			goto LA36_;
18218 			LA38_: ;
18219 			{
18220 				goto BeforeRet_;
18221 			}
18222 			LA36_: ;
18223 		}
18224 		LA34_: ;
18225 	}
18226 	LA19_: ;
18227 	{
18228 		{
18229 			NI T44_;
18230 			tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T58_;
18231 			T44_ = (NI)0;
18232 			T44_ = len__ast_3198(n);
18233 			if (!(((NI) 1) < T44_)) goto LA45_;
18234 			{
18235 				NI i_3;
18236 				NI colontmp__2;
18237 				NI i_4;
18238 				i_3 = (NI)0;
18239 				colontmp__2 = (NI)0;
18240 				colontmp__2 = len__ast_3198(n);
18241 				i_4 = ((NI) 1);
18242 				{
18243 					while (1) {
18244 						if (!(i_4 < colontmp__2)) goto LA49;
18245 						i_3 = i_4;
18246 						{
18247 							NIM_BOOL T52_;
18248 							NIM_BOOL T53_;
18249 							T52_ = (NIM_BOOL)0;
18250 							T53_ = (NIM_BOOL)0;
18251 							T53_ = ((*(*n)._kind_6.sons->data[i_3]).typ == 0);
18252 							if (T53_) goto LA54_;
18253 							T53_ = !(((*(*(*n)._kind_6.sons->data[i_3]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
18254 							LA54_: ;
18255 							T52_ = T53_;
18256 							if (T52_) goto LA55_;
18257 							T52_ = !((((*(*(*n)._kind_6.sons->data[i_3]).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
18258 							LA55_: ;
18259 							if (!T52_) goto LA56_;
18260 							goto LA41;
18261 						}
18262 						LA56_: ;
18263 						i_4 += ((NI) 1);
18264 					} LA49: ;
18265 				}
18266 			}
18267 			T58_ = NIM_NIL;
18268 			T58_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
18269 			asgnRef((void**) (&T58_->data[0]), (*n).typ);
18270 			asgnRef((void**) (&(*n).typ), newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T58_));
18271 			(*(*n).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
18272 		}
18273 		LA45_: ;
18274 	} LA41: ;
18275 	{
18276 		NIM_BOOL T61_;
18277 		NIM_BOOL T63_;
18278 		NIM_BOOL T64_;
18279 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call_2;
18280 		T61_ = (NIM_BOOL)0;
18281 		T61_ = ((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10));
18282 		if (T61_) goto LA62_;
18283 		T63_ = (NIM_BOOL)0;
18284 		T64_ = (NIM_BOOL)0;
18285 		T64_ = !(((268439552 & (*callee).flags) == 0));
18286 		if (!(T64_)) goto LA65_;
18287 		T64_ = ((80 & (*callee).flags) == 0);
18288 		LA65_: ;
18289 		T63_ = T64_;
18290 		if (!(T63_)) goto LA66_;
18291 		T63_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18292 		LA66_: ;
18293 		T61_ = T63_;
18294 		LA62_: ;
18295 		if (!T61_) goto LA67_;
18296 		{
18297 			NIM_BOOL T71_;
18298 			NIM_BOOL T72_;
18299 			T71_ = (NIM_BOOL)0;
18300 			T72_ = (NIM_BOOL)0;
18301 			T72_ = !(((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10)));
18302 			if (!(T72_)) goto LA73_;
18303 			T72_ = !((((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0));
18304 			LA73_: ;
18305 			T71_ = T72_;
18306 			if (!(T71_)) goto LA74_;
18307 			T71_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 22))&31U)))!=0));
18308 			LA74_: ;
18309 			if (!T71_) goto LA75_;
18310 			goto BeforeRet_;
18311 		}
18312 		LA75_: ;
18313 		{
18314 			if (!!(((TM__rF9caJawfOjYTjsgLVUSGFA_389[(NU)((*callee).magic)>>3] &(1U<<((NU)((*callee).magic)&7U)))!=0))) goto LA79_;
18315 			goto BeforeRet_;
18316 		}
18317 		LA79_: ;
18318 		{
18319 			NIM_BOOL T83_;
18320 			T83_ = (NIM_BOOL)0;
18321 			T83_ = !(((78848 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0));
18322 			if (T83_) goto LA84_;
18323 			T83_ = isGenericRoutine__ast_4646(callee);
18324 			LA84_: ;
18325 			if (!T83_) goto LA85_;
18326 			goto BeforeRet_;
18327 		}
18328 		LA85_: ;
18329 		{
18330 			NIM_BOOL T89_;
18331 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T91_;
18332 			T89_ = (NIM_BOOL)0;
18333 			T89_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18334 			if (!(T89_)) goto LA90_;
18335 			T91_ = NIM_NIL;
18336 			T91_ = typeAllowed__typeallowed_472((*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), c, 0);
18337 			T89_ = !((T91_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18338 			LA90_: ;
18339 			if (!T89_) goto LA92_;
18340 			goto BeforeRet_;
18341 		}
18342 		LA92_: ;
18343 		call_2 = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, (*n).typ);
18344 		add__ast_4797(call_2, (*n)._kind_6.sons->data[((NI) 0)]);
18345 		{
18346 			NI i_5;
18347 			NI colontmp__3;
18348 			NI i_6;
18349 			i_5 = (NI)0;
18350 			colontmp__3 = (NI)0;
18351 			colontmp__3 = len__ast_3198(n);
18352 			i_6 = ((NI) 1);
18353 			{
18354 				while (1) {
18355 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
18356 					if (!(i_6 < colontmp__3)) goto LA96;
18357 					i_5 = i_6;
18358 					a_2 = getConstExpr__semfold_81((*c).module, (*n)._kind_6.sons->data[i_5], (*c).Sup.idgen, (*c).graph);
18359 					{
18360 						if (!(a_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA99_;
18361 						result = n;
18362 						goto BeforeRet_;
18363 					}
18364 					LA99_: ;
18365 					add__ast_4797(call_2, a_2);
18366 					i_6 += ((NI) 1);
18367 				} LA96: ;
18368 			}
18369 		}
18370 		{
18371 			NIM_BOOL T103_;
18372 			T103_ = (NIM_BOOL)0;
18373 			T103_ = ((*c).inStaticContext == ((NI) 0));
18374 			if (T103_) goto LA104_;
18375 			T103_ = (((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 12))&63U)))!=0);
18376 			LA104_: ;
18377 			if (!T103_) goto LA105_;
18378 			{
18379 				if (!(((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA109_;
18380 				result = evalStaticExpr__vm_13752((*c).module, (*c).Sup.idgen, (*c).graph, call_2, (*(*c).p).owner);
18381 				{
18382 					NimStringDesc* T115_;
18383 					NimStringDesc* T116_;
18384 					if (!(result == 0)) goto LA113_;
18385 					T115_ = NIM_NIL;
18386 					T115_ = renderTree__renderer_46(call_2, 0);
18387 					T116_ = NIM_NIL;
18388 					T116_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_390), T115_);
18389 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T116_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_391, NIM_FALSE);
18390 				}
18391 				goto LA111_;
18392 				LA113_: ;
18393 				{
18394 					result = fixupTypeAfterEval__sem_570(c, result, n);
18395 				}
18396 				LA111_: ;
18397 			}
18398 			goto LA107_;
18399 			LA109_: ;
18400 			{
18401 				result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, call_2);
18402 				{
18403 					if (!(result == 0)) goto LA121_;
18404 					result = n;
18405 				}
18406 				goto LA119_;
18407 				LA121_: ;
18408 				{
18409 					result = fixupTypeAfterEval__sem_570(c, result, n);
18410 				}
18411 				LA119_: ;
18412 			}
18413 			LA107_: ;
18414 		}
18415 		goto LA101_;
18416 		LA105_: ;
18417 		{
18418 			result = n;
18419 		}
18420 		LA101_: ;
18421 	}
18422 	LA67_: ;
18423 	}BeforeRet_: ;
18424 	return result;
18425 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,afterCallActions__sem_16520)18426 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, afterCallActions__sem_16520)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
18427 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18428 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
18429 {	result = NIM_NIL;
18430 	{
18431 		NIM_BOOL T3_;
18432 		NIM_BOOL T4_;
18433 		T3_ = (NIM_BOOL)0;
18434 		T4_ = (NIM_BOOL)0;
18435 		T4_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&31U)))!=0));
18436 		if (!(T4_)) goto LA5_;
18437 		T4_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18438 		LA5_: ;
18439 		T3_ = T4_;
18440 		if (!(T3_)) goto LA6_;
18441 		T3_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
18442 		LA6_: ;
18443 		if (!T3_) goto LA7_;
18444 		result = errorNode__semdata_1009(c, n);
18445 		goto BeforeRet_;
18446 	}
18447 	LA7_: ;
18448 	result = n;
18449 	callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18450 	switch ((*callee).kind) {
18451 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
18452 	{
18453 		result = semMacroExpr__sem_524(c, result, orig, callee, flags);
18454 	}
18455 	break;
18456 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
18457 	{
18458 		result = semTemplateExpr__sem_519(c, result, callee, flags);
18459 	}
18460 	break;
18461 	default:
18462 	{
18463 		semFinishOperands__sigmatch_4162(c, result);
18464 		activate__sem_108(c, result);
18465 		fixAbstractType__sem_14966(c, result);
18466 		analyseIfAddressTakenInCall__sem_15142(c, result);
18467 		{
18468 			if (!!(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA14_;
18469 			result = magicsAfterOverloadResolution__sem_16026(c, result, flags);
18470 		}
18471 		LA14_: ;
18472 	}
18473 	break;
18474 	}
18475 	{
18476 		if (!((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))) goto LA18_;
18477 		result = evalAtCompileTime__sem_117(c, result);
18478 	}
18479 	LA18_: ;
18480 	}BeforeRet_: ;
18481 	return result;
18482 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDirectOp__sem_511)18483 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDirectOp__sem_511)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
18484 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18485 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
18486 	result = NIM_NIL;
18487 	nOrig = copyTree__ast_4431(n);
18488 	result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
18489 	{
18490 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
18491 		result = afterCallActions__sem_16520(c, result, nOrig, flags);
18492 	}
18493 	goto LA1_;
18494 	LA3_: ;
18495 	{
18496 		result = errorNode__semdata_1009(c, n);
18497 	}
18498 	LA1_: ;
18499 	return result;
18500 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalPattern__sem_671)18501 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalPattern__sem_671)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
18502 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18503 	NimStringDesc* rule;
18504 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
18505 	result = NIM_NIL;
18506 	{
18507 		NIM_BOOL T3_;
18508 		NimStringDesc* argX60gensym82_;
18509 		T3_ = (NIM_BOOL)0;
18510 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27));
18511 		if (!(T3_)) goto LA4_;
18512 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
18513 		LA4_: ;
18514 		if (!!(T3_)) goto LA5_;
18515 		argX60gensym82_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_227);
18516 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym82_, TM__rF9caJawfOjYTjsgLVUSGFA_227);
18517 	}
18518 	LA5_: ;
18519 	rule = NIM_NIL;
18520 	{
18521 		NIM_BOOL T9_;
18522 		T9_ = (NIM_BOOL)0;
18523 		T9_ = hasHint__options_517((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 88));
18524 		if (!T9_) goto LA10_;
18525 		rule = renderTree__renderer_46(n, 4);
18526 	}
18527 	LA10_: ;
18528 	s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18529 	switch ((*s).kind) {
18530 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
18531 	{
18532 		result = semMacroExpr__sem_524(c, n, orig, s, 0);
18533 	}
18534 	break;
18535 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
18536 	{
18537 		result = semTemplateExpr__sem_519(c, n, s, 65536);
18538 	}
18539 	break;
18540 	default:
18541 	{
18542 		result = semDirectOp__sem_511(c, n, 0);
18543 	}
18544 	break;
18545 	}
18546 	{
18547 		NIM_BOOL T17_;
18548 		NimStringDesc* T20_;
18549 		NimStringDesc* T21_;
18550 		T17_ = (NIM_BOOL)0;
18551 		T17_ = hasHint__options_517((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 88));
18552 		if (!T17_) goto LA18_;
18553 		T20_ = NIM_NIL;
18554 		T21_ = NIM_NIL;
18555 		T21_ = renderTree__renderer_46(result, 4);
18556 		T20_ = rawNewString((rule ? rule->Sup.len : 0) + (T21_ ? T21_->Sup.len : 0) + 7);
18557 appendString(T20_, rule);
18558 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_394));
18559 appendString(T20_, T21_);
18560 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
18561 		liMessage__msgs_1118((*(*c).graph).config, (*orig).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 88), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_395, NIM_FALSE);
18562 	}
18563 	LA18_: ;
18564 	return result;
18565 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,applyPatterns__sem_692)18566 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyPatterns__sem_692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18567 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18568 	result = NIM_NIL;
18569 	result = n;
18570 	{
18571 		NI i;
18572 		NI colontmp_;
18573 		NI T2_;
18574 		NI res;
18575 		i = (NI)0;
18576 		colontmp_ = (NI)0;
18577 		T2_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
18578 		colontmp_ = (NI)(T2_ - ((NI) 1));
18579 		res = colontmp_;
18580 		{
18581 			while (1) {
18582 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pattern;
18583 				if (!(((NI) 0) <= res)) goto LA4;
18584 				i = res;
18585 				pattern = (*c).patterns->data[i];
18586 				{
18587 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
18588 					if (!!((pattern == 0))) goto LA7_;
18589 					x = applyRule__patterns_548(c, pattern, result);
18590 					{
18591 						if (!!((x == 0))) goto LA11_;
18592 						(*(*(*c).graph).config).evalTemplateCounter += ((NI) 1);
18593 						{
18594 							if (!(((NI) 1000) < (*(*(*c).graph).config).evalTemplateCounter)) goto LA15_;
18595 							liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_14), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_225, NIM_FALSE);
18596 						}
18597 						LA15_: ;
18598 						asgnRef((void**) (&(*c).patterns->data[i]), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
18599 						{
18600 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA19_;
18601 							asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), evalPattern__sem_671(c, (*x)._kind_6.sons->data[((NI) 1)], result));
18602 							result = flattenStmts__trees_355(x);
18603 						}
18604 						goto LA17_;
18605 						LA19_: ;
18606 						{
18607 							result = evalPattern__sem_671(c, x, result);
18608 						}
18609 						LA17_: ;
18610 						(*(*(*c).graph).config).evalTemplateCounter -= ((NI) 1);
18611 						asgnRef((void**) (&(*c).patterns->data[i]), pattern);
18612 					}
18613 					LA11_: ;
18614 				}
18615 				LA7_: ;
18616 				res -= ((NI) 1);
18617 			} LA4: ;
18618 		}
18619 	}
18620 	return result;
18621 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hlo__sem_668)18622 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hlo__sem_668)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18623 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18624 {	result = NIM_NIL;
18625 	(*c).hloLoopDetector += ((NI) 1);
18626 	{
18627 		if (!(((NI) 300) < (*c).hloLoopDetector)) goto LA3_;
18628 		result = n;
18629 		goto BeforeRet_;
18630 	}
18631 	LA3_: ;
18632 	switch ((*n).kind) {
18633 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
18634 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
18635 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
18636 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
18637 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
18638 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
18639 	{
18640 		result = n;
18641 	}
18642 	break;
18643 	default:
18644 	{
18645 		{
18646 			NIM_BOOL T9_;
18647 			NIM_BOOL T10_;
18648 			T9_ = (NIM_BOOL)0;
18649 			T10_ = (NIM_BOOL)0;
18650 			T10_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
18651 			if (!(T10_)) goto LA11_;
18652 			T10_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
18653 			LA11_: ;
18654 			T9_ = T10_;
18655 			if (!(T9_)) goto LA12_;
18656 			T9_ = ((2056 & (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags) == 2056);
18657 			LA12_: ;
18658 			if (!T9_) goto LA13_;
18659 			result = n;
18660 			goto BeforeRet_;
18661 		}
18662 		LA13_: ;
18663 		result = applyPatterns__sem_692(c, n);
18664 		{
18665 			if (!(result == n)) goto LA17_;
18666 			{
18667 				NI i;
18668 				NI colontmp_;
18669 				NI i_2;
18670 				i = (NI)0;
18671 				colontmp_ = (NI)0;
18672 				colontmp_ = safeLen__ast_3191(result);
18673 				i_2 = ((NI) 0);
18674 				{
18675 					while (1) {
18676 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
18677 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* h;
18678 						if (!(i_2 < colontmp_)) goto LA21;
18679 						i = i_2;
18680 						a = (*result)._kind_6.sons->data[i];
18681 						h = hlo__sem_668(c, a);
18682 						{
18683 							if (!!((h == a))) goto LA24_;
18684 							asgnRef((void**) (&(*result)._kind_6.sons->data[i]), h);
18685 						}
18686 						LA24_: ;
18687 						i_2 += ((NI) 1);
18688 					} LA21: ;
18689 				}
18690 			}
18691 		}
18692 		goto LA15_;
18693 		LA17_: ;
18694 		{
18695 			{
18696 				NIM_BOOL T29_;
18697 				T29_ = (NIM_BOOL)0;
18698 				T29_ = isEmptyType__ast_4779((*n).typ);
18699 				if (!(T29_)) goto LA30_;
18700 				T29_ = isEmptyType__ast_4779((*result).typ);
18701 				LA30_: ;
18702 				if (!T29_) goto LA31_;
18703 			}
18704 			goto LA27_;
18705 			LA31_: ;
18706 			{
18707 				result = fitNode__sem_70(c, (*n).typ, result, (*n).info);
18708 			}
18709 			LA27_: ;
18710 			result = commonOptimizations__transf_1490((*c).graph, (*c).Sup.idgen, (*c).module, result);
18711 			result = hlo__sem_668(c, result);
18712 			result = commonOptimizations__transf_1490((*c).graph, (*c).Sup.idgen, (*c).module, result);
18713 		}
18714 		LA15_: ;
18715 	}
18716 	break;
18717 	}
18718 	}BeforeRet_: ;
18719 	return result;
18720 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hloBody__sem_783)18721 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloBody__sem_783)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18722 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18723 {	result = NIM_NIL;
18724 	{
18725 		NIM_BOOL T3_;
18726 		NI T4_;
18727 		T3_ = (NIM_BOOL)0;
18728 		T4_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
18729 		T3_ = (T4_ == ((NI) 0));
18730 		if (T3_) goto LA5_;
18731 		T3_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 23))&31U)))!=0));
18732 		LA5_: ;
18733 		if (!T3_) goto LA6_;
18734 		result = n;
18735 		goto BeforeRet_;
18736 	}
18737 	LA6_: ;
18738 	(*c).hloLoopDetector = ((NI) 0);
18739 	result = hlo__sem_668(c, n);
18740 	}BeforeRet_: ;
18741 	return result;
18742 }
N_INLINE(void,popProcCon__semdata_389)18743 static N_INLINE(void, popProcCon__semdata_389)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
18744 	asgnRef((void**) (&(*c).p), (*(*c).p).next);
18745 }
N_NIMCALL(void,typeAllowedCheck__sem_481)18746 N_LIB_PRIVATE N_NIMCALL(void, typeAllowedCheck__sem_481)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags) {
18747 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
18748 	t = typeAllowed__typeallowed_472(typ, kind, c, flags);
18749 	{
18750 		NimStringDesc* err;
18751 		if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
18752 		err = NIM_NIL;
18753 		{
18754 			tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
18755 			if (!(t == typ)) goto LA7_;
18756 			nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
18757 			T9_[0] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18758 			T9_[1] = toHumanStr__ast_5158(kind);
18759 			err = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_398), T9_, 2);
18760 			{
18761 				NIM_BOOL T12_;
18762 				tyArray__nHXaesL0DJZHyVS07ARPRA T16_;
18763 				NimStringDesc* T17_;
18764 				T12_ = (NIM_BOOL)0;
18765 				T12_ = ((1792 &((NU32)1<<((NU)(kind)&31U)))!=0);
18766 				if (!(T12_)) goto LA13_;
18767 				T12_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5))&7U)))!=0);
18768 				LA13_: ;
18769 				if (!T12_) goto LA14_;
18770 				nimZeroMem((void*)T16_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
18771 				T16_[0] = toHumanStr__ast_5158((*(*typ).owner).kind);
18772 				T17_ = NIM_NIL;
18773 				T17_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_399), T16_, 1);
18774 				err = resizeString(err, (T17_ ? T17_->Sup.len : 0) + 0);
18775 appendString(err, T17_);
18776 			}
18777 			LA14_: ;
18778 		}
18779 		goto LA5_;
18780 		LA7_: ;
18781 		{
18782 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T19_;
18783 			nimZeroMem((void*)T19_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
18784 			T19_[0] = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18785 			T19_[1] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18786 			T19_[2] = toHumanStr__ast_5158(kind);
18787 			err = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_400), T19_, 3);
18788 		}
18789 		LA5_: ;
18790 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_401, NIM_FALSE);
18791 	}
18792 	LA3_: ;
18793 }
N_INLINE(void,paramsTypeCheck__sem_505)18794 static N_INLINE(void, paramsTypeCheck__sem_505)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
18795 	typeAllowedCheck__sem_481(c, (*(*typ).n).info, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), 0);
18796 }
N_NIMCALL(void,fixupInstantiatedSymbols__sem_1095)18797 N_LIB_PRIVATE N_NIMCALL(void, fixupInstantiatedSymbols__sem_1095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18798 	{
18799 		NI i;
18800 		NI colontmp_;
18801 		NI T2_;
18802 		NI i_2;
18803 		i = (NI)0;
18804 		colontmp_ = (NI)0;
18805 		T2_ = ((*c).generics ? (*c).generics->Sup.len : 0);
18806 		colontmp_ = T2_;
18807 		i_2 = ((NI) 0);
18808 		{
18809 			while (1) {
18810 				if (!(i_2 < colontmp_)) goto LA4;
18811 				i = i_2;
18812 				{
18813 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym162_;
18814 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym163_;
18815 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldPrc;
18816 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T9_;
18817 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
18818 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
18819 					xX60gensym162_ = (*c).generics->data[i].genericSym;
18820 					xX60gensym163_ = s;
18821 					if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym162_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym162_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym163_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym163_).Sup.itemId.item))))) goto LA7_;
18822 					oldPrc = (*(*c).generics->data[i].inst).sym;
18823 					pushProcCon__sem_898(c, oldPrc);
18824 					pushOwner__semdata_322(c, oldPrc);
18825 					pushInfoContext__msgs_490((*(*c).graph).config, (*oldPrc).info, ((NimStringDesc*) NIM_NIL));
18826 					T9_ = NIM_NIL;
18827 					T9_ = openScope__lookups_69(c);
18828 					n = (*oldPrc).ast;
18829 					T10_ = NIM_NIL;
18830 					T10_ = getBody__modulegraphs_11241((*c).graph, s);
18831 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), copyTree__ast_4431(T10_));
18832 					instantiateBody__sem_1028(c, n, (*(*oldPrc).typ).n, oldPrc, s);
18833 					closeScope__lookups_101(c);
18834 					popInfoContext__msgs_507((*(*c).graph).config);
18835 					popOwner__semdata_329(c);
18836 					popProcCon__semdata_389(c);
18837 				}
18838 				LA7_: ;
18839 				i_2 += ((NI) 1);
18840 			} LA4: ;
18841 		}
18842 	}
18843 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,searchForBorrowProc__sem_2711)18844 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, searchForBorrowProc__sem_2711)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* startScope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn) {
18845 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
18846 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
18847 	NIM_BOOL hasDistinct;
18848 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
18849 	result = NIM_NIL;
18850 	call = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*fn).info);
18851 	hasDistinct = NIM_FALSE;
18852 	T1_ = NIM_NIL;
18853 	T1_ = newIdentNode__ast_3712((*fn).name, (*fn).info);
18854 	add__ast_4797(call, T1_);
18855 	{
18856 		NI i;
18857 		NI colontmp_;
18858 		NI i_2;
18859 		i = (NI)0;
18860 		colontmp_ = (NI)0;
18861 		colontmp_ = len__ast_3198((*(*fn).typ).n);
18862 		i_2 = ((NI) 1);
18863 		{
18864 			while (1) {
18865 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
18866 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
18867 				tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
18868 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
18869 				if (!(i_2 < colontmp_)) goto LA4;
18870 				i = i_2;
18871 				param = (*(*(*fn).typ).n)._kind_6.sons->data[i];
18872 				t = skipTypes__ast_3735((*param).typ, TM__rF9caJawfOjYTjsgLVUSGFA_406);
18873 				{
18874 					NIM_BOOL T7_;
18875 					T7_ = (NIM_BOOL)0;
18876 					T7_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
18877 					if (T7_) goto LA8_;
18878 					T7_ = ((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
18879 					LA8_: ;
18880 					if (!T7_) goto LA9_;
18881 					hasDistinct = NIM_TRUE;
18882 				}
18883 				LA9_: ;
18884 				x = NIM_NIL;
18885 				{
18886 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
18887 					if (!((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA13_;
18888 					x = newTypeS__semdata_733((*(*param).typ).kind, c);
18889 					T15_ = NIM_NIL;
18890 					T15_ = baseOfDistinct__types_3363(t, (*c).graph, (*c).Sup.idgen);
18891 					addSonSkipIntLit__magicsys_136(x, T15_, (*c).Sup.idgen);
18892 				}
18893 				goto LA11_;
18894 				LA13_: ;
18895 				{
18896 					x = baseOfDistinct__types_3363(t, (*c).graph, (*c).Sup.idgen);
18897 				}
18898 				LA11_: ;
18899 				T17_ = NIM_NIL;
18900 				T17_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*fn).info, x);
18901 				add__ast_4797(call, T17_);
18902 				i_2 += ((NI) 1);
18903 			} LA4: ;
18904 		}
18905 	}
18906 	{
18907 		tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter;
18908 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resolved;
18909 		if (!hasDistinct) goto LA20_;
18910 		{
18911 			if (!((12288 &((NU32)1<<((NU)((*fn).kind)&31U)))!=0)) goto LA24_;
18912 			filter = 12288;
18913 		}
18914 		goto LA22_;
18915 		LA24_: ;
18916 		{
18917 			filter = 0;
18918 			filter |=((NU32)(1)<<(((*fn).kind)%(sizeof(NU32)*8)));
18919 		}
18920 		LA22_: ;
18921 		resolved = semOverloadedCall__sem_2498(c, call, call, filter, 0);
18922 		{
18923 			if (!!((resolved == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA29_;
18924 			result = (*(*resolved)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18925 			{
18926 				NIM_BOOL T33_;
18927 				T33_ = (NIM_BOOL)0;
18928 				T33_ = compareTypes__types_2668((*(*result).typ).sons->data[((NI) 0)], (*(*fn).typ).sons->data[((NI) 0)], ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1), 0);
18929 				if (!!(T33_)) goto LA34_;
18930 				result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
18931 			}
18932 			goto LA31_;
18933 			LA34_: ;
18934 			{
18935 				if (!((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5))) goto LA37_;
18936 				result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
18937 			}
18938 			goto LA31_;
18939 			LA37_: ;
18940 			LA31_: ;
18941 		}
18942 		LA29_: ;
18943 	}
18944 	LA20_: ;
18945 	return result;
18946 }
N_NIMCALL(void,semBorrow__sem_12355)18947 N_LIB_PRIVATE N_NIMCALL(void, semBorrow__sem_12355)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18948 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b;
18949 	b = searchForBorrowProc__sem_2711(c, (*(*c).currentScope).parent, s);
18950 	{
18951 		if (!!((b == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
18952 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), newSymNode__ast_3716(b));
18953 		(*s).magic = (*b).magic;
18954 		{
18955 			NIM_BOOL T7_;
18956 			NI T9_;
18957 			T7_ = (NIM_BOOL)0;
18958 			T7_ = !(((*b).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18959 			if (!(T7_)) goto LA8_;
18960 			T9_ = (NI)0;
18961 			T9_ = len__ast_4002((*b).typ);
18962 			T7_ = (((NI) 0) < T9_);
18963 			LA8_: ;
18964 			if (!T7_) goto LA10_;
18965 			asgnRef((void**) (&(*(*(*s).typ).n)._kind_6.sons->data[((NI) 0)]), (*(*(*b).typ).n)._kind_6.sons->data[((NI) 0)]);
18966 		}
18967 		LA10_: ;
18968 		(*(*s).typ).flags = (*(*b).typ).flags;
18969 	}
18970 	goto LA1_;
18971 	LA3_: ;
18972 	{
18973 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_407), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_408, NIM_FALSE);
18974 	}
18975 	LA1_: ;
18976 }
N_NIMCALL(void,sideEffectsCheck__sem_1122)18977 N_LIB_PRIVATE N_NIMCALL(void, sideEffectsCheck__sem_1122)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18978 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProcAux__sem_13029)18979 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcAux__sem_13029)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
18980 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18981 	NIM_BOOL isAnon;
18982 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
18983 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* declarationScope;
18984 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T10_;
18985 	tyTuple__7rlNEhvBksZh9a9asniQIl9aQ T36_;
18986 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* proto;
18987 	NIM_BOOL comesFromShadowScope;
18988 	NIM_BOOL hasProto;
18989 {	result = NIM_NIL;
18990 	result = semProcAnnotation__sem_12464(c, n, validPragmas);
18991 	{
18992 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
18993 		goto BeforeRet_;
18994 	}
18995 	LA3_: ;
18996 	result = n;
18997 	checkMinSonsLen__semdata_1084(n, ((NI) 7), (*(*c).graph).config);
18998 	isAnon = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
18999 	s = NIM_NIL;
19000 	switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
19001 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
19002 	{
19003 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
19004 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
19005 		T6_ = nextSymId__ast_3132((*c).Sup.idgen);
19006 		T7_ = NIM_NIL;
19007 		T7_ = getCurrOwner__semdata_315(c);
19008 		s = newSym__ast_3445(kind, (*(*c).cache).idAnon, T6_, T7_, (*n).info, 0);
19009 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
19010 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
19011 	}
19012 	break;
19013 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
19014 	{
19015 		s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
19016 		asgnRef((void**) (&(*s).owner), getCurrOwner__semdata_315(c));
19017 	}
19018 	break;
19019 	default:
19020 	{
19021 		s = semIdentDef__sem_9679(c, (*n)._kind_6.sons->data[((NI) 0)], kind);
19022 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
19023 	}
19024 	break;
19025 	}
19026 	asgnRef((void**) (&(*s).ast), n);
19027 	(*s).options = (*(*(*c).graph).config).options;
19028 	declarationScope = (*c).currentScope;
19029 	pushOwner__semdata_322(c, s);
19030 	T10_ = NIM_NIL;
19031 	T10_ = openScope__lookups_69(c);
19032 	setGenericParamsMisc__sem_6510(c, n);
19033 	{
19034 		if (!!(((*(*n)._kind_6.sons->data[((NI) 3)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA13_;
19035 		semParamList__sem_91(c, (*n)._kind_6.sons->data[((NI) 3)], (*n)._kind_6.sons->data[((NI) 2)], s);
19036 	}
19037 	goto LA11_;
19038 	LA13_: ;
19039 	{
19040 		asgnRef((void**) (&(*s).typ), newProcType__sem_5053(c, (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19041 	}
19042 	LA11_: ;
19043 	{
19044 		NI T18_;
19045 		T18_ = (NI)0;
19046 		T18_ = safeLen__ast_3191((*n)._kind_6.sons->data[((NI) 2)]);
19047 		if (!(T18_ == ((NI) 0))) goto LA19_;
19048 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]);
19049 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 5)]), (*(*c).graph).emptyNode);
19050 	}
19051 	LA19_: ;
19052 	{
19053 		if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0)) goto LA23_;
19054 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28)) & 63);
19055 	}
19056 	LA23_: ;
19057 	{
19058 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA27_;
19059 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semPattern__sem_7129(c, (*n)._kind_6.sons->data[((NI) 1)], s));
19060 	}
19061 	LA27_: ;
19062 	{
19063 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA31_;
19064 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
19065 	}
19066 	goto LA29_;
19067 	LA31_: ;
19068 	{
19069 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13))) goto LA34_;
19070 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 12)) & 63);
19071 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1)) & 63);
19072 	}
19073 	goto LA29_;
19074 	LA34_: ;
19075 	LA29_: ;
19076 	nimZeroMem((void*)(&T36_), sizeof(tyTuple__7rlNEhvBksZh9a9asniQIl9aQ));
19077 	{
19078 		if (!isAnon) goto LA39_;
19079 		T36_.Field0 = TM__rF9caJawfOjYTjsgLVUSGFA_168.Field0;
19080 		T36_.Field1 = TM__rF9caJawfOjYTjsgLVUSGFA_168.Field1;
19081 	}
19082 	goto LA37_;
19083 	LA39_: ;
19084 	{
19085 		searchForProc__procfind_73(c, declarationScope, s, (&T36_));
19086 	}
19087 	LA37_: ;
19088 	proto = NIM_NIL;
19089 	proto = T36_.Field0;
19090 	comesFromShadowScope = (NIM_BOOL)0;
19091 	comesFromShadowScope = T36_.Field1;
19092 	{
19093 		NIM_BOOL T44_;
19094 		NIM_BOOL T45_;
19095 		T44_ = (NIM_BOOL)0;
19096 		T45_ = (NIM_BOOL)0;
19097 		T45_ = (proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
19098 		if (!(T45_)) goto LA46_;
19099 		T45_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
19100 		LA46_: ;
19101 		T44_ = T45_;
19102 		if (!(T44_)) goto LA47_;
19103 		T44_ = !(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19104 		LA47_: ;
19105 		if (!T44_) goto LA48_;
19106 		proto = s;
19107 	}
19108 	LA48_: ;
19109 	hasProto = !((proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
19110 	switch ((*s).kind) {
19111 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
19112 	{
19113 		{
19114 			if (!!(((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA53_;
19115 			{
19116 				if (!isAnon) goto LA57_;
19117 				(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
19118 			}
19119 			goto LA55_;
19120 			LA57_: ;
19121 			{
19122 				(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
19123 			}
19124 			LA55_: ;
19125 		}
19126 		LA53_: ;
19127 	}
19128 	break;
19129 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
19130 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
19131 	{
19132 	}
19133 	break;
19134 	default:
19135 	{
19136 		{
19137 			tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* T66_;
19138 			if (!!(hasProto)) goto LA64_;
19139 			T66_ = NIM_NIL;
19140 			T66_ = lastOptionEntry__semdata_341(c);
19141 			(*(*s).typ).callConv = (*T66_).defaultCC;
19142 		}
19143 		LA64_: ;
19144 	}
19145 	break;
19146 	}
19147 	{
19148 		NIM_BOOL T69_;
19149 		T69_ = (NIM_BOOL)0;
19150 		T69_ = !(hasProto);
19151 		if (!(T69_)) goto LA70_;
19152 		T69_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
19153 		LA70_: ;
19154 		if (!T69_) goto LA71_;
19155 		{
19156 			if (!((1568832 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA75_;
19157 			addInterfaceOverloadableSymAt__lookups_899(c, declarationScope, s);
19158 		}
19159 		goto LA73_;
19160 		LA75_: ;
19161 		{
19162 			addInterfaceDeclAt__lookups_875(c, declarationScope, s);
19163 		}
19164 		LA73_: ;
19165 	}
19166 	LA71_: ;
19167 	pragmaCallable__pragmas_2552(c, s, n, validPragmas, NIM_FALSE);
19168 	{
19169 		if (!!(hasProto)) goto LA80_;
19170 		implicitPragmas__pragmas_2394(c, s, (*n).info, validPragmas);
19171 	}
19172 	LA80_: ;
19173 	{
19174 		NIM_BOOL T84_;
19175 		T84_ = (NIM_BOOL)0;
19176 		T84_ = !(((*(*n)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19177 		if (!(T84_)) goto LA85_;
19178 		T84_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0));
19179 		LA85_: ;
19180 		if (!T84_) goto LA86_;
19181 		setEffectsForProcType__sempass50_4540((*c).graph, (*s).typ, (*n)._kind_6.sons->data[((NI) 4)], s);
19182 	}
19183 	LA86_: ;
19184 	(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 44)) & 63);
19185 	{
19186 		NIM_BOOL T90_;
19187 		NIM_BOOL T92_;
19188 		NIM_BOOL T93_;
19189 		NimStringDesc* T98_;
19190 		NimStringDesc* T99_;
19191 		NimStringDesc* T100_;
19192 		NimStringDesc* T101_;
19193 		T90_ = (NIM_BOOL)0;
19194 		T90_ = hasProto;
19195 		if (!(T90_)) goto LA91_;
19196 		T92_ = (NIM_BOOL)0;
19197 		T93_ = (NIM_BOOL)0;
19198 		T93_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 42))&63U)))!=0);
19199 		if (!(T93_)) goto LA94_;
19200 		T93_ = !(((*(*proto).typ).callConv == (*(*s).typ).callConv));
19201 		LA94_: ;
19202 		T92_ = T93_;
19203 		if (T92_) goto LA95_;
19204 		T92_ = ((((*(*proto).typ).flags & ~ (*(*s).typ).flags)==0)&&((*(*proto).typ).flags != (*(*s).typ).flags));
19205 		LA95_: ;
19206 		T90_ = T92_;
19207 		LA91_: ;
19208 		if (!T90_) goto LA96_;
19209 		T98_ = NIM_NIL;
19210 		T99_ = NIM_NIL;
19211 		T99_ = dollar___msgs_624((*(*c).graph).config, (*proto).info);
19212 		T100_ = NIM_NIL;
19213 		T100_ = dollar___msgs_624((*(*c).graph).config, (*s).info);
19214 		T98_ = rawNewString(((*(*proto).name).s ? (*(*proto).name).s->Sup.len : 0) + (T99_ ? T99_->Sup.len : 0) + ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + (T100_ ? T100_->Sup.len : 0) + 17);
19215 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
19216 appendString(T98_, (*(*proto).name).s);
19217 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_170));
19218 appendString(T98_, T99_);
19219 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_171));
19220 appendString(T98_, (*(*s).name).s);
19221 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_170));
19222 appendString(T98_, T100_);
19223 		T101_ = NIM_NIL;
19224 		T101_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_169), T98_);
19225 		liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 4)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T101_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_172, NIM_FALSE);
19226 	}
19227 	LA96_: ;
19228 	{
19229 		NIM_BOOL T104_;
19230 		T104_ = (NIM_BOOL)0;
19231 		T104_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
19232 		if (!(T104_)) goto LA105_;
19233 		T104_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
19234 		LA105_: ;
19235 		if (!T104_) goto LA106_;
19236 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
19237 	}
19238 	LA106_: ;
19239 	{
19240 		if (!hasProto) goto LA110_;
19241 	}
19242 	goto LA108_;
19243 	LA110_: ;
19244 	{
19245 	}
19246 	LA108_: ;
19247 	{
19248 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T127_;
19249 		if (!hasProto) goto LA115_;
19250 		{
19251 			NIM_BOOL T119_;
19252 			T119_ = (NIM_BOOL)0;
19253 			T119_ = !((((*proto).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0));
19254 			if (!(T119_)) goto LA120_;
19255 			T119_ = ((*proto).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19256 			LA120_: ;
19257 			if (!T119_) goto LA121_;
19258 			wrongRedefinition__lookups_805(c, (*n).info, (*(*proto).name).s, (*proto).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
19259 		}
19260 		LA121_: ;
19261 		{
19262 			if (!!(comesFromShadowScope)) goto LA125_;
19263 			(*proto).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63));
19264 			(*proto).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5)) & 63);
19265 		}
19266 		LA125_: ;
19267 		suggestSym__sigmatch_5375((*c).graph, (*s).info, proto, &(*(*c).graph).usageSym, NIM_TRUE);
19268 		closeScope__lookups_101(c);
19269 		T127_ = NIM_NIL;
19270 		T127_ = openScope__lookups_69(c);
19271 		{
19272 			NIM_BOOL T130_;
19273 			T130_ = (NIM_BOOL)0;
19274 			T130_ = isGenericParams__ast_4616((*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19275 			if (!T130_) goto LA131_;
19276 			addGenericParamListToScope__sem_11585(c, (*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19277 		}
19278 		LA131_: ;
19279 		addParams__sem_96(c, (*(*proto).typ).n, (*proto).kind);
19280 		(*proto).info = (*s).info;
19281 		(*proto).options = (*s).options;
19282 		s = proto;
19283 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19284 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), (*(*proto).ast)._kind_6.sons->data[((NI) 3)]);
19285 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 4)]), (*(*proto).ast)._kind_6.sons->data[((NI) 4)]);
19286 		{
19287 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA135_;
19288 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_173), TM__rF9caJawfOjYTjsgLVUSGFA_174);
19289 		}
19290 		LA135_: ;
19291 		asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym), proto);
19292 		{
19293 			NIM_BOOL T139_;
19294 			NimStringDesc* T141_;
19295 			NimStringDesc* T144_;
19296 			T139_ = (NIM_BOOL)0;
19297 			T139_ = importantComments__options_3985((*(*c).graph).config);
19298 			if (!(T139_)) goto LA140_;
19299 			T141_ = NIM_NIL;
19300 			T141_ = comment__ast_993((*proto).ast);
19301 			T139_ = (((NI) 0) < (T141_ ? T141_->Sup.len : 0));
19302 			LA140_: ;
19303 			if (!T139_) goto LA142_;
19304 			T144_ = NIM_NIL;
19305 			T144_ = comment__ast_993((*proto).ast);
19306 			commenteq___ast_1361(n, T144_);
19307 		}
19308 		LA142_: ;
19309 		asgnRef((void**) (&(*proto).ast), n);
19310 		popOwner__semdata_329(c);
19311 		pushOwner__semdata_322(c, s);
19312 	}
19313 	LA115_: ;
19314 	{
19315 		if (!!(isAnon)) goto LA147_;
19316 		{
19317 			NIM_BOOL T151_;
19318 			T151_ = (NIM_BOOL)0;
19319 			T151_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
19320 			if (T151_) goto LA152_;
19321 			T151_ = ((NU8)((*(*s).name).s->data[((NI) 0)]) == (NU8)(61));
19322 			LA152_: ;
19323 			if (!T151_) goto LA153_;
19324 			semOverride__sem_12810(c, s, n);
19325 		}
19326 		goto LA149_;
19327 		LA153_: ;
19328 		{
19329 			if (!(((NU8)((*(*s).name).s->data[((NI) 0)])) == ((NU8)(46)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) == ((NU8)(40)))) goto LA156_;
19330 			{
19331 				NIM_BOOL T160_;
19332 				NimStringDesc* T164_;
19333 				T160_ = (NIM_BOOL)0;
19334 				T160_ = contains__stdZenumutils_43(TM__rF9caJawfOjYTjsgLVUSGFA_208, 3, (*(*s).name).s);
19335 				if (!(T160_)) goto LA161_;
19336 				T160_ = ((18 & (*c).features) == 0);
19337 				LA161_: ;
19338 				if (!T160_) goto LA162_;
19339 				T164_ = NIM_NIL;
19340 				T164_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 80);
19341 appendString(T164_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_212));
19342 appendString(T164_, (*(*s).name).s);
19343 appendString(T164_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_213));
19344 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T164_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_214, NIM_FALSE);
19345 			}
19346 			goto LA158_;
19347 			LA162_: ;
19348 			{
19349 				NIM_BOOL T166_;
19350 				NimStringDesc* T170_;
19351 				T166_ = (NIM_BOOL)0;
19352 				T166_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
19353 				if (!(T166_)) goto LA167_;
19354 				T166_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 2))&31U)))!=0));
19355 				LA167_: ;
19356 				if (!T166_) goto LA168_;
19357 				T170_ = NIM_NIL;
19358 				T170_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 80);
19359 appendString(T170_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_212));
19360 appendString(T170_, (*(*s).name).s);
19361 appendString(T170_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_216));
19362 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T170_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_217, NIM_FALSE);
19363 			}
19364 			goto LA158_;
19365 			LA168_: ;
19366 			LA158_: ;
19367 		}
19368 		goto LA149_;
19369 		LA156_: ;
19370 		LA149_: ;
19371 	}
19372 	LA147_: ;
19373 	{
19374 		NIM_BOOL T173_;
19375 		T173_ = (NIM_BOOL)0;
19376 		T173_ = !(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19377 		if (!(T173_)) goto LA174_;
19378 		T173_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
19379 		LA174_: ;
19380 		if (!T173_) goto LA175_;
19381 		{
19382 			NimStringDesc* T181_;
19383 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0)) goto LA179_;
19384 			T181_ = NIM_NIL;
19385 			T181_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_218), (*(*s).name).s);
19386 			liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 6)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T181_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_219, NIM_FALSE);
19387 		}
19388 		LA179_: ;
19389 		{
19390 			NIM_BOOL T184_;
19391 			NIM_BOOL T185_;
19392 			NIM_BOOL T188_;
19393 			T184_ = (NIM_BOOL)0;
19394 			T185_ = (NIM_BOOL)0;
19395 			T185_ = ((6 &((NU16)1<<((NU)((*(*(*c).graph).config).ideCmd)&15U)))!=0);
19396 			if (!(T185_)) goto LA186_;
19397 			T185_ = !(((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
19398 			LA186_: ;
19399 			T184_ = T185_;
19400 			if (!(T184_)) goto LA187_;
19401 			T188_ = (NIM_BOOL)0;
19402 			T188_ = cursorInProc__sem_12968((*(*c).graph).config, (*n)._kind_6.sons->data[((NI) 6)]);
19403 			T184_ = !(T188_);
19404 			LA187_: ;
19405 			if (!T184_) goto LA189_;
19406 			{
19407 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA193_;
19408 				semMethodPrototype__sem_12992(c, s, n);
19409 			}
19410 			LA193_: ;
19411 		}
19412 		goto LA182_;
19413 		LA189_: ;
19414 		{
19415 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
19416 			if (!isAnon) goto LA196_;
19417 			gp = (*n)._kind_6.sons->data[((NI) 2)];
19418 			{
19419 				NIM_BOOL T200_;
19420 				NIM_BOOL T202_;
19421 				NI T203_;
19422 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T207_;
19423 				T200_ = (NIM_BOOL)0;
19424 				T200_ = ((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
19425 				if (T200_) goto LA201_;
19426 				T202_ = (NIM_BOOL)0;
19427 				T203_ = (NI)0;
19428 				T203_ = len__ast_3198(gp);
19429 				T202_ = (T203_ == ((NI) 1));
19430 				if (!(T202_)) goto LA204_;
19431 				T202_ = (((*(*(*gp)._kind_6.sons->data[((NI) 0)]).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0);
19432 				LA204_: ;
19433 				T200_ = T202_;
19434 				LA201_: ;
19435 				if (!T200_) goto LA205_;
19436 				pushProcCon__sem_898(c, s);
19437 				addResult__sem_12395(c, n, (*(*s).typ).sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
19438 				T207_ = NIM_NIL;
19439 				T207_ = semProcBody__sem_67(c, (*n)._kind_6.sons->data[((NI) 6)]);
19440 				asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T207_));
19441 				trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
19442 				popProcCon__semdata_389(c);
19443 			}
19444 			goto LA198_;
19445 			LA205_: ;
19446 			{
19447 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 12))&31U)))!=0))) goto LA209_;
19448 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_396), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_397, NIM_FALSE);
19449 			}
19450 			goto LA198_;
19451 			LA209_: ;
19452 			LA198_: ;
19453 		}
19454 		goto LA182_;
19455 		LA196_: ;
19456 		{
19457 			pushProcCon__sem_898(c, s);
19458 			{
19459 				NIM_BOOL T214_;
19460 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T224_;
19461 				T214_ = (NIM_BOOL)0;
19462 				T214_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
19463 				if (T214_) goto LA215_;
19464 				T214_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
19465 				LA215_: ;
19466 				if (!T214_) goto LA216_;
19467 				{
19468 					NIM_BOOL T220_;
19469 					T220_ = (NIM_BOOL)0;
19470 					T220_ = !(((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
19471 					if (!(T220_)) goto LA221_;
19472 					T220_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19473 					LA221_: ;
19474 					if (!T220_) goto LA222_;
19475 					paramsTypeCheck__sem_505(c, (*s).typ);
19476 				}
19477 				LA222_: ;
19478 				maybeAddResult__sem_100(c, s, n);
19479 				T224_ = NIM_NIL;
19480 				T224_ = semProcBody__sem_67(c, (*n)._kind_6.sons->data[((NI) 6)]);
19481 				asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T224_));
19482 				trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
19483 			}
19484 			goto LA212_;
19485 			LA216_: ;
19486 			{
19487 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T235_;
19488 				{
19489 					NIM_BOOL T228_;
19490 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T232_;
19491 					tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T233_;
19492 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T234_;
19493 					T228_ = (NIM_BOOL)0;
19494 					T228_ = !(((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19495 					if (!(T228_)) goto LA229_;
19496 					T228_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
19497 					LA229_: ;
19498 					if (!T228_) goto LA230_;
19499 					T232_ = NIM_NIL;
19500 					T232_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
19501 					T233_ = nextSymId__ast_3132((*c).Sup.idgen);
19502 					T234_ = NIM_NIL;
19503 					T234_ = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T232_, T233_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (*n).info, 0);
19504 					addDecl__lookups_845(c, T234_);
19505 				}
19506 				LA230_: ;
19507 				T235_ = NIM_NIL;
19508 				T235_ = openScope__lookups_69(c);
19509 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semGenericStmt__sem_2885(c, (*n)._kind_6.sons->data[((NI) 6)]));
19510 				closeScope__lookups_101(c);
19511 				{
19512 					if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA238_;
19513 					fixupInstantiatedSymbols__sem_1095(c, s);
19514 				}
19515 				LA238_: ;
19516 			}
19517 			LA212_: ;
19518 			{
19519 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA242_;
19520 				semMethodPrototype__sem_12992(c, s, n);
19521 			}
19522 			LA242_: ;
19523 			popProcCon__semdata_389(c);
19524 		}
19525 		LA182_: ;
19526 	}
19527 	goto LA171_;
19528 	LA175_: ;
19529 	{
19530 		{
19531 			if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA247_;
19532 			semMethodPrototype__sem_12992(c, s, n);
19533 		}
19534 		LA247_: ;
19535 		{
19536 			NimStringDesc* T253_;
19537 			if (!hasProto) goto LA251_;
19538 			T253_ = NIM_NIL;
19539 			T253_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*proto).name).s);
19540 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T253_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_403, NIM_FALSE);
19541 		}
19542 		LA251_: ;
19543 		{
19544 			NIM_BOOL T256_;
19545 			T256_ = (NIM_BOOL)0;
19546 			T256_ = ((IL64(2164260928) & (*s).flags) == 0);
19547 			if (!(T256_)) goto LA257_;
19548 			T256_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19549 			LA257_: ;
19550 			if (!T256_) goto LA258_;
19551 			{
19552 				NIM_BOOL T262_;
19553 				NIM_BOOL T263_;
19554 				T262_ = (NIM_BOOL)0;
19555 				T263_ = (NIM_BOOL)0;
19556 				T263_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
19557 				if (!(T263_)) goto LA264_;
19558 				T263_ = !(((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19559 				LA264_: ;
19560 				T262_ = T263_;
19561 				if (!(T262_)) goto LA265_;
19562 				T262_ = ((*(*(*s).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
19563 				LA265_: ;
19564 				if (!T262_) goto LA266_;
19565 				liMessage__msgs_1118((*(*c).graph).config, (*(*(*n)._kind_6.sons->data[((NI) 3)])._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_404), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_405, NIM_FALSE);
19566 			}
19567 			LA266_: ;
19568 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63);
19569 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5)) & 63);
19570 		}
19571 		goto LA254_;
19572 		LA258_: ;
19573 		{
19574 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0)) goto LA269_;
19575 			semBorrow__sem_12355(c, n, s);
19576 		}
19577 		goto LA254_;
19578 		LA269_: ;
19579 		LA254_: ;
19580 	}
19581 	LA171_: ;
19582 	sideEffectsCheck__sem_1122(c, s);
19583 	closeScope__lookups_101(c);
19584 	popOwner__semdata_329(c);
19585 	{
19586 		NI T275_;
19587 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA273_;
19588 		asgnRef((void**) (&(*c).patterns), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).patterns), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
19589 		T275_ = (*c).patterns->Sup.len++;
19590 		asgnRef((void**) (&(*c).patterns->data[T275_]), s);
19591 	}
19592 	LA273_: ;
19593 	{
19594 		if (!isAnon) goto LA278_;
19595 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 51));
19596 		asgnRef((void**) (&(*result).typ), (*s).typ);
19597 		{
19598 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA282_;
19599 			asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
19600 		}
19601 		LA282_: ;
19602 	}
19603 	goto LA276_;
19604 	LA278_: ;
19605 	{
19606 		NIM_BOOL T285_;
19607 		NIM_BOOL T286_;
19608 		T285_ = (NIM_BOOL)0;
19609 		T286_ = (NIM_BOOL)0;
19610 		T286_ = isTopLevel__semdata_1091(c);
19611 		if (!(T286_)) goto LA287_;
19612 		T286_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
19613 		LA287_: ;
19614 		T285_ = T286_;
19615 		if (!(T285_)) goto LA288_;
19616 		T285_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
19617 		LA288_: ;
19618 		if (!T285_) goto LA289_;
19619 		liMessage__msgs_1118((*(*c).graph).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_409), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_410, NIM_FALSE);
19620 	}
19621 	goto LA276_;
19622 	LA289_: ;
19623 	LA276_: ;
19624 	}BeforeRet_: ;
19625 	return result;
19626 }
N_NIMCALL(void,determineType__sem_1460)19627 N_LIB_PRIVATE N_NIMCALL(void, determineType__sem_1460)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
19628 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
19629 {	{
19630 		if (!!(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
19631 		goto BeforeRet_;
19632 	}
19633 	LA3_: ;
19634 	T5_ = NIM_NIL;
19635 	T5_ = semProcAux__sem_13029(c, (*s).ast, (*s).kind, TM__rF9caJawfOjYTjsgLVUSGFA_411, 0);
19636 	(void)(T5_);
19637 	}BeforeRet_: ;
19638 }
N_NIMCALL(tySequence__u9c10b19cqoKPxYSuh3ZKtIw *,initCandidateSymbols__sem_1463)19639 N_LIB_PRIVATE N_NIMCALL(tySequence__u9c10b19cqoKPxYSuh3ZKtIw*, initCandidateSymbols__sem_1463)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initialBinding, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* best, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* alt, tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ* o, NIM_BOOL diagnostics) {
19640 	tySequence__u9c10b19cqoKPxYSuh3ZKtIw* result;
19641 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
19642 	result = NIM_NIL;
19643 	result = NIM_NIL;
19644 	symx = initOverloadIter__lookups_1374(o, c, headSymbol);
19645 	{
19646 		while (1) {
19647 			if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
19648 			{
19649 				tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ T7_;
19650 				NI T8_;
19651 				if (!((filter &((NU32)1<<((NU)((*symx).kind)&31U)))!=0)) goto LA5_;
19652 				nimZeroMem((void*)(&T7_), sizeof(tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ));
19653 				T7_.Field0 = symx;
19654 				T7_.Field1 = lastOverloadScope__lookups_1472((&(*o)));
19655 				result = (tySequence__u9c10b19cqoKPxYSuh3ZKtIw*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_));
19656 				T8_ = result->Sup.len++;
19657 				asgnRef((void**) (&result->data[T8_].Field0), T7_.Field0);
19658 				result->data[T8_].Field1 = T7_.Field1;
19659 			}
19660 			LA5_: ;
19661 			symx = nextOverloadIter__lookups_1528(o, c, headSymbol);
19662 		} LA2: ;
19663 	}
19664 	{
19665 		NI T11_;
19666 		T11_ = (result ? result->Sup.len : 0);
19667 		if (!(((NI) 0) < T11_)) goto LA12_;
19668 		initCandidate__sigmatch_124(c, best, result->data[((NI) 0)].Field0, initialBinding, result->data[((NI) 0)].Field1, diagnostics);
19669 		initCandidate__sigmatch_124(c, alt, result->data[((NI) 0)].Field0, initialBinding, result->data[((NI) 0)].Field1, diagnostics);
19670 		(*best).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
19671 	}
19672 	LA12_: ;
19673 	return result;
19674 }
N_NIMCALL(void,pickBestCandidate__sem_1496)19675 N_LIB_PRIVATE N_NIMCALL(void, pickBestCandidate__sem_1496)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initialBinding, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* best, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* alt, tySequence__0dpGN6F4ocevqUQGsaf41w** errors, NIM_BOOL diagnosticsFlag, NIM_BOOL errorsEnabled, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
19676 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
19677 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
19678 	NI scope;
19679 	NI counterInitial;
19680 	tySequence__u9c10b19cqoKPxYSuh3ZKtIw* syms;
19681 	NIM_BOOL noSyms;
19682 	NI nextSymIndex;
19683 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA z;
19684 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
19685 	sym = initOverloadIter__lookups_1374((&o), c, headSymbol);
19686 	scope = lastOverloadScope__lookups_1472((&o));
19687 	counterInitial = (*(*c).currentScope).symbols.counter;
19688 	syms = NIM_NIL;
19689 	noSyms = NIM_TRUE;
19690 	nextSymIndex = ((NI) 0);
19691 	{
19692 		while (1) {
19693 			if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
19694 			{
19695 				if (!((filter &((NU32)1<<((NU)((*sym).kind)&31U)))!=0)) goto LA5_;
19696 				initCandidate__sigmatch_124(c, best, sym, initialBinding, scope, diagnosticsFlag);
19697 				initCandidate__sigmatch_124(c, alt, sym, initialBinding, scope, diagnosticsFlag);
19698 				(*best).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
19699 				goto LA1;
19700 			}
19701 			goto LA3_;
19702 			LA5_: ;
19703 			{
19704 				sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19705 				scope = lastOverloadScope__lookups_1472((&o));
19706 			}
19707 			LA3_: ;
19708 		} LA2: ;
19709 	} LA1: ;
19710 	nimZeroMem((void*)(&z), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
19711 	{
19712 		while (1) {
19713 			if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9;
19714 			{
19715 				{
19716 					if (!!(((filter &((NU32)1<<((NU)((*sym).kind)&31U)))!=0))) goto LA13_;
19717 					sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19718 					scope = lastOverloadScope__lookups_1472((&o));
19719 					goto LA10;
19720 				}
19721 				LA13_: ;
19722 				determineType__sem_1460(c, sym);
19723 				initCandidate__sigmatch_124(c, (&z), sym, initialBinding, scope, diagnosticsFlag);
19724 				{
19725 					NIM_BOOL T17_;
19726 					NI T19_;
19727 					T17_ = (NIM_BOOL)0;
19728 					T17_ = ((*(*c).currentScope).symbols.counter == counterInitial);
19729 					if (T17_) goto LA18_;
19730 					T19_ = (syms ? syms->Sup.len : 0);
19731 					T17_ = !((T19_ == ((NI) 0)));
19732 					LA18_: ;
19733 					if (!T17_) goto LA20_;
19734 					matches__sigmatch_4181(c, n, orig, (&z));
19735 					{
19736 						if (!(z.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA24_;
19737 						{
19738 							if (!((*sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA28_;
19739 							{
19740 								NIM_BOOL T32_;
19741 								T32_ = (NIM_BOOL)0;
19742 								T32_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 1))&31U)))!=0));
19743 								if (!(T32_)) goto LA33_;
19744 								T32_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 2))&31U)))!=0);
19745 								LA33_: ;
19746 								if (!!(T32_)) goto LA34_;
19747 								z.exactMatches += ((NI) 200);
19748 							}
19749 							goto LA30_;
19750 							LA34_: ;
19751 							{
19752 								z.exactMatches -= ((NI) 200);
19753 							}
19754 							LA30_: ;
19755 						}
19756 						LA28_: ;
19757 						switch ((*best).state) {
19758 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0):
19759 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2):
19760 						{
19761 							genericAssign((void*)(&(*best)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19762 						}
19763 						break;
19764 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1):
19765 						{
19766 							NI cmp;
19767 							cmp = cmpCandidates__sigmatch_358((&(*best)), (&z));
19768 							{
19769 								if (!(cmp < ((NI) 0))) goto LA41_;
19770 								genericAssign((void*)(&(*best)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19771 							}
19772 							goto LA39_;
19773 							LA41_: ;
19774 							{
19775 								if (!(cmp == ((NI) 0))) goto LA44_;
19776 								genericAssign((void*)(&(*alt)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19777 							}
19778 							goto LA39_;
19779 							LA44_: ;
19780 							LA39_: ;
19781 						}
19782 						break;
19783 						}
19784 					}
19785 					goto LA22_;
19786 					LA24_: ;
19787 					{
19788 						NIM_BOOL T47_;
19789 						tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ T51_;
19790 						NI T52_;
19791 						T47_ = (NIM_BOOL)0;
19792 						T47_ = errorsEnabled;
19793 						if (T47_) goto LA48_;
19794 						T47_ = z.diagnosticsEnabled;
19795 						LA48_: ;
19796 						if (!T47_) goto LA49_;
19797 						nimZeroMem((void*)(&T51_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
19798 						nimZeroMem((void*)(&T51_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
19799 						T51_.sym = sym;
19800 						T51_.firstMismatch.kind = z.firstMismatch.kind;
19801 						T51_.firstMismatch.arg = z.firstMismatch.arg;
19802 						T51_.firstMismatch.formal = z.firstMismatch.formal;
19803 						genericSeqAssign((&T51_.diagnostics), z.diagnostics, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
19804 						unsureAsgnRef((void**) (&(*errors)), (tySequence__0dpGN6F4ocevqUQGsaf41w*) incrSeqV3((TGenericSeq*)((*errors)), (&NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_)));
19805 						T52_ = (*errors)->Sup.len++;
19806 						asgnRef((void**) (&(*errors)->data[T52_].sym), T51_.sym);
19807 						(*errors)->data[T52_].firstMismatch.kind = T51_.firstMismatch.kind;
19808 						(*errors)->data[T52_].firstMismatch.arg = T51_.firstMismatch.arg;
19809 						asgnRef((void**) (&(*errors)->data[T52_].firstMismatch.formal), T51_.firstMismatch.formal);
19810 						genericSeqAssign((&(*errors)->data[T52_].diagnostics), T51_.diagnostics, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
19811 						(*errors)->data[T52_].enabled = T51_.enabled;
19812 					}
19813 					goto LA22_;
19814 					LA49_: ;
19815 					LA22_: ;
19816 				}
19817 				goto LA15_;
19818 				LA20_: ;
19819 				{
19820 					syms = initCandidateSymbols__sem_1463(c, headSymbol, initialBinding, filter, best, alt, (&o), diagnosticsFlag);
19821 					noSyms = NIM_FALSE;
19822 				}
19823 				LA15_: ;
19824 				{
19825 					if (!noSyms) goto LA56_;
19826 					sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19827 					scope = lastOverloadScope__lookups_1472((&o));
19828 				}
19829 				goto LA54_;
19830 				LA56_: ;
19831 				{
19832 					NI T59_;
19833 					T59_ = (syms ? syms->Sup.len : 0);
19834 					if (!(nextSymIndex < T59_)) goto LA60_;
19835 					sym = syms->data[nextSymIndex].Field0;
19836 					scope = syms->data[nextSymIndex].Field1;
19837 					nextSymIndex += ((NI) 1);
19838 				}
19839 				goto LA54_;
19840 				LA60_: ;
19841 				{
19842 					goto LA8;
19843 				}
19844 				LA54_: ;
19845 			} LA10: ;
19846 		} LA9: ;
19847 	} LA8: ;
19848 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___pureZunicode_840)19849 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
19850 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
19851 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19852 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19853 	result.a = a;
19854 	result.b = b;
19855 	return result;
19856 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_3215)19857 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
19858 	NimStringDesc* result;
19859 	NI a;
19860 	NI L;
19861 	result = NIM_NIL;
19862 	a = x.a;
19863 	L = (NI)((NI)((NI)((s ? s->Sup.len : 0) - x.b) - a) + ((NI) 1));
19864 	result = mnewString(((NI) (L)));
19865 	{
19866 		NI i;
19867 		NI i_2;
19868 		i = (NI)0;
19869 		i_2 = ((NI) 0);
19870 		{
19871 			while (1) {
19872 				if (!(i_2 < L)) goto LA3;
19873 				i = i_2;
19874 				result->data[i] = s->data[(NI)(i + a)];
19875 				i_2 += ((NI) 1);
19876 			} LA3: ;
19877 		}
19878 	}
19879 	return result;
19880 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___stdZenumutils_80)19881 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
19882 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
19883 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19884 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19885 	result.a = a;
19886 	result.b = b;
19887 	return result;
19888 }
N_NIMCALL(NimStringDesc *,getMsgDiagnostic__sem_1968)19889 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getMsgDiagnostic__sem_1968)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f) {
19890 	NimStringDesc* result;
19891 	NimStringDesc* ident;
19892 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T10_;
19893 	result = NIM_NIL;
19894 	{
19895 		if (!(((NI) 0) < (*c).compilesContextId)) goto LA3_;
19896 	}
19897 	goto LA1_;
19898 	LA3_: ;
19899 	{
19900 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
19901 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
19902 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
19903 		sym = initOverloadIter__lookups_1374((&o), c, f);
19904 		{
19905 			while (1) {
19906 				tyArray__nHXaesL0DJZHyVS07ARPRA T8_;
19907 				NimStringDesc* T9_;
19908 				if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7;
19909 				nimZeroMem((void*)T8_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
19910 				T8_[0] = getSymRepr__lookups_548((*(*c).graph).config, sym, NIM_TRUE);
19911 				T9_ = NIM_NIL;
19912 				T9_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_413), T8_, 1);
19913 				result = resizeString(result, (T9_ ? T9_->Sup.len : 0) + 0);
19914 appendString(result, T9_);
19915 				sym = nextOverloadIter__lookups_1528((&o), c, f);
19916 			} LA7: ;
19917 		}
19918 	}
19919 	LA1_: ;
19920 	T10_ = NIM_NIL;
19921 	T10_ = considerQuotedIdent__lookups_28(c, f, n);
19922 	ident = (*T10_).s;
19923 	{
19924 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym_2;
19925 		NimStringDesc* typeHint;
19926 		NimStringDesc* suffix;
19927 		NimStringDesc* T28_;
19928 		NimStringDesc* T29_;
19929 		if (!((2560 & (*n).flags) == 512)) goto LA13_;
19930 		sym_2 = typSym__astmsgs_5((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
19931 		typeHint = ((NimStringDesc*) NIM_NIL);
19932 		{
19933 			if (!(sym_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA17_;
19934 		}
19935 		goto LA15_;
19936 		LA17_: ;
19937 		{
19938 			NimStringDesc* T20_;
19939 			NimStringDesc* T21_;
19940 			T20_ = NIM_NIL;
19941 			T21_ = NIM_NIL;
19942 			T21_ = getProcHeader__types_222((*(*c).graph).config, sym_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
19943 			T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + 10);
19944 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
19945 appendString(T20_, T21_);
19946 			typeHint = T20_;
19947 		}
19948 		LA15_: ;
19949 		{
19950 			NimStringDesc* T26_;
19951 			if (!(((NI) 0) < (result ? result->Sup.len : 0))) goto LA24_;
19952 			T26_ = NIM_NIL;
19953 			T26_ = rawNewString((result ? result->Sup.len : 0) + 1);
19954 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_415));
19955 appendString(T26_, result);
19956 			suffix = T26_;
19957 		}
19958 		goto LA22_;
19959 		LA24_: ;
19960 		{
19961 			suffix = ((NimStringDesc*) NIM_NIL);
19962 		}
19963 		LA22_: ;
19964 		T28_ = NIM_NIL;
19965 		T29_ = NIM_NIL;
19966 		T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), ident);
19967 		T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + (typeHint ? typeHint->Sup.len : 0) + (suffix ? suffix->Sup.len : 0) + 0);
19968 appendString(T28_, T29_);
19969 appendString(T28_, typeHint);
19970 appendString(T28_, suffix);
19971 		result = T28_;
19972 	}
19973 	goto LA11_;
19974 	LA13_: ;
19975 	{
19976 		{
19977 			if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA33_;
19978 			result = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_417), ident);
19979 		}
19980 		goto LA31_;
19981 		LA33_: ;
19982 		{
19983 			tyArray__Re75IspeoxXy2oCZHwcRrA T36_;
19984 			nimZeroMem((void*)T36_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
19985 			T36_[0] = copyString(ident);
19986 			T36_[1] = copyString(result);
19987 			result = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_418), T36_, 2);
19988 		}
19989 		LA31_: ;
19990 	}
19991 	LA11_: ;
19992 	return result;
19993 }
N_NIMCALL(NIM_BOOL,sameMethodDispatcher__sem_1428)19994 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameMethodDispatcher__sem_1428)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
19995 	NIM_BOOL result;
19996 	result = (NIM_BOOL)0;
19997 	result = NIM_FALSE;
19998 	{
19999 		NIM_BOOL T3_;
20000 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
20001 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bb;
20002 		T3_ = (NIM_BOOL)0;
20003 		T3_ = ((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
20004 		if (!(T3_)) goto LA4_;
20005 		T3_ = ((*b).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
20006 		LA4_: ;
20007 		if (!T3_) goto LA5_;
20008 		aa = lastSon__ast_4832((*a).ast);
20009 		bb = lastSon__ast_4832((*b).ast);
20010 		{
20011 			NIM_BOOL T9_;
20012 			T9_ = (NIM_BOOL)0;
20013 			T9_ = ((*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
20014 			if (!(T9_)) goto LA10_;
20015 			T9_ = ((*bb).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
20016 			LA10_: ;
20017 			if (!T9_) goto LA11_;
20018 			{
20019 				if (!((*aa)._kind_4.sym == (*bb)._kind_4.sym)) goto LA15_;
20020 				result = NIM_TRUE;
20021 			}
20022 			LA15_: ;
20023 		}
20024 		goto LA7_;
20025 		LA11_: ;
20026 		{
20027 		}
20028 		LA7_: ;
20029 	}
20030 	LA5_: ;
20031 	return result;
20032 }
N_NIMCALL(void,resolveOverloads__sem_1997)20033 N_LIB_PRIVATE N_NIMCALL(void, resolveOverloads__sem_1997)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags, tySequence__0dpGN6F4ocevqUQGsaf41w** errors, NIM_BOOL errorsEnabled, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) {
20034 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initialBinding;
20035 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA alt;
20036 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f;
20037 	tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg overloadsState;
20038 {	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
20039 	(*Result).exactMatches = 0;
20040 	(*Result).genericMatches = 0;
20041 	(*Result).subtypeMatches = 0;
20042 	(*Result).intConvMatches = 0;
20043 	(*Result).convMatches = 0;
20044 	(*Result).state = 0;
20045 	unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
20046 	unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
20047 	(*Result).calleeScope = 0;
20048 	unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
20049 	(*Result).bindings.counter = 0;
20050 	unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
20051 	(*Result).magic = 0;
20052 	(*Result).baseTypeMatch = 0;
20053 	(*Result).fauxMatch = 0;
20054 	(*Result).genericConverter = 0;
20055 	(*Result).coerceDistincts = 0;
20056 	(*Result).typedescMatched = 0;
20057 	(*Result).isNoCall = 0;
20058 	unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
20059 	unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
20060 	(*Result).inheritancePenalty = 0;
20061 	(*Result).firstMismatch.kind = 0;
20062 	(*Result).firstMismatch.arg = 0;
20063 	unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
20064 	(*Result).diagnosticsEnabled = 0;
20065 	initialBinding = NIM_NIL;
20066 	nimZeroMem((void*)(&alt), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20067 	f = (*n)._kind_6.sons->data[((NI) 0)];
20068 	{
20069 		if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA3_;
20070 		semOpAux__sem_88(c, f);
20071 		initialBinding = f;
20072 		f = (*f)._kind_6.sons->data[((NI) 0)];
20073 	}
20074 	goto LA1_;
20075 	LA3_: ;
20076 	{
20077 		initialBinding = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20078 	}
20079 	LA1_: ;
20080 	pickBestCandidate__sem_1496(c, f, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20081 	overloadsState = (*Result).state;
20082 	{
20083 		if (!!((overloadsState == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA8_;
20084 		{
20085 			NIM_BOOL T12_;
20086 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* hiddenArg;
20087 			T12_ = (NIM_BOOL)0;
20088 			T12_ = !(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
20089 			if (!(T12_)) goto LA13_;
20090 			T12_ = !(((*(*c).p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
20091 			LA13_: ;
20092 			if (!T12_) goto LA14_;
20093 			hiddenArg = newSymNode__ast_3716((*(*c).p).selfSym);
20094 			asgnRef((void**) (&(*hiddenArg).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
20095 			insert__liftdestructors_1579((&(*n)._kind_6.sons), hiddenArg, ((NI) 1));
20096 			insert__liftdestructors_1579((&(*orig)._kind_6.sons), hiddenArg, ((NI) 1));
20097 			pickBestCandidate__sem_1496(c, f, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20098 			{
20099 				if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA18_;
20100 				delete__closureiters_1709((&(*n)._kind_6.sons), ((NI) 1));
20101 				delete__closureiters_1709((&(*orig)._kind_6.sons), ((NI) 1));
20102 				(*n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12)) & 31));
20103 			}
20104 			goto LA16_;
20105 			LA18_: ;
20106 			{
20107 				goto BeforeRet_;
20108 			}
20109 			LA16_: ;
20110 		}
20111 		LA14_: ;
20112 		{
20113 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T32_;
20114 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T33_;
20115 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T34_;
20116 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T35_;
20117 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA23_;
20118 			{
20119 				NIM_BOOL T27_;
20120 				NI T29_;
20121 				NimStringDesc* argX60gensym324_;
20122 				T27_ = (NIM_BOOL)0;
20123 				T27_ = ((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20124 				if (!(T27_)) goto LA28_;
20125 				T29_ = (NI)0;
20126 				T29_ = len__ast_3198(n);
20127 				T27_ = (((NI) 2) <= T29_);
20128 				LA28_: ;
20129 				if (!!(T27_)) goto LA30_;
20130 				argX60gensym324_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_412);
20131 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym324_, TM__rF9caJawfOjYTjsgLVUSGFA_412);
20132 			}
20133 			LA30_: ;
20134 			T32_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20135 			nimZeroMem((void*)T33_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20136 			T33_[0] = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20137 			T33_[1] = (*n)._kind_6.sons->data[((NI) 1)];
20138 			T33_[2] = f;
20139 			X5BX5Deq___pragmas_1672((&(*n)._kind_6.sons), T32_, T33_, 3);
20140 			T34_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20141 			nimZeroMem((void*)T35_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20142 			T35_[0] = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20143 			T35_[1] = (*orig)._kind_6.sons->data[((NI) 1)];
20144 			T35_[2] = f;
20145 			X5BX5Deq___pragmas_1672((&(*orig)._kind_6.sons), T34_, T35_, 3);
20146 			{
20147 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opX60gensym329_;
20148 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T40_;
20149 				if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 11))&31U)))!=0)) goto LA38_;
20150 				T40_ = NIM_NIL;
20151 				T40_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_210));
20152 				opX60gensym329_ = newIdentNode__ast_3712(T40_, (*n).info);
20153 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), opX60gensym329_);
20154 				asgnRef((void**) (&(*orig)._kind_6.sons->data[((NI) 0)]), opX60gensym329_);
20155 				pickBestCandidate__sem_1496(c, opX60gensym329_, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20156 			}
20157 			LA38_: ;
20158 			{
20159 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opX60gensym335_;
20160 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T45_;
20161 				if (!((5 &((NU8)1<<((NU)((*Result).state)&7U)))!=0)) goto LA43_;
20162 				T45_ = NIM_NIL;
20163 				T45_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_209));
20164 				opX60gensym335_ = newIdentNode__ast_3712(T45_, (*n).info);
20165 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), opX60gensym335_);
20166 				asgnRef((void**) (&(*orig)._kind_6.sons->data[((NI) 0)]), opX60gensym335_);
20167 				pickBestCandidate__sem_1496(c, opX60gensym335_, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20168 			}
20169 			LA43_: ;
20170 		}
20171 		goto LA21_;
20172 		LA23_: ;
20173 		{
20174 			NIM_BOOL T47_;
20175 			NIM_BOOL T48_;
20176 			NI T51_;
20177 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calleeName;
20178 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T54_;
20179 			NimStringDesc* T55_;
20180 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T56_;
20181 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callOp;
20182 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T57_;
20183 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T58_;
20184 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T59_;
20185 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T60_;
20186 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T61_;
20187 			T47_ = (NIM_BOOL)0;
20188 			T48_ = (NIM_BOOL)0;
20189 			T48_ = (((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 10))&31U)))!=0);
20190 			if (!(T48_)) goto LA49_;
20191 			T48_ = ((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20192 			LA49_: ;
20193 			T47_ = T48_;
20194 			if (!(T47_)) goto LA50_;
20195 			T51_ = (NI)0;
20196 			T51_ = len__ast_3198(n);
20197 			T47_ = (T51_ == ((NI) 3));
20198 			LA50_: ;
20199 			if (!T47_) goto LA52_;
20200 			T54_ = dotdot___stdZenumutils_80(((NI) 0), ((NI) 2));
20201 			T55_ = NIM_NIL;
20202 			T55_ = X5BX5D___pureZunicode_3215((*(*f)._kind_5.ident).s, T54_);
20203 			T56_ = NIM_NIL;
20204 			T56_ = getIdent__idents_143((*c).cache, T55_);
20205 			calleeName = newIdentNode__ast_3712(T56_, (*n).info);
20206 			T57_ = NIM_NIL;
20207 			T57_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_211));
20208 			callOp = newIdentNode__ast_3712(T57_, (*n).info);
20209 			T58_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20210 			nimZeroMem((void*)T59_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20211 			T59_[0] = callOp;
20212 			T59_[1] = (*n)._kind_6.sons->data[((NI) 1)];
20213 			T59_[2] = calleeName;
20214 			X5BX5Deq___pragmas_1672((&(*n)._kind_6.sons), T58_, T59_, 3);
20215 			T60_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20216 			nimZeroMem((void*)T61_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20217 			T61_[0] = callOp;
20218 			T61_[1] = (*orig)._kind_6.sons->data[((NI) 1)];
20219 			T61_[2] = calleeName;
20220 			X5BX5Deq___pragmas_1672((&(*orig)._kind_6.sons), T60_, T61_, 3);
20221 			pickBestCandidate__sem_1496(c, callOp, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20222 		}
20223 		goto LA21_;
20224 		LA52_: ;
20225 		LA21_: ;
20226 		{
20227 			NIM_BOOL T64_;
20228 			T64_ = (NIM_BOOL)0;
20229 			T64_ = (overloadsState == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0));
20230 			if (!(T64_)) goto LA65_;
20231 			T64_ = ((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0));
20232 			LA65_: ;
20233 			if (!T64_) goto LA66_;
20234 			{
20235 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA70_;
20236 				{
20237 					NIM_BOOL T74_;
20238 					NIM_BOOL T75_;
20239 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
20240 					T74_ = (NIM_BOOL)0;
20241 					T75_ = (NIM_BOOL)0;
20242 					T75_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20243 					if (!(T75_)) goto LA76_;
20244 					T75_ = eqStrings((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_211));
20245 					LA76_: ;
20246 					T74_ = T75_;
20247 					if (!(T74_)) goto LA77_;
20248 					T74_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20249 					LA77_: ;
20250 					if (!T74_) goto LA78_;
20251 					sym = (*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).sym;
20252 					{
20253 						NimStringDesc* T84_;
20254 						if (!(sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA82_;
20255 						T84_ = NIM_NIL;
20256 						T84_ = getMsgDiagnostic__sem_1968(c, flags, n, f);
20257 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T84_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_419, NIM_FALSE);
20258 					}
20259 					goto LA80_;
20260 					LA82_: ;
20261 					{
20262 						NimStringDesc* field;
20263 						NimStringDesc* msg;
20264 						NimStringDesc* T86_;
20265 						NimStringDesc* T87_;
20266 						NimStringDesc* T88_;
20267 						field = (*(*(*n)._kind_6.sons->data[((NI) 2)])._kind_5.ident).s;
20268 						T86_ = NIM_NIL;
20269 						T87_ = NIM_NIL;
20270 						T87_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), field);
20271 						T88_ = NIM_NIL;
20272 						T88_ = getProcHeader__types_222((*(*c).graph).config, sym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20273 						T86_ = rawNewString((T87_ ? T87_->Sup.len : 0) + (T88_ ? T88_->Sup.len : 0) + 10);
20274 appendString(T86_, T87_);
20275 appendString(T86_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
20276 appendString(T86_, T88_);
20277 						msg = T86_;
20278 						liMessage__msgs_1118((*(*c).graph).config, (*(*orig)._kind_6.sons->data[((NI) 2)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_420, NIM_FALSE);
20279 					}
20280 					LA80_: ;
20281 				}
20282 				goto LA72_;
20283 				LA78_: ;
20284 				{
20285 					NimStringDesc* T90_;
20286 					T90_ = NIM_NIL;
20287 					T90_ = getMsgDiagnostic__sem_1968(c, flags, n, f);
20288 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T90_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_421, NIM_FALSE);
20289 				}
20290 				LA72_: ;
20291 			}
20292 			LA70_: ;
20293 			goto BeforeRet_;
20294 		}
20295 		goto LA62_;
20296 		LA66_: ;
20297 		{
20298 			if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA92_;
20299 			{
20300 				NimStringDesc* T98_;
20301 				NimStringDesc* T99_;
20302 				if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12))&31U)))!=0)) goto LA96_;
20303 				T98_ = NIM_NIL;
20304 				T98_ = renderTree__renderer_46(n, 4);
20305 				T99_ = NIM_NIL;
20306 				T99_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_268), T98_);
20307 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T99_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_422, NIM_FALSE);
20308 			}
20309 			goto LA94_;
20310 			LA96_: ;
20311 			{
20312 				{
20313 					if (!!(((1536 & (*n).flags) == 0))) goto LA103_;
20314 					delete__closureiters_1709((&(*n)._kind_6.sons), ((NI) 2));
20315 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), f);
20316 				}
20317 				LA103_: ;
20318 			}
20319 			LA94_: ;
20320 			goto BeforeRet_;
20321 		}
20322 		goto LA62_;
20323 		LA92_: ;
20324 		LA62_: ;
20325 	}
20326 	LA8_: ;
20327 	{
20328 		NIM_BOOL T107_;
20329 		NIM_BOOL T108_;
20330 		NI T110_;
20331 		NIM_BOOL T112_;
20332 		T107_ = (NIM_BOOL)0;
20333 		T108_ = (NIM_BOOL)0;
20334 		T108_ = (alt.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
20335 		if (!(T108_)) goto LA109_;
20336 		T110_ = (NI)0;
20337 		T110_ = cmpCandidates__sigmatch_358(Result, (&alt));
20338 		T108_ = (T110_ == ((NI) 0));
20339 		LA109_: ;
20340 		T107_ = T108_;
20341 		if (!(T107_)) goto LA111_;
20342 		T112_ = (NIM_BOOL)0;
20343 		T112_ = sameMethodDispatcher__sem_1428((*Result).calleeSym, alt.calleeSym);
20344 		T107_ = !(T112_);
20345 		LA111_: ;
20346 		if (!T107_) goto LA113_;
20347 		{
20348 			NimStringDesc* argX60gensym374_;
20349 			if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA117_;
20350 			argX60gensym374_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_423);
20351 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym374_, TM__rF9caJawfOjYTjsgLVUSGFA_423);
20352 		}
20353 		LA117_: ;
20354 		{
20355 			if (!((*(*(*c).graph).config).m.errorOutputs == 0)) goto LA121_;
20356 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_424), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_425, NIM_FALSE);
20357 		}
20358 		goto LA119_;
20359 		LA121_: ;
20360 		{
20361 			NimStringDesc* args;
20362 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T134_;
20363 			NimStringDesc* T135_;
20364 			if (!((*(*(*c).graph).config).errorCounter == ((NI) 0))) goto LA124_;
20365 			args = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
20366 			{
20367 				NI i;
20368 				NI colontmp_;
20369 				NI i_2;
20370 				i = (NI)0;
20371 				colontmp_ = (NI)0;
20372 				colontmp_ = len__ast_3198(n);
20373 				i_2 = ((NI) 1);
20374 				{
20375 					while (1) {
20376 						NimStringDesc* T133_;
20377 						if (!(i_2 < colontmp_)) goto LA128;
20378 						i = i_2;
20379 						{
20380 							if (!(((NI) 1) < i)) goto LA131_;
20381 							args = resizeString(args, 2);
20382 appendString(args, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
20383 						}
20384 						LA131_: ;
20385 						T133_ = NIM_NIL;
20386 						T133_ = typeToString__types_50((*(*n)._kind_6.sons->data[i]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
20387 						args = resizeString(args, (T133_ ? T133_->Sup.len : 0) + 0);
20388 appendString(args, T133_);
20389 						i_2 += ((NI) 1);
20390 					} LA128: ;
20391 				}
20392 			}
20393 			args = resizeString(args, 1);
20394 appendString(args, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
20395 			nimZeroMem((void*)T134_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
20396 			T134_[0] = getProcHeader__types_222((*(*c).graph).config, (*Result).calleeSym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20397 			T134_[1] = getProcHeader__types_222((*(*c).graph).config, alt.calleeSym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20398 			T134_[2] = copyString(args);
20399 			T135_ = NIM_NIL;
20400 			T135_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_426), T134_, 3);
20401 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T135_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_427, NIM_FALSE);
20402 		}
20403 		goto LA119_;
20404 		LA124_: ;
20405 		LA119_: ;
20406 	}
20407 	LA113_: ;
20408 	}BeforeRet_: ;
20409 }
N_NIMCALL(void,instGenericConvertersSons__sem_2316)20410 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersSons__sem_2316)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x) {
20411 	{
20412 		if (!(*x).genericConverter) goto LA3_;
20413 		{
20414 			NI i;
20415 			NI colontmp_;
20416 			NI i_2;
20417 			i = (NI)0;
20418 			colontmp_ = (NI)0;
20419 			colontmp_ = len__ast_3198(n);
20420 			i_2 = ((NI) 1);
20421 			{
20422 				while (1) {
20423 					if (!(i_2 < colontmp_)) goto LA7;
20424 					i = i_2;
20425 					instGenericConvertersArg__sem_2292(c, (*n)._kind_6.sons->data[i], x);
20426 					i_2 += ((NI) 1);
20427 				} LA7: ;
20428 			}
20429 		}
20430 	}
20431 	LA3_: ;
20432 }
N_NIMCALL(void,updateDefaultParams__sem_2362)20433 N_LIB_PRIVATE N_NIMCALL(void, updateDefaultParams__sem_2362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call) {
20434 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calleeParams;
20435 	calleeParams = (*(*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).n;
20436 	{
20437 		NI i;
20438 		NI colontmp_;
20439 		NI i_2;
20440 		i = (NI)0;
20441 		colontmp_ = (NI)0;
20442 		colontmp_ = len__ast_3198(call);
20443 		i_2 = ((NI) 1);
20444 		{
20445 			while (1) {
20446 				if (!(i_2 < colontmp_)) goto LA3;
20447 				i = i_2;
20448 				{
20449 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
20450 					if (!(((*(*call)._kind_6.sons->data[i]).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18))&31U)))!=0)) goto LA6_;
20451 					def = (*(*(*calleeParams)._kind_6.sons->data[i])._kind_4.sym).ast;
20452 					{
20453 						if (!(((*def).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA10_;
20454 						(*call).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
20455 					}
20456 					LA10_: ;
20457 					asgnRef((void**) (&(*call)._kind_6.sons->data[i]), def);
20458 				}
20459 				LA6_: ;
20460 				i_2 += ((NI) 1);
20461 			} LA3: ;
20462 		}
20463 	}
20464 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semResolvedCall__sem_2401)20465 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semResolvedCall__sem_2401)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
20466 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20467 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* finalCallee;
20468 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
20469 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
20470 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T90_;
20471 {	result = NIM_NIL;
20472 	finalCallee = (*x).calleeSym;
20473 	info = getCallLineInfo__sem_2390(n);
20474 	markUsed__sigmatch_85(c, info, finalCallee);
20475 	{
20476 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T5_;
20477 		if (!!(((*x).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA3_;
20478 		result = (*x).call;
20479 		T5_ = getCallLineInfo__sem_2390((*result)._kind_6.sons->data[((NI) 0)]);
20480 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(finalCallee, T5_));
20481 		{
20482 			NIM_BOOL T8_;
20483 			T8_ = (NIM_BOOL)0;
20484 			T8_ = containsGenericType__types_3360((*result).typ);
20485 			if (T8_) goto LA9_;
20486 			T8_ = ((*x).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
20487 			LA9_: ;
20488 			if (!T8_) goto LA10_;
20489 			asgnRef((void**) (&(*result).typ), newTypeS__semdata_733((*x).fauxMatch, c));
20490 			{
20491 				if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA14_;
20492 				(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
20493 			}
20494 			LA14_: ;
20495 		}
20496 		LA10_: ;
20497 		goto BeforeRet_;
20498 	}
20499 	LA3_: ;
20500 	gp = (*(*finalCallee).ast)._kind_6.sons->data[((NI) 2)];
20501 	{
20502 		NIM_BOOL T18_;
20503 		T18_ = (NIM_BOOL)0;
20504 		T18_ = isGenericParams__ast_4616(gp);
20505 		if (!T18_) goto LA19_;
20506 		{
20507 			if (!!(((393216 &((NU32)1<<((NU)((*(*x).calleeSym).kind)&31U)))!=0))) goto LA23_;
20508 			{
20509 				if (!((*(*x).calleeSym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*(*x).calleeSym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6))) goto LA27_;
20510 				finalCallee = (*x).calleeSym;
20511 			}
20512 			goto LA25_;
20513 			LA27_: ;
20514 			{
20515 				finalCallee = generateInstance__sem_1295(c, (*x).calleeSym, (*x).bindings, (*n).info);
20516 			}
20517 			LA25_: ;
20518 		}
20519 		goto LA21_;
20520 		LA23_: ;
20521 		{
20522 			{
20523 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
20524 				s = NIM_NIL;
20525 				{
20526 					NimStringDesc* argX60gensym132_;
20527 					if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA34_;
20528 					argX60gensym132_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_79);
20529 					internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym132_, TM__rF9caJawfOjYTjsgLVUSGFA_79);
20530 				}
20531 				LA34_: ;
20532 				{
20533 					NI i;
20534 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
20535 					i = (NI)0;
20536 					a = NIM_NIL;
20537 					{
20538 						NI i_2;
20539 						NI colontmp_;
20540 						NI i_3;
20541 						i_2 = (NI)0;
20542 						colontmp_ = (NI)0;
20543 						colontmp_ = safeLen__ast_3191(gp);
20544 						i_3 = ((NI) 0);
20545 						{
20546 							while (1) {
20547 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* q;
20548 								if (!(i_3 < colontmp_)) goto LA39;
20549 								i_2 = i_3;
20550 								i = i_2;
20551 								a = (*gp)._kind_6.sons->data[i_2];
20552 								{
20553 									NimStringDesc* argX60gensym135_;
20554 									if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA42_;
20555 									argX60gensym135_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_80);
20556 									internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym135_, TM__rF9caJawfOjYTjsgLVUSGFA_80);
20557 								}
20558 								LA42_: ;
20559 								q = (*a)._kind_4.sym;
20560 								{
20561 									tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind;
20562 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
20563 									tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T53_;
20564 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T54_;
20565 									tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
20566 									RootObj* T55_;
20567 									if (!((*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*(*q).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*(*q).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*(*q).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*(*q).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60) || (*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA46_;
20568 									{
20569 										if (!((*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA50_;
20570 										symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10);
20571 									}
20572 									goto LA48_;
20573 									LA50_: ;
20574 									{
20575 										symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
20576 									}
20577 									LA48_: ;
20578 									T53_ = nextSymId__ast_3132((*c).Sup.idgen);
20579 									T54_ = NIM_NIL;
20580 									T54_ = getCurrOwner__semdata_315(c);
20581 									s_2 = newSym__ast_3445(symKind, (*q).name, T53_, T54_, (*q).info, 0);
20582 									(*s_2).flags = ((*s_2).flags | 5);
20583 									T55_ = NIM_NIL;
20584 									T55_ = idTableGet__astalgo_64((*x).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*q).typ)))));
20585 									t = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T55_));
20586 									{
20587 										if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA58_;
20588 										{
20589 											if (!(((*(*q).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0)) goto LA62_;
20590 											t = (*q).typ;
20591 										}
20592 										goto LA60_;
20593 										LA62_: ;
20594 										{
20595 											NimStringDesc* T65_;
20596 											T65_ = NIM_NIL;
20597 											T65_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s_2).name).s);
20598 											liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T65_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_82, NIM_FALSE);
20599 											t = errorType__semdata_1002(c);
20600 										}
20601 										LA60_: ;
20602 									}
20603 									goto LA56_;
20604 									LA58_: ;
20605 									{
20606 										NimStringDesc* T69_;
20607 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA67_;
20608 										T69_ = NIM_NIL;
20609 										T69_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*q).name).s);
20610 										liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T69_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_83, NIM_FALSE);
20611 										t = errorType__semdata_1002(c);
20612 									}
20613 									goto LA56_;
20614 									LA67_: ;
20615 									{
20616 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA71_;
20617 										t = generateTypeInstance__semtypinst_1050(c, (*x).bindings, (*a).info, t);
20618 									}
20619 									goto LA56_;
20620 									LA71_: ;
20621 									LA56_: ;
20622 									asgnRef((void**) (&(*s_2).typ), t);
20623 									{
20624 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA75_;
20625 										asgnRef((void**) (&(*s_2).ast), (*t).n);
20626 									}
20627 									LA75_: ;
20628 									s = s_2;
20629 									switch ((*s).kind) {
20630 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
20631 									{
20632 										{
20633 											if (!!(((*s).ast == 0))) goto LA80_;
20634 											add__ast_4797((*x).call, (*s).ast);
20635 										}
20636 										goto LA78_;
20637 										LA80_: ;
20638 										{
20639 											add__ast_4797((*x).call, (*(*c).graph).emptyNode);
20640 										}
20641 										LA78_: ;
20642 									}
20643 									break;
20644 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
20645 									{
20646 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T84_;
20647 										T84_ = NIM_NIL;
20648 										T84_ = newSymNode__ast_3719(s, (*n).info);
20649 										add__ast_4797((*x).call, T84_);
20650 									}
20651 									break;
20652 									default:
20653 									{
20654 										{
20655 											NimStringDesc* argX60gensym425_;
20656 											if (!NIM_TRUE) goto LA88_;
20657 											argX60gensym425_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_430);
20658 											internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym425_, TM__rF9caJawfOjYTjsgLVUSGFA_430);
20659 										}
20660 										LA88_: ;
20661 									}
20662 									break;
20663 									}
20664 								}
20665 								LA46_: ;
20666 								i_3 += ((NI) 1);
20667 							} LA39: ;
20668 						}
20669 					}
20670 				}
20671 			}
20672 		}
20673 		LA21_: ;
20674 	}
20675 	LA19_: ;
20676 	result = (*x).call;
20677 	instGenericConvertersSons__sem_2316(c, result, x);
20678 	T90_ = getCallLineInfo__sem_2390((*result)._kind_6.sons->data[((NI) 0)]);
20679 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(finalCallee, T90_));
20680 	asgnRef((void**) (&(*result).typ), (*(*finalCallee).typ).sons->data[((NI) 0)]);
20681 	updateDefaultParams__sem_2362(result);
20682 	}BeforeRet_: ;
20683 	return result;
20684 }
N_INLINE(NIM_BOOL,canDeref__sem_2474)20685 static N_INLINE(NIM_BOOL, canDeref__sem_2474)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20686 	NIM_BOOL result;
20687 	NIM_BOOL T1_;
20688 	NI T2_;
20689 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
20690 	NIM_BOOL T4_;
20691 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
20692 	result = (NIM_BOOL)0;
20693 	T1_ = (NIM_BOOL)0;
20694 	T2_ = (NI)0;
20695 	T2_ = len__ast_3198(n);
20696 	T1_ = (((NI) 2) <= T2_);
20697 	if (!(T1_)) goto LA3_;
20698 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
20699 	T4_ = (NIM_BOOL)0;
20700 	T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
20701 	if (!(T4_)) goto LA5_;
20702 	T6_ = NIM_NIL;
20703 	T6_ = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_137);
20704 	T4_ = ((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
20705 	LA5_: ;
20706 	T1_ = T4_;
20707 	LA3_: ;
20708 	result = T1_;
20709 	return result;
20710 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryDeref__sem_2490)20711 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryDeref__sem_2490)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20712 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20713 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
20714 	result = NIM_NIL;
20715 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info);
20716 	T1_ = NIM_NIL;
20717 	T1_ = skipTypes__ast_3735((*n).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
20718 	asgnRef((void**) (&(*result).typ), (*T1_).sons->data[((NI) 0)]);
20719 	add__ast_4797(result, n);
20720 	return result;
20721 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOverloadedCall__sem_2498)20722 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOverloadedCall__sem_2498)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
20723 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20724 	tySequence__0dpGN6F4ocevqUQGsaf41w* errors;
20725 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r;
20726 	result = NIM_NIL;
20727 	errors = NIM_NIL;
20728 	nimZeroMem((void*)(&r), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20729 	resolveOverloads__sem_1997(c, n, nOrig, filter, flags, (&errors), ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), (&r));
20730 	{
20731 		if (!(r.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA3_;
20732 		{
20733 			NI T7_;
20734 			tyTuple__ZtAk5YtH0VW1iPowvxePrg T10_;
20735 			tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw _;
20736 			NimStringDesc* candidates;
20737 			NimStringDesc* T11_;
20738 			NimStringDesc* T12_;
20739 			T7_ = (errors ? errors->Sup.len : 0);
20740 			if (!(((NI) 0) < T7_)) goto LA8_;
20741 			nimZeroMem((void*)(&T10_), sizeof(tyTuple__ZtAk5YtH0VW1iPowvxePrg));
20742 			presentFailedCandidates__sem_1636(c, n, errors, (&T10_));
20743 			_ = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
20744 			_ = T10_.Field0;
20745 			candidates = NIM_NIL;
20746 			candidates = T10_.Field1;
20747 			T11_ = NIM_NIL;
20748 			T12_ = NIM_NIL;
20749 			T12_ = renderTree__renderer_46(n, 0);
20750 			T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + (candidates ? candidates->Sup.len : 0) + 29);
20751 appendString(T11_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_428));
20752 appendString(T11_, T12_);
20753 appendString(T11_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
20754 appendString(T11_, candidates);
20755 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 99), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_429, NIM_FALSE);
20756 		}
20757 		LA8_: ;
20758 		result = semResolvedCall__sem_2401(c, (&r), n, flags);
20759 	}
20760 	goto LA1_;
20761 	LA3_: ;
20762 	{
20763 		NIM_BOOL T14_;
20764 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r_2;
20765 		T14_ = (NIM_BOOL)0;
20766 		T14_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 0))&31U)))!=0);
20767 		if (!(T14_)) goto LA15_;
20768 		T14_ = canDeref__sem_2474(n);
20769 		LA15_: ;
20770 		if (!T14_) goto LA16_;
20771 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), tryDeref__sem_2490((*n)._kind_6.sons->data[((NI) 1)]));
20772 		nimZeroMem((void*)(&r_2), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20773 		resolveOverloads__sem_1997(c, n, nOrig, filter, flags, (&errors), ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), (&r_2));
20774 		{
20775 			if (!(r_2.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA20_;
20776 			result = semResolvedCall__sem_2401(c, (&r_2), n, flags);
20777 		}
20778 		goto LA18_;
20779 		LA20_: ;
20780 		{
20781 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]);
20782 			{
20783 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
20784 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA25_;
20785 				T27_ = NIM_NIL;
20786 				T27_ = semOverloadedCall__sem_2498(c, n, nOrig, filter, (flags | 1024));
20787 				(void)(T27_);
20788 			}
20789 			goto LA23_;
20790 			LA25_: ;
20791 			{
20792 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA29_;
20793 				notFoundError__sem_1922(c, n, errors);
20794 			}
20795 			goto LA23_;
20796 			LA29_: ;
20797 			LA23_: ;
20798 		}
20799 		LA18_: ;
20800 	}
20801 	goto LA1_;
20802 	LA16_: ;
20803 	{
20804 		{
20805 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
20806 			if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA34_;
20807 			T36_ = NIM_NIL;
20808 			T36_ = semOverloadedCall__sem_2498(c, n, nOrig, filter, (flags | 1024));
20809 			(void)(T36_);
20810 		}
20811 		goto LA32_;
20812 		LA34_: ;
20813 		{
20814 			if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA38_;
20815 			notFoundError__sem_1922(c, n, errors);
20816 		}
20817 		goto LA32_;
20818 		LA38_: ;
20819 		LA32_: ;
20820 	}
20821 	LA1_: ;
20822 	return result;
20823 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOverloadedCallAnalyseEffects__sem_16420)20824 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOverloadedCallAnalyseEffects__sem_16420)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
20825 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20826 {	result = NIM_NIL;
20827 	{
20828 		if (!!(((flags & 14) == 0))) goto LA3_;
20829 		result = semOverloadedCall__sem_2498(c, n, nOrig, 520192, flags);
20830 	}
20831 	goto LA1_;
20832 	LA3_: ;
20833 	{
20834 		result = semOverloadedCall__sem_2498(c, n, nOrig, 487424, flags);
20835 	}
20836 	LA1_: ;
20837 	{
20838 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
20839 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
20840 		{
20841 			if (!!(((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
20842 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_431), TM__rF9caJawfOjYTjsgLVUSGFA_432);
20843 			goto BeforeRet_;
20844 		}
20845 		LA12_: ;
20846 		callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
20847 		switch ((*callee).kind) {
20848 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
20849 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
20850 		{
20851 		}
20852 		break;
20853 		default:
20854 		{
20855 			{
20856 				NIM_BOOL T18_;
20857 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym4312_;
20858 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym4313_;
20859 				NimStringDesc* T22_;
20860 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
20861 				T18_ = (NIM_BOOL)0;
20862 				T18_ = ((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
20863 				if (!(T18_)) goto LA19_;
20864 				xX60gensym4312_ = callee;
20865 				xX60gensym4313_ = (*(*c).p).owner;
20866 				T18_ = ((NI)((NI)((NU64)(((NI) ((*xX60gensym4312_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym4312_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym4313_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym4313_).Sup.itemId.item))));
20867 				LA19_: ;
20868 				if (!T18_) goto LA20_;
20869 				T22_ = NIM_NIL;
20870 				T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_433), (*(*callee).name).s);
20871 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_434, NIM_FALSE);
20872 				T23_ = NIM_NIL;
20873 				T23_ = errorSym__lookups_506(c, n);
20874 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(T23_));
20875 			}
20876 			goto LA16_;
20877 			LA20_: ;
20878 			{
20879 				if (!((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA25_;
20880 				{
20881 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
20882 					if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 2))&31U)))!=0)) goto LA29_;
20883 					typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), c);
20884 					rawAddSon__ast_4288(typ, (*result).typ, NIM_TRUE);
20885 					asgnRef((void**) (&(*result).typ), typ);
20886 				}
20887 				LA29_: ;
20888 			}
20889 			goto LA16_;
20890 			LA25_: ;
20891 			LA16_: ;
20892 		}
20893 		break;
20894 		}
20895 	}
20896 	LA8_: ;
20897 	}BeforeRet_: ;
20898 	return result;
20899 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,propertyWriteAccess__sem_17538)20900 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, propertyWriteAccess__sem_17538)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
20901 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20902 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
20903 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* setterId;
20904 	NimStringDesc* T1_;
20905 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T2_;
20906 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aOrig;
20907 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T3_;
20908 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig;
20909 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T4_;
20910 	result = NIM_NIL;
20911 	id = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 1)], a);
20912 	T1_ = NIM_NIL;
20913 	T1_ = rawNewString(((*id).s ? (*id).s->Sup.len : 0) + 1);
20914 appendString(T1_, (*id).s);
20915 appendChar(T1_, 61);
20916 	T2_ = NIM_NIL;
20917 	T2_ = getIdent__idents_143((*c).cache, T1_);
20918 	setterId = newIdentNode__ast_3712(T2_, (*n).info);
20919 	aOrig = (*nOrig)._kind_6.sons->data[((NI) 0)];
20920 	nimZeroMem((void*)T3_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20921 	T3_[0] = setterId;
20922 	T3_[1] = (*a)._kind_6.sons->data[((NI) 0)];
20923 	T3_[2] = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
20924 	result = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T3_, 3);
20925 	(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 10)) & 31);
20926 	nimZeroMem((void*)T4_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20927 	T4_[0] = setterId;
20928 	T4_[1] = (*aOrig)._kind_6.sons->data[((NI) 0)];
20929 	T4_[2] = (*nOrig)._kind_6.sons->data[((NI) 1)];
20930 	orig = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T4_, 3);
20931 	result = semOverloadedCallAnalyseEffects__sem_16420(c, result, orig, 0);
20932 	{
20933 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
20934 		result = afterCallActions__sem_16520(c, result, nOrig, 0);
20935 	}
20936 	LA7_: ;
20937 	return result;
20938 }
N_INLINE(NIM_BOOL,isSymChoice__sem_14366)20939 static N_INLINE(NIM_BOOL, isSymChoice__sem_14366)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20940 	NIM_BOOL result;
20941 	result = (NIM_BOOL)0;
20942 	result = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
20943 	return result;
20944 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,dotTransformation__sem_17303)20945 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotTransformation__sem_17303)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20946 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20947 	result = NIM_NIL;
20948 	{
20949 		NIM_BOOL T3_;
20950 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
20951 		T3_ = (NIM_BOOL)0;
20952 		T3_ = isSymChoice__sem_14366((*n)._kind_6.sons->data[((NI) 1)]);
20953 		if (!T3_) goto LA4_;
20954 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25), (*n).info);
20955 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
20956 		T6_ = NIM_NIL;
20957 		T6_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
20958 		add__ast_4797(result, T6_);
20959 	}
20960 	goto LA1_;
20961 	LA4_: ;
20962 	{
20963 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i;
20964 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
20965 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
20966 		i = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
20967 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25), (*n).info);
20968 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9)) & 31);
20969 		T8_ = NIM_NIL;
20970 		T8_ = newIdentNode__ast_3712(i, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
20971 		add__ast_4797(result, T8_);
20972 		T9_ = NIM_NIL;
20973 		T9_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
20974 		add__ast_4797(result, T9_);
20975 	}
20976 	LA1_: ;
20977 	return result;
20978 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildOverloadedSubscripts__sem_17343)20979 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildOverloadedSubscripts__sem_17343)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident) {
20980 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20981 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
20982 	result = NIM_NIL;
20983 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
20984 	T1_ = NIM_NIL;
20985 	T1_ = newIdentNode__ast_3712(ident, (*n).info);
20986 	add__ast_4797(result, T1_);
20987 	{
20988 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
20989 		s = NIM_NIL;
20990 		{
20991 			NI i;
20992 			NI colontmp_;
20993 			NI i_2;
20994 			i = (NI)0;
20995 			colontmp_ = (NI)0;
20996 			colontmp_ = safeLen__ast_3191(n);
20997 			i_2 = ((NI) 0);
20998 			{
20999 				while (1) {
21000 					if (!(i_2 < colontmp_)) goto LA5;
21001 					i = i_2;
21002 					s = (*n)._kind_6.sons->data[i];
21003 					add__ast_4797(result, s);
21004 					i_2 += ((NI) 1);
21005 				} LA5: ;
21006 			}
21007 		}
21008 	}
21009 	return result;
21010 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getRoot__sem_17663)21011 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getRoot__sem_17663)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL followDeref) {
21012 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21013 	result = NIM_NIL;
21014 	result = n;
21015 	{
21016 		while (1) {
21017 			switch ((*result).kind) {
21018 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
21019 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
21020 			{
21021 				{
21022 					if (!followDeref) goto LA6_;
21023 					result = (*result)._kind_6.sons->data[((NI) 0)];
21024 				}
21025 				goto LA4_;
21026 				LA6_: ;
21027 				{
21028 					goto LA1;
21029 				}
21030 				LA4_: ;
21031 			}
21032 			break;
21033 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21034 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
21035 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
21036 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
21037 			{
21038 				result = (*result)._kind_6.sons->data[((NI) 0)];
21039 			}
21040 			break;
21041 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
21042 			{
21043 				result = (*result)._kind_6.sons->data[((NI) 1)];
21044 			}
21045 			break;
21046 			default:
21047 			{
21048 				goto LA1;
21049 			}
21050 			break;
21051 			}
21052 		}
21053 	} LA1: ;
21054 	return result;
21055 }
N_INLINE(NIM_BOOL,scopedLifetime__sem_17670)21056 static N_INLINE(NIM_BOOL, scopedLifetime__sem_17670)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
21057 	NIM_BOOL result;
21058 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21059 	NIM_BOOL T1_;
21060 	NIM_BOOL T3_;
21061 	NIM_BOOL T4_;
21062 	result = (NIM_BOOL)0;
21063 	n = getRoot__sem_17663(ri, NIM_FALSE);
21064 	T1_ = (NIM_BOOL)0;
21065 	T1_ = ((*ri).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*ri).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38));
21066 	if (T1_) goto LA2_;
21067 	T3_ = (NIM_BOOL)0;
21068 	T4_ = (NIM_BOOL)0;
21069 	T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21070 	if (!(T4_)) goto LA5_;
21071 	T4_ = ((*(*n)._kind_4.sym).owner == (*(*c).p).owner);
21072 	LA5_: ;
21073 	T3_ = T4_;
21074 	if (!(T3_)) goto LA6_;
21075 	T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11)));
21076 	LA6_: ;
21077 	T1_ = T3_;
21078 	LA2_: ;
21079 	result = T1_;
21080 	return result;
21081 }
N_INLINE(NIM_BOOL,escapes__sem_17695)21082 static N_INLINE(NIM_BOOL, escapes__sem_17695)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le) {
21083 	NIM_BOOL result;
21084 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21085 	NIM_BOOL T1_;
21086 	result = (NIM_BOOL)0;
21087 	n = getRoot__sem_17663(le, NIM_TRUE);
21088 	T1_ = (NIM_BOOL)0;
21089 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21090 	if (!(T1_)) goto LA2_;
21091 	T1_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
21092 	LA2_: ;
21093 	result = T1_;
21094 	return result;
21095 }
N_NIMCALL(void,borrowCheck__sem_17656)21096 N_LIB_PRIVATE N_NIMCALL(void, borrowCheck__sem_17656)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
21097 	{
21098 		NIM_BOOL T3_;
21099 		NIM_BOOL T4_;
21100 		NIM_BOOL T5_;
21101 		NIM_BOOL T6_;
21102 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
21103 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
21104 		T3_ = (NIM_BOOL)0;
21105 		T4_ = (NIM_BOOL)0;
21106 		T5_ = (NIM_BOOL)0;
21107 		T6_ = (NIM_BOOL)0;
21108 		T6_ = !(((*ri).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21109 		if (!(T6_)) goto LA7_;
21110 		T8_ = NIM_NIL;
21111 		T8_ = skipTypes__ast_3735((*ri).typ, TM__rF9caJawfOjYTjsgLVUSGFA_440);
21112 		T6_ = ((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
21113 		LA7_: ;
21114 		T5_ = T6_;
21115 		if (!(T5_)) goto LA9_;
21116 		T5_ = !(((*le).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21117 		LA9_: ;
21118 		T4_ = T5_;
21119 		if (!(T4_)) goto LA10_;
21120 		T11_ = NIM_NIL;
21121 		T11_ = skipTypes__ast_3735((*le).typ, TM__rF9caJawfOjYTjsgLVUSGFA_440);
21122 		T4_ = !(((*T11_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
21123 		LA10_: ;
21124 		T3_ = T4_;
21125 		if (!(T3_)) goto LA12_;
21126 		T3_ = scopedLifetime__sem_17670(c, ri);
21127 		LA12_: ;
21128 		if (!T3_) goto LA13_;
21129 		{
21130 			NIM_BOOL T17_;
21131 			NimStringDesc* T21_;
21132 			NimStringDesc* T22_;
21133 			T17_ = (NIM_BOOL)0;
21134 			T17_ = ((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21135 			if (!(T17_)) goto LA18_;
21136 			T17_ = ((*(*le)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21137 			LA18_: ;
21138 			if (!T17_) goto LA19_;
21139 			T21_ = NIM_NIL;
21140 			T22_ = NIM_NIL;
21141 			T22_ = typeToString__types_50((*le).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
21142 			T21_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 86);
21143 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_441));
21144 appendString(T21_, T22_);
21145 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_442));
21146 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_443, NIM_FALSE);
21147 		}
21148 		goto LA15_;
21149 		LA19_: ;
21150 		{
21151 			NIM_BOOL T24_;
21152 			T24_ = (NIM_BOOL)0;
21153 			T24_ = escapes__sem_17695(c, le);
21154 			if (!T24_) goto LA25_;
21155 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_444), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_445, NIM_FALSE);
21156 		}
21157 		goto LA15_;
21158 		LA25_: ;
21159 		LA15_: ;
21160 	}
21161 	LA13_: ;
21162 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,goodLineInfo__sem_17739)21163 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, goodLineInfo__sem_17739)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
21164 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
21165 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
21166 	{
21167 		NIM_BOOL T3_;
21168 		NI T5_;
21169 		NI T8_;
21170 		T3_ = (NIM_BOOL)0;
21171 		T3_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
21172 		if (!(T3_)) goto LA4_;
21173 		T5_ = (NI)0;
21174 		T5_ = len__ast_3198(arg);
21175 		T3_ = (((NI) 0) < T5_);
21176 		LA4_: ;
21177 		if (!T3_) goto LA6_;
21178 		T8_ = (NI)0;
21179 		T8_ = len__ast_3198(arg);
21180 		result = goodLineInfo__sem_17739((*arg)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))]);
21181 	}
21182 	goto LA1_;
21183 	LA6_: ;
21184 	{
21185 		result = (*arg).info;
21186 	}
21187 	LA1_: ;
21188 	return result;
21189 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,takeImplicitAddr__sem_17562)21190 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, takeImplicitAddr__sem_17562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isLent) {
21191 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21192 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* root;
21193 	tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag valid;
21194 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
21195 {	result = NIM_NIL;
21196 	root = exprRoot__parampatterns_300(n);
21197 	{
21198 		NIM_BOOL T3_;
21199 		T3_ = (NIM_BOOL)0;
21200 		T3_ = !((root == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21201 		if (!(T3_)) goto LA4_;
21202 		T3_ = ((*root).owner == (*(*c).p).owner);
21203 		LA4_: ;
21204 		if (!T3_) goto LA5_;
21205 		{
21206 			NIM_BOOL T9_;
21207 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T13_;
21208 			NimStringDesc* T14_;
21209 			T9_ = (NIM_BOOL)0;
21210 			T9_ = ((800 &((NU32)1<<((NU)((*root).kind)&31U)))!=0);
21211 			if (!(T9_)) goto LA10_;
21212 			T9_ = !((((*root).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0));
21213 			LA10_: ;
21214 			if (!T9_) goto LA11_;
21215 			nimZeroMem((void*)T13_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
21216 			T13_[0] = copyString((*(*root).name).s);
21217 			T13_[1] = renderTree__renderer_46(n, 4);
21218 			T13_[2] = createDocLink__lineinfos_6(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_447));
21219 			T14_ = NIM_NIL;
21220 			T14_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_446), T13_, 3);
21221 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_448, NIM_FALSE);
21222 		}
21223 		goto LA7_;
21224 		LA11_: ;
21225 		{
21226 			NIM_BOOL T16_;
21227 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T20_;
21228 			NimStringDesc* T21_;
21229 			T16_ = (NIM_BOOL)0;
21230 			T16_ = ((*root).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
21231 			if (!(T16_)) goto LA17_;
21232 			T16_ = !(((*root).position == ((NI) 0)));
21233 			LA17_: ;
21234 			if (!T16_) goto LA18_;
21235 			nimZeroMem((void*)T20_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
21236 			T20_[0] = copyString((*(*root).name).s);
21237 			T20_[1] = renderTree__renderer_46(n, 4);
21238 			T20_[2] = createDocLink__lineinfos_6(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_447));
21239 			T21_ = NIM_NIL;
21240 			T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_449), T20_, 3);
21241 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_450, NIM_FALSE);
21242 		}
21243 		goto LA7_;
21244 		LA18_: ;
21245 		LA7_: ;
21246 	}
21247 	LA5_: ;
21248 	switch ((*n).kind) {
21249 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
21250 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
21251 	{
21252 		result = n;
21253 		goto BeforeRet_;
21254 	}
21255 	break;
21256 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
21257 	{
21258 		result = (*n)._kind_6.sons->data[((NI) 0)];
21259 		goto BeforeRet_;
21260 	}
21261 	break;
21262 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21263 	{
21264 		{
21265 			NI T27_;
21266 			T27_ = (NI)0;
21267 			T27_ = len__ast_3198(n);
21268 			if (!(T27_ == ((NI) 1))) goto LA28_;
21269 			result = (*n)._kind_6.sons->data[((NI) 0)];
21270 			goto BeforeRet_;
21271 		}
21272 		LA28_: ;
21273 	}
21274 	break;
21275 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
21276 	{
21277 	}
21278 	break;
21279 	default:
21280 	{
21281 	}
21282 	break;
21283 	}
21284 	valid = isAssignable__sem_15001(c, n, isLent);
21285 	{
21286 		if (!!((valid == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 1)))) goto LA34_;
21287 		{
21288 			NimStringDesc* T40_;
21289 			NimStringDesc* T41_;
21290 			if (!(valid == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 2))) goto LA38_;
21291 			T40_ = NIM_NIL;
21292 			T40_ = renderTree__renderer_46(n, 4);
21293 			T41_ = NIM_NIL;
21294 			T41_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_232), T40_);
21295 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T41_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_451, NIM_FALSE);
21296 		}
21297 		goto LA36_;
21298 		LA38_: ;
21299 		{
21300 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_237), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_452, NIM_FALSE);
21301 		}
21302 		LA36_: ;
21303 	}
21304 	LA34_: ;
21305 	T43_ = NIM_NIL;
21306 	{
21307 		if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA46_;
21308 		T43_ = (*n).typ;
21309 	}
21310 	goto LA44_;
21311 	LA46_: ;
21312 	{
21313 		T43_ = makePtrType__semdata_742(c, (*n).typ);
21314 	}
21315 	LA44_: ;
21316 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*n).info, T43_);
21317 	add__ast_4797(result, n);
21318 	}BeforeRet_: ;
21319 	return result;
21320 }
N_INLINE(void,asgnToResultVar__sem_17611)21321 static N_INLINE(void, asgnToResultVar__sem_17611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
21322 	{
21323 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
21324 		if (!((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
21325 		x = (*le)._kind_6.sons->data[((NI) 0)];
21326 		{
21327 			if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA7_;
21328 			{
21329 				NIM_BOOL T11_;
21330 				NIM_BOOL T13_;
21331 				tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T15_;
21332 				T11_ = (NIM_BOOL)0;
21333 				T11_ = ((*(*x)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21334 				if (!(T11_)) goto LA12_;
21335 				T13_ = (NIM_BOOL)0;
21336 				T13_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
21337 				if (T13_) goto LA14_;
21338 				T15_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
21339 				T15_ = classifyViewType__typeallowed_564((*x).typ);
21340 				T13_ = !((T15_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0)));
21341 				LA14_: ;
21342 				T11_ = T13_;
21343 				LA12_: ;
21344 				if (!T11_) goto LA16_;
21345 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), x);
21346 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), takeImplicitAddr__sem_17562(c, ri, ((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))));
21347 				(*(*x).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
21348 			}
21349 			goto LA9_;
21350 			LA16_: ;
21351 			{
21352 				if (!(((*(*x)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0)) goto LA19_;
21353 				(*(*x).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
21354 			}
21355 			goto LA9_;
21356 			LA19_: ;
21357 			LA9_: ;
21358 		}
21359 		LA7_: ;
21360 	}
21361 	LA3_: ;
21362 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAsgn__sem_15307)21363 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgn__sem_15307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ mode) {
21364 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21365 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21366 	tyObject_TType__facALICuu8zUj0hjvbTLFg* le;
21367 {	result = NIM_NIL;
21368 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
21369 	a = (*n)._kind_6.sons->data[((NI) 0)];
21370 	switch ((*a).kind) {
21371 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
21372 	{
21373 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
21374 		nOrig = copyTree__ast_4431(n);
21375 		a = builtinFieldAccess__sem_17178(c, a, 1);
21376 		{
21377 			if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA4_;
21378 			a = propertyWriteAccess__sem_17538(c, n, nOrig, (*n)._kind_6.sons->data[((NI) 0)]);
21379 			{
21380 				if (!!((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
21381 				result = a;
21382 				goto BeforeRet_;
21383 			}
21384 			LA8_: ;
21385 			a = dotTransformation__sem_17303(c, (*n)._kind_6.sons->data[((NI) 0)]);
21386 			{
21387 				if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA12_;
21388 				transitionSonsKind__ast_4359(a, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
21389 				a = semExprWithType__sem_56(c, a, 1);
21390 			}
21391 			LA12_: ;
21392 		}
21393 		LA4_: ;
21394 	}
21395 	break;
21396 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21397 	{
21398 		a = semSubscript__sem_15311(c, a, 1);
21399 		{
21400 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T19_;
21401 			if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA17_;
21402 			T19_ = NIM_NIL;
21403 			T19_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_132));
21404 			result = buildOverloadedSubscripts__sem_17343((*n)._kind_6.sons->data[((NI) 0)], T19_);
21405 			add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
21406 			{
21407 				if (!(mode == ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 1))) goto LA22_;
21408 				bracketNotFoundError__sem_1937(c, result);
21409 				result = n;
21410 				goto BeforeRet_;
21411 			}
21412 			goto LA20_;
21413 			LA22_: ;
21414 			{
21415 				result = semExprNoType__sem_60(c, result);
21416 				goto BeforeRet_;
21417 			}
21418 			LA20_: ;
21419 		}
21420 		LA17_: ;
21421 	}
21422 	break;
21423 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
21424 	{
21425 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T26_;
21426 		T26_ = NIM_NIL;
21427 		T26_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_131));
21428 		result = buildOverloadedSubscripts__sem_17343((*n)._kind_6.sons->data[((NI) 0)], T26_);
21429 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
21430 		result = semExprNoType__sem_60(c, result);
21431 		goto BeforeRet_;
21432 	}
21433 	break;
21434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
21435 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
21436 	{
21437 		{
21438 			NI T30_;
21439 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
21440 			T30_ = (NI)0;
21441 			T30_ = len__ast_3198(a);
21442 			if (!(((NI) 2) <= T30_)) goto LA31_;
21443 			T33_ = NIM_NIL;
21444 			T33_ = lowerTupleUnpackingForAsgn__lowerings_206((*c).graph, n, (*c).Sup.idgen, (*(*c).p).owner);
21445 			result = semStmt__sem_84(c, T33_, 0);
21446 			goto BeforeRet_;
21447 		}
21448 		goto LA28_;
21449 		LA31_: ;
21450 		{
21451 			a = semExprWithType__sem_56(c, a, 1);
21452 		}
21453 		LA28_: ;
21454 	}
21455 	break;
21456 	default:
21457 	{
21458 		a = semExprWithType__sem_56(c, a, 1);
21459 	}
21460 	break;
21461 	}
21462 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
21463 	le = (*a).typ;
21464 	{
21465 		if (!(le == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA38_;
21466 		liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_435), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_436, NIM_FALSE);
21467 	}
21468 	goto LA36_;
21469 	LA38_: ;
21470 	{
21471 		NIM_BOOL T41_;
21472 		NIM_BOOL T42_;
21473 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
21474 		tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag T45_;
21475 		NIM_BOOL T47_;
21476 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
21477 		NimStringDesc* T52_;
21478 		NimStringDesc* T53_;
21479 		T41_ = (NIM_BOOL)0;
21480 		T42_ = (NIM_BOOL)0;
21481 		T43_ = NIM_NIL;
21482 		T43_ = skipTypes__ast_3735(le, TM__rF9caJawfOjYTjsgLVUSGFA_137);
21483 		T42_ = !(((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
21484 		if (!(T42_)) goto LA44_;
21485 		T45_ = (tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag)0;
21486 		T45_ = isAssignable__sem_15001(c, a, NIM_FALSE);
21487 		T42_ = ((17 &((NU8)1<<((NU)(T45_)&7U)))!=0);
21488 		LA44_: ;
21489 		T41_ = T42_;
21490 		if (T41_) goto LA46_;
21491 		T47_ = (NIM_BOOL)0;
21492 		T48_ = NIM_NIL;
21493 		T48_ = skipTypes__ast_3735(le, TM__rF9caJawfOjYTjsgLVUSGFA_228);
21494 		T47_ = ((*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
21495 		if (!(T47_)) goto LA49_;
21496 		T47_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
21497 		LA49_: ;
21498 		T41_ = T47_;
21499 		LA46_: ;
21500 		if (!T41_) goto LA50_;
21501 		T52_ = NIM_NIL;
21502 		T52_ = renderTree__renderer_46(a, 4);
21503 		T53_ = NIM_NIL;
21504 		T53_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_437), T52_);
21505 		liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T53_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_438, NIM_FALSE);
21506 	}
21507 	goto LA36_;
21508 	LA50_: ;
21509 	{
21510 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs;
21511 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rhs;
21512 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T85_;
21513 		lhs = (*n)._kind_6.sons->data[((NI) 0)];
21514 		rhs = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
21515 		{
21516 			NIM_BOOL T57_;
21517 			T57_ = (NIM_BOOL)0;
21518 			T57_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21519 			if (!(T57_)) goto LA58_;
21520 			T57_ = ((*(*lhs)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21521 			LA58_: ;
21522 			if (!T57_) goto LA59_;
21523 			asgnRef((void**) (&(*n).typ), (*c).enforceVoidContext);
21524 			{
21525 				NIM_BOOL T63_;
21526 				NIM_BOOL T65_;
21527 				tyObject_TType__facALICuu8zUj0hjvbTLFg* rhsTyp;
21528 				T63_ = (NIM_BOOL)0;
21529 				T63_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
21530 				if (!(T63_)) goto LA64_;
21531 				T65_ = (NIM_BOOL)0;
21532 				T65_ = isMetaType__ast_3495((*(*lhs)._kind_4.sym).typ);
21533 				if (!(T65_)) goto LA66_;
21534 				T65_ = !(((*(*(*lhs)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
21535 				LA66_: ;
21536 				T63_ = T65_;
21537 				LA64_: ;
21538 				if (!T63_) goto LA67_;
21539 				rhsTyp = (*rhs).typ;
21540 				{
21541 					NIM_BOOL T71_;
21542 					T71_ = (NIM_BOOL)0;
21543 					T71_ = ((*rhsTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*rhsTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
21544 					if (!(T71_)) goto LA72_;
21545 					T71_ = (((*rhsTyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
21546 					LA72_: ;
21547 					if (!T71_) goto LA73_;
21548 					rhsTyp = lastSon__ast_3743(rhsTyp);
21549 				}
21550 				LA73_: ;
21551 				{
21552 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T77_;
21553 					T77_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
21554 					T77_ = cmpTypes__sigmatch_3047(c, (*lhs).typ, rhsTyp);
21555 					if (!((1280 &((NU16)1<<((NU)(T77_)&15U)))!=0)) goto LA78_;
21556 					{
21557 						NimStringDesc* argX60gensym4660_;
21558 						if (!!(!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA82_;
21559 						argX60gensym4660_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_439);
21560 						internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4660_, TM__rF9caJawfOjYTjsgLVUSGFA_439);
21561 					}
21562 					LA82_: ;
21563 					typeAllowedCheck__sem_481(c, (*n).info, rhsTyp, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11), 0);
21564 					asgnRef((void**) (&(*lhs).typ), rhsTyp);
21565 					asgnRef((void**) (&(*(*(*c).p).resultSym).typ), rhsTyp);
21566 					asgnRef((void**) (&(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]), rhsTyp);
21567 				}
21568 				goto LA75_;
21569 				LA78_: ;
21570 				{
21571 					typeMismatch__types_3870((*(*c).graph).config, (*n).info, (*lhs).typ, rhsTyp, rhs);
21572 				}
21573 				LA75_: ;
21574 			}
21575 			LA67_: ;
21576 		}
21577 		LA59_: ;
21578 		borrowCheck__sem_17656(c, n, lhs, rhs);
21579 		T85_ = goodLineInfo__sem_17739((*n)._kind_6.sons->data[((NI) 1)]);
21580 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), fitNode__sem_70(c, le, rhs, T85_));
21581 		fixAbstractType__sem_14966(c, n);
21582 		asgnToResultVar__sem_17611(c, n, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)]);
21583 	}
21584 	LA36_: ;
21585 	result = n;
21586 	}BeforeRet_: ;
21587 	return result;
21588 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProcBody__sem_67)21589 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcBody__sem_67)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
21590 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21591 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
21592 	result = NIM_NIL;
21593 	T1_ = NIM_NIL;
21594 	T1_ = openScope__lookups_69(c);
21595 	result = semExpr__sem_52(c, n, 0);
21596 	{
21597 		NIM_BOOL T4_;
21598 		NIM_BOOL T6_;
21599 		T4_ = (NIM_BOOL)0;
21600 		T4_ = !(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21601 		if (!(T4_)) goto LA5_;
21602 		T6_ = (NIM_BOOL)0;
21603 		T6_ = isEmptyType__ast_4779((*result).typ);
21604 		T4_ = !(T6_);
21605 		LA5_: ;
21606 		if (!T4_) goto LA7_;
21607 		{
21608 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA11_;
21609 			asgnRef((void**) (&(*result).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
21610 		}
21611 		goto LA9_;
21612 		LA11_: ;
21613 		{
21614 			NIM_BOOL T14_;
21615 			T14_ = (NIM_BOOL)0;
21616 			T14_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
21617 			if (!(T14_)) goto LA15_;
21618 			T14_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
21619 			LA15_: ;
21620 			if (!T14_) goto LA16_;
21621 			fixNilType__sem_9307(c, result);
21622 		}
21623 		goto LA9_;
21624 		LA16_: ;
21625 		{
21626 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21627 			a = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info, ((NI) 2));
21628 			asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*(*c).p).resultSym));
21629 			asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), result);
21630 			result = semAsgn__sem_15307(c, a, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0));
21631 		}
21632 		LA9_: ;
21633 	}
21634 	goto LA2_;
21635 	LA7_: ;
21636 	{
21637 		discardCheck__sem_9323(c, result, 0);
21638 	}
21639 	LA2_: ;
21640 	{
21641 		NIM_BOOL T22_;
21642 		NIM_BOOL T23_;
21643 		T22_ = (NIM_BOOL)0;
21644 		T23_ = (NIM_BOOL)0;
21645 		T23_ = !(((393216 &((NU32)1<<((NU)((*(*(*c).p).owner).kind)&31U)))!=0));
21646 		if (!(T23_)) goto LA24_;
21647 		T23_ = !(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21648 		LA24_: ;
21649 		T22_ = T23_;
21650 		if (!(T22_)) goto LA25_;
21651 		T22_ = isMetaType__ast_3495((*(*(*c).p).resultSym).typ);
21652 		LA25_: ;
21653 		if (!T22_) goto LA26_;
21654 		{
21655 			NIM_BOOL T30_;
21656 			T30_ = (NIM_BOOL)0;
21657 			T30_ = isEmptyType__ast_4779((*result).typ);
21658 			if (!T30_) goto LA31_;
21659 			asgnRef((void**) (&(*(*(*c).p).resultSym).typ), errorType__semdata_1002(c));
21660 			asgnRef((void**) (&(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
21661 		}
21662 		goto LA28_;
21663 		LA31_: ;
21664 		{
21665 			NimStringDesc* T34_;
21666 			T34_ = NIM_NIL;
21667 			T34_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_453), (*(*(*(*c).p).owner).name).s);
21668 			liMessage__msgs_1118((*(*c).graph).config, (*(*(*c).p).resultSym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_454, NIM_FALSE);
21669 		}
21670 		LA28_: ;
21671 	}
21672 	LA26_: ;
21673 	{
21674 		NIM_BOOL T37_;
21675 		NIM_BOOL T38_;
21676 		NimStringDesc* T43_;
21677 		T37_ = (NIM_BOOL)0;
21678 		T38_ = (NIM_BOOL)0;
21679 		T38_ = isInlineIterator__ast_4989((*(*(*c).p).owner).typ);
21680 		if (!(T38_)) goto LA39_;
21681 		T38_ = !(((*(*(*(*c).p).owner).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21682 		LA39_: ;
21683 		T37_ = T38_;
21684 		if (!(T37_)) goto LA40_;
21685 		T37_ = ((*(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
21686 		LA40_: ;
21687 		if (!T37_) goto LA41_;
21688 		T43_ = NIM_NIL;
21689 		T43_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_453), (*(*(*(*c).p).owner).name).s);
21690 		liMessage__msgs_1118((*(*c).graph).config, (*(*(*c).p).owner).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T43_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_455, NIM_FALSE);
21691 	}
21692 	LA41_: ;
21693 	closeScope__lookups_101(c);
21694 	return result;
21695 }
N_NIMCALL(void,instantiateBody__sem_1028)21696 N_LIB_PRIVATE N_NIMCALL(void, instantiateBody__sem_1028)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig) {
21697 	{
21698 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procParams;
21699 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
21700 		tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMap;
21701 		if (!!(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
21702 		procParams = (*(*result).typ).n;
21703 		{
21704 			NI i;
21705 			NI colontmp_;
21706 			NI i_2;
21707 			i = (NI)0;
21708 			colontmp_ = (NI)0;
21709 			colontmp_ = len__ast_3198(procParams);
21710 			i_2 = ((NI) 1);
21711 			{
21712 				while (1) {
21713 					if (!(i_2 < colontmp_)) goto LA7;
21714 					i = i_2;
21715 					addDecl__lookups_845(c, (*(*procParams)._kind_6.sons->data[i])._kind_4.sym);
21716 					i_2 += ((NI) 1);
21717 				} LA7: ;
21718 			}
21719 		}
21720 		maybeAddResult__sem_100(c, result, (*result).ast);
21721 		(*c).inGenericInst += ((NI) 1);
21722 		b = (*n)._kind_6.sons->data[((NI) 6)];
21723 		nimZeroMem((void*)(&symMap), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
21724 		initIdTable__ast_4096((&symMap));
21725 		{
21726 			if (!!((params == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA10_;
21727 			{
21728 				NI i_3;
21729 				NI colontmp__2;
21730 				NI i_4;
21731 				i_3 = (NI)0;
21732 				colontmp__2 = (NI)0;
21733 				colontmp__2 = len__ast_3198(params);
21734 				i_4 = ((NI) 1);
21735 				{
21736 					while (1) {
21737 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
21738 						if (!(i_4 < colontmp__2)) goto LA14;
21739 						i_3 = i_4;
21740 						param = (*(*params)._kind_6.sons->data[i_3])._kind_4.sym;
21741 						{
21742 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA17_;
21743 							idTablePut__astalgo_70((&symMap), (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*(*params)._kind_6.sons->data[i_3])._kind_4.sym)))), (*((RootObj**) (&((*(*(*(*result).typ).n)._kind_6.sons->data[(NI)((*param).position + ((NI) 1))])._kind_4.sym)))));
21744 						}
21745 						LA17_: ;
21746 						i_4 += ((NI) 1);
21747 					} LA14: ;
21748 				}
21749 			}
21750 		}
21751 		LA10_: ;
21752 		freshGenSyms__sem_990(c, b, result, orig, (&symMap));
21753 		b = semProcBody__sem_67(c, b);
21754 		asgnRef((void**) (&(*(*result).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, b));
21755 		(*result).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63));
21756 		trackProc__sempass50_4692(c, result, (*(*result).ast)._kind_6.sons->data[((NI) 6)]);
21757 		(*c).inGenericInst -= ((NI) 1);
21758 	}
21759 	LA3_: ;
21760 }
N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,pop__icZic_2460)21761 static N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, pop__icZic_2460)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** s) {
21762 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
21763 	NI L;
21764 	NI T1_;
21765 	result = NIM_NIL;
21766 	T1_ = ((*s) ? (*s)->Sup.len : 0);
21767 	L = (NI)(T1_ - ((NI) 1));
21768 	result = (*s)->data[L];
21769 	unsureAsgnRef((void**) (&(*s)), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_), ((NI) (L))));
21770 	return result;
21771 }
N_NIMCALL(void,finishMethod__sem_114)21772 N_LIB_PRIVATE N_NIMCALL(void, finishMethod__sem_114)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
21773 	{
21774 		NIM_BOOL T3_;
21775 		T3_ = (NIM_BOOL)0;
21776 		T3_ = hasObjParam__sem_12972(s);
21777 		if (!T3_) goto LA4_;
21778 		methodDef__cgmeth_263((*c).graph, (*c).Sup.idgen, s);
21779 	}
21780 	LA4_: ;
21781 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,generateInstance__sem_1295)21782 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, generateInstance__sem_1295)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
21783 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
21784 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21785 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
21786 	NI T10_;
21787 	tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* oldMatchedConcept;
21788 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* oldScope;
21789 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
21790 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T15_;
21791 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T16_;
21792 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
21793 	tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* entry;
21794 	NI i;
21795 	NI T21_;
21796 	NI T22_;
21797 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldPrc;
21798 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T100_;
21799 	result = NIM_NIL;
21800 	{
21801 		NimStringDesc* argX60gensym213_;
21802 		if (!!(!(((393216 &((NU32)1<<((NU)((*fn).kind)&31U)))!=0)))) goto LA3_;
21803 		argX60gensym213_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_74);
21804 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym213_, TM__rF9caJawfOjYTjsgLVUSGFA_74);
21805 	}
21806 	LA3_: ;
21807 	{
21808 		if (!(((NI) 50) < (*c).instCounter)) goto LA7_;
21809 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_76), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_77, NIM_FALSE);
21810 	}
21811 	LA7_: ;
21812 	(*c).instCounter += ((NI) 1);
21813 	n = copyTree__ast_4431((*fn).ast);
21814 	T9_ = NIM_NIL;
21815 	T9_ = getModule__astalgo_216(fn);
21816 	asgnRef((void**) (&(*c).friendModules), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).friendModules), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
21817 	T10_ = (*c).friendModules->Sup.len++;
21818 	asgnRef((void**) (&(*c).friendModules->data[T10_]), T9_);
21819 	oldMatchedConcept = (*c).matchedConcept;
21820 	(*c).matchedConcept = ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL);
21821 	oldScope = (*c).currentScope;
21822 	{
21823 		while (1) {
21824 			NIM_BOOL T13_;
21825 			T13_ = (NIM_BOOL)0;
21826 			T13_ = isTopLevel__semdata_1091(c);
21827 			if (!!(T13_)) goto LA12;
21828 			asgnRef((void**) (&(*c).currentScope), (*(*c).currentScope).parent);
21829 		} LA12: ;
21830 	}
21831 	T14_ = nextSymId__ast_3132((*c).Sup.idgen);
21832 	result = copySym__ast_4054(fn, T14_);
21833 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
21834 	asgnRef((void**) (&(*result).owner), fn);
21835 	asgnRef((void**) (&(*result).ast), n);
21836 	pushOwner__semdata_322(c, result);
21837 	T15_ = NIM_NIL;
21838 	T15_ = openScope__lookups_69(c);
21839 	fillMixinScope__sem_1283(c);
21840 	T16_ = NIM_NIL;
21841 	T16_ = openScope__lookups_69(c);
21842 	gp = (*n)._kind_6.sons->data[((NI) 2)];
21843 	{
21844 		NimStringDesc* argX60gensym221_;
21845 		if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA19_;
21846 		argX60gensym221_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_78);
21847 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym221_, TM__rF9caJawfOjYTjsgLVUSGFA_78);
21848 	}
21849 	LA19_: ;
21850 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(result));
21851 	pushInfoContext__msgs_490((*(*c).graph).config, info, (*(*fn).name).s);
21852 	entry = new__sem_1335();
21853 	asgnRef((void**) (&(*entry).sym), result);
21854 	i = ((NI) 0);
21855 	T21_ = (NI)0;
21856 	T21_ = len__ast_4002((*fn).typ);
21857 	T22_ = (NI)0;
21858 	T22_ = len__ast_3198(gp);
21859 	if ((*entry).concreteTypes) { nimGCunrefRC1((*entry).concreteTypes); (*entry).concreteTypes = NIM_NIL; }
21860 	(*entry).concreteTypes = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) ((NI)((NI)(T21_ + T22_) - ((NI) 1)))));
21861 	{
21862 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
21863 		s = NIM_NIL;
21864 		{
21865 			NimStringDesc* argX60gensym132_;
21866 			if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA26_;
21867 			argX60gensym132_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_79);
21868 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym132_, TM__rF9caJawfOjYTjsgLVUSGFA_79);
21869 		}
21870 		LA26_: ;
21871 		{
21872 			NI i_2;
21873 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21874 			i_2 = (NI)0;
21875 			a = NIM_NIL;
21876 			{
21877 				NI i_3;
21878 				NI colontmp_;
21879 				NI i_4;
21880 				i_3 = (NI)0;
21881 				colontmp_ = (NI)0;
21882 				colontmp_ = safeLen__ast_3191(gp);
21883 				i_4 = ((NI) 0);
21884 				{
21885 					while (1) {
21886 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* q;
21887 						if (!(i_4 < colontmp_)) goto LA31;
21888 						i_3 = i_4;
21889 						i_2 = i_3;
21890 						a = (*gp)._kind_6.sons->data[i_3];
21891 						{
21892 							NimStringDesc* argX60gensym135_;
21893 							if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA34_;
21894 							argX60gensym135_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_80);
21895 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym135_, TM__rF9caJawfOjYTjsgLVUSGFA_80);
21896 						}
21897 						LA34_: ;
21898 						q = (*a)._kind_4.sym;
21899 						{
21900 							tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind;
21901 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
21902 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T45_;
21903 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T46_;
21904 							tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
21905 							RootObj* T47_;
21906 							if (!((*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*(*q).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*(*q).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*(*q).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*(*q).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60) || (*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA38_;
21907 							{
21908 								if (!((*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA42_;
21909 								symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10);
21910 							}
21911 							goto LA40_;
21912 							LA42_: ;
21913 							{
21914 								symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
21915 							}
21916 							LA40_: ;
21917 							T45_ = nextSymId__ast_3132((*c).Sup.idgen);
21918 							T46_ = NIM_NIL;
21919 							T46_ = getCurrOwner__semdata_315(c);
21920 							s_2 = newSym__ast_3445(symKind, (*q).name, T45_, T46_, (*q).info, 0);
21921 							(*s_2).flags = ((*s_2).flags | 5);
21922 							T47_ = NIM_NIL;
21923 							T47_ = idTableGet__astalgo_64(pt, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*q).typ)))));
21924 							t = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T47_));
21925 							{
21926 								if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA50_;
21927 								{
21928 									if (!(((*(*q).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0)) goto LA54_;
21929 									t = (*q).typ;
21930 								}
21931 								goto LA52_;
21932 								LA54_: ;
21933 								{
21934 									NimStringDesc* T57_;
21935 									T57_ = NIM_NIL;
21936 									T57_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s_2).name).s);
21937 									liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T57_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_82, NIM_FALSE);
21938 									t = errorType__semdata_1002(c);
21939 								}
21940 								LA52_: ;
21941 							}
21942 							goto LA48_;
21943 							LA50_: ;
21944 							{
21945 								NimStringDesc* T61_;
21946 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA59_;
21947 								T61_ = NIM_NIL;
21948 								T61_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*q).name).s);
21949 								liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T61_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_83, NIM_FALSE);
21950 								t = errorType__semdata_1002(c);
21951 							}
21952 							goto LA48_;
21953 							LA59_: ;
21954 							{
21955 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA63_;
21956 								t = generateTypeInstance__semtypinst_1050(c, pt, (*a).info, t);
21957 							}
21958 							goto LA48_;
21959 							LA63_: ;
21960 							LA48_: ;
21961 							asgnRef((void**) (&(*s_2).typ), t);
21962 							{
21963 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA67_;
21964 								asgnRef((void**) (&(*s_2).ast), (*t).n);
21965 							}
21966 							LA67_: ;
21967 							s = s_2;
21968 							addDecl__lookups_845(c, s);
21969 							asgnRef((void**) (&(*entry).concreteTypes->data[i]), (*s).typ);
21970 							i += ((NI) 1);
21971 						}
21972 						LA38_: ;
21973 						i_4 += ((NI) 1);
21974 					} LA31: ;
21975 				}
21976 			}
21977 		}
21978 	}
21979 	rawPushProcCon__sem_849(c, result);
21980 	instantiateProcType__sem_1187(c, pt, result, info);
21981 	{
21982 		NI j;
21983 		NI colontmp__2;
21984 		NI i_5;
21985 		j = (NI)0;
21986 		colontmp__2 = (NI)0;
21987 		colontmp__2 = len__ast_4002((*result).typ);
21988 		i_5 = ((NI) 1);
21989 		{
21990 			while (1) {
21991 				if (!(i_5 < colontmp__2)) goto LA71;
21992 				j = i_5;
21993 				asgnRef((void**) (&(*entry).concreteTypes->data[i]), (*(*result).typ).sons->data[j]);
21994 				i += ((NI) 1);
21995 				i_5 += ((NI) 1);
21996 			} LA71: ;
21997 		}
21998 	}
21999 	{
22000 		if (!(((*(*result).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0)) goto LA74_;
22001 		(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28)) & 63);
22002 	}
22003 	LA74_: ;
22004 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*c).graph).emptyNode);
22005 	oldPrc = genericCacheGet__sem_983((*c).graph, fn, (*entry), (*c).compilesContextId);
22006 	{
22007 		tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ T80_;
22008 		NI T81_;
22009 		if (!(oldPrc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA78_;
22010 		rawHandleSelf__sem_865(c, result);
22011 		(*entry).compilesId = (*c).compilesContextId;
22012 		addToGenericProcCache__semdata_1185(c, fn, entry);
22013 		nimZeroMem((void*)(&T80_), sizeof(tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ));
22014 		makeInstPair__semdata_297(fn, entry, (&T80_));
22015 		asgnRef((void**) (&(*c).generics), (tySequence__jWKvSdankQPoT5bw9cBU9aiw*) incrSeqV3((TGenericSeq*)((*c).generics), (&NTIseqLtinstantiationpairT__jWKvSdankQPoT5bw9cBU9aiw_)));
22016 		T81_ = (*c).generics->Sup.len++;
22017 		asgnRef((void**) (&(*c).generics->data[T81_].genericSym), T80_.genericSym);
22018 		asgnRef((void**) (&(*c).generics->data[T81_].inst), T80_.inst);
22019 		{
22020 			if (!!(((*(*n)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA84_;
22021 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 4)], TM__rF9caJawfOjYTjsgLVUSGFA_98, NIM_FALSE);
22022 		}
22023 		LA84_: ;
22024 		{
22025 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T90_;
22026 			if (!((*n)._kind_6.sons->data[((NI) 6)] == 0)) goto LA88_;
22027 			T90_ = NIM_NIL;
22028 			T90_ = getBody__modulegraphs_11241((*c).graph, fn);
22029 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), copyTree__ast_4431(T90_));
22030 		}
22031 		LA88_: ;
22032 		{
22033 			if (!((*c).inGenericContext == ((NI) 0))) goto LA93_;
22034 			instantiateBody__sem_1028(c, n, (*(*fn).typ).n, result, fn);
22035 		}
22036 		LA93_: ;
22037 		sideEffectsCheck__sem_1122(c, result);
22038 		{
22039 			if (!!(((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18)))) goto LA97_;
22040 			paramsTypeCheck__sem_505(c, (*result).typ);
22041 		}
22042 		LA97_: ;
22043 	}
22044 	goto LA76_;
22045 	LA78_: ;
22046 	{
22047 		result = oldPrc;
22048 	}
22049 	LA76_: ;
22050 	popProcCon__semdata_389(c);
22051 	popInfoContext__msgs_507((*(*c).graph).config);
22052 	closeScope__lookups_101(c);
22053 	closeScope__lookups_101(c);
22054 	popOwner__semdata_329(c);
22055 	asgnRef((void**) (&(*c).currentScope), oldScope);
22056 	T100_ = NIM_NIL;
22057 	T100_ = pop__icZic_2460((&(*c).friendModules));
22058 	(void)(T100_);
22059 	(*c).instCounter -= ((NI) 1);
22060 	(*c).matchedConcept = oldMatchedConcept;
22061 	{
22062 		if (!((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA103_;
22063 		finishMethod__sem_114(c, result);
22064 	}
22065 	LA103_: ;
22066 	return result;
22067 }
N_NIMCALL(void,instGenericConvertersArg__sem_2292)22068 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersArg__sem_2292)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x) {
22069 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
22070 	{
22071 		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
22072 		a_2 = (*a)._kind_6.sons->data[((NI) 0)];
22073 	}
22074 	goto LA1_;
22075 	LA3_: ;
22076 	{
22077 		a_2 = a;
22078 	}
22079 	LA1_: ;
22080 	{
22081 		NIM_BOOL T8_;
22082 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
22083 		T8_ = (NIM_BOOL)0;
22084 		T8_ = ((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
22085 		if (!(T8_)) goto LA9_;
22086 		T8_ = ((*(*a_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
22087 		LA9_: ;
22088 		if (!T8_) goto LA10_;
22089 		s = (*(*a_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
22090 		{
22091 			NIM_BOOL T14_;
22092 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* finalCallee;
22093 			T14_ = (NIM_BOOL)0;
22094 			T14_ = isGenericRoutineStrict__ast_4639(s);
22095 			if (!T14_) goto LA15_;
22096 			finalCallee = generateInstance__sem_1295(c, s, (*x).bindings, (*a_2).info);
22097 			asgnRef((void**) (&(*(*a_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym), finalCallee);
22098 			asgnRef((void**) (&(*(*a_2)._kind_6.sons->data[((NI) 0)]).typ), (*finalCallee).typ);
22099 		}
22100 		LA15_: ;
22101 	}
22102 	LA10_: ;
22103 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,indexTypesMatch__sem_120)22104 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, indexTypesMatch__sem_120)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
22105 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22106 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
22107 	result = NIM_NIL;
22108 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
22109 	newCandidate__sigmatch_195(c, f, (&m));
22110 	result = paramTypesMatch__sigmatch_3583((&m), f, a, arg, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
22111 	{
22112 		NIM_BOOL T3_;
22113 		T3_ = (NIM_BOOL)0;
22114 		T3_ = m.genericConverter;
22115 		if (!(T3_)) goto LA4_;
22116 		T3_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
22117 		LA4_: ;
22118 		if (!T3_) goto LA5_;
22119 		instGenericConvertersArg__sem_2292(c, result, (&m));
22120 	}
22121 	LA5_: ;
22122 	return result;
22123 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitNode__sem_70)22124 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitNode__sem_70)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
22125 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22126 {	result = NIM_NIL;
22127 	{
22128 		NimStringDesc* T5_;
22129 		NimStringDesc* T6_;
22130 		if (!((*arg).typ == 0)) goto LA3_;
22131 		T5_ = NIM_NIL;
22132 		T6_ = NIM_NIL;
22133 		T6_ = renderTree__renderer_46(arg, 4);
22134 		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 24);
22135 appendString(T5_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_68));
22136 appendString(T5_, T6_);
22137 		liMessage__msgs_1118((*(*c).graph).config, (*arg).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_69, NIM_FALSE);
22138 		result = copyTree__ast_4431(arg);
22139 		asgnRef((void**) (&(*result).typ), formal);
22140 	}
22141 	goto LA1_;
22142 	LA3_: ;
22143 	{
22144 		NIM_BOOL T8_;
22145 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
22146 		T8_ = (NIM_BOOL)0;
22147 		T8_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
22148 		if (!(T8_)) goto LA9_;
22149 		T10_ = NIM_NIL;
22150 		T10_ = skipTypes__ast_3735(formal, TM__rF9caJawfOjYTjsgLVUSGFA_70);
22151 		T8_ = ((*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
22152 		LA9_: ;
22153 		if (!T8_) goto LA11_;
22154 		{
22155 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ch;
22156 			ch = NIM_NIL;
22157 			{
22158 				NI i;
22159 				NI colontmp_;
22160 				NI i_2;
22161 				i = (NI)0;
22162 				colontmp_ = (NI)0;
22163 				colontmp_ = safeLen__ast_3191(arg);
22164 				i_2 = ((NI) 0);
22165 				{
22166 					while (1) {
22167 						if (!(i_2 < colontmp_)) goto LA16;
22168 						i = i_2;
22169 						ch = (*arg)._kind_6.sons->data[i];
22170 						{
22171 							NIM_BOOL T19_;
22172 							T19_ = (NIM_BOOL)0;
22173 							T19_ = sameType__types_1824((*ch).typ, formal, 0);
22174 							if (!T19_) goto LA20_;
22175 							result = getConstExpr__semfold_81((*c).module, ch, (*c).Sup.idgen, (*c).graph);
22176 							goto BeforeRet_;
22177 						}
22178 						LA20_: ;
22179 						i_2 += ((NI) 1);
22180 					} LA16: ;
22181 				}
22182 			}
22183 		}
22184 		typeMismatch__types_3870((*(*c).graph).config, info, formal, (*arg).typ, arg);
22185 	}
22186 	goto LA1_;
22187 	LA11_: ;
22188 	{
22189 		result = indexTypesMatch__sem_120(c, formal, (*arg).typ, arg);
22190 		{
22191 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA25_;
22192 			typeMismatch__types_3870((*(*c).graph).config, info, formal, (*arg).typ, arg);
22193 			result = copyTree__ast_4431(arg);
22194 			asgnRef((void**) (&(*result).typ), formal);
22195 		}
22196 		goto LA23_;
22197 		LA25_: ;
22198 		{
22199 			result = fitNodePostMatch__sem_164(c, formal, result);
22200 		}
22201 		LA23_: ;
22202 	}
22203 	LA1_: ;
22204 	}BeforeRet_: ;
22205 	return result;
22206 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,forceBool__sem_2869)22207 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, forceBool__sem_2869)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22208 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22209 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
22210 	result = NIM_NIL;
22211 	T1_ = NIM_NIL;
22212 	T1_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
22213 	result = fitNode__sem_70(c, T1_, n, (*n).info);
22214 	{
22215 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA4_;
22216 		result = n;
22217 	}
22218 	LA4_: ;
22219 	return result;
22220 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstBoolExpr__sem_2877)22221 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstBoolExpr__sem_2877)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22222 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22223 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
22224 	result = NIM_NIL;
22225 	T1_ = NIM_NIL;
22226 	T1_ = semConstExpr__sem_611(c, n);
22227 	result = forceBool__sem_2869(c, T1_);
22228 	{
22229 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA4_;
22230 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_360), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_456, NIM_FALSE);
22231 	}
22232 	LA4_: ;
22233 	return result;
22234 }
N_INLINE(NIM_BOOL,isRange__trees_213)22235 static N_INLINE(NIM_BOOL, isRange__trees_213)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22236 	NIM_BOOL result;
22237 	result = (NIM_BOOL)0;
22238 	{
22239 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callee;
22240 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA3_;
22241 		callee = (*n)._kind_6.sons->data[((NI) 0)];
22242 		{
22243 			NIM_BOOL T7_;
22244 			NIM_BOOL T8_;
22245 			NIM_BOOL T9_;
22246 			NIM_BOOL T12_;
22247 			NIM_BOOL T15_;
22248 			T7_ = (NIM_BOOL)0;
22249 			T8_ = (NIM_BOOL)0;
22250 			T9_ = (NIM_BOOL)0;
22251 			T9_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
22252 			if (!(T9_)) goto LA10_;
22253 			T9_ = ((*(*callee)._kind_5.ident).id == ((NI) 71));
22254 			LA10_: ;
22255 			T8_ = T9_;
22256 			if (T8_) goto LA11_;
22257 			T12_ = (NIM_BOOL)0;
22258 			T12_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
22259 			if (!(T12_)) goto LA13_;
22260 			T12_ = ((*(*(*callee)._kind_4.sym).name).id == ((NI) 71));
22261 			LA13_: ;
22262 			T8_ = T12_;
22263 			LA11_: ;
22264 			T7_ = T8_;
22265 			if (T7_) goto LA14_;
22266 			T15_ = (NIM_BOOL)0;
22267 			T15_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
22268 			if (!(T15_)) goto LA16_;
22269 			T15_ = ((*(*(*(*callee)._kind_6.sons->data[((NI) 1)])._kind_4.sym).name).id == ((NI) 71));
22270 			LA16_: ;
22271 			T7_ = T15_;
22272 			LA14_: ;
22273 			if (!T7_) goto LA17_;
22274 			result = NIM_TRUE;
22275 		}
22276 		LA17_: ;
22277 	}
22278 	LA3_: ;
22279 	return result;
22280 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBranchRange__sem_3747)22281 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBranchRange__sem_3747)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_Int128__9a9axPfb75jdWY25AamJewkA* covered) {
22282 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22283 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ac;
22284 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bc;
22285 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* at;
22286 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
22287 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bt;
22288 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
22289 	result = NIM_NIL;
22290 	checkMinSonsLen__semdata_1084(t, ((NI) 1), (*(*c).graph).config);
22291 	ac = semConstExpr__sem_611(c, a);
22292 	bc = semConstExpr__sem_611(c, b);
22293 	T1_ = NIM_NIL;
22294 	T1_ = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, ac, (*ac).info);
22295 	at = skipConvTakeType__types_3623(T1_);
22296 	T2_ = NIM_NIL;
22297 	T2_ = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, bc, (*bc).info);
22298 	bt = skipConvTakeType__types_3623(T2_);
22299 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), (*a).info);
22300 	add__ast_4797(result, at);
22301 	add__ast_4797(result, bt);
22302 	{
22303 		NIM_BOOL T5_;
22304 		T5_ = (NIM_BOOL)0;
22305 		T5_ = emptyRange__nimsets_273(ac, bc);
22306 		if (!T5_) goto LA6_;
22307 		liMessage__msgs_1118((*(*c).graph).config, (*b).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_28), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_467, NIM_FALSE);
22308 	}
22309 	goto LA3_;
22310 	LA6_: ;
22311 	{
22312 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_;
22313 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_;
22314 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T11_;
22315 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
22316 		T9_ = getOrdValue__types_161(bc, Max__int495056_27);
22317 		T10_ = plus___int495056_448((*covered), T9_);
22318 		T11_ = plus___int495056_794(T10_, IL64(1));
22319 		T12_ = getOrdValue__types_161(ac, Max__int495056_27);
22320 		(*covered) = minus___int495056_474(T11_, T12_);
22321 	}
22322 	LA3_: ;
22323 	return result;
22324 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCaseBranchRange__sem_3768)22325 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCaseBranchRange__sem_3768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_Int128__9a9axPfb75jdWY25AamJewkA* covered) {
22326 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22327 	result = NIM_NIL;
22328 	checkSonsLen__semdata_1077(b, ((NI) 3), (*(*c).graph).config);
22329 	result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 2)], covered);
22330 	return result;
22331 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCaseBranchSetElem__sem_3776)22332 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCaseBranchSetElem__sem_3776)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_Int128__9a9axPfb75jdWY25AamJewkA* covered) {
22333 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22334 	result = NIM_NIL;
22335 	{
22336 		NIM_BOOL T3_;
22337 		T3_ = (NIM_BOOL)0;
22338 		T3_ = isRange__trees_213(b);
22339 		if (!T3_) goto LA4_;
22340 		checkSonsLen__semdata_1077(b, ((NI) 3), (*(*c).graph).config);
22341 		result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 2)], covered);
22342 	}
22343 	goto LA1_;
22344 	LA4_: ;
22345 	{
22346 		if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
22347 		checkSonsLen__semdata_1077(b, ((NI) 2), (*(*c).graph).config);
22348 		result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 1)], covered);
22349 	}
22350 	goto LA1_;
22351 	LA7_: ;
22352 	{
22353 		result = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, b, (*b).info);
22354 		inc__int495056_251(covered, ((NU32) 1));
22355 	}
22356 	LA1_: ;
22357 	return result;
22358 }
N_NIMCALL(void,checkForOverlap__sem_3723)22359 N_LIB_PRIVATE N_NIMCALL(void, checkForOverlap__sem_3723)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, NI currentEx, NI branchIndex) {
22360 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex;
22361 	ex = skipConv__types_3597((*(*t)._kind_6.sons->data[branchIndex])._kind_6.sons->data[currentEx]);
22362 	{
22363 		NI i;
22364 		NI res;
22365 		i = (NI)0;
22366 		res = ((NI) 1);
22367 		{
22368 			while (1) {
22369 				if (!(res <= branchIndex)) goto LA3;
22370 				i = res;
22371 				{
22372 					NI j;
22373 					NI colontmp_;
22374 					NI T5_;
22375 					NI i_2;
22376 					j = (NI)0;
22377 					colontmp_ = (NI)0;
22378 					T5_ = (NI)0;
22379 					T5_ = len__ast_3198((*t)._kind_6.sons->data[i]);
22380 					colontmp_ = (NI)(T5_ - ((NI) 1));
22381 					i_2 = ((NI) 0);
22382 					{
22383 						while (1) {
22384 							if (!(i_2 < colontmp_)) goto LA7;
22385 							j = i_2;
22386 							{
22387 								NIM_BOOL T10_;
22388 								T10_ = (NIM_BOOL)0;
22389 								T10_ = (i == branchIndex);
22390 								if (!(T10_)) goto LA11_;
22391 								T10_ = (j == currentEx);
22392 								LA11_: ;
22393 								if (!T10_) goto LA12_;
22394 								goto LA4;
22395 							}
22396 							LA12_: ;
22397 							{
22398 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
22399 								NIM_BOOL T17_;
22400 								T16_ = NIM_NIL;
22401 								T16_ = skipConv__types_3597((*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]);
22402 								T17_ = (NIM_BOOL)0;
22403 								T17_ = overlap__nimsets_40(T16_, ex);
22404 								if (!T17_) goto LA18_;
22405 								liMessage__msgs_1118((*(*c).graph).config, (*ex).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_468), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_469, NIM_FALSE);
22406 							}
22407 							LA18_: ;
22408 							i_2 += ((NI) 1);
22409 						} LA7: ;
22410 					}
22411 				} LA4: ;
22412 				res += ((NI) 1);
22413 			} LA3: ;
22414 		}
22415 	}
22416 }
N_NIMCALL(void,semCaseBranch__sem_3791)22417 N_LIB_PRIVATE N_NIMCALL(void, semCaseBranch__sem_3791)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch, NI branchIndex, tyObject_Int128__9a9axPfb75jdWY25AamJewkA* covered) {
22418 	NI lastIndex;
22419 	NI T1_;
22420 {	T1_ = (NI)0;
22421 	T1_ = len__ast_3198(branch);
22422 	lastIndex = (NI)(T1_ - ((NI) 2));
22423 	{
22424 		NI i;
22425 		NI res;
22426 		i = (NI)0;
22427 		res = ((NI) 0);
22428 		{
22429 			while (1) {
22430 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
22431 				if (!(res <= lastIndex)) goto LA4;
22432 				i = res;
22433 				b = (*branch)._kind_6.sons->data[i];
22434 				{
22435 					if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
22436 					asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), b);
22437 				}
22438 				goto LA5_;
22439 				LA7_: ;
22440 				{
22441 					NIM_BOOL T10_;
22442 					T10_ = (NIM_BOOL)0;
22443 					T10_ = isRange__trees_213(b);
22444 					if (!T10_) goto LA11_;
22445 					asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), semCaseBranchRange__sem_3768(c, t, b, covered));
22446 				}
22447 				goto LA5_;
22448 				LA11_: ;
22449 				{
22450 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
22451 					r = semConstExpr__sem_611(c, b);
22452 					{
22453 						NIM_BOOL T16_;
22454 						NIM_BOOL T17_;
22455 						NI T19_;
22456 						NI T21_;
22457 						T16_ = (NIM_BOOL)0;
22458 						T17_ = (NIM_BOOL)0;
22459 						T17_ = ((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
22460 						if (!(T17_)) goto LA18_;
22461 						T19_ = (NI)0;
22462 						T19_ = len__ast_3198(r);
22463 						T17_ = (T19_ == ((NI) 0));
22464 						LA18_: ;
22465 						T16_ = T17_;
22466 						if (!(T16_)) goto LA20_;
22467 						T21_ = (NI)0;
22468 						T21_ = len__ast_3198(branch);
22469 						T16_ = (T21_ == ((NI) 2));
22470 						LA20_: ;
22471 						if (!T16_) goto LA22_;
22472 						delSon__ast_4313(branch, ((NI) 0));
22473 						goto BeforeRet_;
22474 					}
22475 					goto LA14_;
22476 					LA22_: ;
22477 					{
22478 						NIM_BOOL T25_;
22479 						NI T27_;
22480 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
22481 						T25_ = (NIM_BOOL)0;
22482 						T25_ = !(((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41)));
22483 						if (T25_) goto LA26_;
22484 						T27_ = (NI)0;
22485 						T27_ = len__ast_3198(r);
22486 						T25_ = (T27_ == ((NI) 0));
22487 						LA26_: ;
22488 						if (!T25_) goto LA28_;
22489 						checkMinSonsLen__semdata_1084(t, ((NI) 1), (*(*c).graph).config);
22490 						tmp = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, r, (*r).info);
22491 						{
22492 							if (!((*tmp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA32_;
22493 							tmp = semConstExpr__sem_611(c, tmp);
22494 						}
22495 						LA32_: ;
22496 						asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), skipConv__types_3597(tmp));
22497 						inc__int495056_251(covered, ((NU32) 1));
22498 					}
22499 					goto LA14_;
22500 					LA28_: ;
22501 					{
22502 						{
22503 							if (!((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39))) goto LA37_;
22504 							r = deduplicate__nimsets_236((*(*c).graph).config, r);
22505 						}
22506 						LA37_: ;
22507 						asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), semCaseBranchSetElem__sem_3776(c, t, (*r)._kind_6.sons->data[((NI) 0)], covered));
22508 						{
22509 							NI j;
22510 							NI colontmp_;
22511 							NI i_2;
22512 							j = (NI)0;
22513 							colontmp_ = (NI)0;
22514 							colontmp_ = len__ast_3198(r);
22515 							i_2 = ((NI) 1);
22516 							{
22517 								while (1) {
22518 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
22519 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
22520 									NI T44_;
22521 									NI T45_;
22522 									if (!(i_2 < colontmp_)) goto LA41;
22523 									j = i_2;
22524 									T42_ = NIM_NIL;
22525 									T42_ = semCaseBranchSetElem__sem_3776(c, t, (*r)._kind_6.sons->data[j], covered);
22526 									add__ast_4797(branch, T42_);
22527 									T43_ = NIM_NIL;
22528 									T44_ = (NI)0;
22529 									T44_ = len__ast_3198(branch);
22530 									T45_ = (NI)0;
22531 									T45_ = len__ast_3198(branch);
22532 									T43_ = (*branch)._kind_6.sons->data[(NI)(T44_ - ((NI) 2))];
22533 									asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T44_ - ((NI) 2))]), (*branch)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]);
22534 									asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]), T43_);
22535 									i_2 += ((NI) 1);
22536 								} LA41: ;
22537 							}
22538 						}
22539 					}
22540 					LA14_: ;
22541 				}
22542 				LA5_: ;
22543 				checkForOverlap__sem_3723(c, t, i, branchIndex);
22544 				res += ((NI) 1);
22545 			} LA4: ;
22546 		}
22547 	}
22548 	{
22549 		NI i_3;
22550 		NI colontmp__2;
22551 		NI colontmp__3;
22552 		NI T47_;
22553 		NI i_4;
22554 		i_3 = (NI)0;
22555 		colontmp__2 = (NI)0;
22556 		colontmp__3 = (NI)0;
22557 		colontmp__2 = (NI)(lastIndex + ((NI) 1));
22558 		T47_ = (NI)0;
22559 		T47_ = len__ast_3198(branch);
22560 		colontmp__3 = (NI)(T47_ - ((NI) 1));
22561 		i_4 = colontmp__2;
22562 		{
22563 			while (1) {
22564 				if (!(i_4 < colontmp__3)) goto LA49;
22565 				i_3 = i_4;
22566 				checkForOverlap__sem_3723(c, t, i_3, branchIndex);
22567 				i_4 += ((NI) 1);
22568 			} LA49: ;
22569 		}
22570 	}
22571 	}BeforeRet_: ;
22572 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,toCover__sem_3884)22573 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toCover__sem_3884)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
22574 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
22575 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
22576 	nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
22577 	t2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_470);
22578 	{
22579 		NIM_BOOL T3_;
22580 		NI T7_;
22581 		T3_ = (NIM_BOOL)0;
22582 		T3_ = ((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
22583 		if (!(T3_)) goto LA4_;
22584 		T3_ = enumHasHoles__types_287(t2);
22585 		LA4_: ;
22586 		if (!T3_) goto LA5_;
22587 		T7_ = (NI)0;
22588 		T7_ = len__ast_3198((*t2).n);
22589 		result = toInt128__types_1378(T7_);
22590 	}
22591 	goto LA1_;
22592 	LA5_: ;
22593 	{
22594 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
22595 		t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_459);
22596 		{
22597 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
22598 			if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA11_;
22599 			T13_ = toInt128__types_1378(((NI) 1));
22600 			result = shl__int495056_379(T13_, ((NI) 64));
22601 		}
22602 		goto LA9_;
22603 		LA11_: ;
22604 		{
22605 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T17_;
22606 			if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40))) goto LA15_;
22607 			T17_ = toInt128__types_1378(((NI) 1));
22608 			result = shl__int495056_379(T17_, (NI)((*(*(*c).graph).config).target.intSize * ((NI) 8)));
22609 		}
22610 		goto LA9_;
22611 		LA15_: ;
22612 		{
22613 			result = lengthOrd__types_1661((*(*c).graph).config, t_2);
22614 		}
22615 		LA9_: ;
22616 	}
22617 	LA1_: ;
22618 	return result;
22619 }
N_INLINE(void,addEscapedChar__system_7514)22620 static N_INLINE(void, addEscapedChar__system_7514)(NimStringDesc** s, NIM_CHAR c) {
22621 	switch (((NU8)(c))) {
22622 	case 7:
22623 	{
22624 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22625 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_475));
22626 	}
22627 	break;
22628 	case 8:
22629 	{
22630 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22631 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_476));
22632 	}
22633 	break;
22634 	case 9:
22635 	{
22636 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22637 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_477));
22638 	}
22639 	break;
22640 	case 10:
22641 	{
22642 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22643 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_478));
22644 	}
22645 	break;
22646 	case 11:
22647 	{
22648 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22649 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_479));
22650 	}
22651 	break;
22652 	case 12:
22653 	{
22654 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22655 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_480));
22656 	}
22657 	break;
22658 	case 13:
22659 	{
22660 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22661 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_481));
22662 	}
22663 	break;
22664 	case 27:
22665 	{
22666 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22667 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_482));
22668 	}
22669 	break;
22670 	case 92:
22671 	{
22672 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22673 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_483));
22674 	}
22675 	break;
22676 	case 39:
22677 	{
22678 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22679 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_484));
22680 	}
22681 	break;
22682 	case 34:
22683 	{
22684 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22685 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_485));
22686 	}
22687 	break;
22688 	case 32 ... 33:
22689 	case 35 ... 38:
22690 	case 40 ... 91:
22691 	case 93 ... 126:
22692 	{
22693 		unsureAsgnRef((void**) (&(*s)), addChar((*s), c));
22694 	}
22695 	break;
22696 	default:
22697 	{
22698 		NI n;
22699 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22700 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_486));
22701 		n = ((NU8)(c));
22702 		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_487)->data[(NI)((NI64)((NI)(n & ((NI) 240))) >> (NU64)(((NI) 4)))]));
22703 		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_487)->data[(NI)(n & ((NI) 15))]));
22704 	}
22705 	break;
22706 	}
22707 }
N_NIMCALL(void,addQuoted__sem_4005)22708 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__sem_4005)(NimStringDesc** s, NIM_CHAR x) {
22709 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), 1));
22710 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
22711 	addEscapedChar__system_7514(s, x);
22712 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), 1));
22713 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
22714 }
N_INLINE(NI,len__nilcheck_1772)22715 static N_INLINE(NI, len__nilcheck_1772)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s) {
22716 	NI result;
22717 	result = (NI)0;
22718 	{
22719 		if (!((*s).elems < ((NI) 34))) goto LA3_;
22720 		result = (*s).elems;
22721 	}
22722 	goto LA1_;
22723 	LA3_: ;
22724 	{
22725 		result = ((NI) 0);
22726 		{
22727 			NI _;
22728 			_ = (NI)0;
22729 			{
22730 				if (!((*s).elems <= ((NI) 34))) goto LA9_;
22731 				{
22732 					NI i;
22733 					NI i_2;
22734 					i = (NI)0;
22735 					i_2 = ((NI) 0);
22736 					{
22737 						while (1) {
22738 							if (!(i_2 < (*s).elems)) goto LA13;
22739 							i = i_2;
22740 							_ = (*s).a[(i)- 0];
22741 							result += ((NI) 1);
22742 							i_2 += ((NI) 1);
22743 						} LA13: ;
22744 					}
22745 				}
22746 			}
22747 			goto LA7_;
22748 			LA9_: ;
22749 			{
22750 				tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
22751 				r = (*s).head;
22752 				{
22753 					while (1) {
22754 						NI i_3;
22755 						if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA16;
22756 						i_3 = ((NI) 0);
22757 						{
22758 							while (1) {
22759 								NU w;
22760 								NI j;
22761 								if (!(i_3 <= ((NI) 7))) goto LA18;
22762 								w = (*r).bits[(i_3)- 0];
22763 								j = ((NI) 0);
22764 								{
22765 									while (1) {
22766 										if (!!((w == ((NU) 0)))) goto LA20;
22767 										{
22768 											NI T25_;
22769 											if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA23_;
22770 											T25_ = (NI)0;
22771 											T25_ = pluspercent___system_696((NI)((NU64)(i_3) << (NU64)(((NI) 6))), j);
22772 											_ = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T25_);
22773 											result += ((NI) 1);
22774 										}
22775 										LA23_: ;
22776 										j += ((NI) 1);
22777 										w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
22778 									} LA20: ;
22779 								}
22780 								i_3 += ((NI) 1);
22781 							} LA18: ;
22782 						}
22783 						r = (*r).next;
22784 					} LA16: ;
22785 				}
22786 			}
22787 			LA7_: ;
22788 		}
22789 	}
22790 	LA1_: ;
22791 	return result;
22792 }
N_NIMCALL(NimStringDesc *,renderAsType__sem_3988)22793 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderAsType__sem_3988)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* vals, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
22794 	NimStringDesc* result;
22795 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
22796 	NI enumSymOffset;
22797 	NI i;
22798 	result = NIM_NIL;
22799 	result = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_474));
22800 	t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_472);
22801 	enumSymOffset = ((NI) 0);
22802 	i = ((NI) 0);
22803 	{
22804 		NI val;
22805 		val = (NI)0;
22806 		{
22807 			if (!((*vals).elems <= ((NI) 34))) goto LA4_;
22808 			{
22809 				NI i_2;
22810 				NI i_3;
22811 				i_2 = (NI)0;
22812 				i_3 = ((NI) 0);
22813 				{
22814 					while (1) {
22815 						if (!(i_3 < (*vals).elems)) goto LA8;
22816 						i_2 = i_3;
22817 						val = (*vals).a[(i_2)- 0];
22818 						{
22819 							if (!(((NI) 1) < (result ? result->Sup.len : 0))) goto LA11_;
22820 							result = resizeString(result, 2);
22821 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
22822 						}
22823 						LA11_: ;
22824 						switch ((*t_2).kind) {
22825 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
22826 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
22827 						{
22828 							{
22829 								while (1) {
22830 									if (!((*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).position < val)) goto LA15;
22831 									enumSymOffset += ((NI) 1);
22832 								} LA15: ;
22833 							}
22834 							result = resizeString(result, ((*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s ? (*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s->Sup.len : 0) + 0);
22835 appendString(result, (*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s);
22836 						}
22837 						break;
22838 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
22839 						{
22840 							addQuoted__sem_4005((&result), ((NIM_CHAR) (val)));
22841 						}
22842 						break;
22843 						default:
22844 						{
22845 							{
22846 								NI T22_;
22847 								NimStringDesc* T23_;
22848 								NimStringDesc* T24_;
22849 								if (!(i == ((NI) 64))) goto LA20_;
22850 								T22_ = (NI)0;
22851 								T22_ = len__nilcheck_1772(vals);
22852 								T23_ = NIM_NIL;
22853 								T23_ = dollar___systemZdollars_3((NI)(T22_ - i));
22854 								T24_ = NIM_NIL;
22855 								T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_488), T23_);
22856 								result = resizeString(result, (T24_ ? T24_->Sup.len : 0) + 0);
22857 appendString(result, T24_);
22858 								goto LA1;
22859 							}
22860 							goto LA18_;
22861 							LA20_: ;
22862 							{
22863 								NimStringDesc* T26_;
22864 								T26_ = NIM_NIL;
22865 								T26_ = dollar___systemZdollars_3(val);
22866 								result = resizeString(result, (T26_ ? T26_->Sup.len : 0) + 0);
22867 appendString(result, T26_);
22868 							}
22869 							LA18_: ;
22870 						}
22871 						break;
22872 						}
22873 						i += ((NI) 1);
22874 						i_3 += ((NI) 1);
22875 					} LA8: ;
22876 				}
22877 			}
22878 		}
22879 		goto LA2_;
22880 		LA4_: ;
22881 		{
22882 			tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
22883 			r = (*vals).head;
22884 			{
22885 				while (1) {
22886 					NI i_4;
22887 					if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA29;
22888 					i_4 = ((NI) 0);
22889 					{
22890 						while (1) {
22891 							NU w;
22892 							NI j;
22893 							if (!(i_4 <= ((NI) 7))) goto LA31;
22894 							w = (*r).bits[(i_4)- 0];
22895 							j = ((NI) 0);
22896 							{
22897 								while (1) {
22898 									if (!!((w == ((NU) 0)))) goto LA33;
22899 									{
22900 										NI T38_;
22901 										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA36_;
22902 										T38_ = (NI)0;
22903 										T38_ = pluspercent___system_696((NI)((NU64)(i_4) << (NU64)(((NI) 6))), j);
22904 										val = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T38_);
22905 										{
22906 											if (!(((NI) 1) < (result ? result->Sup.len : 0))) goto LA41_;
22907 											result = resizeString(result, 2);
22908 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
22909 										}
22910 										LA41_: ;
22911 										switch ((*t_2).kind) {
22912 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
22913 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
22914 										{
22915 											{
22916 												while (1) {
22917 													if (!((*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).position < val)) goto LA45;
22918 													enumSymOffset += ((NI) 1);
22919 												} LA45: ;
22920 											}
22921 											result = resizeString(result, ((*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s ? (*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s->Sup.len : 0) + 0);
22922 appendString(result, (*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s);
22923 										}
22924 										break;
22925 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
22926 										{
22927 											addQuoted__sem_4005((&result), ((NIM_CHAR) (val)));
22928 										}
22929 										break;
22930 										default:
22931 										{
22932 											{
22933 												NI T52_;
22934 												NimStringDesc* T53_;
22935 												NimStringDesc* T54_;
22936 												if (!(i == ((NI) 64))) goto LA50_;
22937 												T52_ = (NI)0;
22938 												T52_ = len__nilcheck_1772(vals);
22939 												T53_ = NIM_NIL;
22940 												T53_ = dollar___systemZdollars_3((NI)(T52_ - i));
22941 												T54_ = NIM_NIL;
22942 												T54_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_488), T53_);
22943 												result = resizeString(result, (T54_ ? T54_->Sup.len : 0) + 0);
22944 appendString(result, T54_);
22945 												goto LA1;
22946 											}
22947 											goto LA48_;
22948 											LA50_: ;
22949 											{
22950 												NimStringDesc* T56_;
22951 												T56_ = NIM_NIL;
22952 												T56_ = dollar___systemZdollars_3(val);
22953 												result = resizeString(result, (T56_ ? T56_->Sup.len : 0) + 0);
22954 appendString(result, T56_);
22955 											}
22956 											LA48_: ;
22957 										}
22958 										break;
22959 										}
22960 										i += ((NI) 1);
22961 									}
22962 									LA36_: ;
22963 									j += ((NI) 1);
22964 									w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
22965 								} LA33: ;
22966 							}
22967 							i_4 += ((NI) 1);
22968 						} LA31: ;
22969 					}
22970 					r = (*r).next;
22971 				} LA29: ;
22972 			}
22973 		}
22974 		LA2_: ;
22975 	} LA1: ;
22976 	result = resizeString(result, 1);
22977 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_489));
22978 	return result;
22979 }
N_NIMCALL(void,difference__sem_4045)22980 N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4045)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
22981 	initPackedSet__pureZcollectionsZintsets_16(Result);
22982 	{
22983 		NI item;
22984 		item = (NI)0;
22985 		{
22986 			if (!((*s1).elems <= ((NI) 34))) goto LA4_;
22987 			{
22988 				NI i;
22989 				NI i_2;
22990 				i = (NI)0;
22991 				i_2 = ((NI) 0);
22992 				{
22993 					while (1) {
22994 						if (!(i_2 < (*s1).elems)) goto LA8;
22995 						i = i_2;
22996 						item = (*s1).a[(i)- 0];
22997 						{
22998 							NIM_BOOL T11_;
22999 							T11_ = (NIM_BOOL)0;
23000 							T11_ = contains__astalgo_3496(s2, item);
23001 							if (!!(T11_)) goto LA12_;
23002 							incl__pureZcollectionsZintsets_55(Result, item);
23003 						}
23004 						LA12_: ;
23005 						i_2 += ((NI) 1);
23006 					} LA8: ;
23007 				}
23008 			}
23009 		}
23010 		goto LA2_;
23011 		LA4_: ;
23012 		{
23013 			tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
23014 			r = (*s1).head;
23015 			{
23016 				while (1) {
23017 					NI i_3;
23018 					if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA16;
23019 					i_3 = ((NI) 0);
23020 					{
23021 						while (1) {
23022 							NU w;
23023 							NI j;
23024 							if (!(i_3 <= ((NI) 7))) goto LA18;
23025 							w = (*r).bits[(i_3)- 0];
23026 							j = ((NI) 0);
23027 							{
23028 								while (1) {
23029 									if (!!((w == ((NU) 0)))) goto LA20;
23030 									{
23031 										NI T25_;
23032 										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA23_;
23033 										T25_ = (NI)0;
23034 										T25_ = pluspercent___system_696((NI)((NU64)(i_3) << (NU64)(((NI) 6))), j);
23035 										item = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T25_);
23036 										{
23037 											NIM_BOOL T28_;
23038 											T28_ = (NIM_BOOL)0;
23039 											T28_ = contains__astalgo_3496(s2, item);
23040 											if (!!(T28_)) goto LA29_;
23041 											incl__pureZcollectionsZintsets_55(Result, item);
23042 										}
23043 										LA29_: ;
23044 									}
23045 									LA23_: ;
23046 									j += ((NI) 1);
23047 									w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
23048 								} LA20: ;
23049 							}
23050 							i_3 += ((NI) 1);
23051 						} LA18: ;
23052 					}
23053 					r = (*r).next;
23054 				} LA16: ;
23055 			}
23056 		}
23057 		LA2_: ;
23058 	}
23059 }
N_INLINE(void,minus___sem_4040)23060 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
23061 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
23062 	nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23063 	difference__sem_4045(s1, s2, (&T1_));
23064 	genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
23065 }
N_NIMCALL(void,getIntSetOfType__sem_3930)23066 N_LIB_PRIVATE N_NIMCALL(void, getIntSetOfType__sem_3930)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
23067 	initIntSet__pureZcollectionsZintsets_238(Result);
23068 	{
23069 		NIM_BOOL T3_;
23070 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
23071 		T3_ = (NIM_BOOL)0;
23072 		T3_ = enumHasHoles__types_287(t);
23073 		if (!T3_) goto LA4_;
23074 		t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_472);
23075 		{
23076 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** field;
23077 			tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
23078 			NI i;
23079 			NI L;
23080 			NI T7_;
23081 			field = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
23082 			colontmp_ = NIM_NIL;
23083 			colontmp_ = (*(*t_2).n)._kind_6.sons;
23084 			i = ((NI) 0);
23085 			T7_ = (colontmp_ ? colontmp_->Sup.len : 0);
23086 			L = T7_;
23087 			{
23088 				while (1) {
23089 					if (!(i < L)) goto LA9;
23090 					field = &colontmp_->data[i];
23091 					incl__pureZcollectionsZintsets_55(Result, (*(*(*field))._kind_4.sym).position);
23092 					i += ((NI) 1);
23093 				} LA9: ;
23094 			}
23095 		}
23096 	}
23097 	goto LA1_;
23098 	LA4_: ;
23099 	{
23100 		{
23101 			NI64 i_2;
23102 			NI64 colontmp__2;
23103 			NI64 colontmp__3;
23104 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
23105 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
23106 			NI64 res;
23107 			i_2 = (NI64)0;
23108 			colontmp__2 = (NI64)0;
23109 			colontmp__3 = (NI64)0;
23110 			T12_ = firstOrd__types_1353((*(*c).graph).config, t);
23111 			colontmp__2 = toInt64__int495056_88(T12_);
23112 			T13_ = lastOrd__types_1470((*(*c).graph).config, t);
23113 			colontmp__3 = toInt64__int495056_88(T13_);
23114 			res = colontmp__2;
23115 			{
23116 				while (1) {
23117 					if (!(res <= colontmp__3)) goto LA15;
23118 					i_2 = res;
23119 					incl__pureZcollectionsZintsets_55(Result, ((NI) (i_2)));
23120 					res += ((NI) 1);
23121 				} LA15: ;
23122 			}
23123 		}
23124 	}
23125 	LA1_: ;
23126 }
N_NIMCALL(NimStringDesc *,formatMissingEnums__sem_4020)23127 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, formatMissingEnums__sem_4020)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
23128 	NimStringDesc* result;
23129 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA coveredCases;
23130 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T23_;
23131 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T24_;
23132 	result = NIM_NIL;
23133 	nimZeroMem((void*)(&coveredCases), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23134 	initIntSet__pureZcollectionsZintsets_238((&coveredCases));
23135 	{
23136 		NI i;
23137 		NI colontmp_;
23138 		NI i_2;
23139 		i = (NI)0;
23140 		colontmp_ = (NI)0;
23141 		colontmp_ = len__ast_3198(n);
23142 		i_2 = ((NI) 1);
23143 		{
23144 			while (1) {
23145 				if (!(i_2 < colontmp_)) goto LA3;
23146 				i = i_2;
23147 				{
23148 					NI val;
23149 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
23150 					val = (NI)0;
23151 					colontmp__2 = NIM_NIL;
23152 					colontmp__2 = (*n)._kind_6.sons->data[i];
23153 					{
23154 						if (!((*colontmp__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA7_;
23155 						{
23156 							NI i_3;
23157 							NI colontmp__3;
23158 							NI T10_;
23159 							NI i_4;
23160 							i_3 = (NI)0;
23161 							colontmp__3 = (NI)0;
23162 							T10_ = (NI)0;
23163 							T10_ = len__ast_3198(colontmp__2);
23164 							colontmp__3 = (NI)(T10_ - ((NI) 1));
23165 							i_4 = ((NI) 0);
23166 							{
23167 								while (1) {
23168 									if (!(i_4 < colontmp__3)) goto LA12;
23169 									i_3 = i_4;
23170 									{
23171 										if (!((*(*colontmp__2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) || (*(*colontmp__2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5))) goto LA15_;
23172 										val = ((NI) ((*(*colontmp__2)._kind_6.sons->data[i_3])._kind_1.intVal));
23173 										incl__pureZcollectionsZintsets_55((&coveredCases), val);
23174 									}
23175 									goto LA13_;
23176 									LA15_: ;
23177 									{
23178 										if (!((*(*colontmp__2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA18_;
23179 										{
23180 											NI64 i_5;
23181 											NI64 colontmp__4;
23182 											NI64 colontmp__5;
23183 											NI64 res;
23184 											i_5 = (NI64)0;
23185 											colontmp__4 = (NI64)0;
23186 											colontmp__5 = (NI64)0;
23187 											colontmp__4 = (*(*(*colontmp__2)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
23188 											colontmp__5 = (*(*(*colontmp__2)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
23189 											res = colontmp__4;
23190 											{
23191 												while (1) {
23192 													if (!(res <= colontmp__5)) goto LA22;
23193 													i_5 = res;
23194 													val = ((NI) (i_5));
23195 													incl__pureZcollectionsZintsets_55((&coveredCases), val);
23196 													res += ((NI) 1);
23197 												} LA22: ;
23198 											}
23199 										}
23200 									}
23201 									goto LA13_;
23202 									LA18_: ;
23203 									LA13_: ;
23204 									i_4 += ((NI) 1);
23205 								} LA12: ;
23206 							}
23207 						}
23208 					}
23209 					LA7_: ;
23210 				}
23211 				i_2 += ((NI) 1);
23212 			} LA3: ;
23213 		}
23214 	}
23215 	nimZeroMem((void*)(&T23_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23216 	getIntSetOfType__sem_3930(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (&T23_));
23217 	nimZeroMem((void*)(&T24_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23218 	minus___sem_4040((&T23_), (&coveredCases), (&T24_));
23219 	result = renderAsType__sem_3988((&T24_), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
23220 	return result;
23221 }
N_NIMCALL(void,semRecordCase__sem_4067)23222 N_LIB_PRIVATE N_NIMCALL(void, semRecordCase__sem_4067)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* rectype) {
23223 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
23224 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA covered;
23225 	NIM_BOOL chckCovered;
23226 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
23227 {	a = copyNode__ast_4336(n);
23228 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
23229 	semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[((NI) 0)], check, pos, a, rectype, NIM_TRUE);
23230 	{
23231 		if (!!(((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
23232 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_457), TM__rF9caJawfOjYTjsgLVUSGFA_458);
23233 		goto BeforeRet_;
23234 	}
23235 	LA3_: ;
23236 	(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 20)) & 63);
23237 	covered = toInt128__types_1378(((NI) 0));
23238 	chckCovered = NIM_FALSE;
23239 	typ = skipTypes__ast_3735((*(*a)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_459);
23240 	switch ((*typ).kind) {
23241 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
23242 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
23243 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
23244 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
23245 	{
23246 		chckCovered = NIM_TRUE;
23247 	}
23248 	break;
23249 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
23250 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
23251 	{
23252 	}
23253 	break;
23254 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
23255 	{
23256 		{
23257 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
23258 			T10_ = NIM_NIL;
23259 			T10_ = skipTypes__ast_3735((*typ).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
23260 			if (!((*T10_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T10_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T10_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T10_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43) || (*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA11_;
23261 			chckCovered = NIM_TRUE;
23262 		}
23263 		LA11_: ;
23264 	}
23265 	break;
23266 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
23267 	{
23268 		errorUndeclaredIdentifier__lookups_1199(c, (*(*n)._kind_6.sons->data[((NI) 0)]).info, (*(*(*typ).sym).name).s, ((NimStringDesc*) NIM_NIL));
23269 	}
23270 	break;
23271 	default:
23272 	{
23273 		{
23274 			NIM_BOOL T17_;
23275 			T17_ = (NIM_BOOL)0;
23276 			T17_ = isOrdinalType__types_299(typ, NIM_FALSE);
23277 			if (!!(T17_)) goto LA18_;
23278 			liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_460), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_461, NIM_FALSE);
23279 		}
23280 		LA18_: ;
23281 	}
23282 	break;
23283 	}
23284 	{
23285 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
23286 		NIM_BOOL T23_;
23287 		NimStringDesc* T26_;
23288 		T22_ = firstOrd__types_1353((*(*c).graph).config, typ);
23289 		T23_ = (NIM_BOOL)0;
23290 		T23_ = eqeq___int495056_759(T22_, IL64(0));
23291 		if (!!(T23_)) goto LA24_;
23292 		T26_ = NIM_NIL;
23293 		T26_ = rawNewString(((*(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s ? (*(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s->Sup.len : 0) + 32);
23294 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_462));
23295 appendString(T26_, (*(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
23296 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_463));
23297 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_464, NIM_FALSE);
23298 	}
23299 	goto LA20_;
23300 	LA24_: ;
23301 	{
23302 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
23303 		NIM_BOOL T29_;
23304 		NimStringDesc* T32_;
23305 		T28_ = lengthOrd__types_1661((*(*c).graph).config, typ);
23306 		T29_ = (NIM_BOOL)0;
23307 		T29_ = lt___int495056_738(IL64(32767), T28_);
23308 		if (!T29_) goto LA30_;
23309 		T32_ = NIM_NIL;
23310 		T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_465), (*(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
23311 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_466, NIM_FALSE);
23312 	}
23313 	goto LA20_;
23314 	LA30_: ;
23315 	LA20_: ;
23316 	{
23317 		NI i;
23318 		NI colontmp_;
23319 		NI i_2;
23320 		i = (NI)0;
23321 		colontmp_ = (NI)0;
23322 		colontmp_ = len__ast_3198(n);
23323 		i_2 = ((NI) 1);
23324 		{
23325 			while (1) {
23326 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
23327 				NI T46_;
23328 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
23329 				if (!(i_2 < colontmp_)) goto LA35;
23330 				i = i_2;
23331 				b = copyTree__ast_4431((*n)._kind_6.sons->data[i]);
23332 				add__ast_4797(a, b);
23333 				switch ((*(*n)._kind_6.sons->data[i]).kind) {
23334 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
23335 				{
23336 					checkMinSonsLen__semdata_1084(b, ((NI) 2), (*(*c).graph).config);
23337 					semCaseBranch__sem_3791(c, a, b, i, (&covered));
23338 				}
23339 				break;
23340 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
23341 				{
23342 					checkSonsLen__semdata_1077(b, ((NI) 1), (*(*c).graph).config);
23343 					{
23344 						NIM_BOOL T40_;
23345 						tyObject_Int128__9a9axPfb75jdWY25AamJewkA T42_;
23346 						T40_ = (NIM_BOOL)0;
23347 						T40_ = chckCovered;
23348 						if (!(T40_)) goto LA41_;
23349 						T42_ = toCover__sem_3884(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
23350 						T40_ = eqeq___int495056_313(covered, T42_);
23351 						LA41_: ;
23352 						if (!T40_) goto LA43_;
23353 						liMessage__msgs_1118((*(*c).graph).config, (*b).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 44), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_471, NIM_FALSE);
23354 					}
23355 					LA43_: ;
23356 					chckCovered = NIM_FALSE;
23357 				}
23358 				break;
23359 				default:
23360 				{
23361 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
23362 				}
23363 				break;
23364 				}
23365 				T46_ = (NI)0;
23366 				T46_ = len__ast_3198(b);
23367 				delSon__ast_4313(b, (NI)(T46_ - ((NI) 1)));
23368 				T47_ = NIM_NIL;
23369 				T47_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
23370 				semRecordNodeAux__sem_3922(c, T47_, check, pos, b, rectype, NIM_TRUE);
23371 				i_2 += ((NI) 1);
23372 			} LA35: ;
23373 		}
23374 	}
23375 	{
23376 		NIM_BOOL T50_;
23377 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T52_;
23378 		NIM_BOOL T53_;
23379 		T50_ = (NIM_BOOL)0;
23380 		T50_ = chckCovered;
23381 		if (!(T50_)) goto LA51_;
23382 		T52_ = toCover__sem_3884(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
23383 		T53_ = (NIM_BOOL)0;
23384 		T53_ = eqeq___int495056_313(covered, T52_);
23385 		T50_ = !(T53_);
23386 		LA51_: ;
23387 		if (!T50_) goto LA54_;
23388 		{
23389 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T58_;
23390 			NimStringDesc* T61_;
23391 			NimStringDesc* T62_;
23392 			T58_ = NIM_NIL;
23393 			T58_ = skipTypes__ast_3735((*(*a)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
23394 			if (!((*T58_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA59_;
23395 			T61_ = NIM_NIL;
23396 			T61_ = formatMissingEnums__sem_4020(c, a);
23397 			T62_ = NIM_NIL;
23398 			T62_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_473), T61_);
23399 			liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T62_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_490, NIM_FALSE);
23400 		}
23401 		goto LA56_;
23402 		LA59_: ;
23403 		{
23404 			liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_491), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_492, NIM_FALSE);
23405 		}
23406 		LA56_: ;
23407 	}
23408 	LA54_: ;
23409 	add__ast_4797(father, a);
23410 	}BeforeRet_: ;
23411 }
N_NIMCALL(void,semRecordNodeAux__sem_3922)23412 N_LIB_PRIVATE N_NIMCALL(void, semRecordNodeAux__sem_3922)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* rectype, NIM_BOOL hasCaseFields) {
23413 {	{
23414 		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
23415 		goto BeforeRet_;
23416 	}
23417 	LA3_: ;
23418 	switch ((*n).kind) {
23419 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
23420 	{
23421 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
23422 		branch = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
23423 		{
23424 			NI i;
23425 			NI colontmp_;
23426 			NI i_2;
23427 			i = (NI)0;
23428 			colontmp_ = (NI)0;
23429 			colontmp_ = len__ast_3198(n);
23430 			i_2 = ((NI) 0);
23431 			{
23432 				while (1) {
23433 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
23434 					NI idx;
23435 					if (!(i_2 < colontmp_)) goto LA8;
23436 					i = i_2;
23437 					it = (*n)._kind_6.sons->data[i];
23438 					{
23439 						if (!(it == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA11_;
23440 						illFormedAst__semdata_1071(n, (*(*c).graph).config);
23441 					}
23442 					LA11_: ;
23443 					idx = ((NI) 1);
23444 					switch ((*it).kind) {
23445 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
23446 					{
23447 						checkSonsLen__semdata_1077(it, ((NI) 2), (*(*c).graph).config);
23448 						{
23449 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
23450 							if (!((*c).inGenericContext == ((NI) 0))) goto LA16_;
23451 							e = semConstBoolExpr__sem_2877(c, (*it)._kind_6.sons->data[((NI) 0)]);
23452 							{
23453 								if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA20_;
23454 							}
23455 							goto LA18_;
23456 							LA20_: ;
23457 							{
23458 								NIM_BOOL T23_;
23459 								T23_ = (NIM_BOOL)0;
23460 								T23_ = !(((*e)._kind_1.intVal == IL64(0)));
23461 								if (!(T23_)) goto LA24_;
23462 								T23_ = (branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
23463 								LA24_: ;
23464 								if (!T23_) goto LA25_;
23465 								branch = (*it)._kind_6.sons->data[((NI) 1)];
23466 							}
23467 							goto LA18_;
23468 							LA25_: ;
23469 							LA18_: ;
23470 						}
23471 						goto LA14_;
23472 						LA16_: ;
23473 						{
23474 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
23475 							T28_ = NIM_NIL;
23476 							T28_ = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 0)], 0);
23477 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T28_));
23478 						}
23479 						LA14_: ;
23480 					}
23481 					break;
23482 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
23483 					{
23484 						checkSonsLen__semdata_1077(it, ((NI) 1), (*(*c).graph).config);
23485 						{
23486 							if (!(branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA32_;
23487 							branch = (*it)._kind_6.sons->data[((NI) 0)];
23488 						}
23489 						LA32_: ;
23490 						idx = ((NI) 0);
23491 					}
23492 					break;
23493 					default:
23494 					{
23495 						illFormedAst__semdata_1071(n, (*(*c).graph).config);
23496 					}
23497 					break;
23498 					}
23499 					{
23500 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA newCheck;
23501 						NI newPos;
23502 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newf;
23503 						if (!(((NI) 0) < (*c).inGenericContext)) goto LA37_;
23504 						nimZeroMem((void*)(&newCheck), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23505 						assign__types_3929((&newCheck), (&(*check)));
23506 						newPos = (*pos);
23507 						newf = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23508 						semRecordNodeAux__sem_3922(c, (*it)._kind_6.sons->data[idx], (&newCheck), (&newPos), newf, rectype, hasCaseFields);
23509 						{
23510 							NI T41_;
23511 							T41_ = (NI)0;
23512 							T41_ = len__ast_3198(newf);
23513 							if (!(T41_ == ((NI) 1))) goto LA42_;
23514 							asgnRef((void**) (&(*it)._kind_6.sons->data[idx]), (*newf)._kind_6.sons->data[((NI) 0)]);
23515 						}
23516 						goto LA39_;
23517 						LA42_: ;
23518 						{
23519 							asgnRef((void**) (&(*it)._kind_6.sons->data[idx]), newf);
23520 						}
23521 						LA39_: ;
23522 					}
23523 					LA37_: ;
23524 					i_2 += ((NI) 1);
23525 				} LA8: ;
23526 			}
23527 		}
23528 		{
23529 			if (!(((NI) 0) < (*c).inGenericContext)) goto LA47_;
23530 			add__ast_4797(father, n);
23531 		}
23532 		goto LA45_;
23533 		LA47_: ;
23534 		{
23535 			if (!!((branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA50_;
23536 			semRecordNodeAux__sem_3922(c, branch, check, pos, father, rectype, hasCaseFields);
23537 		}
23538 		goto LA45_;
23539 		LA50_: ;
23540 		{
23541 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T55_;
23542 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA53_;
23543 			T55_ = NIM_NIL;
23544 			T55_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23545 			add__ast_4797(father, T55_);
23546 		}
23547 		goto LA45_;
23548 		LA53_: ;
23549 		LA45_: ;
23550 	}
23551 	break;
23552 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
23553 	{
23554 		semRecordCase__sem_4067(c, n, check, pos, father, rectype);
23555 	}
23556 	break;
23557 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
23558 	{
23559 		{
23560 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T62_;
23561 			if (!!(((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA60_;
23562 			T62_ = NIM_NIL;
23563 			T62_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23564 			add__ast_4797(father, T62_);
23565 		}
23566 		LA60_: ;
23567 	}
23568 	break;
23569 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
23570 	{
23571 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
23572 		{
23573 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138))) goto LA66_;
23574 			a = father;
23575 		}
23576 		goto LA64_;
23577 		LA66_: ;
23578 		{
23579 			a = copyNode__ast_4336(n);
23580 		}
23581 		LA64_: ;
23582 		{
23583 			NI i_3;
23584 			NI colontmp__2;
23585 			NI i_4;
23586 			i_3 = (NI)0;
23587 			colontmp__2 = (NI)0;
23588 			colontmp__2 = len__ast_3198(n);
23589 			i_4 = ((NI) 0);
23590 			{
23591 				while (1) {
23592 					if (!(i_4 < colontmp__2)) goto LA71;
23593 					i_3 = i_4;
23594 					semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[i_3], check, pos, a, rectype, hasCaseFields);
23595 					i_4 += ((NI) 1);
23596 				} LA71: ;
23597 			}
23598 		}
23599 		{
23600 			if (!!((a == father))) goto LA74_;
23601 			add__ast_4797(father, a);
23602 		}
23603 		LA74_: ;
23604 	}
23605 	break;
23606 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
23607 	{
23608 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
23609 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
23610 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fieldOwner;
23611 		checkMinSonsLen__semdata_1084(n, ((NI) 3), (*(*c).graph).config);
23612 		a_2 = NIM_NIL;
23613 		{
23614 			NIM_BOOL T79_;
23615 			NI T81_;
23616 			T79_ = (NIM_BOOL)0;
23617 			T79_ = !(((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)));
23618 			if (!(T79_)) goto LA80_;
23619 			T81_ = (NI)0;
23620 			T81_ = len__ast_3198(n);
23621 			T79_ = (((NI) 4) <= T81_);
23622 			LA80_: ;
23623 			if (!T79_) goto LA82_;
23624 			a_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23625 		}
23626 		goto LA77_;
23627 		LA82_: ;
23628 		{
23629 			a_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
23630 		}
23631 		LA77_: ;
23632 		{
23633 			NI T87_;
23634 			NI T90_;
23635 			T87_ = (NI)0;
23636 			T87_ = len__ast_3198(n);
23637 			if (!!(((*(*n)._kind_6.sons->data[(NI)(T87_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA88_;
23638 			T90_ = (NI)0;
23639 			T90_ = len__ast_3198(n);
23640 			liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[(NI)(T90_ - ((NI) 1))]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_493), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_494, NIM_FALSE);
23641 		}
23642 		LA88_: ;
23643 		typ = NIM_NIL;
23644 		{
23645 			NI T93_;
23646 			T93_ = (NI)0;
23647 			T93_ = len__ast_3198(n);
23648 			if (!((*(*n)._kind_6.sons->data[(NI)(T93_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA94_;
23649 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_495, NIM_FALSE);
23650 			typ = errorType__semdata_1002(c);
23651 		}
23652 		goto LA91_;
23653 		LA94_: ;
23654 		{
23655 			NI T97_;
23656 			T97_ = (NI)0;
23657 			T97_ = len__ast_3198(n);
23658 			typ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[(NI)(T97_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
23659 			propagateToOwner__ast_4219(rectype, typ, NIM_TRUE);
23660 		}
23661 		LA91_: ;
23662 		{
23663 			if (!(((NI) 0) < (*c).inGenericContext)) goto LA100_;
23664 			fieldOwner = getCurrOwner__semdata_315(c);
23665 		}
23666 		goto LA98_;
23667 		LA100_: ;
23668 		{
23669 			fieldOwner = (*rectype).sym;
23670 		}
23671 		LA98_: ;
23672 		{
23673 			NI i_5;
23674 			NI colontmp__3;
23675 			NI T104_;
23676 			NI i_6;
23677 			i_5 = (NI)0;
23678 			colontmp__3 = (NI)0;
23679 			T104_ = (NI)0;
23680 			T104_ = len__ast_3198(n);
23681 			colontmp__3 = (NI)(T104_ - ((NI) 2));
23682 			i_6 = ((NI) 0);
23683 			{
23684 				while (1) {
23685 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
23686 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
23687 					if (!(i_6 < colontmp__3)) goto LA106;
23688 					i_5 = i_6;
23689 					f = semIdentWithPragma__sem_476(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*n)._kind_6.sons->data[i_5], 2);
23690 					{
23691 						if (!((*(*n)._kind_6.sons->data[i_5]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA109_;
23692 						info = (*(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]).info;
23693 					}
23694 					goto LA107_;
23695 					LA109_: ;
23696 					{
23697 						info = (*(*n)._kind_6.sons->data[i_5]).info;
23698 					}
23699 					LA107_: ;
23700 					suggestSym__sigmatch_5375((*c).graph, info, f, &(*(*c).graph).usageSym, NIM_TRUE);
23701 					asgnRef((void**) (&(*f).typ), typ);
23702 					(*f).position = (*pos);
23703 					(*f).options = (*(*(*c).graph).config).options;
23704 					{
23705 						NIM_BOOL T114_;
23706 						NIM_BOOL T115_;
23707 						NIM_BOOL T116_;
23708 						T114_ = (NIM_BOOL)0;
23709 						T115_ = (NIM_BOOL)0;
23710 						T116_ = (NIM_BOOL)0;
23711 						T116_ = !((fieldOwner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
23712 						if (!(T116_)) goto LA117_;
23713 						T116_ = !(((192 & (*fieldOwner).flags) == 0));
23714 						LA117_: ;
23715 						T115_ = T116_;
23716 						if (!(T115_)) goto LA118_;
23717 						T115_ = !(hasCaseFields);
23718 						LA118_: ;
23719 						T114_ = T115_;
23720 						if (!(T114_)) goto LA119_;
23721 						T114_ = ((*f).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
23722 						LA119_: ;
23723 						if (!T114_) goto LA120_;
23724 						asgnRef((void**) (&(*f).loc.r), rope__ropes_109((*(*f).name).s));
23725 						(*f).flags = ((*f).flags | (192 & (*fieldOwner).flags));
23726 					}
23727 					LA120_: ;
23728 					(*pos) += ((NI) 1);
23729 					{
23730 						NIM_BOOL T124_;
23731 						NimStringDesc* T127_;
23732 						T124_ = (NIM_BOOL)0;
23733 						T124_ = containsOrIncl__astalgo_402(check, (*(*f).name).id);
23734 						if (!T124_) goto LA125_;
23735 						T127_ = NIM_NIL;
23736 						T127_ = rawNewString(((*(*f).name).s ? (*(*f).name).s->Sup.len : 0) + 23);
23737 appendString(T127_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
23738 appendString(T127_, (*(*f).name).s);
23739 appendString(T127_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23740 						liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T127_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_496, NIM_FALSE);
23741 					}
23742 					LA125_: ;
23743 					{
23744 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T132_;
23745 						if (!((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA130_;
23746 						T132_ = NIM_NIL;
23747 						T132_ = newSymNode__ast_3716(f);
23748 						add__ast_4797(father, T132_);
23749 					}
23750 					goto LA128_;
23751 					LA130_: ;
23752 					{
23753 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T134_;
23754 						T134_ = NIM_NIL;
23755 						T134_ = newSymNode__ast_3716(f);
23756 						add__ast_4797(a_2, T134_);
23757 					}
23758 					LA128_: ;
23759 					{
23760 						NIM_BOOL T137_;
23761 						T137_ = (NIM_BOOL)0;
23762 						T137_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
23763 						if (!(T137_)) goto LA138_;
23764 						T137_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
23765 						LA138_: ;
23766 						if (!T137_) goto LA139_;
23767 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*f).info, f, (*f).kind);
23768 					}
23769 					LA139_: ;
23770 					i_6 += ((NI) 1);
23771 				} LA106: ;
23772 			}
23773 		}
23774 		{
23775 			if (!!(((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA143_;
23776 			add__ast_4797(father, a_2);
23777 		}
23778 		LA143_: ;
23779 	}
23780 	break;
23781 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
23782 	{
23783 		{
23784 			NIM_BOOL T148_;
23785 			NimStringDesc* T151_;
23786 			T148_ = (NIM_BOOL)0;
23787 			T148_ = containsOrIncl__astalgo_402(check, (*(*(*n)._kind_4.sym).name).id);
23788 			if (!T148_) goto LA149_;
23789 			T151_ = NIM_NIL;
23790 			T151_ = rawNewString(((*(*(*n)._kind_4.sym).name).s ? (*(*(*n)._kind_4.sym).name).s->Sup.len : 0) + 23);
23791 appendString(T151_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
23792 appendString(T151_, (*(*(*n)._kind_4.sym).name).s);
23793 appendString(T151_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23794 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T151_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_497, NIM_FALSE);
23795 		}
23796 		LA149_: ;
23797 		add__ast_4797(father, n);
23798 	}
23799 	break;
23800 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
23801 	{
23802 		{
23803 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA155_;
23804 			add__ast_4797(father, n);
23805 		}
23806 		LA155_: ;
23807 	}
23808 	break;
23809 	default:
23810 	{
23811 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
23812 	}
23813 	break;
23814 	}
23815 	}BeforeRet_: ;
23816 }
N_NIMCALL(void,initConstrContext__sem_19652)23817 N_LIB_PRIVATE N_NIMCALL(void, initConstrContext__sem_19652)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* Result) {
23818 	unsureAsgnRef((void**)&(*Result).typ, NIM_NIL);
23819 	unsureAsgnRef((void**)&(*Result).initExpr, NIM_NIL);
23820 	(*Result).needsFullInit = 0;
23821 	unsureAsgnRef((void**)&(*Result).missingFields, NIM_NIL);
23822 	unsureAsgnRef((void**) (&(*Result).typ), t);
23823 	unsureAsgnRef((void**) (&(*Result).initExpr), initExpr);
23824 	(*Result).needsFullInit = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 19))&63U)))!=0);
23825 }
N_NIMCALL(void,mergeInitStatus__sem_19071)23826 N_LIB_PRIVATE N_NIMCALL(void, mergeInitStatus__sem_19071)(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ* existing, tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ newStatus) {
23827 	switch (newStatus) {
23828 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 4):
23829 	{
23830 		(*existing) = newStatus;
23831 	}
23832 	break;
23833 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2):
23834 	{
23835 		{
23836 			if (!((11 &((NU8)1<<((NU)((*existing))&7U)))!=0)) goto LA5_;
23837 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23838 		}
23839 		LA5_: ;
23840 	}
23841 	break;
23842 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3):
23843 	{
23844 		{
23845 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0))) goto LA10_;
23846 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
23847 		}
23848 		goto LA8_;
23849 		LA10_: ;
23850 		{
23851 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1))) goto LA13_;
23852 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23853 		}
23854 		goto LA8_;
23855 		LA13_: ;
23856 		LA8_: ;
23857 	}
23858 	break;
23859 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1):
23860 	{
23861 		{
23862 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0))) goto LA18_;
23863 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1);
23864 		}
23865 		goto LA16_;
23866 		LA18_: ;
23867 		{
23868 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3))) goto LA21_;
23869 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23870 		}
23871 		goto LA16_;
23872 		LA21_: ;
23873 		LA16_: ;
23874 	}
23875 	break;
23876 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0):
23877 	{
23878 	}
23879 	break;
23880 	}
23881 }
N_NIMCALL(void,invalidObjConstr__sem_19105)23882 N_LIB_PRIVATE N_NIMCALL(void, invalidObjConstr__sem_19105)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
23883 	{
23884 		NIM_BOOL T3_;
23885 		NIM_BOOL T4_;
23886 		T3_ = (NIM_BOOL)0;
23887 		T4_ = (NIM_BOOL)0;
23888 		T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
23889 		if (!(T4_)) goto LA5_;
23890 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
23891 		LA5_: ;
23892 		T3_ = T4_;
23893 		if (!(T3_)) goto LA6_;
23894 		T3_ = ((NU8)((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s->data[((NI) 0)]) == (NU8)(58));
23895 		LA6_: ;
23896 		if (!T3_) goto LA7_;
23897 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_502), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_503, NIM_FALSE);
23898 	}
23899 	goto LA1_;
23900 	LA7_: ;
23901 	{
23902 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_504), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_505, NIM_FALSE);
23903 	}
23904 	LA1_: ;
23905 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,locateFieldInInitExpr__sem_19118)23906 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, locateFieldInInitExpr__sem_19118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr) {
23907 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
23908 	NI fieldId;
23909 {	result = NIM_NIL;
23910 	fieldId = (*(*field).name).id;
23911 	{
23912 		NI i;
23913 		NI colontmp_;
23914 		NI i_2;
23915 		i = (NI)0;
23916 		colontmp_ = (NI)0;
23917 		colontmp_ = len__ast_3198(initExpr);
23918 		i_2 = ((NI) 1);
23919 		{
23920 			while (1) {
23921 				if (!(i_2 < colontmp_)) goto LA3;
23922 				i = i_2;
23923 				{
23924 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
23925 					assignment = (*initExpr)._kind_6.sons->data[i];
23926 					{
23927 						if (!!(((*assignment).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA7_;
23928 						invalidObjConstr__sem_19105(c, assignment);
23929 						goto LA4;
23930 					}
23931 					LA7_: ;
23932 					{
23933 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_;
23934 						T11_ = NIM_NIL;
23935 						T11_ = considerQuotedIdent__lookups_28(c, (*assignment)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
23936 						if (!(fieldId == (*T11_).id)) goto LA12_;
23937 						result = assignment;
23938 						goto BeforeRet_;
23939 					}
23940 					LA12_: ;
23941 				} LA4: ;
23942 				i_2 += ((NI) 1);
23943 			} LA3: ;
23944 		}
23945 	}
23946 	}BeforeRet_: ;
23947 	return result;
23948 }
N_NIMCALL(NimStringDesc *,fieldsPresentInInitExpr__sem_19294)23949 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, fieldsPresentInInitExpr__sem_19294)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr) {
23950 	NimStringDesc* result;
23951 	result = NIM_NIL;
23952 	result = ((NimStringDesc*) NIM_NIL);
23953 	{
23954 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
23955 		field = NIM_NIL;
23956 		{
23957 			if (!((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
23958 			field = fieldsRecList;
23959 			{
23960 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
23961 				NimStringDesc* T15_;
23962 				T8_ = NIM_NIL;
23963 				T8_ = locateFieldInInitExpr__sem_19118(c, (*field)._kind_4.sym, initExpr);
23964 				if (!!((T8_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
23965 				{
23966 					if (!!(((result ? result->Sup.len : 0) == ((NI) 0)))) goto LA13_;
23967 					result = resizeString(result, 2);
23968 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
23969 				}
23970 				LA13_: ;
23971 				T15_ = NIM_NIL;
23972 				T15_ = rawNewString(((*(*(*field)._kind_4.sym).name).s ? (*(*(*field)._kind_4.sym).name).s->Sup.len : 0) + 2);
23973 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23974 appendString(T15_, (*(*(*field)._kind_4.sym).name).s);
23975 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23976 				result = resizeString(result, (T15_ ? T15_->Sup.len : 0) + 0);
23977 appendString(result, T15_);
23978 			}
23979 			LA9_: ;
23980 		}
23981 		goto LA2_;
23982 		LA4_: ;
23983 		{
23984 			{
23985 				if (!!(((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA19_;
23986 				failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_506));
23987 			}
23988 			LA19_: ;
23989 			{
23990 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field_2;
23991 				field_2 = NIM_NIL;
23992 				{
23993 					NI i;
23994 					NI colontmp_;
23995 					NI i_2;
23996 					i = (NI)0;
23997 					colontmp_ = (NI)0;
23998 					colontmp_ = safeLen__ast_3191(fieldsRecList);
23999 					i_2 = ((NI) 0);
24000 					{
24001 						while (1) {
24002 							if (!(i_2 < colontmp_)) goto LA24;
24003 							i = i_2;
24004 							field_2 = (*fieldsRecList)._kind_6.sons->data[i];
24005 							{
24006 								{
24007 									if (!!(((*field_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA28_;
24008 									goto LA25;
24009 								}
24010 								LA28_: ;
24011 								field = field_2;
24012 								{
24013 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
24014 									NimStringDesc* T39_;
24015 									T32_ = NIM_NIL;
24016 									T32_ = locateFieldInInitExpr__sem_19118(c, (*field)._kind_4.sym, initExpr);
24017 									if (!!((T32_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA33_;
24018 									{
24019 										if (!!(((result ? result->Sup.len : 0) == ((NI) 0)))) goto LA37_;
24020 										result = resizeString(result, 2);
24021 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
24022 									}
24023 									LA37_: ;
24024 									T39_ = NIM_NIL;
24025 									T39_ = rawNewString(((*(*(*field)._kind_4.sym).name).s ? (*(*(*field)._kind_4.sym).name).s->Sup.len : 0) + 2);
24026 appendString(T39_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
24027 appendString(T39_, (*(*(*field)._kind_4.sym).name).s);
24028 appendString(T39_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
24029 									result = resizeString(result, (T39_ ? T39_->Sup.len : 0) + 0);
24030 appendString(result, T39_);
24031 								}
24032 								LA33_: ;
24033 							} LA25: ;
24034 							i_2 += ((NI) 1);
24035 						} LA24: ;
24036 					}
24037 				}
24038 			}
24039 		}
24040 		LA2_: ;
24041 	}
24042 	return result;
24043 }
N_INLINE(void,pushSafePoint)24044 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
24045 	(*s).prev = excHandler__system_2565;
24046 	excHandler__system_2565 = s;
24047 }
N_INLINE(void,popSafePoint)24048 static N_INLINE(void, popSafePoint)(void) {
24049 	excHandler__system_2565 = (*excHandler__system_2565).prev;
24050 }
N_INLINE(Exception *,nimBorrowCurrentException)24051 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
24052 	Exception* result;
24053 	result = NIM_NIL;
24054 	result = currException__system_2566;
24055 	return result;
24056 }
N_INLINE(void,popCurrentException)24057 static N_INLINE(void, popCurrentException)(void) {
24058 	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
24059 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryConstExpr__sem_582)24060 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryConstExpr__sem_582)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
24061 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
24062 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
24063 	NI oldErrorCount;
24064 	NI oldErrorMax;
24065 	tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA oldErrorOutputs;
24066 	TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_511;
24067 {	result = NIM_NIL;
24068 	e = semExprWithType__sem_56(c, n, 0);
24069 	{
24070 		if (!(e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
24071 		goto BeforeRet_;
24072 	}
24073 	LA3_: ;
24074 	result = getConstExpr__semfold_81((*c).module, e, (*c).Sup.idgen, (*c).graph);
24075 	{
24076 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
24077 		goto BeforeRet_;
24078 	}
24079 	LA7_: ;
24080 	oldErrorCount = (*(*(*c).graph).config).errorCounter;
24081 	oldErrorMax = (*(*(*c).graph).config).errorMax;
24082 	oldErrorOutputs = (*(*(*c).graph).config).m.errorOutputs;
24083 	(*(*(*c).graph).config).m.errorOutputs = 0;
24084 	(*(*(*c).graph).config).errorMax = ((NI) IL64(9223372036854775807));
24085 	pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_511);
24086 	TM__rF9caJawfOjYTjsgLVUSGFA_511.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_511.context);
24087 	if (TM__rF9caJawfOjYTjsgLVUSGFA_511.status == 0) {
24088 	result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, e);
24089 	{
24090 		NIM_BOOL T11_;
24091 		T11_ = (NIM_BOOL)0;
24092 		T11_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
24093 		if (T11_) goto LA12_;
24094 		T11_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
24095 		LA12_: ;
24096 		if (!T11_) goto LA13_;
24097 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
24098 	}
24099 	goto LA9_;
24100 	LA13_: ;
24101 	{
24102 		result = fixupTypeAfterEval__sem_570(c, result, e);
24103 	}
24104 	LA9_: ;
24105 	popSafePoint();
24106 	}
24107 	else {
24108 		popSafePoint();
24109 		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
24110 			TM__rF9caJawfOjYTjsgLVUSGFA_511.status = 0;
24111 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
24112 			popCurrentException();
24113 		}
24114 	}
24115 	if (TM__rF9caJawfOjYTjsgLVUSGFA_511.status != 0) reraiseException();
24116 	(*(*(*c).graph).config).errorCounter = oldErrorCount;
24117 	(*(*(*c).graph).config).errorMax = oldErrorMax;
24118 	(*(*(*c).graph).config).m.errorOutputs = oldErrorOutputs;
24119 	}BeforeRet_: ;
24120 	return result;
24121 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprFlagDispatched__sem_641)24122 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprFlagDispatched__sem_641)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
24123 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24124 {	result = NIM_NIL;
24125 	{
24126 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 4))&31U)))!=0)) goto LA3_;
24127 		{
24128 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 6))&31U)))!=0)) goto LA7_;
24129 			result = tryConstExpr__sem_582(c, n);
24130 			goto BeforeRet_;
24131 		}
24132 		goto LA5_;
24133 		LA7_: ;
24134 		{
24135 			result = semConstExpr__sem_611(c, n);
24136 			goto BeforeRet_;
24137 		}
24138 		LA5_: ;
24139 	}
24140 	goto LA1_;
24141 	LA3_: ;
24142 	{
24143 		result = semExprWithType__sem_56(c, n, flags);
24144 		{
24145 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
24146 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 5))&31U)))!=0)) goto LA13_;
24147 			evaluated = getConstExpr__semfold_81((*c).module, result, (*c).Sup.idgen, (*c).graph);
24148 			{
24149 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA17_;
24150 				result = evaluated;
24151 				goto BeforeRet_;
24152 			}
24153 			LA17_: ;
24154 			evaluated = evalAtCompileTime__sem_117(c, result);
24155 			{
24156 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA21_;
24157 				result = evaluated;
24158 				goto BeforeRet_;
24159 			}
24160 			LA21_: ;
24161 		}
24162 		LA13_: ;
24163 	}
24164 	LA1_: ;
24165 	}BeforeRet_: ;
24166 	return result;
24167 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitNodeConsiderViewType__sem_212)24168 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitNodeConsiderViewType__sem_212)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
24169 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24170 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
24171 	result = NIM_NIL;
24172 	a = fitNode__sem_70(c, formal, arg, info);
24173 	{
24174 		if (!((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA3_;
24175 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*a).info, formal);
24176 		add__ast_4797(result, a);
24177 		(*formal).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
24178 	}
24179 	goto LA1_;
24180 	LA3_: ;
24181 	{
24182 		result = a;
24183 	}
24184 	LA1_: ;
24185 	return result;
24186 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstrField__sem_19139)24187 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstrField__sem_19139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr) {
24188 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24189 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
24190 {	result = NIM_NIL;
24191 	assignment = locateFieldInInitExpr__sem_19118(c, field, initExpr);
24192 	{
24193 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initValue;
24194 		if (!!((assignment == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
24195 		{
24196 			if (!(((*assignment).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0)) goto LA7_;
24197 			result = (*assignment)._kind_6.sons->data[((NI) 1)];
24198 			goto BeforeRet_;
24199 		}
24200 		LA7_: ;
24201 		{
24202 			NIM_BOOL T11_;
24203 			tyArray__nHXaesL0DJZHyVS07ARPRA T14_;
24204 			NimStringDesc* T15_;
24205 			T11_ = (NIM_BOOL)0;
24206 			T11_ = fieldVisible__sigmatch_4944(c, field);
24207 			if (!!(T11_)) goto LA12_;
24208 			nimZeroMem((void*)T14_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
24209 			T14_[0] = copyString((*(*field).name).s);
24210 			T15_ = NIM_NIL;
24211 			T15_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_509), T14_, 1);
24212 			liMessage__msgs_1118((*(*c).graph).config, (*initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_510, NIM_FALSE);
24213 			goto BeforeRet_;
24214 		}
24215 		LA12_: ;
24216 		initValue = semExprFlagDispatched__sem_641(c, (*assignment)._kind_6.sons->data[((NI) 1)], flags);
24217 		{
24218 			if (!!((initValue == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
24219 			initValue = fitNodeConsiderViewType__sem_212(c, (*field).typ, initValue, (*assignment).info);
24220 		}
24221 		LA18_: ;
24222 		asgnRef((void**) (&(*assignment)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(field));
24223 		asgnRef((void**) (&(*assignment)._kind_6.sons->data[((NI) 1)]), initValue);
24224 		(*assignment).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
24225 		result = initValue;
24226 		goto BeforeRet_;
24227 	}
24228 	LA3_: ;
24229 	}BeforeRet_: ;
24230 	return result;
24231 }
N_NIMCALL(void,findUsefulCaseContext__sem_19218)24232 N_LIB_PRIVATE N_NIMCALL(void, findUsefulCaseContext__sem_19218)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discrimator, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result) {
24233 {	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
24234 	(*Result).Field1 = 0;
24235 	{
24236 		NI i;
24237 		NI colontmp_;
24238 		NI T2_;
24239 		NI res;
24240 		i = (NI)0;
24241 		colontmp_ = (NI)0;
24242 		T2_ = (((*(*c).p).caseContext ? (*(*c).p).caseContext->Sup.len : 0)-1);
24243 		colontmp_ = T2_;
24244 		res = colontmp_;
24245 		{
24246 			while (1) {
24247 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseNode;
24248 				NI index;
24249 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* skipped;
24250 				if (!(((NI) 0) <= res)) goto LA4;
24251 				i = res;
24252 				caseNode = NIM_NIL;
24253 				caseNode = (*(*c).p).caseContext->data[i].Field0;
24254 				index = (NI)0;
24255 				index = (*(*c).p).caseContext->data[i].Field1;
24256 				skipped = skipHidden__types_3613((*caseNode)._kind_6.sons->data[((NI) 0)]);
24257 				{
24258 					NIM_BOOL T7_;
24259 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
24260 					NI colontmp__3;
24261 					T7_ = (NIM_BOOL)0;
24262 					T7_ = ((*skipped).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
24263 					if (!(T7_)) goto LA8_;
24264 					T7_ = ((*skipped)._kind_4.sym == (*discrimator)._kind_4.sym);
24265 					LA8_: ;
24266 					if (!T7_) goto LA9_;
24267 					colontmp__2 = caseNode;
24268 					colontmp__3 = index;
24269 					unsureAsgnRef((void**) (&(*Result).Field0), colontmp__2);
24270 					(*Result).Field1 = colontmp__3;
24271 					goto BeforeRet_;
24272 				}
24273 				LA9_: ;
24274 				res -= ((NI) 1);
24275 			} LA4: ;
24276 		}
24277 	}
24278 	}BeforeRet_: ;
24279 }
N_NIMCALL(void,branchVals__sem_19186)24280 N_LIB_PRIVATE N_NIMCALL(void, branchVals__sem_19186)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseNode, NI caseIdx, NIM_BOOL isStmtBranch, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
24281 	{
24282 		if (!((*(*caseNode)._kind_6.sons->data[caseIdx]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA3_;
24283 		initIntSet__pureZcollectionsZintsets_238(Result);
24284 		{
24285 			NI val;
24286 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp_;
24287 			val = (NI)0;
24288 			colontmp_ = NIM_NIL;
24289 			colontmp_ = (*caseNode)._kind_6.sons->data[caseIdx];
24290 			{
24291 				if (!((*colontmp_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA8_;
24292 				{
24293 					NI i;
24294 					NI colontmp__2;
24295 					NI T11_;
24296 					NI i_2;
24297 					i = (NI)0;
24298 					colontmp__2 = (NI)0;
24299 					T11_ = (NI)0;
24300 					T11_ = len__ast_3198(colontmp_);
24301 					colontmp__2 = (NI)(T11_ - ((NI) 1));
24302 					i_2 = ((NI) 0);
24303 					{
24304 						while (1) {
24305 							if (!(i_2 < colontmp__2)) goto LA13;
24306 							i = i_2;
24307 							{
24308 								if (!((*(*colontmp_)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) || (*(*colontmp_)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5))) goto LA16_;
24309 								val = ((NI) ((*(*colontmp_)._kind_6.sons->data[i])._kind_1.intVal));
24310 								incl__pureZcollectionsZintsets_55(Result, val);
24311 							}
24312 							goto LA14_;
24313 							LA16_: ;
24314 							{
24315 								if (!((*(*colontmp_)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA19_;
24316 								{
24317 									NI64 i_3;
24318 									NI64 colontmp__3;
24319 									NI64 colontmp__4;
24320 									NI64 res;
24321 									i_3 = (NI64)0;
24322 									colontmp__3 = (NI64)0;
24323 									colontmp__4 = (NI64)0;
24324 									colontmp__3 = (*(*(*colontmp_)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
24325 									colontmp__4 = (*(*(*colontmp_)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
24326 									res = colontmp__3;
24327 									{
24328 										while (1) {
24329 											if (!(res <= colontmp__4)) goto LA23;
24330 											i_3 = res;
24331 											val = ((NI) (i_3));
24332 											incl__pureZcollectionsZintsets_55(Result, val);
24333 											res += ((NI) 1);
24334 										} LA23: ;
24335 									}
24336 								}
24337 							}
24338 							goto LA14_;
24339 							LA19_: ;
24340 							LA14_: ;
24341 							i_2 += ((NI) 1);
24342 						} LA13: ;
24343 					}
24344 				}
24345 			}
24346 			LA8_: ;
24347 		}
24348 	}
24349 	goto LA1_;
24350 	LA3_: ;
24351 	{
24352 		getIntSetOfType__sem_3930(c, (*(*caseNode)._kind_6.sons->data[((NI) 0)]).typ, Result);
24353 		{
24354 			NI i_4;
24355 			NI colontmp__5;
24356 			NI T26_;
24357 			NI i_5;
24358 			i_4 = (NI)0;
24359 			colontmp__5 = (NI)0;
24360 			T26_ = (NI)0;
24361 			T26_ = len__ast_3198(caseNode);
24362 			colontmp__5 = (NI)(T26_ - ((NI) 1));
24363 			i_5 = ((NI) 1);
24364 			{
24365 				while (1) {
24366 					if (!(i_5 < colontmp__5)) goto LA28;
24367 					i_4 = i_5;
24368 					{
24369 						NI val_2;
24370 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__6;
24371 						val_2 = (NI)0;
24372 						colontmp__6 = NIM_NIL;
24373 						colontmp__6 = (*caseNode)._kind_6.sons->data[i_4];
24374 						{
24375 							if (!((*colontmp__6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA32_;
24376 							{
24377 								NI i_6;
24378 								NI colontmp__7;
24379 								NI T35_;
24380 								NI i_7;
24381 								i_6 = (NI)0;
24382 								colontmp__7 = (NI)0;
24383 								T35_ = (NI)0;
24384 								T35_ = len__ast_3198(colontmp__6);
24385 								colontmp__7 = (NI)(T35_ - ((NI) 1));
24386 								i_7 = ((NI) 0);
24387 								{
24388 									while (1) {
24389 										if (!(i_7 < colontmp__7)) goto LA37;
24390 										i_6 = i_7;
24391 										{
24392 											if (!((*(*colontmp__6)._kind_6.sons->data[i_6]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) || (*(*colontmp__6)._kind_6.sons->data[i_6]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5))) goto LA40_;
24393 											val_2 = ((NI) ((*(*colontmp__6)._kind_6.sons->data[i_6])._kind_1.intVal));
24394 											excl__reorder_264(Result, val_2);
24395 										}
24396 										goto LA38_;
24397 										LA40_: ;
24398 										{
24399 											if (!((*(*colontmp__6)._kind_6.sons->data[i_6]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA43_;
24400 											{
24401 												NI64 i_8;
24402 												NI64 colontmp__8;
24403 												NI64 colontmp__9;
24404 												NI64 res_2;
24405 												i_8 = (NI64)0;
24406 												colontmp__8 = (NI64)0;
24407 												colontmp__9 = (NI64)0;
24408 												colontmp__8 = (*(*(*colontmp__6)._kind_6.sons->data[i_6])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
24409 												colontmp__9 = (*(*(*colontmp__6)._kind_6.sons->data[i_6])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
24410 												res_2 = colontmp__8;
24411 												{
24412 													while (1) {
24413 														if (!(res_2 <= colontmp__9)) goto LA47;
24414 														i_8 = res_2;
24415 														val_2 = ((NI) (i_8));
24416 														excl__reorder_264(Result, val_2);
24417 														res_2 += ((NI) 1);
24418 													} LA47: ;
24419 												}
24420 											}
24421 										}
24422 										goto LA38_;
24423 										LA43_: ;
24424 										LA38_: ;
24425 										i_7 += ((NI) 1);
24426 									} LA37: ;
24427 								}
24428 							}
24429 						}
24430 						LA32_: ;
24431 					}
24432 					i_5 += ((NI) 1);
24433 				} LA28: ;
24434 			}
24435 		}
24436 	}
24437 	LA1_: ;
24438 }
N_NIMCALL(NIM_BOOL,caseBranchMatchesExpr__sem_19167)24439 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__sem_19167)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched) {
24440 	NIM_BOOL result;
24441 {	result = (NIM_BOOL)0;
24442 	{
24443 		NI i;
24444 		NI colontmp_;
24445 		NI T2_;
24446 		NI i_2;
24447 		i = (NI)0;
24448 		colontmp_ = (NI)0;
24449 		T2_ = (NI)0;
24450 		T2_ = len__ast_3198(branch);
24451 		colontmp_ = (NI)(T2_ - ((NI) 1));
24452 		i_2 = ((NI) 0);
24453 		{
24454 			while (1) {
24455 				if (!(i_2 < colontmp_)) goto LA4;
24456 				i = i_2;
24457 				{
24458 					if (!((*(*branch)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
24459 					{
24460 						NIM_BOOL T11_;
24461 						T11_ = (NIM_BOOL)0;
24462 						T11_ = overlap__nimsets_40((*branch)._kind_6.sons->data[i], matched);
24463 						if (!T11_) goto LA12_;
24464 						result = NIM_TRUE;
24465 						goto BeforeRet_;
24466 					}
24467 					LA12_: ;
24468 				}
24469 				goto LA5_;
24470 				LA7_: ;
24471 				{
24472 					NIM_BOOL T15_;
24473 					T15_ = (NIM_BOOL)0;
24474 					T15_ = exprStructuralEquivalent__trees_56((*branch)._kind_6.sons->data[i], matched, NIM_FALSE);
24475 					if (!T15_) goto LA16_;
24476 					result = NIM_TRUE;
24477 					goto BeforeRet_;
24478 				}
24479 				goto LA5_;
24480 				LA16_: ;
24481 				LA5_: ;
24482 				i_2 += ((NI) 1);
24483 			} LA4: ;
24484 		}
24485 	}
24486 	result = NIM_FALSE;
24487 	goto BeforeRet_;
24488 	}BeforeRet_: ;
24489 	return result;
24490 }
N_NIMCALL(void,collectMissingFields__sem_19304)24491 N_LIB_PRIVATE N_NIMCALL(void, collectMissingFields__sem_19304)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx) {
24492 	{
24493 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
24494 		r = NIM_NIL;
24495 		{
24496 			if (!((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
24497 			r = fieldsRecList;
24498 			{
24499 				NIM_BOOL T8_;
24500 				NIM_BOOL T9_;
24501 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
24502 				T8_ = (NIM_BOOL)0;
24503 				T9_ = (NIM_BOOL)0;
24504 				T9_ = (*constrCtx).needsFullInit;
24505 				if (T9_) goto LA10_;
24506 				T9_ = (((*(*r)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 21))&63U)))!=0);
24507 				LA10_: ;
24508 				T8_ = T9_;
24509 				if (T8_) goto LA11_;
24510 				T8_ = requiresInit__typeallowed_578((*(*r)._kind_4.sym).typ);
24511 				LA11_: ;
24512 				if (!T8_) goto LA12_;
24513 				assignment = locateFieldInInitExpr__sem_19118(c, (*r)._kind_4.sym, (*constrCtx).initExpr);
24514 				{
24515 					NI T18_;
24516 					if (!(assignment == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA16_;
24517 					unsureAsgnRef((void**) (&(*constrCtx).missingFields), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*constrCtx).missingFields), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
24518 					T18_ = (*constrCtx).missingFields->Sup.len++;
24519 					asgnRef((void**) (&(*constrCtx).missingFields->data[T18_]), (*r)._kind_4.sym);
24520 				}
24521 				LA16_: ;
24522 			}
24523 			LA12_: ;
24524 		}
24525 		goto LA2_;
24526 		LA4_: ;
24527 		{
24528 			{
24529 				if (!!(((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA22_;
24530 				failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_506));
24531 			}
24532 			LA22_: ;
24533 			{
24534 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
24535 				field = NIM_NIL;
24536 				{
24537 					NI i;
24538 					NI colontmp_;
24539 					NI i_2;
24540 					i = (NI)0;
24541 					colontmp_ = (NI)0;
24542 					colontmp_ = safeLen__ast_3191(fieldsRecList);
24543 					i_2 = ((NI) 0);
24544 					{
24545 						while (1) {
24546 							if (!(i_2 < colontmp_)) goto LA27;
24547 							i = i_2;
24548 							field = (*fieldsRecList)._kind_6.sons->data[i];
24549 							{
24550 								{
24551 									if (!!(((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA31_;
24552 									goto LA28;
24553 								}
24554 								LA31_: ;
24555 								r = field;
24556 								{
24557 									NIM_BOOL T35_;
24558 									NIM_BOOL T36_;
24559 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment_2;
24560 									T35_ = (NIM_BOOL)0;
24561 									T36_ = (NIM_BOOL)0;
24562 									T36_ = (*constrCtx).needsFullInit;
24563 									if (T36_) goto LA37_;
24564 									T36_ = (((*(*r)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 21))&63U)))!=0);
24565 									LA37_: ;
24566 									T35_ = T36_;
24567 									if (T35_) goto LA38_;
24568 									T35_ = requiresInit__typeallowed_578((*(*r)._kind_4.sym).typ);
24569 									LA38_: ;
24570 									if (!T35_) goto LA39_;
24571 									assignment_2 = locateFieldInInitExpr__sem_19118(c, (*r)._kind_4.sym, (*constrCtx).initExpr);
24572 									{
24573 										NI T45_;
24574 										if (!(assignment_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA43_;
24575 										unsureAsgnRef((void**) (&(*constrCtx).missingFields), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*constrCtx).missingFields), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
24576 										T45_ = (*constrCtx).missingFields->Sup.len++;
24577 										asgnRef((void**) (&(*constrCtx).missingFields->data[T45_]), (*r)._kind_4.sym);
24578 									}
24579 									LA43_: ;
24580 								}
24581 								LA39_: ;
24582 							} LA28: ;
24583 							i_2 += ((NI) 1);
24584 						} LA27: ;
24585 					}
24586 				}
24587 			}
24588 		}
24589 		LA2_: ;
24590 	}
24591 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pickCaseBranch__sem_19243)24592 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pickCaseBranch__sem_19243)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseExpr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched) {
24593 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24594 	NIM_BOOL endsWithElse;
24595 	NI T1_;
24596 {	result = NIM_NIL;
24597 	T1_ = (NI)0;
24598 	T1_ = len__ast_3198(caseExpr);
24599 	endsWithElse = ((*(*caseExpr)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88));
24600 	{
24601 		NI i;
24602 		NI colontmp_;
24603 		NI T3_;
24604 		NI i_2;
24605 		i = (NI)0;
24606 		colontmp_ = (NI)0;
24607 		T3_ = (NI)0;
24608 		T3_ = len__ast_3198(caseExpr);
24609 		colontmp_ = (NI)(T3_ - ((NI) (endsWithElse)));
24610 		i_2 = ((NI) 1);
24611 		{
24612 			while (1) {
24613 				if (!(i_2 < colontmp_)) goto LA5;
24614 				i = i_2;
24615 				{
24616 					NIM_BOOL T8_;
24617 					T8_ = (NIM_BOOL)0;
24618 					T8_ = caseBranchMatchesExpr__sem_19167((*caseExpr)._kind_6.sons->data[i], matched);
24619 					if (!T8_) goto LA9_;
24620 					result = (*caseExpr)._kind_6.sons->data[i];
24621 					goto BeforeRet_;
24622 				}
24623 				LA9_: ;
24624 				i_2 += ((NI) 1);
24625 			} LA5: ;
24626 		}
24627 	}
24628 	{
24629 		NI T15_;
24630 		if (!endsWithElse) goto LA13_;
24631 		T15_ = (NI)0;
24632 		T15_ = len__ast_3198(caseExpr);
24633 		result = (*caseExpr)._kind_6.sons->data[(NI)(T15_ - ((NI) 1))];
24634 		goto BeforeRet_;
24635 	}
24636 	LA13_: ;
24637 	}BeforeRet_: ;
24638 	return result;
24639 }
N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ,semConstructFields__sem_19322)24640 N_LIB_PRIVATE N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ, semConstructFields__sem_19322)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
24641 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ result;
24642 	result = (tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ)0;
24643 	result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0);
24644 	switch ((*n).kind) {
24645 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
24646 	{
24647 		{
24648 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
24649 			field = NIM_NIL;
24650 			{
24651 				NI i;
24652 				NI colontmp_;
24653 				NI i_2;
24654 				i = (NI)0;
24655 				colontmp_ = (NI)0;
24656 				colontmp_ = safeLen__ast_3191(n);
24657 				i_2 = ((NI) 0);
24658 				{
24659 					while (1) {
24660 						tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status;
24661 						if (!(i_2 < colontmp_)) goto LA5;
24662 						i = i_2;
24663 						field = (*n)._kind_6.sons->data[i];
24664 						status = semConstructFields__sem_19322(c, field, constrCtx, flags);
24665 						mergeInitStatus__sem_19071((&result), status);
24666 						i_2 += ((NI) 1);
24667 					} LA5: ;
24668 				}
24669 			}
24670 		}
24671 	}
24672 	break;
24673 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
24674 	{
24675 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminator;
24676 		NI selectedBranch;
24677 		discriminator = (*n)._kind_6.sons->data[((NI) 0)];
24678 		{
24679 			NimStringDesc* argX60gensym5096_;
24680 			if (!!(((*discriminator).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA9_;
24681 			argX60gensym5096_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_500);
24682 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym5096_, TM__rF9caJawfOjYTjsgLVUSGFA_500);
24683 		}
24684 		LA9_: ;
24685 		selectedBranch = ((NI) -1);
24686 		{
24687 			NI i_3;
24688 			NI colontmp__2;
24689 			NI i_4;
24690 			i_3 = (NI)0;
24691 			colontmp__2 = (NI)0;
24692 			colontmp__2 = len__ast_3198(n);
24693 			i_4 = ((NI) 1);
24694 			{
24695 				while (1) {
24696 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* innerRecords;
24697 					NI T14_;
24698 					tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status_2;
24699 					if (!(i_4 < colontmp__2)) goto LA13;
24700 					i_3 = i_4;
24701 					T14_ = (NI)0;
24702 					T14_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
24703 					innerRecords = (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[(NI)(T14_ - ((NI) 1))];
24704 					status_2 = semConstructFields__sem_19322(c, innerRecords, constrCtx, flags);
24705 					{
24706 						if (!!(((9 &((NU8)1<<((NU)(status_2)&7U)))!=0))) goto LA17_;
24707 						mergeInitStatus__sem_19071((&result), status_2);
24708 						{
24709 							NimStringDesc* prevFields;
24710 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5104_;
24711 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5104_;
24712 							NI T23_;
24713 							NimStringDesc* currentFields;
24714 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5109_;
24715 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5109_;
24716 							NI T24_;
24717 							tyArray__Re75IspeoxXy2oCZHwcRrA T25_;
24718 							NimStringDesc* T26_;
24719 							if (!!((selectedBranch == ((NI) -1)))) goto LA21_;
24720 							branchX60gensym5104_ = (*n)._kind_6.sons->data[selectedBranch];
24721 							T23_ = (NI)0;
24722 							T23_ = len__ast_3198(branchX60gensym5104_);
24723 							fieldsX60gensym5104_ = (*branchX60gensym5104_)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))];
24724 							prevFields = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5104_, (*constrCtx).initExpr);
24725 							branchX60gensym5109_ = (*n)._kind_6.sons->data[i_3];
24726 							T24_ = (NI)0;
24727 							T24_ = len__ast_3198(branchX60gensym5109_);
24728 							fieldsX60gensym5109_ = (*branchX60gensym5109_)._kind_6.sons->data[(NI)(T24_ - ((NI) 1))];
24729 							currentFields = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5109_, (*constrCtx).initExpr);
24730 							nimZeroMem((void*)T25_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24731 							T25_[0] = copyString(prevFields);
24732 							T25_[1] = copyString(currentFields);
24733 							T26_ = NIM_NIL;
24734 							T26_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_507), T25_, 2);
24735 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_508, NIM_FALSE);
24736 							result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 4);
24737 						}
24738 						goto LA19_;
24739 						LA21_: ;
24740 						{
24741 							selectedBranch = i_3;
24742 						}
24743 						LA19_: ;
24744 					}
24745 					LA17_: ;
24746 					i_4 += ((NI) 1);
24747 				} LA13: ;
24748 			}
24749 		}
24750 		{
24751 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchNode;
24752 			tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
24753 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminatorVal;
24754 			if (!!((selectedBranch == ((NI) -1)))) goto LA30_;
24755 			branchNode = (*n)._kind_6.sons->data[selectedBranch];
24756 			flags_2 = 96;
24757 			discriminatorVal = semConstrField__sem_19139(c, flags_2, (*discriminator)._kind_4.sym, (*constrCtx).initExpr);
24758 			{
24759 				if (!!((discriminatorVal == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA34_;
24760 				discriminatorVal = skipHidden__types_3613(discriminatorVal);
24761 				{
24762 					NIM_BOOL T38_;
24763 					NIM_BOOL T40_;
24764 					NIM_BOOL T41_;
24765 					NIM_BOOL T42_;
24766 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T44_;
24767 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T46_;
24768 					T38_ = (NIM_BOOL)0;
24769 					T38_ = !(((*discriminatorVal).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*discriminatorVal).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
24770 					if (!(T38_)) goto LA39_;
24771 					T40_ = (NIM_BOOL)0;
24772 					T41_ = (NIM_BOOL)0;
24773 					T42_ = (NIM_BOOL)0;
24774 					T42_ = isOrdinalType__types_299((*discriminatorVal).typ, NIM_TRUE);
24775 					T41_ = !(T42_);
24776 					if (T41_) goto LA43_;
24777 					T44_ = lengthOrd__types_1661((*(*c).graph).config, (*discriminatorVal).typ);
24778 					T41_ = lt___int495056_738(IL64(65536), T44_);
24779 					LA43_: ;
24780 					T40_ = T41_;
24781 					if (T40_) goto LA45_;
24782 					T46_ = lengthOrd__types_1661((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24783 					T40_ = lt___int495056_738(IL64(65536), T46_);
24784 					LA45_: ;
24785 					T38_ = T40_;
24786 					LA39_: ;
24787 					if (!T38_) goto LA47_;
24788 					liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_512), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_513, NIM_FALSE);
24789 				}
24790 				LA47_: ;
24791 			}
24792 			LA34_: ;
24793 			{
24794 				if (!(discriminatorVal == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA51_;
24795 				{
24796 					NimStringDesc* fieldsX60gensym5129_;
24797 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5130_;
24798 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5130_;
24799 					NI T57_;
24800 					tyArray__Re75IspeoxXy2oCZHwcRrA T58_;
24801 					NimStringDesc* T59_;
24802 					if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA55_;
24803 					branchX60gensym5130_ = (*n)._kind_6.sons->data[selectedBranch];
24804 					T57_ = (NI)0;
24805 					T57_ = len__ast_3198(branchX60gensym5130_);
24806 					fieldsX60gensym5130_ = (*branchX60gensym5130_)._kind_6.sons->data[(NI)(T57_ - ((NI) 1))];
24807 					fieldsX60gensym5129_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5130_, (*constrCtx).initExpr);
24808 					nimZeroMem((void*)T58_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24809 					T58_[0] = copyString(fieldsX60gensym5129_);
24810 					T58_[1] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
24811 					T59_ = NIM_NIL;
24812 					T59_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_514), T58_, 2);
24813 					liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T59_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_515, NIM_FALSE);
24814 				}
24815 				LA55_: ;
24816 				mergeInitStatus__sem_19071((&result), ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3));
24817 			}
24818 			goto LA49_;
24819 			LA51_: ;
24820 			{
24821 				tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T63_;
24822 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ctorCase;
24823 				NI ctorIdx;
24824 				if (!((*discriminatorVal).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA61_;
24825 				nimZeroMem((void*)(&T63_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
24826 				findUsefulCaseContext__sem_19218(c, discriminatorVal, (&T63_));
24827 				ctorCase = NIM_NIL;
24828 				ctorCase = T63_.Field0;
24829 				ctorIdx = (NI)0;
24830 				ctorIdx = T63_.Field1;
24831 				{
24832 					if (!(ctorCase == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA66_;
24833 					{
24834 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA rangeVals;
24835 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals;
24836 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA diff;
24837 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T72_;
24838 						if (!((*(*discriminatorVal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA70_;
24839 						nimZeroMem((void*)(&rangeVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24840 						getIntSetOfType__sem_3930(c, (*discriminatorVal).typ, (&rangeVals));
24841 						nimZeroMem((void*)(&recBranchVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24842 						branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals));
24843 						nimZeroMem((void*)(&diff), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24844 						nimZeroMem((void*)(&T72_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24845 						minus___sem_4040((&rangeVals), (&recBranchVals), (&T72_));
24846 						nimCopyMem((void*)(&diff), (NIM_CONST void*)(&T72_), sizeof(diff));
24847 						{
24848 							NI T75_;
24849 							tyArray__Re75IspeoxXy2oCZHwcRrA T78_;
24850 							NimStringDesc* T79_;
24851 							T75_ = (NI)0;
24852 							T75_ = len__nilcheck_1772((&diff));
24853 							if (!!((T75_ == ((NI) 0)))) goto LA76_;
24854 							nimZeroMem((void*)T78_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24855 							T78_[0] = dollar___systemZdollars_3(selectedBranch);
24856 							T78_[1] = renderAsType__sem_3988((&diff), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24857 							T79_ = NIM_NIL;
24858 							T79_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T78_, 2);
24859 							liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T79_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_517, NIM_FALSE);
24860 						}
24861 						LA76_: ;
24862 					}
24863 					goto LA68_;
24864 					LA70_: ;
24865 					{
24866 						{
24867 							NimStringDesc* fieldsX60gensym5144_;
24868 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5145_;
24869 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5145_;
24870 							NI T85_;
24871 							tyArray__Re75IspeoxXy2oCZHwcRrA T86_;
24872 							NimStringDesc* T87_;
24873 							if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA83_;
24874 							branchX60gensym5145_ = (*n)._kind_6.sons->data[selectedBranch];
24875 							T85_ = (NI)0;
24876 							T85_ = len__ast_3198(branchX60gensym5145_);
24877 							fieldsX60gensym5145_ = (*branchX60gensym5145_)._kind_6.sons->data[(NI)(T85_ - ((NI) 1))];
24878 							fieldsX60gensym5144_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5145_, (*constrCtx).initExpr);
24879 							nimZeroMem((void*)T86_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24880 							T86_[0] = copyString(fieldsX60gensym5144_);
24881 							T86_[1] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
24882 							T87_ = NIM_NIL;
24883 							T87_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_514), T86_, 2);
24884 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T87_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_515, NIM_FALSE);
24885 						}
24886 						LA83_: ;
24887 						mergeInitStatus__sem_19071((&result), ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3));
24888 					}
24889 					LA68_: ;
24890 				}
24891 				goto LA64_;
24892 				LA66_: ;
24893 				{
24894 					NIM_BOOL T89_;
24895 					T89_ = (NIM_BOOL)0;
24896 					T89_ = !(((520 &((NU32)1<<((NU)((*(*discriminatorVal)._kind_4.sym).kind)&31U)))!=0));
24897 					if (T89_) goto LA90_;
24898 					T89_ = ((*(*(*discriminatorVal)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
24899 					LA90_: ;
24900 					if (!T89_) goto LA91_;
24901 					{
24902 						if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA95_;
24903 						liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_518), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_519, NIM_FALSE);
24904 					}
24905 					LA95_: ;
24906 				}
24907 				goto LA64_;
24908 				LA91_: ;
24909 				{
24910 					if (!((*(*ctorCase)._kind_6.sons->data[ctorIdx]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86))) goto LA98_;
24911 					liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_520), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_521, NIM_FALSE);
24912 				}
24913 				goto LA64_;
24914 				LA98_: ;
24915 				{
24916 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA ctorBranchVals;
24917 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals_2;
24918 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA branchValsDiff;
24919 					nimZeroMem((void*)(&ctorBranchVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24920 					branchVals__sem_19186(c, ctorCase, ctorIdx, NIM_TRUE, (&ctorBranchVals));
24921 					nimZeroMem((void*)(&recBranchVals_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24922 					branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals_2));
24923 					nimZeroMem((void*)(&branchValsDiff), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24924 					minus___sem_4040((&ctorBranchVals), (&recBranchVals_2), (&branchValsDiff));
24925 					{
24926 						NI T103_;
24927 						tyArray__Re75IspeoxXy2oCZHwcRrA T106_;
24928 						NimStringDesc* T107_;
24929 						T103_ = (NI)0;
24930 						T103_ = len__nilcheck_1772((&branchValsDiff));
24931 						if (!!((T103_ == ((NI) 0)))) goto LA104_;
24932 						nimZeroMem((void*)T106_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24933 						T106_[0] = dollar___systemZdollars_3(selectedBranch);
24934 						T106_[1] = renderAsType__sem_3988((&branchValsDiff), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24935 						T107_ = NIM_NIL;
24936 						T107_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T106_, 2);
24937 						liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T107_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_522, NIM_FALSE);
24938 					}
24939 					LA104_: ;
24940 				}
24941 				LA64_: ;
24942 			}
24943 			goto LA49_;
24944 			LA61_: ;
24945 			{
24946 				NI failedBranch;
24947 				failedBranch = ((NI) -1);
24948 				{
24949 					if (!!(((*branchNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)))) goto LA111_;
24950 					{
24951 						NIM_BOOL T115_;
24952 						T115_ = (NIM_BOOL)0;
24953 						T115_ = caseBranchMatchesExpr__sem_19167(branchNode, discriminatorVal);
24954 						if (!!(T115_)) goto LA116_;
24955 						failedBranch = selectedBranch;
24956 					}
24957 					LA116_: ;
24958 				}
24959 				goto LA109_;
24960 				LA111_: ;
24961 				{
24962 					{
24963 						NI i_5;
24964 						NI colontmp__3;
24965 						NI T120_;
24966 						NI i_6;
24967 						i_5 = (NI)0;
24968 						colontmp__3 = (NI)0;
24969 						T120_ = (NI)0;
24970 						T120_ = len__ast_3198(n);
24971 						colontmp__3 = (NI)(T120_ - ((NI) 1));
24972 						i_6 = ((NI) 1);
24973 						{
24974 							while (1) {
24975 								if (!(i_6 < colontmp__3)) goto LA122;
24976 								i_5 = i_6;
24977 								{
24978 									NIM_BOOL T125_;
24979 									T125_ = (NIM_BOOL)0;
24980 									T125_ = caseBranchMatchesExpr__sem_19167((*n)._kind_6.sons->data[i_5], discriminatorVal);
24981 									if (!T125_) goto LA126_;
24982 									failedBranch = i_5;
24983 									goto LA119;
24984 								}
24985 								LA126_: ;
24986 								i_6 += ((NI) 1);
24987 							} LA122: ;
24988 						}
24989 					} LA119: ;
24990 				}
24991 				LA109_: ;
24992 				{
24993 					if (!!((failedBranch == ((NI) -1)))) goto LA130_;
24994 					{
24995 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA rangeVals_2;
24996 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals_3;
24997 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA diff_2;
24998 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T136_;
24999 						if (!((*(*discriminatorVal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA134_;
25000 						nimZeroMem((void*)(&rangeVals_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25001 						getIntSetOfType__sem_3930(c, (*discriminatorVal).typ, (&rangeVals_2));
25002 						nimZeroMem((void*)(&recBranchVals_3), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25003 						branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals_3));
25004 						nimZeroMem((void*)(&diff_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25005 						nimZeroMem((void*)(&T136_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25006 						minus___sem_4040((&rangeVals_2), (&recBranchVals_3), (&T136_));
25007 						nimCopyMem((void*)(&diff_2), (NIM_CONST void*)(&T136_), sizeof(diff_2));
25008 						{
25009 							NI T139_;
25010 							tyArray__Re75IspeoxXy2oCZHwcRrA T142_;
25011 							NimStringDesc* T143_;
25012 							T139_ = (NI)0;
25013 							T139_ = len__nilcheck_1772((&diff_2));
25014 							if (!!((T139_ == ((NI) 0)))) goto LA140_;
25015 							nimZeroMem((void*)T142_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
25016 							T142_[0] = dollar___systemZdollars_3(selectedBranch);
25017 							T142_[1] = renderAsType__sem_3988((&diff_2), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
25018 							T143_ = NIM_NIL;
25019 							T143_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T142_, 2);
25020 							liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T143_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_523, NIM_FALSE);
25021 						}
25022 						LA140_: ;
25023 					}
25024 					goto LA132_;
25025 					LA134_: ;
25026 					{
25027 						{
25028 							NimStringDesc* fieldsX60gensym5177_;
25029 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5178_;
25030 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5178_;
25031 							NI T149_;
25032 							tyArray__24KAM9afIUgUaqBaEBB6r9bg T150_;
25033 							NimStringDesc* T151_;
25034 							if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA147_;
25035 							branchX60gensym5178_ = (*n)._kind_6.sons->data[failedBranch];
25036 							T149_ = (NI)0;
25037 							T149_ = len__ast_3198(branchX60gensym5178_);
25038 							fieldsX60gensym5178_ = (*branchX60gensym5178_)._kind_6.sons->data[(NI)(T149_ - ((NI) 1))];
25039 							fieldsX60gensym5177_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5178_, (*constrCtx).initExpr);
25040 							nimZeroMem((void*)T150_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
25041 							T150_[0] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
25042 							T150_[1] = renderTree__renderer_46(discriminatorVal, 0);
25043 							T150_[2] = copyString(fieldsX60gensym5177_);
25044 							T151_ = NIM_NIL;
25045 							T151_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_524), T150_, 3);
25046 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T151_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_525, NIM_FALSE);
25047 						}
25048 						LA147_: ;
25049 					}
25050 					LA132_: ;
25051 				}
25052 				LA130_: ;
25053 			}
25054 			LA49_: ;
25055 			{
25056 				if (!(result == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2))) goto LA154_;
25057 				{
25058 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5186_;
25059 					NI T160_;
25060 					if (!!((branchNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA158_;
25061 					T160_ = (NI)0;
25062 					T160_ = len__ast_3198(branchNode);
25063 					fieldsX60gensym5186_ = (*branchNode)._kind_6.sons->data[(NI)(T160_ - ((NI) 1))];
25064 					collectMissingFields__sem_19304(c, fieldsX60gensym5186_, constrCtx);
25065 				}
25066 				LA158_: ;
25067 			}
25068 			LA154_: ;
25069 		}
25070 		goto LA28_;
25071 		LA30_: ;
25072 		{
25073 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminatorVal_2;
25074 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
25075 			discriminatorVal_2 = semConstrField__sem_19139(c, (flags | 32), (*discriminator)._kind_4.sym, (*constrCtx).initExpr);
25076 			{
25077 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* defaultValue;
25078 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matchedBranch;
25079 				if (!(discriminatorVal_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA164_;
25080 				defaultValue = newIntLit__lowerings_695((*c).graph, (*(*constrCtx).initExpr).info, IL64(0));
25081 				matchedBranch = pickCaseBranch__sem_19243(n, defaultValue);
25082 				{
25083 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5191_;
25084 					NI T170_;
25085 					if (!!((matchedBranch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA168_;
25086 					T170_ = (NI)0;
25087 					T170_ = len__ast_3198(matchedBranch);
25088 					fieldsX60gensym5191_ = (*matchedBranch)._kind_6.sons->data[(NI)(T170_ - ((NI) 1))];
25089 					collectMissingFields__sem_19304(c, fieldsX60gensym5191_, constrCtx);
25090 				}
25091 				LA168_: ;
25092 			}
25093 			goto LA162_;
25094 			LA164_: ;
25095 			{
25096 				result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
25097 				{
25098 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matchedBranch_2;
25099 					if (!((*discriminatorVal_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA174_;
25100 					matchedBranch_2 = pickCaseBranch__sem_19243(n, discriminatorVal_2);
25101 					{
25102 						if (!!((matchedBranch_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA178_;
25103 						{
25104 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5197_;
25105 							NI T184_;
25106 							if (!!((matchedBranch_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA182_;
25107 							T184_ = (NI)0;
25108 							T184_ = len__ast_3198(matchedBranch_2);
25109 							fieldsX60gensym5197_ = (*matchedBranch_2)._kind_6.sons->data[(NI)(T184_ - ((NI) 1))];
25110 							collectMissingFields__sem_19304(c, fieldsX60gensym5197_, constrCtx);
25111 						}
25112 						LA182_: ;
25113 					}
25114 					LA178_: ;
25115 				}
25116 				goto LA172_;
25117 				LA174_: ;
25118 				{
25119 					{
25120 						NI i_7;
25121 						NI colontmp__4;
25122 						NI i_8;
25123 						i_7 = (NI)0;
25124 						colontmp__4 = (NI)0;
25125 						colontmp__4 = len__ast_3198(n);
25126 						i_8 = ((NI) 1);
25127 						{
25128 							while (1) {
25129 								if (!(i_8 < colontmp__4)) goto LA188;
25130 								i_7 = i_8;
25131 								{
25132 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5203_;
25133 									NI T193_;
25134 									if (!!(((*n)._kind_6.sons->data[i_7] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA191_;
25135 									T193_ = (NI)0;
25136 									T193_ = len__ast_3198((*n)._kind_6.sons->data[i_7]);
25137 									fieldsX60gensym5203_ = (*(*n)._kind_6.sons->data[i_7])._kind_6.sons->data[(NI)(T193_ - ((NI) 1))];
25138 									collectMissingFields__sem_19304(c, fieldsX60gensym5203_, constrCtx);
25139 								}
25140 								LA191_: ;
25141 								i_8 += ((NI) 1);
25142 							} LA188: ;
25143 						}
25144 					}
25145 				}
25146 				LA172_: ;
25147 			}
25148 			LA162_: ;
25149 		}
25150 		LA28_: ;
25151 	}
25152 	break;
25153 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
25154 	{
25155 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field_2;
25156 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
25157 		field_2 = (*n)._kind_4.sym;
25158 		e = semConstrField__sem_19139(c, flags, field_2, (*constrCtx).initExpr);
25159 		{
25160 			if (!!((e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA197_;
25161 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1);
25162 		}
25163 		goto LA195_;
25164 		LA197_: ;
25165 		{
25166 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
25167 		}
25168 		LA195_: ;
25169 	}
25170 	break;
25171 	default:
25172 	{
25173 		{
25174 			NimStringDesc* argX60gensym5210_;
25175 			if (!NIM_TRUE) goto LA203_;
25176 			argX60gensym5210_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_526);
25177 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym5210_, TM__rF9caJawfOjYTjsgLVUSGFA_526);
25178 		}
25179 		LA203_: ;
25180 	}
25181 	break;
25182 	}
25183 	return result;
25184 }
N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ,semConstructTypeAux__sem_19627)25185 N_LIB_PRIVATE N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ, semConstructTypeAux__sem_19627)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
25186 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ result;
25187 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
25188 {	result = (tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ)0;
25189 	result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0);
25190 	t = (*constrCtx).typ;
25191 	{
25192 		while (1) {
25193 			tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status;
25194 			tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
25195 			NIM_BOOL T15_;
25196 			status = semConstructFields__sem_19322(c, (*t).n, constrCtx, flags);
25197 			mergeInitStatus__sem_19071((&result), status);
25198 			{
25199 				if (!((13 &((NU8)1<<((NU)(status)&7U)))!=0)) goto LA5_;
25200 				collectMissingFields__sem_19304(c, (*t).n, constrCtx);
25201 			}
25202 			LA5_: ;
25203 			base = (*t).sons->data[((NI) 0)];
25204 			{
25205 				if (!(base == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA9_;
25206 				goto LA1;
25207 			}
25208 			LA9_: ;
25209 			t = skipTypes__ast_3735(base, TM__rF9caJawfOjYTjsgLVUSGFA_53);
25210 			{
25211 				if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA13_;
25212 				goto BeforeRet_;
25213 			}
25214 			LA13_: ;
25215 			T15_ = (NIM_BOOL)0;
25216 			T15_ = (*constrCtx).needsFullInit;
25217 			if (T15_) goto LA16_;
25218 			T15_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 19))&63U)))!=0);
25219 			LA16_: ;
25220 			(*constrCtx).needsFullInit = T15_;
25221 		}
25222 	} LA1: ;
25223 	}BeforeRet_: ;
25224 	return result;
25225 }
N_NIMCALL(NIM_BOOL,computeRequiresInit__sem_135)25226 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, computeRequiresInit__sem_135)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
25227 	NIM_BOOL result;
25228 	tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
25229 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
25230 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
25231 	NI T2_;
25232 	result = (NIM_BOOL)0;
25233 	nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
25234 	T1_ = NIM_NIL;
25235 	T1_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38));
25236 	initConstrContext__sem_19652(t, T1_, (&constrCtx));
25237 	initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), 0);
25238 	T2_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
25239 	result = (((NI) 0) < T2_);
25240 	return result;
25241 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semObjectNode__sem_4464)25242 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semObjectNode__sem_4464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags) {
25243 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25244 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
25245 	NI pos;
25246 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
25247 	tyObject_TType__facALICuu8zUj0hjvbTLFg* realBase;
25248 {	result = NIM_NIL;
25249 	{
25250 		NI T3_;
25251 		T3_ = (NI)0;
25252 		T3_ = len__ast_3198(n);
25253 		if (!(T3_ == ((NI) 0))) goto LA4_;
25254 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25255 		goto BeforeRet_;
25256 	}
25257 	LA4_: ;
25258 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25259 	initIntSet__pureZcollectionsZintsets_238((&check));
25260 	pos = ((NI) 0);
25261 	base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25262 	realBase = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25263 	checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
25264 	{
25265 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
25266 		realBase = semTypeNode__sem_80(c, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25267 		base = skipTypesOrNil__ast_4185(realBase, TM__rF9caJawfOjYTjsgLVUSGFA_53);
25268 		{
25269 			if (!(base == 0)) goto LA12_;
25270 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_54), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_55, NIM_FALSE);
25271 		}
25272 		goto LA10_;
25273 		LA12_: ;
25274 		{
25275 			tyObject_TType__facALICuu8zUj0hjvbTLFg* concreteBase;
25276 			concreteBase = skipGenericInvocation__sem_4428(base);
25277 			{
25278 				NIM_BOOL T17_;
25279 				T17_ = (NIM_BOOL)0;
25280 				T17_ = ((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9));
25281 				if (!(T17_)) goto LA18_;
25282 				T17_ = !((((*concreteBase).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
25283 				LA18_: ;
25284 				if (!T17_) goto LA19_;
25285 				{
25286 					if (!((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA23_;
25287 					{
25288 						NIM_BOOL T27_;
25289 						NIM_BOOL T28_;
25290 						T27_ = (NIM_BOOL)0;
25291 						T28_ = (NIM_BOOL)0;
25292 						T28_ = !(((*concreteBase).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
25293 						if (!(T28_)) goto LA29_;
25294 						T28_ = ((*(*concreteBase).sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 268));
25295 						LA29_: ;
25296 						T27_ = T28_;
25297 						if (!(T27_)) goto LA30_;
25298 						T27_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
25299 						LA30_: ;
25300 						if (!T27_) goto LA31_;
25301 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 37), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_56, NIM_FALSE);
25302 					}
25303 					LA31_: ;
25304 					addInheritedFields__sem_4443(c, (&check), (&pos), concreteBase);
25305 				}
25306 				LA23_: ;
25307 			}
25308 			goto LA15_;
25309 			LA19_: ;
25310 			{
25311 				{
25312 					NimStringDesc* T38_;
25313 					NimStringDesc* T39_;
25314 					if (!!(((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)))) goto LA36_;
25315 					T38_ = NIM_NIL;
25316 					T39_ = NIM_NIL;
25317 					T39_ = typeToString__types_50(realBase, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
25318 					T38_ = rawNewString((T39_ ? T39_->Sup.len : 0) + 120);
25319 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_63));
25320 appendString(T38_, T39_);
25321 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_64));
25322 					liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T38_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_65, NIM_FALSE);
25323 				}
25324 				LA36_: ;
25325 				base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25326 				realBase = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25327 			}
25328 			LA15_: ;
25329 		}
25330 		LA10_: ;
25331 	}
25332 	LA8_: ;
25333 	{
25334 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133)))) goto LA42_;
25335 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_66), TM__rF9caJawfOjYTjsgLVUSGFA_67);
25336 	}
25337 	LA42_: ;
25338 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17), prev, c);
25339 	rawAddSon__ast_4288(result, realBase, NIM_TRUE);
25340 	{
25341 		NIM_BOOL T46_;
25342 		T46_ = (NIM_BOOL)0;
25343 		T46_ = (realBase == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25344 		if (!(T46_)) goto LA47_;
25345 		T46_ = ((flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3))&63U)))!=0);
25346 		LA47_: ;
25347 		if (!T46_) goto LA48_;
25348 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3)) & 63);
25349 	}
25350 	LA48_: ;
25351 	{
25352 		if (!((flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39))&63U)))!=0)) goto LA52_;
25353 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39)) & 63);
25354 	}
25355 	LA52_: ;
25356 	{
25357 		if (!((*result).n == 0)) goto LA56_;
25358 		asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
25359 	}
25360 	goto LA54_;
25361 	LA56_: ;
25362 	{
25363 		addInheritedFields__sem_4443(c, (&check), (&pos), result);
25364 	}
25365 	LA54_: ;
25366 	semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[((NI) 2)], (&check), (&pos), (*result).n, result, NIM_FALSE);
25367 	{
25368 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
25369 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T63_;
25370 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T64_;
25371 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA61_;
25372 		T63_ = NIM_NIL;
25373 		T63_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_498));
25374 		T64_ = NIM_NIL;
25375 		T64_ = newIdentNode__ast_3712(T63_, (*n).info);
25376 		s = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T64_, c);
25377 		asgnRef((void**) (&(*s).typ), result);
25378 		pragma__pragmas_123(c, s, (*n)._kind_6.sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_499, NIM_FALSE);
25379 	}
25380 	LA61_: ;
25381 	{
25382 		NIM_BOOL T67_;
25383 		T67_ = (NIM_BOOL)0;
25384 		T67_ = (base == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25385 		if (!(T67_)) goto LA68_;
25386 		T67_ = !((((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3))&63U)))!=0));
25387 		LA68_: ;
25388 		if (!T67_) goto LA69_;
25389 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2)) & 63);
25390 	}
25391 	LA69_: ;
25392 	{
25393 		NIM_BOOL T73_;
25394 		T73_ = (NIM_BOOL)0;
25395 		T73_ = ((*c).inGenericContext == ((NI) 0));
25396 		if (!(T73_)) goto LA74_;
25397 		T73_ = computeRequiresInit__sem_135(c, result);
25398 		LA74_: ;
25399 		if (!T73_) goto LA75_;
25400 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
25401 	}
25402 	LA75_: ;
25403 	}BeforeRet_: ;
25404 	return result;
25405 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semAnyRef__sem_4568)25406 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semAnyRef__sem_4568)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
25407 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25408 	result = NIM_NIL;
25409 	{
25410 		NI T3_;
25411 		T3_ = (NI)0;
25412 		T3_ = len__ast_3198(n);
25413 		if (!(T3_ < ((NI) 1))) goto LA4_;
25414 		result = newConstraint__sem_2929(c, kind);
25415 	}
25416 	goto LA1_;
25417 	LA4_: ;
25418 	{
25419 		NI isCall;
25420 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
25421 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
25422 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
25423 		NIM_BOOL isNilable;
25424 		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag wrapperKind;
25425 		isCall = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
25426 		{
25427 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA9_;
25428 			n_2 = (*n)._kind_6.sons->data[((NI) 0)];
25429 		}
25430 		goto LA7_;
25431 		LA9_: ;
25432 		{
25433 			n_2 = n;
25434 		}
25435 		LA7_: ;
25436 		checkMinSonsLen__semdata_1084(n_2, ((NI) 1), (*(*c).graph).config);
25437 		body = lastSon__ast_4832(n_2);
25438 		{
25439 			NIM_BOOL T14_;
25440 			T14_ = (NIM_BOOL)0;
25441 			T14_ = !((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
25442 			if (!(T14_)) goto LA15_;
25443 			T14_ = ((*body).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
25444 			LA15_: ;
25445 			if (!T14_) goto LA16_;
25446 			t = semObjectNode__sem_4464(c, body, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*prev).flags);
25447 		}
25448 		goto LA12_;
25449 		LA16_: ;
25450 		{
25451 			t = semTypeNode__sem_80(c, body, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25452 		}
25453 		LA12_: ;
25454 		{
25455 			NIM_BOOL T21_;
25456 			T21_ = (NIM_BOOL)0;
25457 			T21_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
25458 			if (!(T21_)) goto LA22_;
25459 			T21_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
25460 			LA22_: ;
25461 			if (!T21_) goto LA23_;
25462 			t = base__types_63(t);
25463 		}
25464 		LA23_: ;
25465 		{
25466 			NimStringDesc* T29_;
25467 			NimStringDesc* T30_;
25468 			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA27_;
25469 			T29_ = NIM_NIL;
25470 			T29_ = toHumanStr__ast_5188(kind);
25471 			T30_ = NIM_NIL;
25472 			T30_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_527), T29_);
25473 			liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T30_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_528, NIM_FALSE);
25474 		}
25475 		LA27_: ;
25476 		result = newOrPrevType__sem_2916(kind, prev, c);
25477 		isNilable = NIM_FALSE;
25478 		wrapperKind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
25479 		{
25480 			NI i;
25481 			NI colontmp_;
25482 			NI T32_;
25483 			NI i_2;
25484 			i = (NI)0;
25485 			colontmp_ = (NI)0;
25486 			T32_ = (NI)0;
25487 			T32_ = len__ast_3198(n_2);
25488 			colontmp_ = (NI)(T32_ - ((NI) 1));
25489 			i_2 = isCall;
25490 			{
25491 				while (1) {
25492 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ni;
25493 					if (!(i_2 < colontmp_)) goto LA34;
25494 					i = i_2;
25495 					ni = (*n_2)._kind_6.sons->data[i];
25496 					{
25497 						if (!((*ni).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA37_;
25498 						isNilable = NIM_TRUE;
25499 					}
25500 					goto LA35_;
25501 					LA37_: ;
25502 					{
25503 						tyObject_TType__facALICuu8zUj0hjvbTLFg* region;
25504 						region = semTypeNode__sem_80(c, ni, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25505 						{
25506 							if (!((*region).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45) || (*region).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA42_;
25507 							wrapperKind = (*region).kind;
25508 						}
25509 						goto LA40_;
25510 						LA42_: ;
25511 						{
25512 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
25513 							T45_ = NIM_NIL;
25514 							T45_ = skipTypes__ast_3735(region, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25515 							if (!!(((*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) || (*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA46_;
25516 							liMessage__msgs_1118((*(*c).graph).config, (*(*n_2)._kind_6.sons->data[i]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_529), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_530, NIM_FALSE);
25517 							addSonSkipIntLit__magicsys_136(result, region, (*c).Sup.idgen);
25518 						}
25519 						goto LA40_;
25520 						LA46_: ;
25521 						{
25522 							liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_531), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_532, NIM_FALSE);
25523 							addSonSkipIntLit__magicsys_136(result, region, (*c).Sup.idgen);
25524 						}
25525 						LA40_: ;
25526 					}
25527 					LA35_: ;
25528 					i_2 += ((NI) 1);
25529 				} LA34: ;
25530 			}
25531 		}
25532 		addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
25533 		{
25534 			if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0)) goto LA51_;
25535 			{
25536 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T55_;
25537 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T58_;
25538 				T55_ = NIM_NIL;
25539 				T55_ = lastSon__ast_3743(result);
25540 				if (!((*T55_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA56_;
25541 				T58_ = NIM_NIL;
25542 				T58_ = lastSon__ast_3743(result);
25543 				(*T58_).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16)) & 63);
25544 			}
25545 			LA56_: ;
25546 		}
25547 		LA51_: ;
25548 		switch (wrapperKind) {
25549 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
25550 		{
25551 			{
25552 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
25553 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA62_;
25554 				t_2 = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45), c);
25555 				(*t_2).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
25556 				rawAddSonNoPropagationOfTypeFlags__ast_4299(t_2, result);
25557 				result = t_2;
25558 			}
25559 			LA62_: ;
25560 		}
25561 		break;
25562 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
25563 		{
25564 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t_3;
25565 			t_3 = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46), c);
25566 			rawAddSonNoPropagationOfTypeFlags__ast_4299(t_3, result);
25567 			result = t_3;
25568 		}
25569 		break;
25570 		default:
25571 		{
25572 		}
25573 		break;
25574 		}
25575 		{
25576 			NIM_BOOL T68_;
25577 			T68_ = (NIM_BOOL)0;
25578 			T68_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
25579 			if (!(T68_)) goto LA69_;
25580 			T68_ = ((48 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0);
25581 			LA69_: ;
25582 			if (!T68_) goto LA70_;
25583 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
25584 		}
25585 		LA70_: ;
25586 	}
25587 	LA1_: ;
25588 	return result;
25589 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeOf2__sem_5878)25590 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf2__sem_5878)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
25591 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25592 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
25593 	NI64 m;
25594 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
25595 	tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ T12_;
25596 	result = NIM_NIL;
25597 	T1_ = NIM_NIL;
25598 	T1_ = openScope__lookups_69(c);
25599 	m = IL64(1);
25600 	{
25601 		NI T4_;
25602 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* mode;
25603 		T4_ = (NI)0;
25604 		T4_ = len__ast_3198(n);
25605 		if (!(T4_ == ((NI) 3))) goto LA5_;
25606 		mode = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 2)]);
25607 		{
25608 			if (!!(((*mode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA9_;
25609 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_243), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_534, NIM_FALSE);
25610 		}
25611 		goto LA7_;
25612 		LA9_: ;
25613 		{
25614 			m = (*mode)._kind_1.intVal;
25615 		}
25616 		LA7_: ;
25617 	}
25618 	LA5_: ;
25619 	{
25620 		if (!(m == IL64(1))) goto LA15_;
25621 		T12_ = 8;
25622 	}
25623 	goto LA13_;
25624 	LA15_: ;
25625 	{
25626 		T12_ = 0;
25627 	}
25628 	LA13_: ;
25629 	t = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], T12_);
25630 	closeScope__lookups_101(c);
25631 	fixupTypeOf__sem_5584(c, prev, t);
25632 	result = (*t).typ;
25633 	return result;
25634 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,commonType__sem_237)25635 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_237)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y) {
25636 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25637 	tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
25638 	tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
25639 {	result = NIM_NIL;
25640 	{
25641 		if (!(x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
25642 		result = x;
25643 		goto BeforeRet_;
25644 	}
25645 	LA3_: ;
25646 	{
25647 		if (!(y == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
25648 		result = y;
25649 		goto BeforeRet_;
25650 	}
25651 	LA7_: ;
25652 	a = skipTypes__ast_3735(x, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25653 	b = skipTypes__ast_3735(y, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25654 	result = x;
25655 	{
25656 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA11_;
25657 		result = y;
25658 	}
25659 	goto LA9_;
25660 	LA11_: ;
25661 	{
25662 		if (!((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA14_;
25663 		result = x;
25664 	}
25665 	goto LA9_;
25666 	LA14_: ;
25667 	{
25668 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA17_;
25669 		result = a;
25670 	}
25671 	goto LA9_;
25672 	LA17_: ;
25673 	{
25674 		if (!((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA20_;
25675 		result = b;
25676 	}
25677 	goto LA9_;
25678 	LA20_: ;
25679 	{
25680 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA23_;
25681 		{
25682 			NI T27_;
25683 			T27_ = (NI)0;
25684 			T27_ = len__ast_4002(a);
25685 			if (!(T27_ == ((NI) 0))) goto LA28_;
25686 			result = a;
25687 		}
25688 		goto LA25_;
25689 		LA28_: ;
25690 		{
25691 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T31_;
25692 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T32_;
25693 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
25694 			T31_ = nextTypeId__ast_3151((*c).Sup.idgen);
25695 			result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T31_, (*a).owner);
25696 			T32_ = nextTypeId__ast_3151((*c).Sup.idgen);
25697 			T33_ = NIM_NIL;
25698 			T33_ = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), T32_, (*a).owner);
25699 			rawAddSon__ast_4288(result, T33_, NIM_TRUE);
25700 		}
25701 		LA25_: ;
25702 	}
25703 	goto LA9_;
25704 	LA23_: ;
25705 	{
25706 		NIM_BOOL T35_;
25707 		NI idx;
25708 		T35_ = (NIM_BOOL)0;
25709 		T35_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
25710 		if (!(T35_)) goto LA36_;
25711 		T35_ = ((*a).kind == (*b).kind);
25712 		LA36_: ;
25713 		if (!T35_) goto LA37_;
25714 		idx = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
25715 		{
25716 			if (!((*(*a).sons->data[idx]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA41_;
25717 			result = y;
25718 			goto BeforeRet_;
25719 		}
25720 		LA41_: ;
25721 	}
25722 	goto LA9_;
25723 	LA37_: ;
25724 	{
25725 		NIM_BOOL T44_;
25726 		NIM_BOOL T45_;
25727 		NI T48_;
25728 		NI T49_;
25729 		tyObject_TType__facALICuu8zUj0hjvbTLFg* nt;
25730 		T44_ = (NIM_BOOL)0;
25731 		T45_ = (NIM_BOOL)0;
25732 		T45_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
25733 		if (!(T45_)) goto LA46_;
25734 		T45_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
25735 		LA46_: ;
25736 		T44_ = T45_;
25737 		if (!(T44_)) goto LA47_;
25738 		T48_ = (NI)0;
25739 		T48_ = len__ast_4002(a);
25740 		T49_ = (NI)0;
25741 		T49_ = len__ast_4002(b);
25742 		T44_ = (T48_ == T49_);
25743 		LA47_: ;
25744 		if (!T44_) goto LA50_;
25745 		nt = NIM_NIL;
25746 		{
25747 			NI i;
25748 			NI colontmp_;
25749 			NI i_2;
25750 			i = (NI)0;
25751 			colontmp_ = (NI)0;
25752 			colontmp_ = len__ast_4002(a);
25753 			i_2 = ((NI) 0);
25754 			{
25755 				while (1) {
25756 					NIM_BOOL aEmpty;
25757 					NIM_BOOL bEmpty;
25758 					if (!(i_2 < colontmp_)) goto LA54;
25759 					i = i_2;
25760 					aEmpty = isEmptyContainer__types_3626((*a).sons->data[i]);
25761 					bEmpty = isEmptyContainer__types_3626((*b).sons->data[i]);
25762 					{
25763 						if (!!((aEmpty == bEmpty))) goto LA57_;
25764 						{
25765 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T63_;
25766 							if (!(nt == 0)) goto LA61_;
25767 							T63_ = nextTypeId__ast_3151((*c).Sup.idgen);
25768 							nt = copyType__ast_4046(a, T63_, (*a).owner);
25769 							copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), nt, a);
25770 						}
25771 						LA61_: ;
25772 						{
25773 							if (!aEmpty) goto LA66_;
25774 							asgnRef((void**) (&(*nt).sons->data[i]), (*b).sons->data[i]);
25775 						}
25776 						goto LA64_;
25777 						LA66_: ;
25778 						{
25779 							asgnRef((void**) (&(*nt).sons->data[i]), (*a).sons->data[i]);
25780 						}
25781 						LA64_: ;
25782 					}
25783 					LA57_: ;
25784 					i_2 += ((NI) 1);
25785 				} LA54: ;
25786 			}
25787 		}
25788 		{
25789 			if (!!((nt == 0))) goto LA71_;
25790 			result = nt;
25791 		}
25792 		LA71_: ;
25793 	}
25794 	goto LA9_;
25795 	LA50_: ;
25796 	{
25797 		NIM_BOOL T74_;
25798 		T74_ = (NIM_BOOL)0;
25799 		T74_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
25800 		if (!(T74_)) goto LA75_;
25801 		T74_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
25802 		LA75_: ;
25803 		if (!T74_) goto LA76_;
25804 		{
25805 			NIM_BOOL T80_;
25806 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
25807 			T80_ = (NIM_BOOL)0;
25808 			T80_ = sameType__types_1824(a, b, 0);
25809 			if (!!(T80_)) goto LA81_;
25810 			T83_ = NIM_NIL;
25811 			T83_ = skipTypes__ast_3735(a, TM__rF9caJawfOjYTjsgLVUSGFA_31);
25812 			result = skipIntLit__magicsys_124(T83_, (*c).Sup.idgen);
25813 		}
25814 		LA81_: ;
25815 	}
25816 	goto LA9_;
25817 	LA76_: ;
25818 	{
25819 		NIM_BOOL T85_;
25820 		T85_ = (NIM_BOOL)0;
25821 		T85_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
25822 		if (!(T85_)) goto LA86_;
25823 		T85_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
25824 		LA86_: ;
25825 		if (!T85_) goto LA87_;
25826 		{
25827 			NIM_BOOL T91_;
25828 			T91_ = (NIM_BOOL)0;
25829 			T91_ = ((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
25830 			if (!(T91_)) goto LA92_;
25831 			T91_ = !(((*b).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
25832 			LA92_: ;
25833 			if (!T91_) goto LA93_;
25834 			result = x;
25835 		}
25836 		goto LA89_;
25837 		LA93_: ;
25838 		{
25839 			NIM_BOOL T96_;
25840 			tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T97_;
25841 			T96_ = (NIM_BOOL)0;
25842 			T97_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
25843 			T97_ = compatibleEffects__types_3425(a, b);
25844 			T96_ = !((T97_ == ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0)));
25845 			if (T96_) goto LA98_;
25846 			T96_ = (((((*b).flags & 130) & ~ ((*a).flags & 130))==0)&&(((*b).flags & 130) != ((*a).flags & 130)));
25847 			LA98_: ;
25848 			if (!T96_) goto LA99_;
25849 			result = y;
25850 		}
25851 		goto LA89_;
25852 		LA99_: ;
25853 		LA89_: ;
25854 	}
25855 	goto LA9_;
25856 	LA87_: ;
25857 	{
25858 		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
25859 		k = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
25860 		{
25861 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T110_;
25862 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T111_;
25863 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA104_;
25864 			k = (*a).kind;
25865 			{
25866 				if (!!(((*b).kind == (*a).kind))) goto LA108_;
25867 				result = x;
25868 				goto BeforeRet_;
25869 			}
25870 			LA108_: ;
25871 			T110_ = NIM_NIL;
25872 			T110_ = lastSon__ast_3743(a);
25873 			a = skipTypes__ast_3735(T110_, TM__rF9caJawfOjYTjsgLVUSGFA_331);
25874 			T111_ = NIM_NIL;
25875 			T111_ = lastSon__ast_3743(b);
25876 			b = skipTypes__ast_3735(T111_, TM__rF9caJawfOjYTjsgLVUSGFA_331);
25877 		}
25878 		LA104_: ;
25879 		{
25880 			NIM_BOOL T114_;
25881 			T114_ = (NIM_BOOL)0;
25882 			T114_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25883 			if (!(T114_)) goto LA115_;
25884 			T114_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25885 			LA115_: ;
25886 			if (!T114_) goto LA116_;
25887 			result = commonSuperclass__types_2747(a, b);
25888 			{
25889 				NIM_BOOL T120_;
25890 				T120_ = (NIM_BOOL)0;
25891 				T120_ = (result == 0);
25892 				if (T120_) goto LA121_;
25893 				T120_ = (result == a);
25894 				LA121_: ;
25895 				if (!T120_) goto LA122_;
25896 				result = x;
25897 				goto BeforeRet_;
25898 			}
25899 			LA122_: ;
25900 			{
25901 				if (!(result == b)) goto LA126_;
25902 				result = y;
25903 				goto BeforeRet_;
25904 			}
25905 			LA126_: ;
25906 			{
25907 				NIM_BOOL T130_;
25908 				tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
25909 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T134_;
25910 				T130_ = (NIM_BOOL)0;
25911 				T130_ = !((k == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
25912 				if (!(T130_)) goto LA131_;
25913 				T130_ = !(((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)));
25914 				LA131_: ;
25915 				if (!T130_) goto LA132_;
25916 				r = result;
25917 				T134_ = nextTypeId__ast_3151((*c).Sup.idgen);
25918 				result = newType__ast_3896(k, T134_, (*r).owner);
25919 				addSonSkipIntLit__magicsys_136(result, r, (*c).Sup.idgen);
25920 			}
25921 			LA132_: ;
25922 		}
25923 		LA116_: ;
25924 	}
25925 	LA9_: ;
25926 	}BeforeRet_: ;
25927 	return result;
25928 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semWhen__sem_515)25929 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhen__sem_515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL semCheck) {
25930 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
25931 	NIM_BOOL whenNimvm;
25932 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
25933 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
25934 {	result = NIM_NIL;
25935 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
25936 	whenNimvm = NIM_FALSE;
25937 	T1_ = NIM_NIL;
25938 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
25939 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
25940 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
25941 	typ = T1_;
25942 	{
25943 		NIM_BOOL T4_;
25944 		NIM_BOOL T5_;
25945 		NI T6_;
25946 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprNode;
25947 		T4_ = (NIM_BOOL)0;
25948 		T5_ = (NIM_BOOL)0;
25949 		T6_ = (NI)0;
25950 		T6_ = len__ast_3198(n);
25951 		T5_ = (T6_ == ((NI) 2));
25952 		if (!(T5_)) goto LA7_;
25953 		T5_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86));
25954 		LA7_: ;
25955 		T4_ = T5_;
25956 		if (!(T4_)) goto LA8_;
25957 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88));
25958 		LA8_: ;
25959 		if (!T4_) goto LA9_;
25960 		exprNode = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
25961 		{
25962 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T15_;
25963 			if (!((*exprNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA13_;
25964 			T15_ = NIM_NIL;
25965 			T15_ = lookUp__lookups_1211(c, exprNode);
25966 			whenNimvm = ((*T15_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263));
25967 		}
25968 		goto LA11_;
25969 		LA13_: ;
25970 		{
25971 			if (!((*exprNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA17_;
25972 			whenNimvm = ((*(*exprNode)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263));
25973 		}
25974 		goto LA11_;
25975 		LA17_: ;
25976 		LA11_: ;
25977 		{
25978 			if (!whenNimvm) goto LA21_;
25979 			(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 8)) & 31);
25980 		}
25981 		LA21_: ;
25982 	}
25983 	LA9_: ;
25984 	{
25985 		NI i;
25986 		NI colontmp_;
25987 		NI i_2;
25988 		i = (NI)0;
25989 		colontmp_ = (NI)0;
25990 		colontmp_ = len__ast_3198(n);
25991 		i_2 = ((NI) 0);
25992 		{
25993 			while (1) {
25994 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
25995 				if (!(i_2 < colontmp_)) goto LA25;
25996 				i = i_2;
25997 				it = (*n)._kind_6.sons->data[i];
25998 				switch ((*it).kind) {
25999 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
26000 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
26001 				{
26002 					checkSonsLen__semdata_1077(it, ((NI) 2), (*(*c).graph).config);
26003 					{
26004 						if (!whenNimvm) goto LA29_;
26005 						{
26006 							if (!semCheck) goto LA33_;
26007 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 1)], 0));
26008 							typ = commonType__sem_237(c, typ, (*(*it)._kind_6.sons->data[((NI) 1)]).typ);
26009 						}
26010 						LA33_: ;
26011 						result = n;
26012 					}
26013 					goto LA27_;
26014 					LA29_: ;
26015 					{
26016 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
26017 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
26018 						T36_ = NIM_NIL;
26019 						T36_ = semConstExpr__sem_611(c, (*it)._kind_6.sons->data[((NI) 0)]);
26020 						e = forceBool__sem_2869(c, T36_);
26021 						{
26022 							if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA39_;
26023 						}
26024 						goto LA37_;
26025 						LA39_: ;
26026 						{
26027 							NIM_BOOL T42_;
26028 							T42_ = (NIM_BOOL)0;
26029 							T42_ = !(((*e)._kind_1.intVal == IL64(0)));
26030 							if (!(T42_)) goto LA43_;
26031 							T42_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26032 							LA43_: ;
26033 							if (!T42_) goto LA44_;
26034 							{
26035 								if (!semCheck) goto LA48_;
26036 								result = semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
26037 							}
26038 							goto LA46_;
26039 							LA48_: ;
26040 							{
26041 								result = (*it)._kind_6.sons->data[((NI) 1)];
26042 							}
26043 							LA46_: ;
26044 							goto BeforeRet_;
26045 						}
26046 						goto LA37_;
26047 						LA44_: ;
26048 						LA37_: ;
26049 					}
26050 					LA27_: ;
26051 				}
26052 				break;
26053 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
26054 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
26055 				{
26056 					checkSonsLen__semdata_1077(it, ((NI) 1), (*(*c).graph).config);
26057 					{
26058 						NIM_BOOL T54_;
26059 						T54_ = (NIM_BOOL)0;
26060 						T54_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26061 						if (T54_) goto LA55_;
26062 						T54_ = whenNimvm;
26063 						LA55_: ;
26064 						if (!T54_) goto LA56_;
26065 						{
26066 							if (!semCheck) goto LA60_;
26067 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 0)], 0));
26068 							typ = commonType__sem_237(c, typ, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
26069 						}
26070 						LA60_: ;
26071 						{
26072 							if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA64_;
26073 							result = (*it)._kind_6.sons->data[((NI) 0)];
26074 						}
26075 						LA64_: ;
26076 					}
26077 					LA56_: ;
26078 				}
26079 				break;
26080 				default:
26081 				{
26082 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
26083 				}
26084 				break;
26085 				}
26086 				i_2 += ((NI) 1);
26087 			} LA25: ;
26088 		}
26089 	}
26090 	{
26091 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA69_;
26092 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
26093 	}
26094 	LA69_: ;
26095 	{
26096 		if (!whenNimvm) goto LA73_;
26097 		asgnRef((void**) (&(*result).typ), typ);
26098 	}
26099 	LA73_: ;
26100 	}BeforeRet_: ;
26101 	return result;
26102 }
N_NIMCALL(void,reset__sem_3561)26103 N_LIB_PRIVATE N_NIMCALL(void, reset__sem_3561)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj) {
26104 	unsureAsgnRef((void**)&(*obj).typ, NIM_NIL);
26105 	(*obj).info.line = 0;
26106 	(*obj).info.col = 0;
26107 	(*obj).info.fileIndex = 0;
26108 	switch ((*obj).kind) {
26109 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
26110 	(*obj)._kind_1.intVal = 0;
26111 	break;
26112 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
26113 	(*obj)._kind_2.floatVal = 0;
26114 	break;
26115 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
26116 	unsureAsgnRef((void**)&(*obj)._kind_3.strVal, NIM_NIL);
26117 	break;
26118 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
26119 	unsureAsgnRef((void**)&(*obj)._kind_4.sym, NIM_NIL);
26120 	break;
26121 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
26122 	unsureAsgnRef((void**)&(*obj)._kind_5.ident, NIM_NIL);
26123 	break;
26124 	default:
26125 	unsureAsgnRef((void**)&(*obj)._kind_6.sons, NIM_NIL);
26126 	break;
26127 	}
26128 	(*obj).kind = 0;
26129 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semTypeIdent__sem_3474)26130 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semTypeIdent__sem_3474)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26131 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
26132 {	result = NIM_NIL;
26133 	{
26134 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
26135 		result = getGenSym__semdata_408(c, (*n)._kind_4.sym);
26136 	}
26137 	goto LA1_;
26138 	LA3_: ;
26139 	{
26140 		result = pickSym__lookups_1646(c, n, 152, 0);
26141 		{
26142 			if (!(result == 0)) goto LA8_;
26143 			result = qualifiedLookUp__lookups_1233(c, n, 3);
26144 		}
26145 		LA8_: ;
26146 		{
26147 			if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA12_;
26148 			markUsed__sigmatch_85(c, (*n).info, result);
26149 			{
26150 				NIM_BOOL T16_;
26151 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T32_;
26152 				T16_ = (NIM_BOOL)0;
26153 				T16_ = ((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
26154 				if (!(T16_)) goto LA17_;
26155 				T16_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
26156 				LA17_: ;
26157 				if (!T16_) goto LA18_;
26158 				{
26159 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* bound;
26160 					if (!(((NI) 0) < (*c).inGenericInst)) goto LA22_;
26161 					bound = (*(*(*result).typ).sons->data[((NI) 0)]).sym;
26162 					{
26163 						if (!!((bound == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA26_;
26164 						result = bound;
26165 						goto BeforeRet_;
26166 					}
26167 					LA26_: ;
26168 					goto BeforeRet_;
26169 				}
26170 				LA22_: ;
26171 				{
26172 					if (!((*(*result).typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA30_;
26173 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_536, NIM_FALSE);
26174 					result = errorSym__lookups_506(c, n);
26175 					goto BeforeRet_;
26176 				}
26177 				LA30_: ;
26178 				T32_ = nextSymId__ast_3132((*c).Sup.idgen);
26179 				result = copySym__ast_4054((*(*result).typ).sym, T32_);
26180 				asgnRef((void**) (&(*result).typ), exactReplica__ast_4051((*result).typ));
26181 				(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
26182 			}
26183 			LA18_: ;
26184 			{
26185 				if (!((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4))) goto LA35_;
26186 				{
26187 					NIM_BOOL T39_;
26188 					NIM_BOOL T40_;
26189 					NI T42_;
26190 					T39_ = (NIM_BOOL)0;
26191 					T40_ = (NIM_BOOL)0;
26192 					T40_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
26193 					if (!(T40_)) goto LA41_;
26194 					T42_ = (NI)0;
26195 					T42_ = len__ast_4002((*result).typ);
26196 					T40_ = (T42_ == ((NI) 0));
26197 					LA41_: ;
26198 					T39_ = T40_;
26199 					if (!(T39_)) goto LA43_;
26200 					T39_ = (((*(*result).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
26201 					LA43_: ;
26202 					if (!T39_) goto LA44_;
26203 					transitionGenericParamToType__ast_4390(result);
26204 					(*(*result).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
26205 					goto BeforeRet_;
26206 				}
26207 				goto LA37_;
26208 				LA44_: ;
26209 				{
26210 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_537, NIM_FALSE);
26211 					result = errorSym__lookups_506(c, n);
26212 					goto BeforeRet_;
26213 				}
26214 				LA37_: ;
26215 			}
26216 			LA35_: ;
26217 			{
26218 				NIM_BOOL T49_;
26219 				tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ ov;
26220 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* amb;
26221 				T49_ = (NIM_BOOL)0;
26222 				T49_ = !(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)));
26223 				if (!(T49_)) goto LA50_;
26224 				T49_ = !(((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18)));
26225 				LA50_: ;
26226 				if (!T49_) goto LA51_;
26227 				nimZeroMem((void*)(&ov), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
26228 				amb = initOverloadIter__lookups_1374((&ov), c, n);
26229 				{
26230 					while (1) {
26231 						NIM_BOOL T55_;
26232 						T55_ = (NIM_BOOL)0;
26233 						T55_ = !((amb == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
26234 						if (!(T55_)) goto LA56_;
26235 						T55_ = !(((*amb).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)));
26236 						LA56_: ;
26237 						if (!T55_) goto LA54;
26238 						amb = nextOverloadIter__lookups_1528((&ov), c, n);
26239 					} LA54: ;
26240 				}
26241 				{
26242 					if (!!((amb == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA59_;
26243 					result = amb;
26244 				}
26245 				goto LA57_;
26246 				LA59_: ;
26247 				{
26248 					{
26249 						if (!!(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA64_;
26250 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_538, NIM_FALSE);
26251 					}
26252 					LA64_: ;
26253 					result = errorSym__lookups_506(c, n);
26254 					goto BeforeRet_;
26255 				}
26256 				LA57_: ;
26257 			}
26258 			LA51_: ;
26259 			{
26260 				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q oldInfo;
26261 				if (!!(((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA68_;
26262 				oldInfo = (*n).info;
26263 				reset__sem_3561(n);
26264 				transitionNoneToSym__ast_4385(n);
26265 				asgnRef((void**) (&(*n)._kind_4.sym), result);
26266 				(*n).info = oldInfo;
26267 				asgnRef((void**) (&(*n).typ), (*result).typ);
26268 			}
26269 			LA68_: ;
26270 		}
26271 		goto LA10_;
26272 		LA12_: ;
26273 		{
26274 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_539), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_540, NIM_FALSE);
26275 			result = errorSym__lookups_506(c, n);
26276 		}
26277 		LA10_: ;
26278 	}
26279 	LA1_: ;
26280 	}BeforeRet_: ;
26281 	return result;
26282 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symFromExpectedTypeNode__sem_5854)26283 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromExpectedTypeNode__sem_5854)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26284 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
26285 	result = NIM_NIL;
26286 	{
26287 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4))) goto LA3_;
26288 		result = symFromType__sem_530(c, (*n).typ, (*n).info);
26289 	}
26290 	goto LA1_;
26291 	LA3_: ;
26292 	{
26293 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_541, NIM_FALSE);
26294 		result = errorSym__lookups_506(c, n);
26295 	}
26296 	LA1_: ;
26297 	return result;
26298 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semArrayIndex__sem_3367)26299 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArrayIndex__sem_3367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26300 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26301 {	result = NIM_NIL;
26302 	{
26303 		NIM_BOOL T3_;
26304 		T3_ = (NIM_BOOL)0;
26305 		T3_ = isRange__trees_213(n);
26306 		if (!T3_) goto LA4_;
26307 		result = semRangeAux__sem_3219(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26308 	}
26309 	goto LA1_;
26310 	LA4_: ;
26311 	{
26312 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
26313 		e = semExprWithType__sem_56(c, n, 512);
26314 		{
26315 			if (!((*(*e).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA9_;
26316 			result = makeRangeWithStaticExpr__semdata_979(c, (*(*e).typ).n);
26317 		}
26318 		goto LA7_;
26319 		LA9_: ;
26320 		{
26321 			if (!((*e).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) && (*e).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA12_;
26322 			{
26323 				NimStringDesc* T18_;
26324 				NimStringDesc* T19_;
26325 				if (!((*e)._kind_1.intVal < IL64(0))) goto LA16_;
26326 				T18_ = NIM_NIL;
26327 				T19_ = NIM_NIL;
26328 				T19_ = dollar___systemZdollars_6((*e)._kind_1.intVal);
26329 				T18_ = rawNewString((T19_ ? T19_->Sup.len : 0) + 40);
26330 appendString(T18_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_542));
26331 appendString(T18_, T19_);
26332 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_543, NIM_FALSE);
26333 			}
26334 			LA16_: ;
26335 			result = makeRangeType__semdata_1039(c, IL64(0), (NI64)((*e)._kind_1.intVal - IL64(1)), (*n).info, (*e).typ);
26336 		}
26337 		goto LA7_;
26338 		LA12_: ;
26339 		{
26340 			NIM_BOOL T21_;
26341 			T21_ = (NIM_BOOL)0;
26342 			T21_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
26343 			if (!(T21_)) goto LA22_;
26344 			T21_ = ((*(*e).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
26345 			LA22_: ;
26346 			if (!T21_) goto LA23_;
26347 			{
26348 				if (!!(((*(*e)._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA27_;
26349 				result = semArrayIndex__sem_3367(c, (*(*e)._kind_4.sym).ast);
26350 				goto BeforeRet_;
26351 			}
26352 			LA27_: ;
26353 			{
26354 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
26355 				NIM_BOOL T32_;
26356 				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
26357 				T31_ = NIM_NIL;
26358 				T31_ = lastSon__ast_3743((*e).typ);
26359 				T32_ = (NIM_BOOL)0;
26360 				T32_ = isOrdinalType__types_299(T31_, NIM_FALSE);
26361 				if (!!(T32_)) goto LA33_;
26362 				{
26363 					NI T37_;
26364 					T37_ = (NI)0;
26365 					T37_ = safeLen__ast_3191(n);
26366 					if (!(((NI) 1) < T37_)) goto LA38_;
26367 					info = (*(*n)._kind_6.sons->data[((NI) 1)]).info;
26368 				}
26369 				goto LA35_;
26370 				LA38_: ;
26371 				{
26372 					info = (*n).info;
26373 				}
26374 				LA35_: ;
26375 				liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_544, NIM_FALSE);
26376 			}
26377 			LA33_: ;
26378 			result = makeRangeWithStaticExpr__semdata_979(c, e);
26379 			{
26380 				if (!(((NI) 0) < (*c).inGenericContext)) goto LA43_;
26381 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
26382 			}
26383 			LA43_: ;
26384 		}
26385 		goto LA7_;
26386 		LA23_: ;
26387 		{
26388 			NIM_BOOL T46_;
26389 			T46_ = (NIM_BOOL)0;
26390 			T46_ = ((*e).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*e).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
26391 			if (!(T46_)) goto LA47_;
26392 			T46_ = hasUnresolvedArgs__sem_142(c, e);
26393 			LA47_: ;
26394 			if (!T46_) goto LA48_;
26395 			{
26396 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T52_;
26397 				NIM_BOOL T53_;
26398 				T52_ = NIM_NIL;
26399 				T52_ = skipTypes__ast_3735((*e).typ, TM__rF9caJawfOjYTjsgLVUSGFA_545);
26400 				T53_ = (NIM_BOOL)0;
26401 				T53_ = isOrdinalType__types_299(T52_, NIM_FALSE);
26402 				if (!!(T53_)) goto LA54_;
26403 				liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_546, NIM_FALSE);
26404 			}
26405 			LA54_: ;
26406 			result = makeRangeWithStaticExpr__semdata_979(c, e);
26407 		}
26408 		goto LA7_;
26409 		LA48_: ;
26410 		{
26411 			if (!((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA57_;
26412 			result = skipTypes__ast_3735((*e).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26413 		}
26414 		goto LA7_;
26415 		LA57_: ;
26416 		{
26417 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
26418 			x = semConstExpr__sem_611(c, e);
26419 			{
26420 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T64_;
26421 				if (!((*x).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) && (*x).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA62_;
26422 				T64_ = NIM_NIL;
26423 				T64_ = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26424 				result = makeRangeType__semdata_1039(c, IL64(0), (NI64)((*x)._kind_1.intVal - IL64(1)), (*n).info, T64_);
26425 			}
26426 			goto LA60_;
26427 			LA62_: ;
26428 			{
26429 				result = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26430 			}
26431 			LA60_: ;
26432 		}
26433 		LA7_: ;
26434 	}
26435 	LA1_: ;
26436 	}BeforeRet_: ;
26437 	return result;
26438 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semArray__sem_3419)26439 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArray__sem_3419)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26440 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26441 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26442 	result = NIM_NIL;
26443 	base = NIM_NIL;
26444 	{
26445 		NI T3_;
26446 		tyObject_TType__facALICuu8zUj0hjvbTLFg* indx;
26447 		tyObject_TType__facALICuu8zUj0hjvbTLFg* indxB;
26448 		T3_ = (NI)0;
26449 		T3_ = len__ast_3198(n);
26450 		if (!(T3_ == ((NI) 3))) goto LA4_;
26451 		indx = semArrayIndex__sem_3367(c, (*n)._kind_6.sons->data[((NI) 1)]);
26452 		indxB = indx;
26453 		{
26454 			if (!((*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA8_;
26455 			indxB = lastSon__ast_3743(indxB);
26456 		}
26457 		LA8_: ;
26458 		{
26459 			if (!!(((*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61)))) goto LA12_;
26460 			{
26461 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
26462 				T16_ = NIM_NIL;
26463 				T16_ = skipTypes__ast_3735(indxB, TM__rF9caJawfOjYTjsgLVUSGFA_31);
26464 				if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA17_;
26465 			}
26466 			goto LA14_;
26467 			LA17_: ;
26468 			{
26469 				NIM_BOOL T20_;
26470 				T20_ = (NIM_BOOL)0;
26471 				T20_ = isOrdinalType__types_299(indxB, NIM_FALSE);
26472 				if (!!(T20_)) goto LA21_;
26473 				liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_547, NIM_FALSE);
26474 			}
26475 			goto LA14_;
26476 			LA21_: ;
26477 			{
26478 				NIM_BOOL T24_;
26479 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
26480 				NimStringDesc* T28_;
26481 				NimStringDesc* T29_;
26482 				T24_ = (NIM_BOOL)0;
26483 				T24_ = enumHasHoles__types_287(indxB);
26484 				if (!T24_) goto LA25_;
26485 				T27_ = NIM_NIL;
26486 				T27_ = skipTypes__ast_3735(indxB, TM__rF9caJawfOjYTjsgLVUSGFA_31);
26487 				T28_ = NIM_NIL;
26488 				T28_ = typeToString__types_50(T27_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26489 				T29_ = NIM_NIL;
26490 				T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_34), T28_);
26491 				liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_548, NIM_FALSE);
26492 			}
26493 			goto LA14_;
26494 			LA25_: ;
26495 			LA14_: ;
26496 		}
26497 		LA12_: ;
26498 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26499 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), prev, c);
26500 		rawAddSonNoPropagationOfTypeFlags__ast_4299(result, indx);
26501 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26502 	}
26503 	goto LA1_;
26504 	LA4_: ;
26505 	{
26506 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_549), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_550, NIM_FALSE);
26507 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26508 	}
26509 	LA1_: ;
26510 	return result;
26511 }
N_NIMCALL(void,semContainerArg__sem_3146)26512 N_LIB_PRIVATE N_NIMCALL(void, semContainerArg__sem_3146)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* kindStr, tyObject_TType__facALICuu8zUj0hjvbTLFg* result) {
26513 	{
26514 		NI T3_;
26515 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26516 		T3_ = (NI)0;
26517 		T3_ = len__ast_3198(n);
26518 		if (!(T3_ == ((NI) 2))) goto LA4_;
26519 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26520 		{
26521 			NimStringDesc* T10_;
26522 			NimStringDesc* T11_;
26523 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA8_;
26524 			T10_ = NIM_NIL;
26525 			T10_ = typeToString__types_50(base, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26526 			T11_ = NIM_NIL;
26527 			T11_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_551), T10_);
26528 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_552, NIM_FALSE);
26529 		}
26530 		LA8_: ;
26531 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26532 	}
26533 	goto LA1_;
26534 	LA4_: ;
26535 	{
26536 		NimStringDesc* T13_;
26537 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
26538 		T13_ = NIM_NIL;
26539 		T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), kindStr);
26540 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_554, NIM_FALSE);
26541 		T14_ = NIM_NIL;
26542 		T14_ = errorType__semdata_1002(c);
26543 		addSonSkipIntLit__magicsys_136(result, T14_, (*c).Sup.idgen);
26544 	}
26545 	LA1_: ;
26546 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semContainer__sem_3160)26547 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semContainer__sem_3160)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NimStringDesc* kindStr, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26548 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26549 	result = NIM_NIL;
26550 	result = newOrPrevType__sem_2916(kind, prev, c);
26551 	semContainerArg__sem_3146(c, n, kindStr, result);
26552 	return result;
26553 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semRange__sem_3307)26554 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRange__sem_3307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26555 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26556 	result = NIM_NIL;
26557 	result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
26558 	{
26559 		NI T3_;
26560 		T3_ = (NI)0;
26561 		T3_ = len__ast_3198(n);
26562 		if (!(T3_ == ((NI) 2))) goto LA4_;
26563 		{
26564 			NIM_BOOL T8_;
26565 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
26566 			T8_ = (NIM_BOOL)0;
26567 			T8_ = isRange__trees_213((*n)._kind_6.sons->data[((NI) 1)]);
26568 			if (!T8_) goto LA9_;
26569 			result = semRangeAux__sem_3219(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
26570 			n_2 = (*result).n;
26571 			{
26572 				NIM_BOOL T13_;
26573 				T13_ = (NIM_BOOL)0;
26574 				T13_ = ((*(*n_2)._kind_6.sons->data[((NI) 0)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*n_2)._kind_6.sons->data[((NI) 0)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
26575 				if (!(T13_)) goto LA14_;
26576 				T13_ = (IL64(0) < (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_1.intVal);
26577 				LA14_: ;
26578 				if (!T13_) goto LA15_;
26579 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26580 			}
26581 			goto LA11_;
26582 			LA15_: ;
26583 			{
26584 				NIM_BOOL T18_;
26585 				T18_ = (NIM_BOOL)0;
26586 				T18_ = ((*(*n_2)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*n_2)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
26587 				if (!(T18_)) goto LA19_;
26588 				T18_ = ((*(*n_2)._kind_6.sons->data[((NI) 1)])._kind_1.intVal < IL64(0));
26589 				LA19_: ;
26590 				if (!T18_) goto LA20_;
26591 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26592 			}
26593 			goto LA11_;
26594 			LA20_: ;
26595 			{
26596 				NIM_BOOL T23_;
26597 				T23_ = (NIM_BOOL)0;
26598 				T23_ = ((*(*n_2)._kind_6.sons->data[((NI) 0)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*(*n_2)._kind_6.sons->data[((NI) 0)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
26599 				if (!(T23_)) goto LA24_;
26600 				T23_ = (0.0 < (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_2.floatVal);
26601 				LA24_: ;
26602 				if (!T23_) goto LA25_;
26603 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26604 			}
26605 			goto LA11_;
26606 			LA25_: ;
26607 			{
26608 				NIM_BOOL T28_;
26609 				T28_ = (NIM_BOOL)0;
26610 				T28_ = ((*(*n_2)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*(*n_2)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
26611 				if (!(T28_)) goto LA29_;
26612 				T28_ = ((*(*n_2)._kind_6.sons->data[((NI) 1)])._kind_2.floatVal < 0.0);
26613 				LA29_: ;
26614 				if (!T28_) goto LA30_;
26615 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26616 			}
26617 			goto LA11_;
26618 			LA30_: ;
26619 			LA11_: ;
26620 		}
26621 		goto LA6_;
26622 		LA9_: ;
26623 		{
26624 			{
26625 				NIM_BOOL T35_;
26626 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T37_;
26627 				T35_ = (NIM_BOOL)0;
26628 				T35_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
26629 				if (!(T35_)) goto LA36_;
26630 				T37_ = NIM_NIL;
26631 				T37_ = considerQuotedIdent__lookups_28(c, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26632 				T35_ = eqStrings((*T37_).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_557));
26633 				LA36_: ;
26634 				if (!T35_) goto LA38_;
26635 				liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_558), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_559, NIM_FALSE);
26636 			}
26637 			goto LA33_;
26638 			LA38_: ;
26639 			{
26640 				liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_560), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_561, NIM_FALSE);
26641 			}
26642 			LA33_: ;
26643 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26644 		}
26645 		LA6_: ;
26646 	}
26647 	goto LA1_;
26648 	LA4_: ;
26649 	{
26650 		NimStringDesc* T42_;
26651 		T42_ = NIM_NIL;
26652 		T42_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_562));
26653 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T42_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_563, NIM_FALSE);
26654 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26655 	}
26656 	LA1_: ;
26657 	return result;
26658 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semSet__sem_3120)26659 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semSet__sem_3120)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26660 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26661 	result = NIM_NIL;
26662 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), prev, c);
26663 	{
26664 		NIM_BOOL T3_;
26665 		NI T4_;
26666 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26667 		T3_ = (NIM_BOOL)0;
26668 		T4_ = (NI)0;
26669 		T4_ = len__ast_3198(n);
26670 		T3_ = (T4_ == ((NI) 2));
26671 		if (!(T3_)) goto LA5_;
26672 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
26673 		LA5_: ;
26674 		if (!T3_) goto LA6_;
26675 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26676 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26677 		{
26678 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA10_;
26679 			base = lastSon__ast_3743(base);
26680 		}
26681 		LA10_: ;
26682 		{
26683 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9)))) goto LA14_;
26684 			{
26685 				NIM_BOOL T18_;
26686 				T18_ = (NIM_BOOL)0;
26687 				T18_ = isOrdinalType__types_299(base, NIM_TRUE);
26688 				if (!!(T18_)) goto LA19_;
26689 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_564, NIM_FALSE);
26690 			}
26691 			goto LA16_;
26692 			LA19_: ;
26693 			{
26694 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
26695 				NIM_BOOL T23_;
26696 				T22_ = lengthOrd__types_1661((*(*c).graph).config, base);
26697 				T23_ = (NIM_BOOL)0;
26698 				T23_ = lt___int495056_738(IL64(65536), T22_);
26699 				if (!T23_) goto LA24_;
26700 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_565), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_566, NIM_FALSE);
26701 			}
26702 			goto LA16_;
26703 			LA24_: ;
26704 			LA16_: ;
26705 		}
26706 		LA14_: ;
26707 	}
26708 	goto LA1_;
26709 	LA6_: ;
26710 	{
26711 		NimStringDesc* T27_;
26712 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
26713 		T27_ = NIM_NIL;
26714 		T27_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_567));
26715 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T27_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_568, NIM_FALSE);
26716 		T28_ = NIM_NIL;
26717 		T28_ = errorType__semdata_1002(c);
26718 		addSonSkipIntLit__magicsys_136(result, T28_, (*c).Sup.idgen);
26719 	}
26720 	LA1_: ;
26721 	return result;
26722 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semOrdinal__sem_3459)26723 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semOrdinal__sem_3459)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26724 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26725 	result = NIM_NIL;
26726 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15), prev, c);
26727 	{
26728 		NI T3_;
26729 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26730 		T3_ = (NI)0;
26731 		T3_ = len__ast_3198(n);
26732 		if (!(T3_ == ((NI) 2))) goto LA4_;
26733 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26734 		{
26735 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA8_;
26736 			{
26737 				NIM_BOOL T12_;
26738 				T12_ = (NIM_BOOL)0;
26739 				T12_ = isOrdinalType__types_299(base, NIM_FALSE);
26740 				if (!!(T12_)) goto LA13_;
26741 				liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_569, NIM_FALSE);
26742 			}
26743 			LA13_: ;
26744 		}
26745 		LA8_: ;
26746 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26747 	}
26748 	goto LA1_;
26749 	LA4_: ;
26750 	{
26751 		NimStringDesc* T16_;
26752 		T16_ = NIM_NIL;
26753 		T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_570));
26754 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_571, NIM_FALSE);
26755 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26756 	}
26757 	LA1_: ;
26758 	return result;
26759 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semIterableType__sem_3449)26760 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semIterableType__sem_3449)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26761 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26762 	result = NIM_NIL;
26763 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), prev, c);
26764 	{
26765 		NI T3_;
26766 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26767 		T3_ = (NI)0;
26768 		T3_ = len__ast_3198(n);
26769 		if (!(T3_ == ((NI) 2))) goto LA4_;
26770 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26771 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26772 	}
26773 	goto LA1_;
26774 	LA4_: ;
26775 	{
26776 		NimStringDesc* T7_;
26777 		T7_ = NIM_NIL;
26778 		T7_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_572));
26779 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T7_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_573, NIM_FALSE);
26780 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26781 	}
26782 	LA1_: ;
26783 	return result;
26784 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semVarargs__sem_3167)26785 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semVarargs__sem_3167)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26786 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26787 	result = NIM_NIL;
26788 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48), prev, c);
26789 	{
26790 		NIM_BOOL T3_;
26791 		NI T4_;
26792 		NI T6_;
26793 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26794 		T3_ = (NIM_BOOL)0;
26795 		T4_ = (NI)0;
26796 		T4_ = len__ast_3198(n);
26797 		T3_ = (T4_ == ((NI) 2));
26798 		if (T3_) goto LA5_;
26799 		T6_ = (NI)0;
26800 		T6_ = len__ast_3198(n);
26801 		T3_ = (T6_ == ((NI) 3));
26802 		LA5_: ;
26803 		if (!T3_) goto LA7_;
26804 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26805 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26806 		{
26807 			NI T11_;
26808 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T14_;
26809 			T11_ = (NI)0;
26810 			T11_ = len__ast_3198(n);
26811 			if (!(T11_ == ((NI) 3))) goto LA12_;
26812 			T14_ = NIM_NIL;
26813 			T14_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26814 			asgnRef((void**) (&(*result).n), newIdentNode__ast_3712(T14_, (*(*n)._kind_6.sons->data[((NI) 2)]).info));
26815 		}
26816 		LA12_: ;
26817 	}
26818 	goto LA1_;
26819 	LA7_: ;
26820 	{
26821 		NimStringDesc* T16_;
26822 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
26823 		T16_ = NIM_NIL;
26824 		T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_575));
26825 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_576, NIM_FALSE);
26826 		T17_ = NIM_NIL;
26827 		T17_ = errorType__semdata_1002(c);
26828 		addSonSkipIntLit__magicsys_136(result, T17_, (*c).Sup.idgen);
26829 	}
26830 	LA1_: ;
26831 	return result;
26832 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTuple__sem_3578)26833 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTuple__sem_3578)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26834 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26835 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
26836 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
26837 	NI counter;
26838 	result = NIM_NIL;
26839 	typ = NIM_NIL;
26840 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), prev, c);
26841 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
26842 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
26843 	initIntSet__pureZcollectionsZintsets_238((&check));
26844 	counter = ((NI) 0);
26845 	{
26846 		NI i;
26847 		NI colontmp_;
26848 		NI colontmp__2;
26849 		NI i_2;
26850 		i = (NI)0;
26851 		colontmp_ = (NI)0;
26852 		colontmp__2 = (NI)0;
26853 		colontmp_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
26854 		colontmp__2 = len__ast_3198(n);
26855 		i_2 = colontmp_;
26856 		{
26857 			while (1) {
26858 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
26859 				if (!(i_2 < colontmp__2)) goto LA3;
26860 				i = i_2;
26861 				a = (*n)._kind_6.sons->data[i];
26862 				{
26863 					if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA6_;
26864 					illFormedAst__semdata_1071(a, (*(*c).graph).config);
26865 				}
26866 				LA6_: ;
26867 				checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
26868 				{
26869 					NI T10_;
26870 					NI T13_;
26871 					T10_ = (NI)0;
26872 					T10_ = len__ast_3198(a);
26873 					if (!!(((*(*a)._kind_6.sons->data[(NI)(T10_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA11_;
26874 					T13_ = (NI)0;
26875 					T13_ = len__ast_3198(a);
26876 					typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T13_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26877 				}
26878 				goto LA8_;
26879 				LA11_: ;
26880 				{
26881 					liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_579, NIM_FALSE);
26882 					typ = errorType__semdata_1002(c);
26883 				}
26884 				LA8_: ;
26885 				{
26886 					NI T17_;
26887 					NI T20_;
26888 					T17_ = (NI)0;
26889 					T17_ = len__ast_3198(a);
26890 					if (!!(((*(*a)._kind_6.sons->data[(NI)(T17_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA18_;
26891 					T20_ = (NI)0;
26892 					T20_ = len__ast_3198(a);
26893 					liMessage__msgs_1118((*(*c).graph).config, (*(*a)._kind_6.sons->data[(NI)(T20_ - ((NI) 1))]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_493), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_580, NIM_FALSE);
26894 				}
26895 				LA18_: ;
26896 				{
26897 					NI j;
26898 					NI colontmp__3;
26899 					NI T22_;
26900 					NI i_3;
26901 					j = (NI)0;
26902 					colontmp__3 = (NI)0;
26903 					T22_ = (NI)0;
26904 					T22_ = len__ast_3198(a);
26905 					colontmp__3 = (NI)(T22_ - ((NI) 2));
26906 					i_3 = ((NI) 0);
26907 					{
26908 						while (1) {
26909 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
26910 							if (!(i_3 < colontmp__3)) goto LA24;
26911 							j = i_3;
26912 							field = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*a)._kind_6.sons->data[j], c);
26913 							asgnRef((void**) (&(*field).typ), typ);
26914 							(*field).position = counter;
26915 							counter += ((NI) 1);
26916 							{
26917 								NIM_BOOL T27_;
26918 								NimStringDesc* T30_;
26919 								T27_ = (NIM_BOOL)0;
26920 								T27_ = containsOrIncl__astalgo_402((&check), (*(*field).name).id);
26921 								if (!T27_) goto LA28_;
26922 								T30_ = NIM_NIL;
26923 								T30_ = rawNewString(((*(*field).name).s ? (*(*field).name).s->Sup.len : 0) + 23);
26924 appendString(T30_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
26925 appendString(T30_, (*(*field).name).s);
26926 appendString(T30_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
26927 								liMessage__msgs_1118((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T30_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_581, NIM_FALSE);
26928 							}
26929 							goto LA25_;
26930 							LA28_: ;
26931 							{
26932 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
26933 								T32_ = NIM_NIL;
26934 								T32_ = newSymNode__ast_3716(field);
26935 								add__ast_4797((*result).n, T32_);
26936 								addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
26937 							}
26938 							LA25_: ;
26939 							{
26940 								NIM_BOOL T35_;
26941 								T35_ = (NIM_BOOL)0;
26942 								T35_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
26943 								if (!(T35_)) goto LA36_;
26944 								T35_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
26945 								LA36_: ;
26946 								if (!T35_) goto LA37_;
26947 								nep1CheckDefImpl__linter_110((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, field, (*field).kind);
26948 							}
26949 							LA37_: ;
26950 							i_3 += ((NI) 1);
26951 						} LA24: ;
26952 					}
26953 				}
26954 				i_2 += ((NI) 1);
26955 			} LA3: ;
26956 		}
26957 	}
26958 	{
26959 		NI T41_;
26960 		T41_ = (NI)0;
26961 		T41_ = len__ast_3198((*result).n);
26962 		if (!(T41_ == ((NI) 0))) goto LA42_;
26963 		asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26964 	}
26965 	LA42_: ;
26966 	{
26967 		NIM_BOOL T46_;
26968 		NimStringDesc* T49_;
26969 		NimStringDesc* T50_;
26970 		T46_ = (NIM_BOOL)0;
26971 		T46_ = isTupleRecursive__types_3996(result);
26972 		if (!T46_) goto LA47_;
26973 		T49_ = NIM_NIL;
26974 		T49_ = typeToString__types_50(result, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26975 		T50_ = NIM_NIL;
26976 		T50_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), T49_);
26977 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_582, NIM_FALSE);
26978 	}
26979 	LA47_: ;
26980 	return result;
26981 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semGenericParamInInvocation__sem_5423)26982 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericParamInInvocation__sem_5423)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26983 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26984 	result = NIM_NIL;
26985 	result = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26986 	asgnRef((void**) (&(*n).typ), makeTypeDesc__concepts_49(c, result));
26987 	return result;
26988 }
N_NIMCALL(void,semObjectTypeForInheritedGenericInst__sem_5427)26989 N_LIB_PRIVATE N_NIMCALL(void, semObjectTypeForInheritedGenericInst__sem_5427)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
26990 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
26991 	NI pos;
26992 	tyObject_TType__facALICuu8zUj0hjvbTLFg* realBase;
26993 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26994 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newf;
26995 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
26996 	initIntSet__pureZcollectionsZintsets_238((&check));
26997 	pos = ((NI) 0);
26998 	realBase = (*t).sons->data[((NI) 0)];
26999 	base = skipTypesOrNil__ast_4185(realBase, TM__rF9caJawfOjYTjsgLVUSGFA_53);
27000 	{
27001 		NimStringDesc* T5_;
27002 		if (!(base == 0)) goto LA3_;
27003 		T5_ = NIM_NIL;
27004 		T5_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_594));
27005 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_595, NIM_FALSE);
27006 	}
27007 	goto LA1_;
27008 	LA3_: ;
27009 	{
27010 		tyObject_TType__facALICuu8zUj0hjvbTLFg* concreteBase;
27011 		concreteBase = skipGenericInvocation__sem_4428(base);
27012 		{
27013 			NIM_BOOL T9_;
27014 			T9_ = (NIM_BOOL)0;
27015 			T9_ = ((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
27016 			if (!(T9_)) goto LA10_;
27017 			T9_ = !((((*concreteBase).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
27018 			LA10_: ;
27019 			if (!T9_) goto LA11_;
27020 			addInheritedFields__sem_4443(c, (&check), (&pos), concreteBase);
27021 		}
27022 		goto LA7_;
27023 		LA11_: ;
27024 		{
27025 			{
27026 				if (!!(((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)))) goto LA16_;
27027 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_596), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_597, NIM_FALSE);
27028 			}
27029 			LA16_: ;
27030 		}
27031 		LA7_: ;
27032 	}
27033 	LA1_: ;
27034 	newf = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
27035 	semRecordNodeAux__sem_3922(c, (*t).n, (&check), (&pos), newf, t, NIM_FALSE);
27036 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semGeneric__sem_5453)27037 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGeneric__sem_5453)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27038 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27039 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
27040 	tyObject_TType__facALICuu8zUj0hjvbTLFg* tx;
27041 {	result = NIM_NIL;
27042 	{
27043 		tyArray__Re75IspeoxXy2oCZHwcRrA T5_;
27044 		NimStringDesc* T6_;
27045 		if (!((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
27046 		nimZeroMem((void*)T5_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
27047 		T5_[0] = copyString((*(*s).name).s);
27048 		T5_[1] = toHumanStr__ast_5158((*s).kind);
27049 		T6_ = NIM_NIL;
27050 		T6_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_583), T5_, 2);
27051 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_584, NIM_FALSE);
27052 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27053 		goto BeforeRet_;
27054 	}
27055 	LA3_: ;
27056 	t = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_585);
27057 	{
27058 		NIM_BOOL T9_;
27059 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
27060 		T9_ = (NIM_BOOL)0;
27061 		T9_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54));
27062 		if (!(T9_)) goto LA10_;
27063 		T11_ = NIM_NIL;
27064 		T11_ = base__types_63(t);
27065 		T9_ = ((*T11_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
27066 		LA10_: ;
27067 		if (!T9_) goto LA12_;
27068 		t = base__types_63(t);
27069 	}
27070 	LA12_: ;
27071 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9), prev, c);
27072 	addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
27073 	{
27074 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30))) goto LA16_;
27075 		{
27076 			NI i;
27077 			NI colontmp_;
27078 			NI i_2;
27079 			i = (NI)0;
27080 			colontmp_ = (NI)0;
27081 			colontmp_ = len__ast_3198(n);
27082 			i_2 = ((NI) 1);
27083 			{
27084 				while (1) {
27085 					tyObject_TType__facALICuu8zUj0hjvbTLFg* elem;
27086 					if (!(i_2 < colontmp_)) goto LA20;
27087 					i = i_2;
27088 					elem = semGenericParamInInvocation__sem_5423(c, (*n)._kind_6.sons->data[i]);
27089 					{
27090 						if (!(elem == 0)) goto LA23_;
27091 						{
27092 							NimStringDesc* argX60gensym1298_;
27093 							if (!NIM_TRUE) goto LA27_;
27094 							argX60gensym1298_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27095 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1298_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27096 						}
27097 						LA27_: ;
27098 						rawAddSon__ast_4288(result, elem, NIM_TRUE);
27099 					}
27100 					goto LA21_;
27101 					LA23_: ;
27102 					{
27103 						addSonSkipIntLit__magicsys_136(result, elem, (*c).Sup.idgen);
27104 					}
27105 					LA21_: ;
27106 					i_2 += ((NI) 1);
27107 				} LA20: ;
27108 			}
27109 		}
27110 		goto BeforeRet_;
27111 	}
27112 	goto LA14_;
27113 	LA16_: ;
27114 	{
27115 		NimStringDesc* T33_;
27116 		if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA31_;
27117 		T33_ = NIM_NIL;
27118 		T33_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_587), (*(*s).name).s);
27119 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_588, NIM_FALSE);
27120 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27121 		goto BeforeRet_;
27122 	}
27123 	goto LA14_;
27124 	LA31_: ;
27125 	{
27126 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
27127 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
27128 		NIM_BOOL isConcrete;
27129 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
27130 		newCandidate__sigmatch_195(c, t, (&m));
27131 		m.isNoCall = NIM_TRUE;
27132 		T35_ = NIM_NIL;
27133 		T35_ = copyTree__ast_4431(n);
27134 		matches__sigmatch_4181(c, n, T35_, (&m));
27135 		{
27136 			NimStringDesc* err;
27137 			tyArray__Re75IspeoxXy2oCZHwcRrA T40_;
27138 			NimStringDesc* T41_;
27139 			if (!!((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA38_;
27140 			err = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_589));
27141 			addTypeHeader__types_216((&err), (*(*c).graph).config, t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7), NIM_TRUE);
27142 			nimZeroMem((void*)T40_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
27143 			T40_[0] = describeArgs__sigmatch_384(c, n, ((NI) 1), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27144 			T40_[1] = describeArgs__sigmatch_384(c, (*t).n, ((NI) 0), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27145 			T41_ = NIM_NIL;
27146 			T41_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_590), T40_, 2);
27147 			err = resizeString(err, (T41_ ? T41_->Sup.len : 0) + 0);
27148 appendString(err, T41_);
27149 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_591, NIM_FALSE);
27150 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27151 			goto BeforeRet_;
27152 		}
27153 		LA38_: ;
27154 		isConcrete = NIM_TRUE;
27155 		{
27156 			NI i_3;
27157 			NI colontmp__2;
27158 			NI i_4;
27159 			i_3 = (NI)0;
27160 			colontmp__2 = (NI)0;
27161 			colontmp__2 = len__ast_3198(m.call);
27162 			i_4 = ((NI) 1);
27163 			{
27164 				while (1) {
27165 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
27166 					if (!(i_4 < colontmp__2)) goto LA44;
27167 					i_3 = i_4;
27168 					typ = (*(*m.call)._kind_6.sons->data[i_3]).typ;
27169 					{
27170 						NIM_BOOL T47_;
27171 						NIM_BOOL T48_;
27172 						NIM_BOOL T49_;
27173 						T47_ = (NIM_BOOL)0;
27174 						T48_ = (NIM_BOOL)0;
27175 						T49_ = (NIM_BOOL)0;
27176 						T49_ = ((*(*m.call)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
27177 						if (!(T49_)) goto LA50_;
27178 						T49_ = ((*(*(*m.call)._kind_6.sons->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
27179 						LA50_: ;
27180 						T48_ = T49_;
27181 						if (!(T48_)) goto LA51_;
27182 						T48_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27183 						LA51_: ;
27184 						T47_ = T48_;
27185 						if (!(T47_)) goto LA52_;
27186 						T47_ = containsGenericType__types_3360(typ);
27187 						LA52_: ;
27188 						if (!T47_) goto LA53_;
27189 						isConcrete = NIM_FALSE;
27190 						{
27191 							if (!(typ == 0)) goto LA57_;
27192 							{
27193 								NimStringDesc* argX60gensym1314_;
27194 								if (!NIM_TRUE) goto LA61_;
27195 								argX60gensym1314_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27196 								internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1314_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27197 							}
27198 							LA61_: ;
27199 							rawAddSon__ast_4288(result, typ, NIM_TRUE);
27200 						}
27201 						goto LA55_;
27202 						LA57_: ;
27203 						{
27204 							addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
27205 						}
27206 						LA55_: ;
27207 					}
27208 					goto LA45_;
27209 					LA53_: ;
27210 					{
27211 						typ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
27212 						{
27213 							NIM_BOOL T67_;
27214 							T67_ = (NIM_BOOL)0;
27215 							T67_ = containsGenericType__types_3360(typ);
27216 							if (!T67_) goto LA68_;
27217 							isConcrete = NIM_FALSE;
27218 						}
27219 						LA68_: ;
27220 						{
27221 							if (!(typ == 0)) goto LA72_;
27222 							{
27223 								NimStringDesc* argX60gensym1318_;
27224 								if (!NIM_TRUE) goto LA76_;
27225 								argX60gensym1318_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27226 								internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1318_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27227 							}
27228 							LA76_: ;
27229 							rawAddSon__ast_4288(result, typ, NIM_TRUE);
27230 						}
27231 						goto LA70_;
27232 						LA72_: ;
27233 						{
27234 							addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
27235 						}
27236 						LA70_: ;
27237 					}
27238 					LA45_: ;
27239 					i_4 += ((NI) 1);
27240 				} LA44: ;
27241 			}
27242 		}
27243 		{
27244 			if (!isConcrete) goto LA81_;
27245 			{
27246 				NIM_BOOL T85_;
27247 				NimStringDesc* T89_;
27248 				T85_ = (NIM_BOOL)0;
27249 				T85_ = ((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
27250 				if (!(T85_)) goto LA86_;
27251 				T85_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54)));
27252 				LA86_: ;
27253 				if (!T85_) goto LA87_;
27254 				T89_ = NIM_NIL;
27255 				T89_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s).name).s);
27256 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T89_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_592, NIM_FALSE);
27257 				result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27258 			}
27259 			goto LA83_;
27260 			LA87_: ;
27261 			{
27262 				result = instGenericContainer__sem_1125(c, (*n).info, result, NIM_FALSE);
27263 			}
27264 			LA83_: ;
27265 		}
27266 		LA81_: ;
27267 	}
27268 	LA14_: ;
27269 	tx = skipTypes__ast_4168(result, TM__rF9caJawfOjYTjsgLVUSGFA_97, ((NI) 50));
27270 	{
27271 		NIM_BOOL T93_;
27272 		NimStringDesc* T97_;
27273 		NimStringDesc* T98_;
27274 		T93_ = (NIM_BOOL)0;
27275 		T93_ = (tx == 0);
27276 		if (T93_) goto LA94_;
27277 		T93_ = isTupleRecursive__types_3996(tx);
27278 		LA94_: ;
27279 		if (!T93_) goto LA95_;
27280 		T97_ = NIM_NIL;
27281 		T97_ = typeToString__types_50((*result).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27282 		T98_ = NIM_NIL;
27283 		T98_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), T97_);
27284 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T98_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_593, NIM_FALSE);
27285 		result = errorType__semdata_1002(c);
27286 		goto BeforeRet_;
27287 	}
27288 	LA95_: ;
27289 	{
27290 		NIM_BOOL T101_;
27291 		NI position;
27292 		T101_ = (NIM_BOOL)0;
27293 		T101_ = !((tx == result));
27294 		if (!(T101_)) goto LA102_;
27295 		T101_ = ((*tx).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
27296 		LA102_: ;
27297 		if (!T101_) goto LA103_;
27298 		{
27299 			if (!!(((*tx).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA107_;
27300 			semObjectTypeForInheritedGenericInst__sem_5427(c, n, tx);
27301 		}
27302 		LA107_: ;
27303 		position = ((NI) 0);
27304 		recomputeFieldPositions__semtypinst_1006(tx, (*tx).n, (&position));
27305 	}
27306 	LA103_: ;
27307 	}BeforeRet_: ;
27308 	return result;
27309 }
N_INLINE(NIM_BOOL,isNewStyleConcept__ast_5226)27310 static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_5226)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
27311 	NIM_BOOL result;
27312 	result = (NIM_BOOL)0;
27313 	result = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
27314 	return result;
27315 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConceptBody__sem_2888)27316 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptBody__sem_2888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
27317 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
27318 	tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w ctx;
27319 	result = NIM_NIL;
27320 	nimZeroMem((void*)(&ctx), sizeof(tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w));
27321 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
27322 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
27323 	result = semGenericStmt__sem_8113(c, n, 8, (&ctx));
27324 	return result;
27325 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeClass__sem_5629)27326 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeClass__sem_5629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27327 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27328 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas;
27329 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inherited;
27330 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
27331 	tyObject_TType__facALICuu8zUj0hjvbTLFg* candidateTypeSlot;
27332 	tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T6_;
27333 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T15_;
27334 {	result = NIM_NIL;
27335 	{
27336 		NIM_BOOL T3_;
27337 		T3_ = (NIM_BOOL)0;
27338 		T3_ = isNewStyleConcept__ast_5226(n);
27339 		if (!T3_) goto LA4_;
27340 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62), prev, c);
27341 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27342 		asgnRef((void**) (&(*result).n), semConceptDeclaration__concepts_97(c, n));
27343 		goto BeforeRet_;
27344 	}
27345 	LA4_: ;
27346 	pragmas = (*n)._kind_6.sons->data[((NI) 1)];
27347 	inherited = (*n)._kind_6.sons->data[((NI) 2)];
27348 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52), prev, c);
27349 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27350 	owner = getCurrOwner__semdata_315(c);
27351 	T6_ = NIM_NIL;
27352 	T6_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
27353 	asgnRef((void**) (&T6_->data[0]), errorType__semdata_1002(c));
27354 	candidateTypeSlot = newTypeWithSons__semdata_815(owner, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4), T6_, (*c).Sup.idgen);
27355 	if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
27356 	(*result).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
27357 	asgnRef((void**) (&(*result).sons->data[0]), candidateTypeSlot);
27358 	asgnRef((void**) (&(*result).n), n);
27359 	{
27360 		if (!!(((*inherited).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA9_;
27361 		{
27362 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n_2;
27363 			tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
27364 			NI i;
27365 			NI L;
27366 			NI T12_;
27367 			n_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
27368 			colontmp_ = NIM_NIL;
27369 			colontmp_ = (*inherited)._kind_6.sons;
27370 			i = ((NI) 0);
27371 			T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
27372 			L = T12_;
27373 			{
27374 				while (1) {
27375 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
27376 					if (!(i < L)) goto LA14;
27377 					n_2 = &colontmp_->data[i];
27378 					typ = semTypeNode__sem_80(c, (*n_2), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27379 					add__concepts_23(result, typ);
27380 					i += ((NI) 1);
27381 				} LA14: ;
27382 			}
27383 		}
27384 	}
27385 	LA9_: ;
27386 	T15_ = NIM_NIL;
27387 	T15_ = openScope__lookups_69(c);
27388 	{
27389 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
27390 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
27391 		param = NIM_NIL;
27392 		colontmp__2 = NIM_NIL;
27393 		colontmp__2 = (*n)._kind_6.sons->data[((NI) 0)];
27394 		{
27395 			NI i_2;
27396 			NI colontmp__3;
27397 			NI i_3;
27398 			i_2 = (NI)0;
27399 			colontmp__3 = (NI)0;
27400 			colontmp__3 = safeLen__ast_3191(colontmp__2);
27401 			i_3 = ((NI) 0);
27402 			{
27403 				while (1) {
27404 					if (!(i_3 < colontmp__3)) goto LA19;
27405 					i_2 = i_3;
27406 					param = (*colontmp__2)._kind_6.sons->data[i_2];
27407 					{
27408 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dummyName;
27409 						tyObject_TType__facALICuu8zUj0hjvbTLFg* dummyType;
27410 						tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag modifier;
27411 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dummyParam;
27412 						tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T44_;
27413 						tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T50_;
27414 						dummyName = NIM_NIL;
27415 						dummyType = NIM_NIL;
27416 						switch ((*param).kind) {
27417 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
27418 						{
27419 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23);
27420 						}
27421 						break;
27422 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
27423 						{
27424 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22);
27425 						}
27426 						break;
27427 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
27428 						{
27429 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21);
27430 						}
27431 						break;
27432 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
27433 						{
27434 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60);
27435 						}
27436 						break;
27437 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
27438 						{
27439 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8);
27440 						}
27441 						break;
27442 						default:
27443 						{
27444 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
27445 						}
27446 						break;
27447 						}
27448 						{
27449 							if (!!((modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA29_;
27450 							dummyName = (*param)._kind_6.sons->data[((NI) 0)];
27451 							dummyType = makeTypeWithModifier__semdata_746(c, modifier, candidateTypeSlot);
27452 							{
27453 								if (!(modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA33_;
27454 								(*dummyType).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 28)) & 63);
27455 								(*dummyType).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27456 							}
27457 							LA33_: ;
27458 						}
27459 						goto LA27_;
27460 						LA29_: ;
27461 						{
27462 							dummyName = param;
27463 							dummyType = candidateTypeSlot;
27464 						}
27465 						LA27_: ;
27466 						{
27467 							if (!((*dummyName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA38_;
27468 							goto LA20;
27469 						}
27470 						LA38_: ;
27471 						{
27472 							NimStringDesc* argX60gensym1348_;
27473 							if (!!(((*dummyName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA42_;
27474 							argX60gensym1348_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_608);
27475 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1348_, TM__rF9caJawfOjYTjsgLVUSGFA_608);
27476 						}
27477 						LA42_: ;
27478 						T44_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
27479 						{
27480 							if (!(modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA47_;
27481 							T44_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
27482 						}
27483 						goto LA45_;
27484 						LA47_: ;
27485 						{
27486 							T44_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
27487 						}
27488 						LA45_: ;
27489 						T50_ = nextSymId__ast_3132((*c).Sup.idgen);
27490 						dummyParam = newSym__ast_3445(T44_, (*dummyName)._kind_5.ident, T50_, owner, (*param).info, 0);
27491 						asgnRef((void**) (&(*dummyParam).typ), dummyType);
27492 						(*dummyParam).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
27493 						addDecl__lookups_845(c, dummyParam);
27494 					} LA20: ;
27495 					i_3 += ((NI) 1);
27496 				} LA19: ;
27497 			}
27498 		}
27499 	}
27500 	asgnRef((void**) (&(*(*result).n)._kind_6.sons->data[((NI) 3)]), semConceptBody__sem_2888(c, (*n)._kind_6.sons->data[((NI) 3)]));
27501 	closeScope__lookups_101(c);
27502 	}BeforeRet_: ;
27503 	return result;
27504 }
N_INLINE(NIM_BOOL,isSelf__concepts_38)27505 static N_INLINE(NIM_BOOL, isSelf__concepts_38)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
27506 	NIM_BOOL result;
27507 	NIM_BOOL T1_;
27508 	result = (NIM_BOOL)0;
27509 	T1_ = (NIM_BOOL)0;
27510 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27511 	if (!(T1_)) goto LA2_;
27512 	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0);
27513 	LA2_: ;
27514 	result = T1_;
27515 	return result;
27516 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semVarOutType__sem_3185)27517 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semVarOutType__sem_3185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind) {
27518 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27519 	result = NIM_NIL;
27520 	{
27521 		NI T3_;
27522 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
27523 		T3_ = (NI)0;
27524 		T3_ = len__ast_3198(n);
27525 		if (!(T3_ == ((NI) 1))) goto LA4_;
27526 		result = newOrPrevType__sem_2916(kind, prev, c);
27527 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27528 		{
27529 			NIM_BOOL T8_;
27530 			NIM_BOOL T10_;
27531 			T8_ = (NIM_BOOL)0;
27532 			T8_ = ((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27533 			if (!(T8_)) goto LA9_;
27534 			T10_ = (NIM_BOOL)0;
27535 			T10_ = isSelf__concepts_38(base);
27536 			T8_ = !(T10_);
27537 			LA9_: ;
27538 			if (!T8_) goto LA11_;
27539 			base = (*base).sons->data[((NI) 0)];
27540 		}
27541 		LA11_: ;
27542 		{
27543 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA15_;
27544 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_577), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_609, NIM_FALSE);
27545 			base = (*base).sons->data[((NI) 0)];
27546 		}
27547 		LA15_: ;
27548 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
27549 	}
27550 	goto LA1_;
27551 	LA4_: ;
27552 	{
27553 		result = newConstraint__sem_2929(c, kind);
27554 	}
27555 	LA1_: ;
27556 	return result;
27557 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semDistinct__sem_3206)27558 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semDistinct__sem_3206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27559 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27560 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
27561 {	result = NIM_NIL;
27562 	{
27563 		NI T3_;
27564 		T3_ = (NI)0;
27565 		T3_ = len__ast_3198(n);
27566 		if (!(T3_ == ((NI) 0))) goto LA4_;
27567 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
27568 		goto BeforeRet_;
27569 	}
27570 	LA4_: ;
27571 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13), prev, c);
27572 	T6_ = NIM_NIL;
27573 	T6_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27574 	addSonSkipIntLit__magicsys_136(result, T6_, (*c).Sup.idgen);
27575 	{
27576 		NI T9_;
27577 		T9_ = (NI)0;
27578 		T9_ = len__ast_3198(n);
27579 		if (!(((NI) 1) < T9_)) goto LA10_;
27580 		asgnRef((void**) (&(*result).n), (*n)._kind_6.sons->data[((NI) 1)]);
27581 	}
27582 	LA10_: ;
27583 	}BeforeRet_: ;
27584 	return result;
27585 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,applyTypeSectionPragmas__sem_5714)27586 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyTypeSectionPragmas__sem_5714)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* operand) {
27587 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
27588 {	result = NIM_NIL;
27589 	{
27590 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
27591 		p = NIM_NIL;
27592 		{
27593 			NI i;
27594 			NI colontmp_;
27595 			NI i_2;
27596 			i = (NI)0;
27597 			colontmp_ = (NI)0;
27598 			colontmp_ = safeLen__ast_3191(pragmas);
27599 			i_2 = ((NI) 0);
27600 			{
27601 				while (1) {
27602 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
27603 					if (!(i_2 < colontmp_)) goto LA4;
27604 					i = i_2;
27605 					p = (*pragmas)._kind_6.sons->data[i];
27606 					{
27607 						NIM_BOOL T7_;
27608 						NI T9_;
27609 						T7_ = (NIM_BOOL)0;
27610 						T7_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
27611 						if (!(T7_)) goto LA8_;
27612 						T9_ = (NI)0;
27613 						T9_ = len__ast_3198(p);
27614 						T7_ = (((NI) 1) <= T9_);
27615 						LA8_: ;
27616 						if (!T7_) goto LA10_;
27617 						key = (*p)._kind_6.sons->data[((NI) 0)];
27618 					}
27619 					goto LA5_;
27620 					LA10_: ;
27621 					{
27622 						key = p;
27623 					}
27624 					LA5_: ;
27625 					{
27626 						NIM_BOOL T15_;
27627 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T17_;
27628 						T15_ = (NIM_BOOL)0;
27629 						T15_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
27630 						if (T15_) goto LA16_;
27631 						T17_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
27632 						T17_ = whichPragma__trees_244(p);
27633 						T15_ = !((T17_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 0)));
27634 						LA16_: ;
27635 						if (!T15_) goto LA18_;
27636 					}
27637 					goto LA13_;
27638 					LA18_: ;
27639 					{
27640 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
27641 						ident = considerQuotedIdent__lookups_28(c, key, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
27642 						{
27643 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
27644 							T23_ = NIM_NIL;
27645 							T23_ = strTableGet__astalgo_3390((*c).userPragmas, ident);
27646 							if (!!((T23_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA24_;
27647 						}
27648 						goto LA21_;
27649 						LA24_: ;
27650 						{
27651 							NIM_BOOL amb;
27652 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
27653 							amb = NIM_FALSE;
27654 							sym = searchInScopes__lookups_423(c, ident, (&amb));
27655 							{
27656 								NIM_BOOL T29_;
27657 								T29_ = (NIM_BOOL)0;
27658 								T29_ = !((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
27659 								if (!(T29_)) goto LA30_;
27660 								T29_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
27661 								LA30_: ;
27662 								if (!T29_) goto LA31_;
27663 							}
27664 							goto LA27_;
27665 							LA31_: ;
27666 							{
27667 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
27668 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
27669 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
27670 								x = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*key).info);
27671 								add__ast_4797(x, key);
27672 								{
27673 									NIM_BOOL T36_;
27674 									NI T38_;
27675 									T36_ = (NIM_BOOL)0;
27676 									T36_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
27677 									if (!(T36_)) goto LA37_;
27678 									T38_ = (NI)0;
27679 									T38_ = len__ast_3198(p);
27680 									T36_ = (((NI) 1) < T38_);
27681 									LA37_: ;
27682 									if (!T36_) goto LA39_;
27683 									{
27684 										NI i_3;
27685 										NI colontmp__2;
27686 										NI i_4;
27687 										i_3 = (NI)0;
27688 										colontmp__2 = (NI)0;
27689 										colontmp__2 = len__ast_3198(p);
27690 										i_4 = ((NI) 1);
27691 										{
27692 											while (1) {
27693 												if (!(i_4 < colontmp__2)) goto LA43;
27694 												i_3 = i_4;
27695 												add__ast_4797(x, (*p)._kind_6.sons->data[i_3]);
27696 												i_4 += ((NI) 1);
27697 											} LA43: ;
27698 										}
27699 									}
27700 								}
27701 								LA39_: ;
27702 								T44_ = NIM_NIL;
27703 								T44_ = copyTreeWithoutNode__ast_4459(operand, p);
27704 								add__ast_4797(x, T44_);
27705 								r = semOverloadedCall__sem_2498(c, x, x, 393216, 262144);
27706 								{
27707 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
27708 									if (!!((r == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA47_;
27709 									{
27710 										if (!!(((*(*r)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA51_;
27711 										failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_610));
27712 									}
27713 									LA51_: ;
27714 									m = (*(*r)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
27715 									switch ((*m).kind) {
27716 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
27717 									{
27718 										result = semMacroExpr__sem_524(c, r, r, m, 8192);
27719 										goto BeforeRet_;
27720 									}
27721 									break;
27722 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
27723 									{
27724 										result = semTemplateExpr__sem_519(c, r, m, 8192);
27725 										goto BeforeRet_;
27726 									}
27727 									break;
27728 									default:
27729 									{
27730 										{
27731 											if (!NIM_TRUE) goto LA58_;
27732 											failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_611));
27733 										}
27734 										LA58_: ;
27735 									}
27736 									break;
27737 									}
27738 								}
27739 								LA47_: ;
27740 							}
27741 							LA27_: ;
27742 						}
27743 						LA21_: ;
27744 					}
27745 					LA13_: ;
27746 					i_2 += ((NI) 1);
27747 				} LA4: ;
27748 			}
27749 		}
27750 	}
27751 	}BeforeRet_: ;
27752 	return result;
27753 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semProcTypeWithScope__sem_5803)27754 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semProcTypeWithScope__sem_5803)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
27755 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27756 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T12_;
27757 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
27758 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
27759 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
27760 {	result = NIM_NIL;
27761 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
27762 	{
27763 		NIM_BOOL T3_;
27764 		NI T5_;
27765 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroEval;
27766 		T3_ = (NIM_BOOL)0;
27767 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
27768 		if (!(T3_)) goto LA4_;
27769 		T5_ = (NI)0;
27770 		T5_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
27771 		T3_ = (((NI) 0) < T5_);
27772 		LA4_: ;
27773 		if (!T3_) goto LA6_;
27774 		macroEval = applyTypeSectionPragmas__sem_5714(c, (*n)._kind_6.sons->data[((NI) 1)], n);
27775 		{
27776 			if (!!((macroEval == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA10_;
27777 			result = semTypeNode__sem_80(c, macroEval, prev);
27778 			goto BeforeRet_;
27779 		}
27780 		LA10_: ;
27781 	}
27782 	LA6_: ;
27783 	T12_ = NIM_NIL;
27784 	T12_ = openScope__lookups_69(c);
27785 	result = semProcTypeNode__sem_5067(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), prev, kind, NIM_TRUE);
27786 	(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
27787 	T13_ = NIM_NIL;
27788 	T13_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_498));
27789 	T14_ = NIM_NIL;
27790 	T14_ = newIdentNode__ast_3712(T13_, (*n).info);
27791 	s = newSymS__sem_453(kind, T14_, c);
27792 	asgnRef((void**) (&(*s).typ), result);
27793 	{
27794 		NIM_BOOL T17_;
27795 		NI T19_;
27796 		T17_ = (NIM_BOOL)0;
27797 		T17_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
27798 		if (!(T17_)) goto LA18_;
27799 		T19_ = (NI)0;
27800 		T19_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
27801 		T17_ = (((NI) 0) < T19_);
27802 		LA18_: ;
27803 		if (!T17_) goto LA20_;
27804 		pragma__pragmas_123(c, s, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_612, NIM_FALSE);
27805 		setEffectsForProcType__sempass50_4540((*c).graph, result, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
27806 	}
27807 	goto LA15_;
27808 	LA20_: ;
27809 	{
27810 		NIM_BOOL T23_;
27811 		NI T24_;
27812 		tyArray__voNMFnIDThVNu9afe2zfZWA T28_;
27813 		T23_ = (NIM_BOOL)0;
27814 		T24_ = ((*c).optionStack ? (*c).optionStack->Sup.len : 0);
27815 		T23_ = (((NI) 0) < T24_);
27816 		if (!(T23_)) goto LA25_;
27817 		T23_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
27818 		LA25_: ;
27819 		if (!T23_) goto LA26_;
27820 		nimZeroMem((void*)T28_, sizeof(tyArray__voNMFnIDThVNu9afe2zfZWA));
27821 		T28_[0] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27822 		T28_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27823 		T28_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27824 		T28_[3] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27825 		T28_[4] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27826 		asgnRef((void**) (&(*s).ast), newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79), T28_, 5));
27827 		implicitPragmas__pragmas_2394(c, s, (*n).info, TM__rF9caJawfOjYTjsgLVUSGFA_613);
27828 		setEffectsForProcType__sempass50_4540((*c).graph, result, (*(*s).ast)._kind_6.sons->data[((NI) 4)], ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
27829 	}
27830 	goto LA15_;
27831 	LA26_: ;
27832 	LA15_: ;
27833 	closeScope__lookups_101(c);
27834 	}BeforeRet_: ;
27835 	return result;
27836 }
N_INLINE(void,addInterfaceDecl__lookups_879)27837 static N_INLINE(void, addInterfaceDecl__lookups_879)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
27838 	addInterfaceDeclAt__lookups_875(c, (*c).currentScope, sym);
27839 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semEnum__sem_2937)27840 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semEnum__sem_2937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27841 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27842 	NI64 counter;
27843 	NI64 x;
27844 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
27845 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
27846 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** identToReplace;
27847 	NIM_BOOL isPure;
27848 	NIM_BOOL T20_;
27849 	tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA symbols;
27850 	NIM_BOOL hasNull;
27851 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T148_;
27852 {	result = NIM_NIL;
27853 	{
27854 		NI T3_;
27855 		T3_ = (NI)0;
27856 		T3_ = len__ast_3198(n);
27857 		if (!(T3_ == ((NI) 0))) goto LA4_;
27858 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
27859 		goto BeforeRet_;
27860 	}
27861 	goto LA1_;
27862 	LA4_: ;
27863 	{
27864 		NI T7_;
27865 		T7_ = (NI)0;
27866 		T7_ = len__ast_3198(n);
27867 		if (!(T7_ == ((NI) 1))) goto LA8_;
27868 		result = errorType__semdata_1002(c);
27869 		goto BeforeRet_;
27870 	}
27871 	goto LA1_;
27872 	LA8_: ;
27873 	LA1_: ;
27874 	counter = (NI64)0;
27875 	x = (NI64)0;
27876 	e = NIM_NIL;
27877 	base = NIM_NIL;
27878 	identToReplace = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
27879 	counter = IL64(0);
27880 	base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
27881 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14), prev, c);
27882 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150), (*n).info));
27883 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
27884 	{
27885 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
27886 		NI64 T19_;
27887 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA12_;
27888 		base = semTypeNode__sem_80(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27889 		{
27890 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)))) goto LA16_;
27891 			liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_614), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_615, NIM_FALSE);
27892 		}
27893 		LA16_: ;
27894 		T18_ = lastOrd__types_1470((*(*c).graph).config, base);
27895 		T19_ = (NI64)0;
27896 		T19_ = toInt64__int495056_88(T18_);
27897 		counter = (NI64)(T19_ + IL64(1));
27898 	}
27899 	LA12_: ;
27900 	rawAddSon__ast_4288(result, base, NIM_TRUE);
27901 	T20_ = (NIM_BOOL)0;
27902 	T20_ = !(((*result).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
27903 	if (!(T20_)) goto LA21_;
27904 	T20_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
27905 	LA21_: ;
27906 	isPure = T20_;
27907 	nimZeroMem((void*)(&symbols), sizeof(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA));
27908 	{
27909 		if (!isPure) goto LA24_;
27910 		initStrTable__ast_4088((&symbols));
27911 	}
27912 	LA24_: ;
27913 	hasNull = NIM_FALSE;
27914 	{
27915 		NI i;
27916 		NI colontmp_;
27917 		NI i_2;
27918 		i = (NI)0;
27919 		colontmp_ = (NI)0;
27920 		colontmp_ = len__ast_3198(n);
27921 		i_2 = ((NI) 1);
27922 		{
27923 			while (1) {
27924 				if (!(i_2 < colontmp_)) goto LA28;
27925 				i = i_2;
27926 				{
27927 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* symNode;
27928 					{
27929 						if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA32_;
27930 						goto LA29;
27931 					}
27932 					LA32_: ;
27933 					switch ((*(*n)._kind_6.sons->data[i]).kind) {
27934 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
27935 					{
27936 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
27937 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* strVal;
27938 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
27939 						{
27940 							if (!((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA37_;
27941 							e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], c);
27942 							identToReplace = &(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
27943 							pragma__pragmas_123(c, e, (*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_616, NIM_FALSE);
27944 						}
27945 						goto LA35_;
27946 						LA37_: ;
27947 						{
27948 							e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
27949 							identToReplace = &(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)];
27950 						}
27951 						LA35_: ;
27952 						v = semConstExpr__sem_611(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]);
27953 						strVal = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
27954 						T40_ = NIM_NIL;
27955 						T40_ = skipTypes__ast_3735((*v).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
27956 						switch ((*T40_).kind) {
27957 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
27958 						{
27959 							{
27960 								NI T44_;
27961 								T44_ = (NI)0;
27962 								T44_ = len__ast_3198(v);
27963 								if (!(T44_ == ((NI) 2))) goto LA45_;
27964 								strVal = (*v)._kind_6.sons->data[((NI) 1)];
27965 								{
27966 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
27967 									tyObject_Int128__9a9axPfb75jdWY25AamJewkA T59_;
27968 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
27969 									T49_ = NIM_NIL;
27970 									T49_ = skipTypes__ast_3735((*strVal).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
27971 									if (!((*T49_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*T49_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA50_;
27972 									{
27973 										NIM_BOOL T54_;
27974 										NimStringDesc* T57_;
27975 										NimStringDesc* T58_;
27976 										T54_ = (NIM_BOOL)0;
27977 										T54_ = isOrdinalType__types_299((*(*v)._kind_6.sons->data[((NI) 0)]).typ, NIM_TRUE);
27978 										if (!!(T54_)) goto LA55_;
27979 										T57_ = NIM_NIL;
27980 										T58_ = NIM_NIL;
27981 										T58_ = typeToString__types_50((*(*v)._kind_6.sons->data[((NI) 0)]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
27982 										T57_ = rawNewString((T58_ ? T58_->Sup.len : 0) + 30);
27983 appendString(T57_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_617));
27984 appendString(T57_, T58_);
27985 										liMessage__msgs_1118((*(*c).graph).config, (*(*v)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T57_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_618, NIM_FALSE);
27986 									}
27987 									LA55_: ;
27988 									T59_ = getOrdValue__types_161((*v)._kind_6.sons->data[((NI) 0)], Max__int495056_27);
27989 									x = toInt64__int495056_88(T59_);
27990 									T60_ = NIM_NIL;
27991 									T60_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
27992 									asgnRef((void**) (&(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), newIntTypeNode__ast_3783(x, T60_));
27993 								}
27994 								goto LA47_;
27995 								LA50_: ;
27996 								{
27997 									liMessage__msgs_1118((*(*c).graph).config, (*strVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_358), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_619, NIM_FALSE);
27998 								}
27999 								LA47_: ;
28000 							}
28001 							goto LA42_;
28002 							LA45_: ;
28003 							{
28004 								liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_620), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_621, NIM_FALSE);
28005 							}
28006 							LA42_: ;
28007 						}
28008 						break;
28009 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
28010 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
28011 						{
28012 							strVal = v;
28013 							x = counter;
28014 						}
28015 						break;
28016 						default:
28017 						{
28018 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T72_;
28019 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
28020 							{
28021 								NIM_BOOL T67_;
28022 								NimStringDesc* T70_;
28023 								NimStringDesc* T71_;
28024 								T67_ = (NIM_BOOL)0;
28025 								T67_ = isOrdinalType__types_299((*v).typ, NIM_TRUE);
28026 								if (!!(T67_)) goto LA68_;
28027 								T70_ = NIM_NIL;
28028 								T71_ = NIM_NIL;
28029 								T71_ = typeToString__types_50((*v).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
28030 								T70_ = rawNewString((T71_ ? T71_->Sup.len : 0) + 30);
28031 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_617));
28032 appendString(T70_, T71_);
28033 								liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T70_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_622, NIM_FALSE);
28034 							}
28035 							LA68_: ;
28036 							T72_ = getOrdValue__types_161(v, Max__int495056_27);
28037 							x = toInt64__int495056_88(T72_);
28038 							T73_ = NIM_NIL;
28039 							T73_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
28040 							asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), newIntTypeNode__ast_3783(x, T73_));
28041 						}
28042 						break;
28043 						}
28044 						{
28045 							if (!!((i == ((NI) 1)))) goto LA76_;
28046 							{
28047 								if (!!((x == counter))) goto LA80_;
28048 								(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5)) & 63);
28049 							}
28050 							LA80_: ;
28051 							{
28052 								NimStringDesc* T86_;
28053 								if (!(x < counter)) goto LA84_;
28054 								T86_ = NIM_NIL;
28055 								T86_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_623), (*(*e).name).s);
28056 								liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[i]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T86_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_624, NIM_FALSE);
28057 								x = counter;
28058 							}
28059 							LA84_: ;
28060 						}
28061 						LA76_: ;
28062 						asgnRef((void**) (&(*e).ast), strVal);
28063 						counter = x;
28064 					}
28065 					break;
28066 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28067 					{
28068 						e = (*(*n)._kind_6.sons->data[i])._kind_4.sym;
28069 					}
28070 					break;
28071 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28072 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
28073 					{
28074 						e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*n)._kind_6.sons->data[i], c);
28075 						identToReplace = &(*n)._kind_6.sons->data[i];
28076 					}
28077 					break;
28078 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
28079 					{
28080 						e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
28081 						pragma__pragmas_123(c, e, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_616, NIM_FALSE);
28082 						identToReplace = &(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)];
28083 					}
28084 					break;
28085 					default:
28086 					{
28087 						illFormedAst__semdata_1071((*n)._kind_6.sons->data[i], (*(*c).graph).config);
28088 					}
28089 					break;
28090 					}
28091 					asgnRef((void**) (&(*e).typ), result);
28092 					(*e).position = ((NI) (counter));
28093 					symNode = newSymNode__ast_3716(e);
28094 					{
28095 						NIM_BOOL T93_;
28096 						NIM_BOOL T94_;
28097 						T93_ = (NIM_BOOL)0;
28098 						T94_ = (NIM_BOOL)0;
28099 						T94_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
28100 						if (!(T94_)) goto LA95_;
28101 						T94_ = !((identToReplace == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**) NIM_NIL)));
28102 						LA95_: ;
28103 						T93_ = T94_;
28104 						if (!(T93_)) goto LA96_;
28105 						T93_ = !(((3989504 &((NU32)1<<((NU)((*(*(*c).graph).config).cmd)&31U)))!=0));
28106 						LA96_: ;
28107 						if (!T93_) goto LA97_;
28108 						unsureAsgnRef((void**) (&(*identToReplace)), symNode);
28109 					}
28110 					LA97_: ;
28111 					{
28112 						if (!((*e).position == ((NI) 0))) goto LA101_;
28113 						hasNull = NIM_TRUE;
28114 					}
28115 					LA101_: ;
28116 					{
28117 						NIM_BOOL T105_;
28118 						T105_ = (NIM_BOOL)0;
28119 						T105_ = !(((*result).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
28120 						if (!(T105_)) goto LA106_;
28121 						T105_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
28122 						LA106_: ;
28123 						if (!T105_) goto LA107_;
28124 						(*e).flags = ((*e).flags | 3);
28125 					}
28126 					LA107_: ;
28127 					add__ast_4797((*result).n, symNode);
28128 					{
28129 						NIM_BOOL T111_;
28130 						T111_ = (NIM_BOOL)0;
28131 						T111_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
28132 						if (!(T111_)) goto LA112_;
28133 						T111_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
28134 						LA112_: ;
28135 						if (!T111_) goto LA113_;
28136 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*e).info, e, (*e).kind);
28137 					}
28138 					LA113_: ;
28139 					{
28140 						if (!!((((*e).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA117_;
28141 						{
28142 							if (!!(isPure)) goto LA121_;
28143 							{
28144 								if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0)) goto LA125_;
28145 								addInterfaceOverloadableSymAt__lookups_899(c, (*c).currentScope, e);
28146 							}
28147 							goto LA123_;
28148 							LA125_: ;
28149 							{
28150 								addInterfaceDecl__lookups_879(c, e);
28151 							}
28152 							LA123_: ;
28153 						}
28154 						goto LA119_;
28155 						LA121_: ;
28156 						{
28157 							declarePureEnumField__importer_61(c, e);
28158 						}
28159 						LA119_: ;
28160 					}
28161 					LA117_: ;
28162 					{
28163 						NIM_BOOL T131_;
28164 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* conflict;
28165 						T131_ = (NIM_BOOL)0;
28166 						T131_ = isPure;
28167 						if (!(T131_)) goto LA132_;
28168 						conflict = strTableInclReportConflict__astalgo_3342((&symbols), e, NIM_FALSE);
28169 						T131_ = !((conflict == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
28170 						LA132_: ;
28171 						if (!T131_) goto LA133_;
28172 						wrongRedefinition__lookups_805(c, (*e).info, (*(*e).name).s, (*conflict).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
28173 					}
28174 					LA133_: ;
28175 					counter += ((NI) 1);
28176 				} LA29: ;
28177 				i_2 += ((NI) 1);
28178 			} LA28: ;
28179 		}
28180 	}
28181 	{
28182 		NIM_BOOL T137_;
28183 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T141_;
28184 		T137_ = (NIM_BOOL)0;
28185 		T137_ = isPure;
28186 		if (!(T137_)) goto LA138_;
28187 		T137_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
28188 		LA138_: ;
28189 		if (!T137_) goto LA139_;
28190 		nimZeroMem((void*)(&T141_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
28191 		nimZeroMem((void*)(&T141_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
28192 		T141_.sym = (*result).sym;
28193 		addPureEnum__semdata_674(c, T141_);
28194 	}
28195 	LA139_: ;
28196 	{
28197 		NIM_BOOL T144_;
28198 		T144_ = (NIM_BOOL)0;
28199 		T144_ = (((*(*e).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
28200 		if (!(T144_)) goto LA145_;
28201 		T144_ = !(hasNull);
28202 		LA145_: ;
28203 		if (!T144_) goto LA146_;
28204 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
28205 	}
28206 	LA146_: ;
28207 	T148_ = NIM_NIL;
28208 	T148_ = genEnumToStrProc__enumtostr_6(result, (*n).info, (*c).graph, (*c).Sup.idgen);
28209 	setToStringProc__modulegraphs_6035((*c).graph, result, T148_);
28210 	}BeforeRet_: ;
28211 	return result;
28212 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semStmtListType__sem_5374)28213 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStmtListType__sem_5374)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28214 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28215 	result = NIM_NIL;
28216 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
28217 	{
28218 		NI i;
28219 		NI colontmp_;
28220 		NI T2_;
28221 		NI i_2;
28222 		i = (NI)0;
28223 		colontmp_ = (NI)0;
28224 		T2_ = (NI)0;
28225 		T2_ = len__ast_3198(n);
28226 		colontmp_ = (NI)(T2_ - ((NI) 1));
28227 		i_2 = ((NI) 0);
28228 		{
28229 			while (1) {
28230 				if (!(i_2 < colontmp_)) goto LA4;
28231 				i = i_2;
28232 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semStmt__sem_84(c, (*n)._kind_6.sons->data[i], 0));
28233 				i_2 += ((NI) 1);
28234 			} LA4: ;
28235 		}
28236 	}
28237 	{
28238 		NI T7_;
28239 		NI T10_;
28240 		NI T11_;
28241 		T7_ = (NI)0;
28242 		T7_ = len__ast_3198(n);
28243 		if (!(((NI) 0) < T7_)) goto LA8_;
28244 		T10_ = (NI)0;
28245 		T10_ = len__ast_3198(n);
28246 		result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[(NI)(T10_ - ((NI) 1))], prev);
28247 		asgnRef((void**) (&(*n).typ), result);
28248 		T11_ = (NI)0;
28249 		T11_ = len__ast_3198(n);
28250 		asgnRef((void**) (&(*(*n)._kind_6.sons->data[(NI)(T11_ - ((NI) 1))]).typ), result);
28251 	}
28252 	goto LA5_;
28253 	LA8_: ;
28254 	{
28255 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
28256 	}
28257 	LA5_: ;
28258 	return result;
28259 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semBlockType__sem_5402)28260 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semBlockType__sem_5402)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28261 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28262 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
28263 	result = NIM_NIL;
28264 	(*(*c).p).nestedBlockCounter += ((NI) 1);
28265 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
28266 	T1_ = NIM_NIL;
28267 	T1_ = openScope__lookups_69(c);
28268 	{
28269 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
28270 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA4_;
28271 		T6_ = NIM_NIL;
28272 		T6_ = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), (*n)._kind_6.sons->data[((NI) 0)], c);
28273 		addDecl__lookups_845(c, T6_);
28274 	}
28275 	LA4_: ;
28276 	result = semStmtListType__sem_5374(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28277 	asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), result);
28278 	asgnRef((void**) (&(*n).typ), result);
28279 	closeScope__lookups_101(c);
28280 	(*(*c).p).nestedBlockCounter -= ((NI) 1);
28281 	return result;
28282 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeNode__sem_80)28283 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeNode__sem_80)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28284 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28285 	result = NIM_NIL;
28286 	result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
28287 	(*c).inTypeContext += ((NI) 1);
28288 	{
28289 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA3_;
28290 		suggestExpr__sigmatch_6536(c, n);
28291 	}
28292 	LA3_: ;
28293 	switch ((*n).kind) {
28294 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
28295 	{
28296 		result = (*n).typ;
28297 	}
28298 	break;
28299 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
28300 	{
28301 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
28302 		result = semTypeOf__sem_5872(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
28303 		{
28304 			if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA9_;
28305 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29)) & 63);
28306 		}
28307 		LA9_: ;
28308 	}
28309 	break;
28310 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
28311 	{
28312 		{
28313 			NI T14_;
28314 			T14_ = (NI)0;
28315 			T14_ = len__ast_3198(n);
28316 			if (!(T14_ == ((NI) 1))) goto LA15_;
28317 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
28318 		}
28319 		goto LA12_;
28320 		LA15_: ;
28321 		{
28322 			result = semAnonTuple__sem_3569(c, n, prev);
28323 		}
28324 		LA12_: ;
28325 	}
28326 	break;
28327 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
28328 	{
28329 		result = semAnonTuple__sem_3569(c, n, prev);
28330 	}
28331 	break;
28332 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
28333 	{
28334 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
28335 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
28336 		x = (*n)._kind_6.sons->data[((NI) 0)];
28337 		switch ((*x).kind) {
28338 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28339 		{
28340 			ident = (*x)._kind_5.ident;
28341 		}
28342 		break;
28343 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28344 		{
28345 			ident = (*(*x)._kind_4.sym).name;
28346 		}
28347 		break;
28348 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
28349 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
28350 		{
28351 			ident = (*(*(*x)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
28352 		}
28353 		break;
28354 		default:
28355 		{
28356 			ident = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
28357 		}
28358 		break;
28359 		}
28360 		{
28361 			NIM_BOOL T26_;
28362 			NIM_BOOL T27_;
28363 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
28364 			T26_ = (NIM_BOOL)0;
28365 			T27_ = (NIM_BOOL)0;
28366 			T27_ = eqeq___idents_220(ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
28367 			T26_ = !(T27_);
28368 			if (!(T26_)) goto LA28_;
28369 			T26_ = eqStrings((*ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
28370 			LA28_: ;
28371 			if (!T26_) goto LA29_;
28372 			b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
28373 			{
28374 				NI i;
28375 				NI colontmp_;
28376 				NI i_2;
28377 				i = (NI)0;
28378 				colontmp_ = (NI)0;
28379 				colontmp_ = len__ast_3198(n);
28380 				i_2 = ((NI) 1);
28381 				{
28382 					while (1) {
28383 						if (!(i_2 < colontmp_)) goto LA33;
28384 						i = i_2;
28385 						add__ast_4797(b, (*n)._kind_6.sons->data[i]);
28386 						i_2 += ((NI) 1);
28387 					} LA33: ;
28388 				}
28389 			}
28390 			result = semTypeNode__sem_80(c, b, prev);
28391 		}
28392 		goto LA24_;
28393 		LA29_: ;
28394 		{
28395 			NIM_BOOL T35_;
28396 			NIM_BOOL T36_;
28397 			T35_ = (NIM_BOOL)0;
28398 			T36_ = (NIM_BOOL)0;
28399 			T36_ = eqeq___idents_220(ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
28400 			T35_ = !(T36_);
28401 			if (!(T35_)) goto LA37_;
28402 			T35_ = ((*ident).id == ((NI) 71));
28403 			LA37_: ;
28404 			if (!T35_) goto LA38_;
28405 			result = semRangeAux__sem_3219(c, n, prev);
28406 		}
28407 		goto LA24_;
28408 		LA38_: ;
28409 		{
28410 			NIM_BOOL T41_;
28411 			NI T43_;
28412 			T41_ = (NIM_BOOL)0;
28413 			T41_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
28414 			if (!(T41_)) goto LA42_;
28415 			T43_ = (NI)0;
28416 			T43_ = len__ast_3198(n);
28417 			T41_ = (T43_ == ((NI) 2));
28418 			LA42_: ;
28419 			if (!T41_) goto LA44_;
28420 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28421 			{
28422 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
28423 				T48_ = NIM_NIL;
28424 				T48_ = skipTypes__ast_3735(result, TM__rF9caJawfOjYTjsgLVUSGFA_39);
28425 				if (!((*T48_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) && (*T48_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*T48_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*T48_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T48_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) && (*T48_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA49_;
28426 				{
28427 					if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)) goto LA53_;
28428 					result = freshType__sem_5619(c, result, prev);
28429 					(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17)) & 63));
28430 				}
28431 				LA53_: ;
28432 			}
28433 			goto LA46_;
28434 			LA49_: ;
28435 			{
28436 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_40), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_41, NIM_FALSE);
28437 			}
28438 			LA46_: ;
28439 		}
28440 		goto LA24_;
28441 		LA44_: ;
28442 		{
28443 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56)))) goto LA57_;
28444 			result = semTypeExpr__sem_5593(c, n, prev);
28445 		}
28446 		goto LA24_;
28447 		LA57_: ;
28448 		{
28449 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* op;
28450 			op = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
28451 			{
28452 				NIM_BOOL T62_;
28453 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t1;
28454 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
28455 				T62_ = (NIM_BOOL)0;
28456 				T62_ = ((*op).id == ((NI) 2) || (*op).id == ((NI) 47));
28457 				if (T62_) goto LA63_;
28458 				T62_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44));
28459 				LA63_: ;
28460 				if (!T62_) goto LA64_;
28461 				checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
28462 				t1 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28463 				t2 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28464 				{
28465 					if (!(t1 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA68_;
28466 					liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_45, NIM_FALSE);
28467 					result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28468 				}
28469 				goto LA66_;
28470 				LA68_: ;
28471 				{
28472 					if (!(t2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA71_;
28473 					liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 2)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_46, NIM_FALSE);
28474 					result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28475 				}
28476 				goto LA66_;
28477 				LA71_: ;
28478 				{
28479 					{
28480 						if (!((*op).id == ((NI) 2))) goto LA76_;
28481 						result = makeAndType__semdata_855(c, t1, t2);
28482 					}
28483 					goto LA74_;
28484 					LA76_: ;
28485 					{
28486 						result = makeOrType__semdata_890(c, t1, t2);
28487 					}
28488 					LA74_: ;
28489 				}
28490 				LA66_: ;
28491 			}
28492 			goto LA60_;
28493 			LA64_: ;
28494 			{
28495 				NI T82_;
28496 				if (!((*op).id == ((NI) 43))) goto LA80_;
28497 				T82_ = (NI)0;
28498 				T82_ = len__ast_3198(n);
28499 				switch (T82_) {
28500 				case ((NI) 3):
28501 				{
28502 					tyObject_TType__facALICuu8zUj0hjvbTLFg* resolvedType;
28503 					result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28504 					{
28505 						NIM_BOOL T86_;
28506 						T86_ = (NIM_BOOL)0;
28507 						T86_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28508 						if (!(T86_)) goto LA87_;
28509 						T86_ = !((((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
28510 						LA87_: ;
28511 						if (!T86_) goto LA88_;
28512 						result = base__types_63(result);
28513 					}
28514 					LA88_: ;
28515 					{
28516 						if (!!(((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA92_;
28517 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_47), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_48, NIM_FALSE);
28518 					}
28519 					LA92_: ;
28520 					{
28521 						NIM_BOOL T96_;
28522 						T96_ = (NIM_BOOL)0;
28523 						T96_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 5))&31U)))!=0));
28524 						if (!(T96_)) goto LA97_;
28525 						T96_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 14))&31U)))!=0));
28526 						LA97_: ;
28527 						if (!T96_) goto LA98_;
28528 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_49), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_50, NIM_FALSE);
28529 					}
28530 					LA98_: ;
28531 					resolvedType = skipTypes__ast_3735(result, TM__rF9caJawfOjYTjsgLVUSGFA_39);
28532 					switch ((*resolvedType).kind) {
28533 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
28534 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
28535 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
28536 					{
28537 						tyArray__jlWPjgtbdjE069arIWHC9c9bg T101_;
28538 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T102_;
28539 						nimZeroMem((void*)T101_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
28540 						T101_[0] = copyTree__ast_4431(n);
28541 						T102_ = NIM_NIL;
28542 						T102_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128), T101_, 1);
28543 						result = makeTypeFromExpr__semdata_804(c, T102_);
28544 					}
28545 					break;
28546 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
28547 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
28548 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
28549 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
28550 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
28551 					{
28552 						result = freshType__sem_5619(c, result, prev);
28553 						(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17)) & 63);
28554 					}
28555 					break;
28556 					default:
28557 					{
28558 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_40), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_51, NIM_FALSE);
28559 					}
28560 					break;
28561 					}
28562 				}
28563 				break;
28564 				case ((NI) 2):
28565 				{
28566 					tyObject_TType__facALICuu8zUj0hjvbTLFg* negated;
28567 					negated = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28568 					result = makeNotType__semdata_945(c, negated);
28569 				}
28570 				break;
28571 				default:
28572 				{
28573 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_40), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_52, NIM_FALSE);
28574 				}
28575 				break;
28576 				}
28577 			}
28578 			goto LA60_;
28579 			LA80_: ;
28580 			{
28581 				if (!((*op).id == ((NI) 50))) goto LA108_;
28582 				result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
28583 			}
28584 			goto LA60_;
28585 			LA108_: ;
28586 			{
28587 				if (!((*op).id == ((NI) 52))) goto LA111_;
28588 				result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
28589 			}
28590 			goto LA60_;
28591 			LA111_: ;
28592 			{
28593 				if (!((*op).id == ((NI) 60))) goto LA114_;
28594 				checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
28595 				result = semTypeOf__sem_5872(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28596 			}
28597 			goto LA60_;
28598 			LA114_: ;
28599 			{
28600 				NIM_BOOL T117_;
28601 				NIM_BOOL T118_;
28602 				T117_ = (NIM_BOOL)0;
28603 				T118_ = (NIM_BOOL)0;
28604 				T118_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_533));
28605 				if (!(T118_)) goto LA119_;
28606 				T118_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
28607 				LA119_: ;
28608 				T117_ = T118_;
28609 				if (!(T117_)) goto LA120_;
28610 				T117_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18));
28611 				LA120_: ;
28612 				if (!T117_) goto LA121_;
28613 				result = semTypeOf2__sem_5878(c, n, prev);
28614 			}
28615 			goto LA60_;
28616 			LA121_: ;
28617 			{
28618 				NIM_BOOL T124_;
28619 				NIM_BOOL T125_;
28620 				NI T128_;
28621 				T124_ = (NIM_BOOL)0;
28622 				T125_ = (NIM_BOOL)0;
28623 				T125_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535));
28624 				if (!(T125_)) goto LA126_;
28625 				T125_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0));
28626 				LA126_: ;
28627 				T124_ = T125_;
28628 				if (!(T124_)) goto LA127_;
28629 				T128_ = (NI)0;
28630 				T128_ = len__ast_3198(n);
28631 				T124_ = (T128_ == ((NI) 2));
28632 				LA127_: ;
28633 				if (!T124_) goto LA129_;
28634 				result = semTypeExpr__sem_5593(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28635 			}
28636 			goto LA60_;
28637 			LA129_: ;
28638 			{
28639 				{
28640 					NIM_BOOL T134_;
28641 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T138_;
28642 					T134_ = (NIM_BOOL)0;
28643 					T134_ = (((NI) 0) < (*c).inGenericContext);
28644 					if (!(T134_)) goto LA135_;
28645 					T134_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27));
28646 					LA135_: ;
28647 					if (!T134_) goto LA136_;
28648 					T138_ = NIM_NIL;
28649 					T138_ = copyTree__ast_4431(n);
28650 					result = makeTypeFromExpr__semdata_804(c, T138_);
28651 				}
28652 				goto LA132_;
28653 				LA136_: ;
28654 				{
28655 					result = semTypeExpr__sem_5593(c, n, prev);
28656 				}
28657 				LA132_: ;
28658 			}
28659 			LA60_: ;
28660 		}
28661 		LA24_: ;
28662 	}
28663 	break;
28664 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
28665 	{
28666 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* whenResult;
28667 		whenResult = semWhen__sem_515(c, n, NIM_FALSE);
28668 		{
28669 			if (!((*whenResult).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA143_;
28670 			transitionSonsKind__ast_4359(whenResult, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 128));
28671 		}
28672 		LA143_: ;
28673 		result = semTypeNode__sem_80(c, whenResult, prev);
28674 	}
28675 	break;
28676 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
28677 	{
28678 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* head;
28679 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
28680 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
28681 		head = (*n)._kind_6.sons->data[((NI) 0)];
28682 		{
28683 			if (!!(((*head).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*head).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*head).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*head).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*head).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*head).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*head).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32)))) goto LA148_;
28684 			s = semTypeIdent__sem_3474(c, head);
28685 		}
28686 		goto LA146_;
28687 		LA148_: ;
28688 		{
28689 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T151_;
28690 			T151_ = NIM_NIL;
28691 			T151_ = semExpr__sem_52(c, head, 0);
28692 			s = symFromExpectedTypeNode__sem_5854(c, T151_);
28693 		}
28694 		LA146_: ;
28695 		switch ((*s).magic) {
28696 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 159):
28697 		{
28698 			result = semArray__sem_3419(c, n, prev);
28699 		}
28700 		break;
28701 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 160):
28702 		{
28703 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_555), prev);
28704 		}
28705 		break;
28706 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 271):
28707 		{
28708 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_556), prev);
28709 		}
28710 		break;
28711 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 161):
28712 		{
28713 			result = semRange__sem_3307(c, n, prev);
28714 		}
28715 		break;
28716 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 162):
28717 		{
28718 			result = semSet__sem_3120(c, n, prev);
28719 		}
28720 		break;
28721 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 171):
28722 		{
28723 			result = semOrdinal__sem_3459(c, n, prev);
28724 		}
28725 		break;
28726 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 172):
28727 		{
28728 			result = semIterableType__sem_3449(c, n, prev);
28729 		}
28730 		break;
28731 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 163):
28732 		{
28733 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_574), prev);
28734 			{
28735 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA162_;
28736 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
28737 			}
28738 			LA162_: ;
28739 		}
28740 		break;
28741 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 164):
28742 		{
28743 			result = semVarargs__sem_3167(c, n, prev);
28744 		}
28745 		break;
28746 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 195):
28747 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17):
28748 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
28749 		{
28750 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T166_;
28751 			T166_ = NIM_NIL;
28752 			T166_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28753 			result = makeTypeDesc__concepts_49(c, T166_);
28754 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29)) & 63);
28755 		}
28756 		break;
28757 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24):
28758 		{
28759 			result = semStaticType__sem_128(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28760 		}
28761 		break;
28762 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 193):
28763 		{
28764 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28765 			{
28766 				tyObject_TType__facALICuu8zUj0hjvbTLFg* old;
28767 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T173_;
28768 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T174_;
28769 				if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA171_;
28770 				old = result;
28771 				T173_ = nextTypeId__ast_3151((*c).Sup.idgen);
28772 				T174_ = NIM_NIL;
28773 				T174_ = getCurrOwner__semdata_315(c);
28774 				result = copyType__ast_4046(result, T173_, T174_);
28775 				copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), result, old);
28776 				{
28777 					NI i_3;
28778 					NI colontmp__2;
28779 					NI i_4;
28780 					i_3 = (NI)0;
28781 					colontmp__2 = (NI)0;
28782 					colontmp__2 = len__ast_3198(n);
28783 					i_4 = ((NI) 1);
28784 					{
28785 						while (1) {
28786 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T178_;
28787 							if (!(i_4 < colontmp__2)) goto LA177;
28788 							i_3 = i_4;
28789 							T178_ = NIM_NIL;
28790 							T178_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[i_3], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28791 							rawAddSon__ast_4288(result, T178_, NIM_TRUE);
28792 							i_4 += ((NI) 1);
28793 						} LA177: ;
28794 					}
28795 				}
28796 			}
28797 			LA171_: ;
28798 		}
28799 		break;
28800 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 168):
28801 		{
28802 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T180_;
28803 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13), prev, c);
28804 			T180_ = NIM_NIL;
28805 			T180_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28806 			addSonSkipIntLit__magicsys_136(result, T180_, (*c).Sup.idgen);
28807 		}
28808 		break;
28809 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 167):
28810 		{
28811 			tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
28812 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23), prev, c);
28813 			base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28814 			{
28815 				if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA184_;
28816 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_577), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_578, NIM_FALSE);
28817 				base = (*base).sons->data[((NI) 0)];
28818 			}
28819 			LA184_: ;
28820 			addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
28821 		}
28822 		break;
28823 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 165):
28824 		{
28825 			result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
28826 		}
28827 		break;
28828 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 166):
28829 		{
28830 			result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
28831 		}
28832 		break;
28833 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 170):
28834 		{
28835 			result = semTuple__sem_3578(c, n, prev);
28836 		}
28837 		break;
28838 		default:
28839 		{
28840 			result = semGeneric__sem_5453(c, n, s, prev);
28841 		}
28842 		break;
28843 		}
28844 	}
28845 	break;
28846 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
28847 	{
28848 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeExpr;
28849 		typeExpr = semExpr__sem_52(c, n, 0);
28850 		{
28851 			if (!((*typeExpr).typ == 0)) goto LA193_;
28852 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_598), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_599, NIM_FALSE);
28853 			result = errorType__semdata_1002(c);
28854 		}
28855 		goto LA191_;
28856 		LA193_: ;
28857 		{
28858 			if (!((*(*typeExpr).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA196_;
28859 			result = (*typeExpr).typ;
28860 		}
28861 		goto LA191_;
28862 		LA196_: ;
28863 		{
28864 			if (!!(((*(*typeExpr).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA199_;
28865 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_600, NIM_FALSE);
28866 			result = errorType__semdata_1002(c);
28867 		}
28868 		goto LA191_;
28869 		LA199_: ;
28870 		{
28871 			result = base__types_63((*typeExpr).typ);
28872 			{
28873 				NIM_BOOL T204_;
28874 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* preprocessed;
28875 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T208_;
28876 				T204_ = (NIM_BOOL)0;
28877 				T204_ = isMetaType__ast_3495(result);
28878 				if (!(T204_)) goto LA205_;
28879 				T204_ = !(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52)));
28880 				LA205_: ;
28881 				if (!T204_) goto LA206_;
28882 				preprocessed = semGenericStmt__sem_2885(c, n);
28883 				T208_ = NIM_NIL;
28884 				T208_ = copyTree__ast_4431(preprocessed);
28885 				result = makeTypeFromExpr__semdata_804(c, T208_);
28886 			}
28887 			goto LA202_;
28888 			LA206_: ;
28889 			{
28890 				tyObject_TType__facALICuu8zUj0hjvbTLFg* alias;
28891 				alias = maybeAliasType__sem_5571(c, result, prev);
28892 				{
28893 					if (!!((alias == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA212_;
28894 					result = alias;
28895 				}
28896 				LA212_: ;
28897 			}
28898 			LA202_: ;
28899 		}
28900 		LA191_: ;
28901 	}
28902 	break;
28903 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28904 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
28905 	{
28906 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
28907 		s_2 = semTypeIdent__sem_3474(c, n);
28908 		{
28909 			if (!((*s_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA217_;
28910 			{
28911 				if (!!(((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA221_;
28912 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_601, NIM_FALSE);
28913 			}
28914 			LA221_: ;
28915 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28916 		}
28917 		goto LA215_;
28918 		LA217_: ;
28919 		{
28920 			NIM_BOOL T224_;
28921 			T224_ = (NIM_BOOL)0;
28922 			T224_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
28923 			if (!(T224_)) goto LA225_;
28924 			T224_ = ((*(*s_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28925 			LA225_: ;
28926 			if (!T224_) goto LA226_;
28927 			{
28928 				NIM_BOOL T230_;
28929 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T231_;
28930 				NimStringDesc* argX60gensym1486_;
28931 				T230_ = (NIM_BOOL)0;
28932 				T231_ = NIM_NIL;
28933 				T231_ = base__types_63((*s_2).typ);
28934 				T230_ = !(((*T231_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
28935 				if (!(T230_)) goto LA232_;
28936 				T230_ = (prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28937 				LA232_: ;
28938 				if (!!(T230_)) goto LA233_;
28939 				argX60gensym1486_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_602);
28940 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1486_, TM__rF9caJawfOjYTjsgLVUSGFA_602);
28941 			}
28942 			LA233_: ;
28943 			result = base__types_63((*s_2).typ);
28944 		}
28945 		goto LA215_;
28946 		LA226_: ;
28947 		{
28948 			if (!(prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA236_;
28949 			result = (*s_2).typ;
28950 		}
28951 		goto LA215_;
28952 		LA236_: ;
28953 		{
28954 			tyObject_TType__facALICuu8zUj0hjvbTLFg* alias_2;
28955 			alias_2 = maybeAliasType__sem_5571(c, (*s_2).typ, prev);
28956 			{
28957 				if (!!((alias_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA241_;
28958 				result = alias_2;
28959 			}
28960 			goto LA239_;
28961 			LA241_: ;
28962 			{
28963 				assignType__ast_3976(prev, (*s_2).typ);
28964 				{
28965 					if (!!(((*(*s_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*(*s_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*(*s_2).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*(*s_2).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*(*s_2).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*(*s_2).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*(*s_2).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*(*s_2).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44)))) goto LA246_;
28966 					(*prev).Sup.itemId = (*(*s_2).typ).Sup.itemId;
28967 				}
28968 				LA246_: ;
28969 				result = prev;
28970 			}
28971 			LA239_: ;
28972 		}
28973 		LA215_: ;
28974 	}
28975 	break;
28976 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28977 	{
28978 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_3;
28979 		s_3 = getGenSym__semdata_408(c, (*n)._kind_4.sym);
28980 		{
28981 			NIM_BOOL T251_;
28982 			NIM_BOOL T253_;
28983 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
28984 			tyObject_TType__facALICuu8zUj0hjvbTLFg* alias_3;
28985 			T251_ = (NIM_BOOL)0;
28986 			T251_ = !(((*s_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
28987 			if (!(T251_)) goto LA252_;
28988 			T253_ = (NIM_BOOL)0;
28989 			T253_ = ((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
28990 			if (T253_) goto LA254_;
28991 			T253_ = ((*(*s_3).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28992 			LA254_: ;
28993 			T251_ = T253_;
28994 			LA252_: ;
28995 			if (!T251_) goto LA255_;
28996 			{
28997 				if (!((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7))) goto LA259_;
28998 				t = (*s_3).typ;
28999 			}
29000 			goto LA257_;
29001 			LA259_: ;
29002 			{
29003 				{
29004 					NIM_BOOL T264_;
29005 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T265_;
29006 					NimStringDesc* argX60gensym1493_;
29007 					T264_ = (NIM_BOOL)0;
29008 					T265_ = NIM_NIL;
29009 					T265_ = base__types_63((*s_3).typ);
29010 					T264_ = !(((*T265_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
29011 					if (!(T264_)) goto LA266_;
29012 					T264_ = (prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
29013 					LA266_: ;
29014 					if (!!(T264_)) goto LA267_;
29015 					argX60gensym1493_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_603);
29016 					internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1493_, TM__rF9caJawfOjYTjsgLVUSGFA_603);
29017 				}
29018 				LA267_: ;
29019 				t = base__types_63((*s_3).typ);
29020 			}
29021 			LA257_: ;
29022 			alias_3 = maybeAliasType__sem_5571(c, t, prev);
29023 			{
29024 				if (!!((alias_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA271_;
29025 				result = alias_3;
29026 			}
29027 			goto LA269_;
29028 			LA271_: ;
29029 			{
29030 				if (!(prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA274_;
29031 				result = t;
29032 			}
29033 			goto LA269_;
29034 			LA274_: ;
29035 			{
29036 				assignType__ast_3976(prev, t);
29037 				result = prev;
29038 			}
29039 			LA269_: ;
29040 			markUsed__sigmatch_85(c, (*n).info, (*n)._kind_4.sym);
29041 		}
29042 		goto LA249_;
29043 		LA255_: ;
29044 		{
29045 			{
29046 				if (!!(((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA280_;
29047 				{
29048 					tyArray__nHXaesL0DJZHyVS07ARPRA T286_;
29049 					NimStringDesc* T287_;
29050 					if (!((*s_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA284_;
29051 					nimZeroMem((void*)T286_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
29052 					T286_[0] = copyString((*(*s_3).name).s);
29053 					T287_ = NIM_NIL;
29054 					T287_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_604), T286_, 1);
29055 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T287_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_605, NIM_FALSE);
29056 				}
29057 				goto LA282_;
29058 				LA284_: ;
29059 				{
29060 					tyArray__Re75IspeoxXy2oCZHwcRrA T289_;
29061 					NimStringDesc* T290_;
29062 					nimZeroMem((void*)T289_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
29063 					T289_[0] = copyString((*(*s_3).name).s);
29064 					T289_[1] = toHumanStr__ast_5158((*s_3).kind);
29065 					T290_ = NIM_NIL;
29066 					T290_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_606), T289_, 2);
29067 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T290_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_607, NIM_FALSE);
29068 				}
29069 				LA282_: ;
29070 			}
29071 			LA280_: ;
29072 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
29073 		}
29074 		LA249_: ;
29075 	}
29076 	break;
29077 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
29078 	{
29079 		result = semObjectNode__sem_4464(c, n, prev, 0);
29080 	}
29081 	break;
29082 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
29083 	{
29084 		result = semTuple__sem_3578(c, n, prev);
29085 	}
29086 	break;
29087 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
29088 	{
29089 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
29090 	}
29091 	break;
29092 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 136):
29093 	{
29094 		result = semTypeClass__sem_5629(c, n, prev);
29095 	}
29096 	break;
29097 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
29098 	{
29099 		result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
29100 	}
29101 	break;
29102 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
29103 	{
29104 		result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
29105 	}
29106 	break;
29107 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
29108 	{
29109 		result = semVarOutType__sem_3185(c, n, prev, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
29110 	}
29111 	break;
29112 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146):
29113 	{
29114 		result = semDistinct__sem_3206(c, n, prev);
29115 	}
29116 	break;
29117 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
29118 	{
29119 		result = semStaticType__sem_128(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
29120 	}
29121 	break;
29122 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 148):
29123 	{
29124 		{
29125 			NI T303_;
29126 			tyObject_TType__facALICuu8zUj0hjvbTLFg* child;
29127 			T303_ = (NI)0;
29128 			T303_ = len__ast_3198(n);
29129 			if (!(T303_ == ((NI) 0))) goto LA304_;
29130 			result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51), c);
29131 			child = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25), c);
29132 			(*child).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
29133 			addSonSkipIntLit__magicsys_136(result, child, (*c).Sup.idgen);
29134 		}
29135 		goto LA301_;
29136 		LA304_: ;
29137 		{
29138 			result = semProcTypeWithScope__sem_5803(c, n, prev, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
29139 			{
29140 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA309_;
29141 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
29142 				{
29143 					NIM_BOOL T313_;
29144 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T314_;
29145 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T316_;
29146 					T313_ = (NIM_BOOL)0;
29147 					T314_ = NIM_NIL;
29148 					T314_ = lastSon__ast_4832(n);
29149 					T313_ = ((*T314_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
29150 					if (!(T313_)) goto LA315_;
29151 					T316_ = NIM_NIL;
29152 					T316_ = lastSon__ast_4832(n);
29153 					T313_ = hasPragma__pragmas_2498(T316_, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 147));
29154 					LA315_: ;
29155 					if (!T313_) goto LA317_;
29156 					(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
29157 				}
29158 				goto LA311_;
29159 				LA317_: ;
29160 				{
29161 					(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
29162 				}
29163 				LA311_: ;
29164 			}
29165 			LA309_: ;
29166 		}
29167 		LA301_: ;
29168 	}
29169 	break;
29170 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147):
29171 	{
29172 		{
29173 			NI T323_;
29174 			T323_ = (NI)0;
29175 			T323_ = len__ast_3198(n);
29176 			if (!(T323_ == ((NI) 0))) goto LA324_;
29177 			result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
29178 		}
29179 		goto LA321_;
29180 		LA324_: ;
29181 		{
29182 			result = semProcTypeWithScope__sem_5803(c, n, prev, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
29183 		}
29184 		LA321_: ;
29185 	}
29186 	break;
29187 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
29188 	{
29189 		result = semEnum__sem_2937(c, n, prev);
29190 	}
29191 	break;
29192 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
29193 	{
29194 		result = (*n).typ;
29195 	}
29196 	break;
29197 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128):
29198 	{
29199 		result = semStmtListType__sem_5374(c, n, prev);
29200 	}
29201 	break;
29202 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 129):
29203 	{
29204 		result = semBlockType__sem_5402(c, n, prev);
29205 	}
29206 	break;
29207 	default:
29208 	{
29209 		NimStringDesc* T332_;
29210 		NimStringDesc* T333_;
29211 		T332_ = NIM_NIL;
29212 		T333_ = NIM_NIL;
29213 		T333_ = renderTree__renderer_46(n, 0);
29214 		T332_ = rawNewString((T333_ ? T333_->Sup.len : 0) + 24);
29215 appendString(T332_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_625));
29216 appendString(T332_, T333_);
29217 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T332_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_626, NIM_FALSE);
29218 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
29219 	}
29220 	break;
29221 	}
29222 	asgnRef((void**) (&(*n).typ), result);
29223 	(*c).inTypeContext -= ((NI) 1);
29224 	return result;
29225 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAfterMacroCall__sem_2787)29226 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAfterMacroCall__sem_2787)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroResult, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
29227 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29228 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
29229 	NI T6_;
29230 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T53_;
29231 	result = NIM_NIL;
29232 	(*(*(*c).graph).config).evalTemplateCounter += ((NI) 1);
29233 	{
29234 		if (!(((NI) 1000) < (*(*(*c).graph).config).evalTemplateCounter)) goto LA3_;
29235 		liMessage__msgs_1118((*(*c).graph).config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_14), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_15, NIM_FALSE);
29236 	}
29237 	LA3_: ;
29238 	T5_ = NIM_NIL;
29239 	T5_ = getModule__astalgo_216((*s).owner);
29240 	asgnRef((void**) (&(*c).friendModules), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).friendModules), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
29241 	T6_ = (*c).friendModules->Sup.len++;
29242 	asgnRef((void**) (&(*c).friendModules->data[T6_]), T5_);
29243 	result = macroResult;
29244 	resetSemFlag__sem_2771(result);
29245 	{
29246 		if (!((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA9_;
29247 		result = semStmt__sem_84(c, result, flags);
29248 	}
29249 	goto LA7_;
29250 	LA9_: ;
29251 	{
29252 		tyObject_TType__facALICuu8zUj0hjvbTLFg* retType;
29253 		retType = (*(*s).typ).sons->data[((NI) 0)];
29254 		{
29255 			NIM_BOOL T14_;
29256 			NIM_BOOL T15_;
29257 			NI T18_;
29258 			T14_ = (NIM_BOOL)0;
29259 			T15_ = (NIM_BOOL)0;
29260 			T15_ = ((*retType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
29261 			if (!(T15_)) goto LA16_;
29262 			T15_ = (((*retType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
29263 			LA16_: ;
29264 			T14_ = T15_;
29265 			if (!(T14_)) goto LA17_;
29266 			T18_ = (NI)0;
29267 			T18_ = len__ast_4002(retType);
29268 			T14_ = (T18_ == ((NI) 1));
29269 			LA17_: ;
29270 			if (!T14_) goto LA19_;
29271 			retType = (*retType).sons->data[((NI) 0)];
29272 		}
29273 		LA19_: ;
29274 		switch ((*retType).kind) {
29275 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
29276 		{
29277 			result = semExpr__sem_52(c, result, flags);
29278 		}
29279 		break;
29280 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
29281 		{
29282 			result = semExprWithType__sem_56(c, result, flags);
29283 		}
29284 		break;
29285 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
29286 		{
29287 			tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
29288 			{
29289 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA26_;
29290 				transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 128));
29291 			}
29292 			LA26_: ;
29293 			typ = semTypeNode__sem_80(c, result, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
29294 			{
29295 				NimStringDesc* T32_;
29296 				NimStringDesc* T33_;
29297 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T34_;
29298 				if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA30_;
29299 				T32_ = NIM_NIL;
29300 				T33_ = NIM_NIL;
29301 				T33_ = renderTree__renderer_46(result, 4);
29302 				T32_ = rawNewString((T33_ ? T33_->Sup.len : 0) + 24);
29303 appendString(T32_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_68));
29304 appendString(T32_, T33_);
29305 				liMessage__msgs_1118((*(*c).graph).config, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_627, NIM_FALSE);
29306 				T34_ = NIM_NIL;
29307 				T34_ = errorSym__lookups_506(c, result);
29308 				result = newSymNode__ast_3716(T34_);
29309 			}
29310 			goto LA28_;
29311 			LA30_: ;
29312 			{
29313 				asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
29314 			}
29315 			LA28_: ;
29316 		}
29317 		break;
29318 		default:
29319 		{
29320 			{
29321 				NIM_BOOL T39_;
29322 				tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q paramTypes;
29323 				T39_ = (NIM_BOOL)0;
29324 				T39_ = !(((*(*s).ast)._kind_6.sons->data[((NI) 2)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29325 				if (!(T39_)) goto LA40_;
29326 				T39_ = isMetaType__ast_3495(retType);
29327 				LA40_: ;
29328 				if (!T39_) goto LA41_;
29329 				nimZeroMem((void*)(&paramTypes), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
29330 				newIdTable__ast_4102((&paramTypes));
29331 				{
29332 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
29333 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
29334 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
29335 					param = NIM_NIL;
29336 					value = NIM_NIL;
29337 					gp = (*(*s).ast)._kind_6.sons->data[((NI) 2)];
29338 					{
29339 						NI i;
29340 						NI colontmp_;
29341 						NI i_2;
29342 						i = (NI)0;
29343 						colontmp_ = (NI)0;
29344 						colontmp_ = len__ast_3198(gp);
29345 						i_2 = ((NI) 0);
29346 						{
29347 							while (1) {
29348 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericParam;
29349 								NI posInCall;
29350 								NI T47_;
29351 								if (!(i_2 < colontmp_)) goto LA46;
29352 								i = i_2;
29353 								genericParam = (*(*gp)._kind_6.sons->data[i])._kind_4.sym;
29354 								T47_ = (NI)0;
29355 								T47_ = len__ast_4002((*s).typ);
29356 								posInCall = (NI)(T47_ + i);
29357 								{
29358 									NI T50_;
29359 									T50_ = (NI)0;
29360 									T50_ = len__ast_3198(call);
29361 									if (!(posInCall < T50_)) goto LA51_;
29362 									param = genericParam;
29363 									value = (*call)._kind_6.sons->data[posInCall];
29364 									idTablePut__astalgo_70((&paramTypes), (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*param).typ)))), (*((RootObj**) (&((*value).typ)))));
29365 								}
29366 								LA51_: ;
29367 								i_2 += ((NI) 1);
29368 							} LA46: ;
29369 						}
29370 					}
29371 				}
29372 				retType = generateTypeInstance__semtypinst_1050(c, paramTypes, (*macroResult).info, retType);
29373 			}
29374 			LA41_: ;
29375 			result = semExpr__sem_52(c, result, flags);
29376 			result = fitNode__sem_70(c, retType, result, (*result).info);
29377 		}
29378 		break;
29379 		}
29380 	}
29381 	LA7_: ;
29382 	(*(*(*c).graph).config).evalTemplateCounter -= ((NI) 1);
29383 	T53_ = NIM_NIL;
29384 	T53_ = pop__icZic_2460((&(*c).friendModules));
29385 	(void)(T53_);
29386 	return result;
29387 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMacroExpr__sem_524)29388 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMacroExpr__sem_524)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
29389 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29390 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
29391 	NI genericParams;
29392 	NI suppliedParams;
29393 	NI T6_;
29394 	result = NIM_NIL;
29395 	rememberExpansion__semdata_3656(c, (*nOrig).info, sym);
29396 	pushInfoContext__msgs_490((*(*c).graph).config, (*nOrig).info, (*(*sym).name).s);
29397 	info = getCallLineInfo__sem_2390(n);
29398 	markUsed__sigmatch_85(c, info, sym);
29399 	{
29400 		NimStringDesc* T5_;
29401 		if (!(sym == (*(*c).p).owner)) goto LA3_;
29402 		T5_ = NIM_NIL;
29403 		T5_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), (*(*sym).name).s);
29404 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_11, NIM_FALSE);
29405 	}
29406 	LA3_: ;
29407 	genericParams = len__ast_3198((*(*sym).ast)._kind_6.sons->data[((NI) 2)]);
29408 	T6_ = (NI)0;
29409 	T6_ = safeLen__ast_3191(n);
29410 	suppliedParams = (((NI)(T6_ - ((NI) 1)) >= ((NI) 0)) ? (NI)(T6_ - ((NI) 1)) : ((NI) 0));
29411 	{
29412 		NimStringDesc* T11_;
29413 		NimStringDesc* T12_;
29414 		if (!(suppliedParams < genericParams)) goto LA9_;
29415 		T11_ = NIM_NIL;
29416 		T11_ = renderTree__renderer_46(n, 0);
29417 		T12_ = NIM_NIL;
29418 		T12_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_12), T11_);
29419 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T12_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_13, NIM_FALSE);
29420 	}
29421 	LA9_: ;
29422 	result = evalMacroCall__vm_13857((*c).module, (*c).Sup.idgen, (*c).graph, (*c).templInstCounter, n, nOrig, sym);
29423 	{
29424 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&31U)))!=0))) goto LA15_;
29425 		result = semAfterMacroCall__sem_2787(c, n, result, sym, flags);
29426 	}
29427 	LA15_: ;
29428 	{
29429 		NIM_BOOL T19_;
29430 		NimStringDesc* T22_;
29431 		T19_ = (NIM_BOOL)0;
29432 		T19_ = nsthasKey((*(*(*c).graph).config).macrosToExpand, (*(*sym).name).s);
29433 		if (!T19_) goto LA20_;
29434 		T22_ = NIM_NIL;
29435 		T22_ = renderTree__renderer_46(result, 0);
29436 		liMessage__msgs_1118((*(*c).graph).config, (*nOrig).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 97), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_628, NIM_FALSE);
29437 	}
29438 	LA20_: ;
29439 	result = wrapInComesFrom__evaltempl_260((*nOrig).info, sym, result);
29440 	popInfoContext__msgs_507((*(*c).graph).config);
29441 	return result;
29442 }
N_INLINE(NIM_BOOL,hasWarn__options_557)29443 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note) {
29444 	NIM_BOOL result;
29445 	NIM_BOOL T1_;
29446 	result = (NIM_BOOL)0;
29447 	T1_ = (NIM_BOOL)0;
29448 	T1_ = (((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 13))&31U)))!=0);
29449 	if (!(T1_)) goto LA2_;
29450 	T1_ = (((*conf).notes[(NU)((note- 16))>>3] &(1U<<((NU)((note- 16))&7U)))!=0);
29451 	LA2_: ;
29452 	result = T1_;
29453 	return result;
29454 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSym__sem_16966)29455 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSym__sem_16966)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
29456 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29457 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
29458 {	result = NIM_NIL;
29459 	s = getGenSym__semdata_408(c, sym);
29460 	switch ((*s).kind) {
29461 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
29462 	{
29463 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
29464 		markUsed__sigmatch_85(c, (*n).info, s);
29465 		typ = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
29466 		switch ((*typ).kind) {
29467 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
29468 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
29469 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
29470 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
29471 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
29472 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
29473 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
29474 		{
29475 			{
29476 				if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA5_;
29477 				result = inlineConst__sem_14003(c, n, s);
29478 			}
29479 			goto LA3_;
29480 			LA5_: ;
29481 			{
29482 				result = newSymNode__ast_3719(s, (*n).info);
29483 			}
29484 			LA3_: ;
29485 		}
29486 		break;
29487 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
29488 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
29489 		{
29490 			{
29491 				NI T11_;
29492 				T11_ = (NI)0;
29493 				T11_ = safeLen__ast_3191((*s).ast);
29494 				if (!(T11_ == ((NI) 0))) goto LA12_;
29495 				result = inlineConst__sem_14003(c, n, s);
29496 			}
29497 			goto LA9_;
29498 			LA12_: ;
29499 			{
29500 				result = newSymNode__ast_3719(s, (*n).info);
29501 			}
29502 			LA9_: ;
29503 		}
29504 		break;
29505 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
29506 		{
29507 			{
29508 				if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
29509 				result = (*typ).n;
29510 				asgnRef((void**) (&(*result).typ), base__types_63(typ));
29511 			}
29512 			goto LA16_;
29513 			LA18_: ;
29514 			{
29515 				result = newSymNode__ast_3719(s, (*n).info);
29516 			}
29517 			LA16_: ;
29518 		}
29519 		break;
29520 		default:
29521 		{
29522 			result = newSymNode__ast_3719(s, (*n).info);
29523 		}
29524 		break;
29525 		}
29526 	}
29527 	break;
29528 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
29529 	{
29530 		{
29531 			NIM_BOOL T25_;
29532 			NIM_BOOL T26_;
29533 			NI T28_;
29534 			NIM_BOOL T30_;
29535 			NI T32_;
29536 			T25_ = (NIM_BOOL)0;
29537 			T26_ = (NIM_BOOL)0;
29538 			T26_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0);
29539 			if (!(T26_)) goto LA27_;
29540 			T28_ = (NI)0;
29541 			T28_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 2)]);
29542 			T26_ = (((NI) 0) < T28_);
29543 			LA27_: ;
29544 			T25_ = T26_;
29545 			if (T25_) goto LA29_;
29546 			T30_ = (NIM_BOOL)0;
29547 			T30_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32)));
29548 			if (!(T30_)) goto LA31_;
29549 			T32_ = (NI)0;
29550 			T32_ = requiredParams__ast_4714(s);
29551 			T30_ = (((NI) 0) < T32_);
29552 			LA31_: ;
29553 			T25_ = T30_;
29554 			LA29_: ;
29555 			if (!T25_) goto LA33_;
29556 			markUsed__sigmatch_85(c, (*n).info, s);
29557 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
29558 		}
29559 		goto LA23_;
29560 		LA33_: ;
29561 		{
29562 			result = semMacroExpr__sem_524(c, n, n, s, flags);
29563 		}
29564 		LA23_: ;
29565 	}
29566 	break;
29567 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
29568 	{
29569 		{
29570 			NIM_BOOL T39_;
29571 			NIM_BOOL T40_;
29572 			NIM_BOOL T41_;
29573 			NI T43_;
29574 			NIM_BOOL T45_;
29575 			NI T47_;
29576 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
29577 			T39_ = (NIM_BOOL)0;
29578 			T40_ = (NIM_BOOL)0;
29579 			T41_ = (NIM_BOOL)0;
29580 			T41_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0);
29581 			if (!(T41_)) goto LA42_;
29582 			T43_ = (NI)0;
29583 			T43_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 2)]);
29584 			T41_ = (((NI) 0) < T43_);
29585 			LA42_: ;
29586 			T40_ = T41_;
29587 			if (T40_) goto LA44_;
29588 			T45_ = (NIM_BOOL)0;
29589 			T45_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32)));
29590 			if (!(T45_)) goto LA46_;
29591 			T47_ = (NI)0;
29592 			T47_ = requiredParams__ast_4714(s);
29593 			T45_ = (((NI) 0) < T47_);
29594 			LA46_: ;
29595 			T40_ = T45_;
29596 			LA44_: ;
29597 			T39_ = T40_;
29598 			if (T39_) goto LA48_;
29599 			T39_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
29600 			LA48_: ;
29601 			if (!T39_) goto LA49_;
29602 			info = getCallLineInfo__sem_2390(n);
29603 			markUsed__sigmatch_85(c, info, s);
29604 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
29605 		}
29606 		goto LA37_;
29607 		LA49_: ;
29608 		{
29609 			result = semTemplateExpr__sem_519(c, n, s, flags);
29610 		}
29611 		LA37_: ;
29612 	}
29613 	break;
29614 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
29615 	{
29616 		markUsed__sigmatch_85(c, (*n).info, s);
29617 		{
29618 			NIM_BOOL T55_;
29619 			NIM_BOOL T56_;
29620 			T55_ = (NIM_BOOL)0;
29621 			T56_ = (NIM_BOOL)0;
29622 			T56_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
29623 			if (!(T56_)) goto LA57_;
29624 			T56_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
29625 			LA57_: ;
29626 			T55_ = T56_;
29627 			if (!(T55_)) goto LA58_;
29628 			T55_ = !(((*(*s).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29629 			LA58_: ;
29630 			if (!T55_) goto LA59_;
29631 			result = (*(*s).typ).n;
29632 			goto BeforeRet_;
29633 		}
29634 		goto LA53_;
29635 		LA59_: ;
29636 		{
29637 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA62_;
29638 			{
29639 				NimStringDesc* argX60gensym4436_;
29640 				if (!!(!(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA66_;
29641 				argX60gensym4436_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_629);
29642 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4436_, TM__rF9caJawfOjYTjsgLVUSGFA_629);
29643 			}
29644 			LA66_: ;
29645 		}
29646 		goto LA53_;
29647 		LA62_: ;
29648 		LA53_: ;
29649 		result = newSymNode__ast_3719(s, (*n).info);
29650 	}
29651 	break;
29652 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
29653 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
29654 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
29655 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
29656 	{
29657 		{
29658 			if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263))) goto LA71_;
29659 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_630), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_631, NIM_FALSE);
29660 		}
29661 		LA71_: ;
29662 		markUsed__sigmatch_85(c, (*n).info, s);
29663 		result = newSymNode__ast_3719(s, (*n).info);
29664 		{
29665 			NIM_BOOL T75_;
29666 			T75_ = (NIM_BOOL)0;
29667 			T75_ = hasWarn__options_557((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 59));
29668 			if (!T75_) goto LA76_;
29669 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 59), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_632, NIM_FALSE);
29670 		}
29671 		LA76_: ;
29672 	}
29673 	break;
29674 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
29675 	{
29676 		{
29677 			if (!((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA81_;
29678 			result = newSymNode__ast_3719(s, (*n).info);
29679 			asgnRef((void**) (&(*result).typ), (*s).typ);
29680 		}
29681 		goto LA79_;
29682 		LA81_: ;
29683 		{
29684 			if (!!(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA84_;
29685 			result = semExpr__sem_52(c, (*s).ast, 0);
29686 		}
29687 		goto LA79_;
29688 		LA84_: ;
29689 		{
29690 			asgnRef((void**) (&(*n).typ), (*s).typ);
29691 			result = n;
29692 			goto BeforeRet_;
29693 		}
29694 		LA79_: ;
29695 	}
29696 	break;
29697 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
29698 	{
29699 		markUsed__sigmatch_85(c, (*n).info, s);
29700 		{
29701 			NIM_BOOL T90_;
29702 			NIM_BOOL T91_;
29703 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T93_;
29704 			T90_ = (NIM_BOOL)0;
29705 			T91_ = (NIM_BOOL)0;
29706 			T91_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
29707 			if (!(T91_)) goto LA92_;
29708 			T93_ = NIM_NIL;
29709 			T93_ = base__types_63((*s).typ);
29710 			T91_ = !(((*T93_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
29711 			LA92_: ;
29712 			T90_ = T91_;
29713 			if (!(T90_)) goto LA94_;
29714 			T90_ = !(((*(*s).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29715 			LA94_: ;
29716 			if (!T90_) goto LA95_;
29717 			result = (*(*s).typ).n;
29718 			goto BeforeRet_;
29719 		}
29720 		LA95_: ;
29721 		result = newSymNode__ast_3719(s, (*n).info);
29722 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, (*s).typ));
29723 	}
29724 	break;
29725 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19):
29726 	{
29727 		tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
29728 		p = (*c).p;
29729 		{
29730 			while (1) {
29731 				NIM_BOOL T100_;
29732 				T100_ = (NIM_BOOL)0;
29733 				T100_ = !((p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
29734 				if (!(T100_)) goto LA101_;
29735 				T100_ = ((*p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
29736 				LA101_: ;
29737 				if (!T100_) goto LA99;
29738 				p = (*p).next;
29739 			} LA99: ;
29740 		}
29741 		{
29742 			NIM_BOOL T104_;
29743 			tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
29744 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
29745 			T104_ = (NIM_BOOL)0;
29746 			T104_ = !((p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
29747 			if (!(T104_)) goto LA105_;
29748 			T104_ = !(((*p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29749 			LA105_: ;
29750 			if (!T104_) goto LA106_;
29751 			ty = skipTypes__ast_3735((*(*p).selfSym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_633);
29752 			{
29753 				while (1) {
29754 					if (!(((*ty).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32))&63U)))!=0)) goto LA109;
29755 					ty = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_107);
29756 				} LA109: ;
29757 			}
29758 			check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
29759 			{
29760 				if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA112_;
29761 				{
29762 					while (1) {
29763 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
29764 						check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
29765 						f = lookupInRecordAndBuildCheck__sem_16768(c, n, (*ty).n, (*s).name, &check);
29766 						{
29767 							NIM_BOOL T118_;
29768 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
29769 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T127_;
29770 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T128_;
29771 							T118_ = (NIM_BOOL)0;
29772 							T118_ = !((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29773 							if (!(T118_)) goto LA119_;
29774 							T118_ = fieldVisible__sigmatch_4944(c, f);
29775 							LA119_: ;
29776 							if (!T118_) goto LA120_;
29777 							{
29778 								if (!!((f == s))) goto LA124_;
29779 								failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_634));
29780 							}
29781 							LA124_: ;
29782 							markUsed__sigmatch_85(c, (*n).info, f);
29783 							result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info, (*f).typ);
29784 							T126_ = NIM_NIL;
29785 							T126_ = newSymNode__ast_3716((*p).selfSym);
29786 							T127_ = NIM_NIL;
29787 							T127_ = makeDeref__sem_9872(T126_);
29788 							add__ast_4797(result, T127_);
29789 							T128_ = NIM_NIL;
29790 							T128_ = newSymNode__ast_3716(f);
29791 							add__ast_4797(result, T128_);
29792 							{
29793 								if (!!((check == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA131_;
29794 								asgnRef((void**) (&(*check)._kind_6.sons->data[((NI) 0)]), result);
29795 								asgnRef((void**) (&(*check).typ), (*result).typ);
29796 								result = check;
29797 							}
29798 							LA131_: ;
29799 							goto BeforeRet_;
29800 						}
29801 						LA120_: ;
29802 						{
29803 							if (!((*ty).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA135_;
29804 							goto LA114;
29805 						}
29806 						LA135_: ;
29807 						ty = skipTypes__ast_3735((*ty).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
29808 					}
29809 				} LA114: ;
29810 			}
29811 			LA112_: ;
29812 		}
29813 		LA106_: ;
29814 		markUsed__sigmatch_85(c, (*n).info, s);
29815 		result = newSymNode__ast_3719(s, (*n).info);
29816 	}
29817 	break;
29818 	default:
29819 	{
29820 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info_2;
29821 		info_2 = getCallLineInfo__sem_2390(n);
29822 		markUsed__sigmatch_85(c, info_2, s);
29823 		result = newSymNode__ast_3719(s, info_2);
29824 	}
29825 	break;
29826 	}
29827 	}BeforeRet_: ;
29828 	return result;
29829 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getNilType__sem_20188)29830 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getNilType__sem_20188)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
29831 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
29832 	result = NIM_NIL;
29833 	result = (*c).nilTypeCache;
29834 	{
29835 		if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
29836 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5), c);
29837 		(*result).size = ((NI64) ((*(*(*c).graph).config).target.ptrSize));
29838 		(*result).align = ((NI16) ((*(*(*c).graph).config).target.ptrSize));
29839 		asgnRef((void**) (&(*c).nilTypeCache), result);
29840 	}
29841 	LA3_: ;
29842 	return result;
29843 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFieldAccess__sem_13894)29844 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFieldAccess__sem_13894)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
29845 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29846 	result = NIM_NIL;
29847 	result = builtinFieldAccess__sem_17178(c, n, flags);
29848 	{
29849 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
29850 		result = dotTransformation__sem_17303(c, n);
29851 	}
29852 	LA3_: ;
29853 	return result;
29854 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStaticExpr__sem_125)29855 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticExpr__sem_125)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
29856 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29857 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
29858 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
29859 {	result = NIM_NIL;
29860 	(*c).inStaticContext += ((NI) 1);
29861 	T1_ = NIM_NIL;
29862 	T1_ = openScope__lookups_69(c);
29863 	a = semExprWithType__sem_56(c, n, 0);
29864 	closeScope__lookups_101(c);
29865 	(*c).inStaticContext -= ((NI) 1);
29866 	{
29867 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
29868 		T4_ = NIM_NIL;
29869 		T4_ = findUnresolvedStatic__ast_4956(a);
29870 		if (!!((T4_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA5_;
29871 		result = a;
29872 		goto BeforeRet_;
29873 	}
29874 	LA5_: ;
29875 	result = evalStaticExpr__vm_13752((*c).module, (*c).Sup.idgen, (*c).graph, a, (*(*c).p).owner);
29876 	{
29877 		NimStringDesc* T11_;
29878 		NimStringDesc* T12_;
29879 		if (!(result == 0)) goto LA9_;
29880 		T11_ = NIM_NIL;
29881 		T11_ = renderTree__renderer_46(n, 0);
29882 		T12_ = NIM_NIL;
29883 		T12_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_390), T11_);
29884 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T12_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_640, NIM_FALSE);
29885 		result = (*(*c).graph).emptyNode;
29886 	}
29887 	goto LA7_;
29888 	LA9_: ;
29889 	{
29890 		result = fixupTypeAfterEval__sem_570(c, result, a);
29891 	}
29892 	LA7_: ;
29893 	}BeforeRet_: ;
29894 	return result;
29895 }
N_NIMCALL(void,maybeLiftType__sem_14373)29896 N_LIB_PRIVATE N_NIMCALL(void, maybeLiftType__sem_14373)(tyObject_TType__facALICuu8zUj0hjvbTLFg** t, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
29897 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
29898 	tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted;
29899 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
29900 	T1_ = NIM_NIL;
29901 	T1_ = openScope__lookups_69(c);
29902 	T2_ = NIM_NIL;
29903 	T2_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), info);
29904 	lifted = liftParamType__sem_4789(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T2_, (*t), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_641), info, NIM_FALSE);
29905 	closeScope__lookups_101(c);
29906 	{
29907 		if (!!((lifted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA5_;
29908 		unsureAsgnRef((void**) (&(*t)), lifted);
29909 	}
29910 	LA5_: ;
29911 }
N_NIMCALL(NIM_BOOL,isOwnedSym__sem_14382)29912 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedSym__sem_14382)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
29913 	NIM_BOOL result;
29914 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
29915 	NIM_BOOL T1_;
29916 	NIM_BOOL T2_;
29917 	result = (NIM_BOOL)0;
29918 	s = qualifiedLookUp__lookups_1233(c, n, 0);
29919 	T1_ = (NIM_BOOL)0;
29920 	T2_ = (NIM_BOOL)0;
29921 	T2_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29922 	if (!(T2_)) goto LA3_;
29923 	T2_ = (((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
29924 	LA3_: ;
29925 	T1_ = T2_;
29926 	if (!(T1_)) goto LA4_;
29927 	T1_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535));
29928 	LA4_: ;
29929 	result = T1_;
29930 	return result;
29931 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,inferWithMetatype__sem_231)29932 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, inferWithMetatype__sem_231)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NIM_BOOL coerceDistincts) {
29933 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29934 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
29935 	result = NIM_NIL;
29936 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
29937 	newCandidate__sigmatch_195(c, formal, (&m));
29938 	m.coerceDistincts = coerceDistincts;
29939 	result = paramTypesMatch__sigmatch_3583((&m), formal, (*arg).typ, arg, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
29940 	{
29941 		NIM_BOOL T3_;
29942 		T3_ = (NIM_BOOL)0;
29943 		T3_ = m.genericConverter;
29944 		if (!(T3_)) goto LA4_;
29945 		T3_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29946 		LA4_: ;
29947 		if (!T3_) goto LA5_;
29948 		instGenericConvertersArg__sem_2292(c, result, (&m));
29949 	}
29950 	LA5_: ;
29951 	{
29952 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
29953 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
29954 		T11_ = NIM_NIL;
29955 		T11_ = skipTypes__ast_3735(formal, TM__rF9caJawfOjYTjsgLVUSGFA_644);
29956 		asgnRef((void**) (&(*result).typ), generateTypeInstance__semtypinst_1050(c, m.bindings, (*arg).info, T11_));
29957 	}
29958 	goto LA7_;
29959 	LA9_: ;
29960 	{
29961 		typeMismatch__types_3870((*(*c).graph).config, (*arg).info, formal, (*arg).typ, arg);
29962 		result = copyTree__ast_4431(arg);
29963 		asgnRef((void**) (&(*result).typ), formal);
29964 	}
29965 	LA7_: ;
29966 	return result;
29967 }
N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw,checkConversionBetweenObjects__sem_14019)29968 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConversionBetweenObjects__sem_14019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* castDest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src, NI pointers) {
29969 	tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw result;
29970 	NI diff;
29971 {	result = (tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw)0;
29972 	diff = inheritanceDiff__types_2685(castDest, src);
29973 	{
29974 		NIM_BOOL T3_;
29975 		NIM_BOOL T5_;
29976 		T3_ = (NIM_BOOL)0;
29977 		T3_ = (diff == ((NI) IL64(9223372036854775807)));
29978 		if (T3_) goto LA4_;
29979 		T5_ = (NIM_BOOL)0;
29980 		T5_ = (((NI) 1) < pointers);
29981 		if (!(T5_)) goto LA6_;
29982 		T5_ = !((diff == ((NI) 0)));
29983 		LA6_: ;
29984 		T3_ = T5_;
29985 		LA4_: ;
29986 		if (!T3_) goto LA7_;
29987 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
29988 	}
29989 	goto LA1_;
29990 	LA7_: ;
29991 	{
29992 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0);
29993 	}
29994 	LA1_: ;
29995 	goto BeforeRet_;
29996 	}BeforeRet_: ;
29997 	return result;
29998 }
N_INLINE(NIM_BOOL,contains__sem_14178)29999 static N_INLINE(NIM_BOOL, contains__sem_14178)(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ s, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw value) {
30000 	NIM_BOOL result;
30001 	NIM_BOOL T1_;
30002 	result = (NIM_BOOL)0;
30003 	T1_ = (NIM_BOOL)0;
30004 	T1_ = (s.a <= value);
30005 	if (!(T1_)) goto LA2_;
30006 	T1_ = (value <= s.b);
30007 	LA2_: ;
30008 	result = T1_;
30009 	return result;
30010 }
N_INLINE(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ,dotdot___sem_14157)30011 static N_INLINE(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ, dotdot___sem_14157)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw a, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw b) {
30012 	tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ result;
30013 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ));
30014 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ));
30015 	result.a = a;
30016 	result.b = b;
30017 	return result;
30018 }
N_INLINE(NIM_BOOL,contains__semfold_120)30019 static N_INLINE(NIM_BOOL, contains__semfold_120)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, tyObject_Int128__9a9axPfb75jdWY25AamJewkA value) {
30020 	NIM_BOOL result;
30021 	NIM_BOOL T1_;
30022 	result = (NIM_BOOL)0;
30023 	T1_ = (NIM_BOOL)0;
30024 	T1_ = lteq___int495056_309((*s).a, value);
30025 	if (!(T1_)) goto LA2_;
30026 	T1_ = lteq___int495056_309(value, (*s).b);
30027 	LA2_: ;
30028 	result = T1_;
30029 	return result;
30030 }
N_INLINE(void,dotdot___semfold_99)30031 static N_INLINE(void, dotdot___semfold_99)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b, tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* Result) {
30032 	nimZeroMem((void*)Result, sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30033 	(*Result).a = a;
30034 	(*Result).b = b;
30035 }
N_INLINE(NIM_BOOL,contains__sem_14231)30036 static N_INLINE(NIM_BOOL, contains__sem_14231)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, NI64 value) {
30037 	NIM_BOOL result;
30038 	NIM_BOOL T1_;
30039 	result = (NIM_BOOL)0;
30040 	T1_ = (NIM_BOOL)0;
30041 	T1_ = lteq___int495056_745((*s).a, value);
30042 	if (!(T1_)) goto LA2_;
30043 	T1_ = lteq___int495056_752(value, (*s).b);
30044 	LA2_: ;
30045 	result = T1_;
30046 	return result;
30047 }
N_INLINE(NIM_BOOL,contains__semfold_938)30048 static N_INLINE(NIM_BOOL, contains__semfold_938)(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value) {
30049 	NIM_BOOL result;
30050 	NIM_BOOL T1_;
30051 	result = (NIM_BOOL)0;
30052 	T1_ = (NIM_BOOL)0;
30053 	T1_ = (s.a <= value);
30054 	if (!(T1_)) goto LA2_;
30055 	T1_ = (value <= s.b);
30056 	LA2_: ;
30057 	result = T1_;
30058 	return result;
30059 }
N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA,dotdot___semfold_916)30060 static N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA, dotdot___semfold_916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b) {
30061 	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA result;
30062 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA));
30063 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA));
30064 	result.a = a;
30065 	result.b = b;
30066 	return result;
30067 }
N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw,checkConvertible__sem_14039)30068 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConvertible__sem_14039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* targetTyp, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src) {
30069 	tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw result;
30070 	tyObject_TType__facALICuu8zUj0hjvbTLFg* srcTyp;
30071 	tyObject_TType__facALICuu8zUj0hjvbTLFg* d;
30072 	tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
30073 	NI pointers;
30074 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetBaseTyp;
30075 	tyObject_TType__facALICuu8zUj0hjvbTLFg* srcBaseTyp;
30076 {	result = (tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw)0;
30077 	srcTyp = skipTypes__ast_3735((*src).typ, TM__rF9caJawfOjYTjsgLVUSGFA_30);
30078 	result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0);
30079 	{
30080 		NIM_BOOL T3_;
30081 		T3_ = (NIM_BOOL)0;
30082 		T3_ = sameType__types_1824(targetTyp, srcTyp, 0);
30083 		if (!(T3_)) goto LA4_;
30084 		T3_ = ((*targetTyp).sym == (*srcTyp).sym);
30085 		LA4_: ;
30086 		if (!T3_) goto LA5_;
30087 		{
30088 			if (!!(((*targetTyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) && (*targetTyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*targetTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*targetTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*targetTyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*targetTyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44)))) goto LA9_;
30089 			result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 1);
30090 		}
30091 		LA9_: ;
30092 		goto BeforeRet_;
30093 	}
30094 	LA5_: ;
30095 	d = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_228);
30096 	s = srcTyp;
30097 	{
30098 		NIM_BOOL T13_;
30099 		T13_ = (NIM_BOOL)0;
30100 		T13_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
30101 		if (!(T13_)) goto LA14_;
30102 		T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
30103 		LA14_: ;
30104 		if (!T13_) goto LA15_;
30105 		s = lastSon__ast_3743(s);
30106 	}
30107 	LA15_: ;
30108 	s = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_645);
30109 	{
30110 		NIM_BOOL T19_;
30111 		T19_ = (NIM_BOOL)0;
30112 		T19_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30113 		if (!(T19_)) goto LA20_;
30114 		T19_ = !(((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30115 		LA20_: ;
30116 		if (!T19_) goto LA21_;
30117 		s = lastSon__ast_3743(s);
30118 	}
30119 	LA21_: ;
30120 	pointers = ((NI) 0);
30121 	{
30122 		while (1) {
30123 			NIM_BOOL T25_;
30124 			T25_ = (NIM_BOOL)0;
30125 			T25_ = !((d == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
30126 			if (!(T25_)) goto LA26_;
30127 			T25_ = ((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30128 			LA26_: ;
30129 			if (!T25_) goto LA24;
30130 			{
30131 				NIM_BOOL T29_;
30132 				T29_ = (NIM_BOOL)0;
30133 				T29_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30134 				if (!(T29_)) goto LA30_;
30135 				T29_ = !(((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30136 				LA30_: ;
30137 				if (!T29_) goto LA31_;
30138 				s = lastSon__ast_3743(s);
30139 			}
30140 			goto LA27_;
30141 			LA31_: ;
30142 			{
30143 				if (!!(((*d).kind == (*s).kind))) goto LA34_;
30144 				goto LA23;
30145 			}
30146 			goto LA27_;
30147 			LA34_: ;
30148 			{
30149 				d = lastSon__ast_3743(d);
30150 				s = lastSon__ast_3743(s);
30151 			}
30152 			LA27_: ;
30153 			pointers += ((NI) 1);
30154 		} LA24: ;
30155 	} LA23: ;
30156 	targetBaseTyp = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_646);
30157 	srcBaseTyp = skipTypes__ast_3735(srcTyp, TM__rF9caJawfOjYTjsgLVUSGFA_470);
30158 	{
30159 		if (!(d == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA39_;
30160 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
30161 	}
30162 	goto LA37_;
30163 	LA39_: ;
30164 	{
30165 		NIM_BOOL T42_;
30166 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
30167 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
30168 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
30169 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
30170 		T42_ = (NIM_BOOL)0;
30171 		T43_ = NIM_NIL;
30172 		T43_ = skipTypes__ast_3735(d, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30173 		T42_ = ((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30174 		if (!(T42_)) goto LA44_;
30175 		T45_ = NIM_NIL;
30176 		T45_ = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30177 		T42_ = ((*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30178 		LA44_: ;
30179 		if (!T42_) goto LA46_;
30180 		T48_ = NIM_NIL;
30181 		T48_ = skipTypes__ast_3735(d, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30182 		T49_ = NIM_NIL;
30183 		T49_ = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30184 		result = checkConversionBetweenObjects__sem_14019(T48_, T49_, pointers);
30185 	}
30186 	goto LA37_;
30187 	LA46_: ;
30188 	{
30189 		NIM_BOOL T51_;
30190 		T51_ = (NIM_BOOL)0;
30191 		T51_ = ((*targetBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*targetBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*targetBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*targetBaseTyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*targetBaseTyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
30192 		if (!(T51_)) goto LA52_;
30193 		T51_ = ((*srcBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*srcBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*srcBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*srcBaseTyp).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*srcBaseTyp).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
30194 		LA52_: ;
30195 		if (!T51_) goto LA53_;
30196 		{
30197 			NIM_BOOL T57_;
30198 			T57_ = (NIM_BOOL)0;
30199 			T57_ = ((*targetTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
30200 			if (!(T57_)) goto LA58_;
30201 			T57_ = ((*srcBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
30202 			LA58_: ;
30203 			if (!T57_) goto LA59_;
30204 			liMessage__msgs_1118((*(*c).graph).config, (*src).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 62), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_647), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_648, NIM_FALSE);
30205 		}
30206 		LA59_: ;
30207 		{
30208 			if (!((*targetTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA63_;
30209 		}
30210 		goto LA61_;
30211 		LA63_: ;
30212 		{
30213 			NIM_BOOL T66_;
30214 			T66_ = (NIM_BOOL)0;
30215 			T66_ = isOrdinalType__types_299(targetTyp, NIM_FALSE);
30216 			if (!T66_) goto LA67_;
30217 			{
30218 				NIM_BOOL T71_;
30219 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T72_;
30220 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T74_;
30221 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T75_;
30222 				tyObject_HSlice__fqLtJsaN5foHLgxLTScotw T76_;
30223 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T77_;
30224 				NIM_BOOL T78_;
30225 				T71_ = (NIM_BOOL)0;
30226 				T72_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
30227 				T71_ = contains__sem_14178(T72_, (*src).kind);
30228 				if (!(T71_)) goto LA73_;
30229 				T74_ = firstOrd__types_1353((*(*c).graph).config, targetTyp);
30230 				T75_ = lastOrd__types_1470((*(*c).graph).config, targetTyp);
30231 				nimZeroMem((void*)(&T76_), sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30232 				dotdot___semfold_99(T74_, T75_, (&T76_));
30233 				T77_ = getInt__ast_4592(src);
30234 				T78_ = (NIM_BOOL)0;
30235 				T78_ = contains__semfold_120((&T76_), T77_);
30236 				T71_ = !(T78_);
30237 				LA73_: ;
30238 				if (!T71_) goto LA79_;
30239 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30240 			}
30241 			goto LA69_;
30242 			LA79_: ;
30243 			{
30244 				NIM_BOOL T82_;
30245 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T83_;
30246 				NIM_BOOL T85_;
30247 				tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA T86_;
30248 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T88_;
30249 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T89_;
30250 				tyObject_HSlice__fqLtJsaN5foHLgxLTScotw T90_;
30251 				NIM_BOOL T91_;
30252 				T82_ = (NIM_BOOL)0;
30253 				T83_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
30254 				T82_ = contains__sem_14178(T83_, (*src).kind);
30255 				if (!(T82_)) goto LA84_;
30256 				T85_ = (NIM_BOOL)0;
30257 				T86_ = (tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA)0;
30258 				T86_ = classify__pureZmath_147((*src)._kind_2.floatVal);
30259 				T85_ = ((112 &((NU8)1<<((NU)(T86_)&7U)))!=0);
30260 				if (T85_) goto LA87_;
30261 				T88_ = firstOrd__types_1353((*(*c).graph).config, targetTyp);
30262 				T89_ = lastOrd__types_1470((*(*c).graph).config, targetTyp);
30263 				nimZeroMem((void*)(&T90_), sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30264 				dotdot___semfold_99(T88_, T89_, (&T90_));
30265 				T91_ = (NIM_BOOL)0;
30266 				T91_ = contains__sem_14231((&T90_), ((NI64) ((*src)._kind_2.floatVal)));
30267 				T85_ = !(T91_);
30268 				LA87_: ;
30269 				T82_ = T85_;
30270 				LA84_: ;
30271 				if (!T82_) goto LA92_;
30272 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30273 			}
30274 			goto LA69_;
30275 			LA92_: ;
30276 			LA69_: ;
30277 		}
30278 		goto LA61_;
30279 		LA67_: ;
30280 		{
30281 			tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T95_;
30282 			NIM_BOOL T96_;
30283 			T95_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
30284 			T96_ = (NIM_BOOL)0;
30285 			T96_ = contains__semfold_938(T95_, (*targetBaseTyp).kind);
30286 			if (!T96_) goto LA97_;
30287 			{
30288 				NIM_BOOL T101_;
30289 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T102_;
30290 				NIM_BOOL T104_;
30291 				T101_ = (NIM_BOOL)0;
30292 				T102_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
30293 				T101_ = contains__sem_14178(T102_, (*src).kind);
30294 				if (!(T101_)) goto LA103_;
30295 				T104_ = (NIM_BOOL)0;
30296 				T104_ = floatRangeCheck__types_1613((*src)._kind_2.floatVal, targetTyp);
30297 				T101_ = !(T104_);
30298 				LA103_: ;
30299 				if (!T101_) goto LA105_;
30300 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30301 			}
30302 			goto LA99_;
30303 			LA105_: ;
30304 			{
30305 				NIM_BOOL T108_;
30306 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T109_;
30307 				NIM_BOOL T111_;
30308 				T108_ = (NIM_BOOL)0;
30309 				T109_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
30310 				T108_ = contains__sem_14178(T109_, (*src).kind);
30311 				if (!(T108_)) goto LA110_;
30312 				T111_ = (NIM_BOOL)0;
30313 				T111_ = floatRangeCheck__types_1613(((NF) ((*src)._kind_1.intVal)), targetTyp);
30314 				T108_ = !(T111_);
30315 				LA110_: ;
30316 				if (!T108_) goto LA112_;
30317 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30318 			}
30319 			goto LA99_;
30320 			LA112_: ;
30321 			LA99_: ;
30322 		}
30323 		goto LA61_;
30324 		LA97_: ;
30325 		LA61_: ;
30326 	}
30327 	goto LA37_;
30328 	LA53_: ;
30329 	{
30330 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T115_;
30331 		T115_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
30332 		T115_ = cmpTypes__sigmatch_3047(c, d, s);
30333 		switch (T115_) {
30334 		case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
30335 		case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
30336 		{
30337 			{
30338 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T119_;
30339 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T120_;
30340 				NIM_BOOL T121_;
30341 				T119_ = NIM_NIL;
30342 				T119_ = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_228);
30343 				T120_ = NIM_NIL;
30344 				T120_ = skipTypes__ast_3735(srcTyp, TM__rF9caJawfOjYTjsgLVUSGFA_649);
30345 				T121_ = (NIM_BOOL)0;
30346 				T121_ = compareTypes__types_2668(T119_, T120_, ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1), 0);
30347 				if (!!(T121_)) goto LA122_;
30348 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
30349 			}
30350 			LA122_: ;
30351 		}
30352 		break;
30353 		default:
30354 		{
30355 		}
30356 		break;
30357 		}
30358 	}
30359 	LA37_: ;
30360 	}BeforeRet_: ;
30361 	return result;
30362 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConv__sem_14395)30363 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConv__sem_14395)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
30364 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30365 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetType;
30366 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
30367 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
30368 {	result = NIM_NIL;
30369 	{
30370 		NI T3_;
30371 		T3_ = (NI)0;
30372 		T3_ = len__ast_3198(n);
30373 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
30374 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_637), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_638, NIM_FALSE);
30375 		result = n;
30376 		goto BeforeRet_;
30377 	}
30378 	LA4_: ;
30379 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60), (*n).info);
30380 	targetType = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30381 	switch ((*targetType).kind) {
30382 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
30383 	{
30384 		{
30385 			NI T9_;
30386 			NimStringDesc* argX60gensym3724_;
30387 			T9_ = (NI)0;
30388 			T9_ = len__ast_4002(targetType);
30389 			if (!!((((NI) 0) < T9_))) goto LA10_;
30390 			argX60gensym3724_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_639);
30391 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3724_, TM__rF9caJawfOjYTjsgLVUSGFA_639);
30392 		}
30393 		LA10_: ;
30394 		{
30395 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
30396 			T14_ = NIM_NIL;
30397 			T14_ = base__types_63(targetType);
30398 			if (!((*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA15_;
30399 			result = semTypeOf__sem_132(c, n);
30400 			goto BeforeRet_;
30401 		}
30402 		goto LA12_;
30403 		LA15_: ;
30404 		{
30405 			targetType = base__types_63(targetType);
30406 		}
30407 		LA12_: ;
30408 	}
30409 	break;
30410 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
30411 	{
30412 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
30413 		evaluated = semStaticExpr__sem_125(c, (*n)._kind_6.sons->data[((NI) 1)]);
30414 		{
30415 			NIM_BOOL T21_;
30416 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
30417 			T21_ = (NIM_BOOL)0;
30418 			T21_ = ((*evaluated).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
30419 			if (T21_) goto LA22_;
30420 			T21_ = ((*(*evaluated).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
30421 			LA22_: ;
30422 			if (!T21_) goto LA23_;
30423 			result = n;
30424 			T25_ = NIM_NIL;
30425 			T25_ = semStaticType__sem_128(c, evaluated, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30426 			asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, T25_));
30427 			goto BeforeRet_;
30428 		}
30429 		goto LA19_;
30430 		LA23_: ;
30431 		{
30432 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
30433 			T27_ = NIM_NIL;
30434 			T27_ = base__types_63(targetType);
30435 			if (!((*T27_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA28_;
30436 			result = evaluated;
30437 			goto BeforeRet_;
30438 		}
30439 		goto LA19_;
30440 		LA28_: ;
30441 		{
30442 			targetType = base__types_63(targetType);
30443 		}
30444 		LA19_: ;
30445 	}
30446 	break;
30447 	default:
30448 	{
30449 	}
30450 	break;
30451 	}
30452 	maybeLiftType__sem_14373(&targetType, c, (*(*n)._kind_6.sons->data[((NI) 0)]).info);
30453 	{
30454 		NIM_BOOL T34_;
30455 		tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
30456 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
30457 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
30458 		T34_ = (NIM_BOOL)0;
30459 		T34_ = ((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
30460 		if (T34_) goto LA35_;
30461 		T34_ = isOwnedSym__sem_14382(c, (*n)._kind_6.sons->data[((NI) 0)]);
30462 		LA35_: ;
30463 		if (!T34_) goto LA36_;
30464 		T38_ = NIM_NIL;
30465 		T38_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30466 		baseType = skipTypes__ast_3735(T38_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
30467 		t = newTypeS__semdata_733((*targetType).kind, c);
30468 		{
30469 			if (!((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA41_;
30470 			(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
30471 		}
30472 		LA41_: ;
30473 		rawAddSonNoPropagationOfTypeFlags__ast_4299(t, baseType);
30474 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*n).info);
30475 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, t));
30476 		goto BeforeRet_;
30477 	}
30478 	LA36_: ;
30479 	T43_ = NIM_NIL;
30480 	T43_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
30481 	add__ast_4797(result, T43_);
30482 	{
30483 		NIM_BOOL T46_;
30484 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
30485 		T46_ = (NIM_BOOL)0;
30486 		T46_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33));
30487 		if (!(T46_)) goto LA47_;
30488 		T48_ = NIM_NIL;
30489 		T48_ = skipTypes__ast_3735(targetType, TM__rF9caJawfOjYTjsgLVUSGFA_97);
30490 		T46_ = ((*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30491 		LA47_: ;
30492 		if (!T46_) goto LA49_;
30493 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_642), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_643, NIM_FALSE);
30494 	}
30495 	LA49_: ;
30496 	op = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
30497 	{
30498 		NIM_BOOL T53_;
30499 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* final;
30500 		T53_ = (NIM_BOOL)0;
30501 		T53_ = !(((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
30502 		if (!(T53_)) goto LA54_;
30503 		T53_ = isMetaType__ast_3495(targetType);
30504 		LA54_: ;
30505 		if (!T53_) goto LA55_;
30506 		final = inferWithMetatype__sem_231(c, targetType, op, NIM_TRUE);
30507 		add__ast_4797(result, final);
30508 		asgnRef((void**) (&(*result).typ), (*final).typ);
30509 		goto BeforeRet_;
30510 	}
30511 	LA55_: ;
30512 	asgnRef((void**) (&(*result).typ), targetType);
30513 	add__ast_4797(result, op);
30514 	{
30515 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T61_;
30516 		if (!((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA59_;
30517 		T61_ = NIM_NIL;
30518 		T61_ = copyTree__ast_4431(result);
30519 		asgnRef((void**) (&(*result).typ), makeTypeFromExpr__semdata_804(c, T61_));
30520 		goto BeforeRet_;
30521 	}
30522 	LA59_: ;
30523 	{
30524 		NIM_BOOL T64_;
30525 		tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw status;
30526 		T64_ = (NIM_BOOL)0;
30527 		T64_ = isSymChoice__sem_14366(op);
30528 		if (!!(T64_)) goto LA65_;
30529 		status = checkConvertible__sem_14039(c, (*result).typ, op);
30530 		switch (status) {
30531 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0):
30532 		{
30533 			{
30534 				NIM_BOOL T70_;
30535 				T70_ = (NIM_BOOL)0;
30536 				T70_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
30537 				if (!(T70_)) goto LA71_;
30538 				T70_ = isGenericRoutine__ast_4646((*op)._kind_4.sym);
30539 				LA71_: ;
30540 				if (!T70_) goto LA72_;
30541 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), fitNode__sem_70(c, (*result).typ, (*result)._kind_6.sons->data[((NI) 1)], (*result).info));
30542 			}
30543 			goto LA68_;
30544 			LA72_: ;
30545 			{
30546 				NIM_BOOL T75_;
30547 				T75_ = (NIM_BOOL)0;
30548 				T75_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
30549 				if (!(T75_)) goto LA76_;
30550 				T75_ = ((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
30551 				LA76_: ;
30552 				if (!T75_) goto LA77_;
30553 				op = fitNode__sem_70(c, targetType, op, (*result).info);
30554 			}
30555 			goto LA68_;
30556 			LA77_: ;
30557 			LA68_: ;
30558 		}
30559 		break;
30560 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 1):
30561 		{
30562 			NimStringDesc* T80_;
30563 			T80_ = NIM_NIL;
30564 			T80_ = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30565 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 76), T80_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_650, NIM_FALSE);
30566 		}
30567 		break;
30568 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2):
30569 		{
30570 			result = fitNode__sem_70(c, (*result).typ, (*result)._kind_6.sons->data[((NI) 1)], (*result).info);
30571 			{
30572 				tyArray__Re75IspeoxXy2oCZHwcRrA T86_;
30573 				NimStringDesc* T87_;
30574 				if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA84_;
30575 				nimZeroMem((void*)T86_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
30576 				T86_[0] = typeToString__types_50((*op).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30577 				T86_[1] = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30578 				T87_ = NIM_NIL;
30579 				T87_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_651), T86_, 2);
30580 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T87_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_652, NIM_FALSE);
30581 			}
30582 			LA84_: ;
30583 		}
30584 		break;
30585 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3):
30586 		{
30587 			NimStringDesc* value;
30588 			NimStringDesc* T96_;
30589 			NimStringDesc* T97_;
30590 			{
30591 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T93_;
30592 				if (!((*op).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*op).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA91_;
30593 				T93_ = getInt__ast_4592(op);
30594 				value = dollar___int495056_53(T93_);
30595 			}
30596 			goto LA89_;
30597 			LA91_: ;
30598 			{
30599 				NF T95_;
30600 				T95_ = (NF)0;
30601 				T95_ = getFloat__ast_4607(op);
30602 				value = dollar___system_3118(T95_);
30603 			}
30604 			LA89_: ;
30605 			T96_ = NIM_NIL;
30606 			T97_ = NIM_NIL;
30607 			T97_ = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30608 			T96_ = rawNewString((value ? value->Sup.len : 0) + (T97_ ? T97_->Sup.len : 0) + 23);
30609 appendString(T96_, value);
30610 appendString(T96_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_653));
30611 appendString(T96_, T97_);
30612 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T96_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_654, NIM_FALSE);
30613 		}
30614 		break;
30615 		}
30616 	}
30617 	goto LA62_;
30618 	LA65_: ;
30619 	{
30620 		{
30621 			NI i;
30622 			NI colontmp_;
30623 			NI i_2;
30624 			i = (NI)0;
30625 			colontmp_ = (NI)0;
30626 			colontmp_ = len__ast_3198(op);
30627 			i_2 = ((NI) 0);
30628 			{
30629 				while (1) {
30630 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
30631 					tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw status_2;
30632 					if (!(i_2 < colontmp_)) goto LA101;
30633 					i = i_2;
30634 					it = (*op)._kind_6.sons->data[i];
30635 					status_2 = checkConvertible__sem_14039(c, (*result).typ, it);
30636 					{
30637 						if (!((3 &((NU8)1<<((NU)(status_2)&7U)))!=0)) goto LA104_;
30638 						markUsed__sigmatch_85(c, (*n).info, (*it)._kind_4.sym);
30639 						markIndirect__semdata_1060(c, (*it)._kind_4.sym);
30640 						result = it;
30641 						goto BeforeRet_;
30642 					}
30643 					LA104_: ;
30644 					i_2 += ((NI) 1);
30645 				} LA101: ;
30646 			}
30647 		}
30648 		errorUseQualifier__lookups_1180(c, (*n).info, (*(*op)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
30649 	}
30650 	LA62_: ;
30651 	}BeforeRet_: ;
30652 	return result;
30653 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semObjConstr__sem_16471)30654 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semObjConstr__sem_16471)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
30655 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30656 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
30657 	tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
30658 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
30659 	NIM_BOOL hasError;
30660 {	result = NIM_NIL;
30661 	t = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30662 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), (*n).info, t);
30663 	{
30664 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
30665 		child = NIM_NIL;
30666 		{
30667 			NI i;
30668 			NI colontmp_;
30669 			NI i_2;
30670 			i = (NI)0;
30671 			colontmp_ = (NI)0;
30672 			colontmp_ = safeLen__ast_3191(n);
30673 			i_2 = ((NI) 0);
30674 			{
30675 				while (1) {
30676 					if (!(i_2 < colontmp_)) goto LA4;
30677 					i = i_2;
30678 					child = (*n)._kind_6.sons->data[i];
30679 					add__ast_4797(result, child);
30680 					i_2 += ((NI) 1);
30681 				} LA4: ;
30682 			}
30683 		}
30684 	}
30685 	{
30686 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym5234_;
30687 		if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
30688 		n2X60gensym5234_ = result;
30689 		liMessage__msgs_1118((*(*c).graph).config, (*n2X60gensym5234_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_655), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_656, NIM_FALSE);
30690 		result = errorNode__semdata_1009(c, n2X60gensym5234_);
30691 		goto BeforeRet_;
30692 	}
30693 	LA7_: ;
30694 	t = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_39);
30695 	{
30696 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA11_;
30697 		t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_39);
30698 		{
30699 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA15_;
30700 			asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30701 			(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
30702 		}
30703 		LA15_: ;
30704 	}
30705 	LA11_: ;
30706 	{
30707 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym5242_;
30708 		NimStringDesc* dupResult;
30709 		if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA19_;
30710 		n2X60gensym5242_ = result;
30711 		dupResult = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_655));
30712 		addDeclaredLoc__astmsgs_33((&dupResult), (*(*c).graph).config, t);
30713 		liMessage__msgs_1118((*(*c).graph).config, (*n2X60gensym5242_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), dupResult, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_657, NIM_FALSE);
30714 		result = errorNode__semdata_1009(c, n2X60gensym5242_);
30715 		goto BeforeRet_;
30716 	}
30717 	LA19_: ;
30718 	nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
30719 	initConstrContext__sem_19652(t, result, (&constrCtx));
30720 	initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), flags);
30721 	hasError = NIM_FALSE;
30722 	{
30723 		NI T23_;
30724 		tyArray__Re75IspeoxXy2oCZHwcRrA T26_;
30725 		NimStringDesc* T27_;
30726 		T23_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
30727 		if (!(((NI) 0) < T23_)) goto LA24_;
30728 		hasError = NIM_TRUE;
30729 		nimZeroMem((void*)T26_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
30730 		T26_[0] = copyString((*(*(*t).sym).name).s);
30731 		T26_[1] = listSymbolNames__astalgo_4310(constrCtx.missingFields->data, (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0));
30732 		T27_ = NIM_NIL;
30733 		T27_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_658), T26_, 2);
30734 		liMessage__msgs_1118((*(*c).graph).config, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T27_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_659, NIM_FALSE);
30735 	}
30736 	LA24_: ;
30737 	{
30738 		NI i_3;
30739 		NI colontmp__2;
30740 		NI i_4;
30741 		i_3 = (NI)0;
30742 		colontmp__2 = (NI)0;
30743 		colontmp__2 = len__ast_3198(result);
30744 		i_4 = ((NI) 1);
30745 		{
30746 			while (1) {
30747 				if (!(i_4 < colontmp__2)) goto LA30;
30748 				i_3 = i_4;
30749 				{
30750 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
30751 					field = (*result)._kind_6.sons->data[i_3];
30752 					{
30753 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
30754 						NimStringDesc* msg;
30755 						NimStringDesc* T48_;
30756 						NimStringDesc* T49_;
30757 						NimStringDesc* T50_;
30758 						if (!!((((*field).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0))) goto LA34_;
30759 						{
30760 							if (!!(((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA38_;
30761 							invalidObjConstr__sem_19105(c, field);
30762 							hasError = NIM_TRUE;
30763 							goto LA31;
30764 						}
30765 						LA38_: ;
30766 						id = considerQuotedIdent__lookups_28(c, (*field)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30767 						{
30768 							NI j;
30769 							NI i_5;
30770 							j = (NI)0;
30771 							i_5 = ((NI) 1);
30772 							{
30773 								while (1) {
30774 									tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* prevId;
30775 									if (!(i_5 < i_3)) goto LA42;
30776 									j = i_5;
30777 									prevId = considerQuotedIdent__lookups_28(c, (*(*result)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30778 									{
30779 										NimStringDesc* T47_;
30780 										if (!((*prevId).id == (*id).id)) goto LA45_;
30781 										T47_ = NIM_NIL;
30782 										T47_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_660), (*id).s);
30783 										liMessage__msgs_1118((*(*c).graph).config, (*field).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T47_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_661, NIM_FALSE);
30784 										hasError = NIM_TRUE;
30785 										goto LA40;
30786 									}
30787 									LA45_: ;
30788 									i_5 += ((NI) 1);
30789 								} LA42: ;
30790 							}
30791 						} LA40: ;
30792 						T48_ = NIM_NIL;
30793 						T49_ = NIM_NIL;
30794 						T49_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), (*id).s);
30795 						T50_ = NIM_NIL;
30796 						T50_ = getProcHeader__types_222((*(*c).graph).config, (*t).sym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
30797 						T48_ = rawNewString((T49_ ? T49_->Sup.len : 0) + (T50_ ? T50_->Sup.len : 0) + 10);
30798 appendString(T48_, T49_);
30799 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
30800 appendString(T48_, T50_);
30801 						msg = T48_;
30802 						liMessage__msgs_1118((*(*c).graph).config, (*field).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_662, NIM_FALSE);
30803 						hasError = NIM_TRUE;
30804 						goto LA28;
30805 					}
30806 					LA34_: ;
30807 				} LA31: ;
30808 				i_4 += ((NI) 1);
30809 			} LA30: ;
30810 		}
30811 	} LA28: ;
30812 	{
30813 		if (!(initResult == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1))) goto LA53_;
30814 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1)) & 31);
30815 	}
30816 	LA53_: ;
30817 	{
30818 		if (!hasError) goto LA57_;
30819 		result = errorNode__semdata_1009(c, result);
30820 	}
30821 	LA57_: ;
30822 	}BeforeRet_: ;
30823 	return result;
30824 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDefined__sem_18104)30825 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDefined__sem_18104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
30826 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30827 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
30828 	NIM_BOOL T2_;
30829 	result = NIM_NIL;
30830 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30831 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
30832 	T1_ = NIM_NIL;
30833 	T1_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
30834 	T2_ = (NIM_BOOL)0;
30835 	T2_ = isDefined__options_2279((*(*c).graph).config, (*T1_).s);
30836 	(*result)._kind_1.intVal = ((NI64) (T2_));
30837 	(*result).info = (*n).info;
30838 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
30839 	return result;
30840 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,setMs__sem_18539)30841 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setMs__sem_18539)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
30842 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30843 	result = NIM_NIL;
30844 	result = n;
30845 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
30846 	(*(*n)._kind_6.sons->data[((NI) 0)]).info = (*n).info;
30847 	return result;
30848 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookUpForDeclared__sem_18112)30849 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookUpForDeclared__sem_18112)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope) {
30850 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
30851 {	result = NIM_NIL;
30852 	switch ((*n).kind) {
30853 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
30854 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
30855 	{
30856 		NIM_BOOL amb;
30857 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
30858 		amb = NIM_FALSE;
30859 		ident = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30860 		{
30861 			if (!onlyCurrentScope) goto LA4_;
30862 			result = localSearchInScope__lookups_142(c, ident);
30863 		}
30864 		goto LA2_;
30865 		LA4_: ;
30866 		{
30867 			result = searchInScopes__lookups_423(c, ident, (&amb));
30868 		}
30869 		LA2_: ;
30870 	}
30871 	break;
30872 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
30873 	{
30874 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
30875 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
30876 		{
30877 			if (!onlyCurrentScope) goto LA10_;
30878 			goto BeforeRet_;
30879 		}
30880 		LA10_: ;
30881 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30882 		m = lookUpForDeclared__sem_18112(c, (*n)._kind_6.sons->data[((NI) 0)], onlyCurrentScope);
30883 		{
30884 			NIM_BOOL T14_;
30885 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident_2;
30886 			T14_ = (NIM_BOOL)0;
30887 			T14_ = !((m == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
30888 			if (!(T14_)) goto LA15_;
30889 			T14_ = ((*m).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6));
30890 			LA15_: ;
30891 			if (!T14_) goto LA16_;
30892 			ident_2 = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
30893 			{
30894 				if (!(m == (*c).module)) goto LA20_;
30895 				result = strTableGet__astalgo_3390((*(*c).topLevelScope).symbols, ident_2);
30896 			}
30897 			goto LA18_;
30898 			LA20_: ;
30899 			{
30900 				result = someSym__modulegraphs_2817((*c).graph, m, ident_2);
30901 			}
30902 			LA18_: ;
30903 		}
30904 		LA16_: ;
30905 	}
30906 	break;
30907 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
30908 	{
30909 		result = (*n)._kind_4.sym;
30910 	}
30911 	break;
30912 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
30913 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
30914 	{
30915 		result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
30916 	}
30917 	break;
30918 	default:
30919 	{
30920 		NimStringDesc* T26_;
30921 		NimStringDesc* T27_;
30922 		T26_ = NIM_NIL;
30923 		T27_ = NIM_NIL;
30924 		T27_ = renderTree__renderer_46(n, 0);
30925 		T26_ = rawNewString((T27_ ? T27_->Sup.len : 0) + 30);
30926 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_663));
30927 appendString(T26_, T27_);
30928 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_664, NIM_FALSE);
30929 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
30930 	}
30931 	break;
30932 	}
30933 	}BeforeRet_: ;
30934 	return result;
30935 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDeclared__sem_18136)30936 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeclared__sem_18136)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope) {
30937 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30938 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
30939 	result = NIM_NIL;
30940 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30941 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
30942 	T1_ = NIM_NIL;
30943 	T1_ = lookUpForDeclared__sem_18112(c, (*n)._kind_6.sons->data[((NI) 1)], onlyCurrentScope);
30944 	(*result)._kind_1.intVal = ((NI64) (!((T1_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))));
30945 	(*result).info = (*n).info;
30946 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
30947 	return result;
30948 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryExpr__sem_104)30949 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryExpr__sem_104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
30950 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
30951 	NI oldErrorCount;
30952 	NI oldErrorMax;
30953 	NI oldCompilesId;
30954 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* oldScope;
30955 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T5_;
30956 	NI oldOwnerLen;
30957 	NI T6_;
30958 	tySequence__jWKvSdankQPoT5bw9cBU9aiw* oldGenerics;
30959 	tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA oldErrorOutputs;
30960 	NI oldContextLen;
30961 	NI oldInGenericContext;
30962 	NI oldInUnrolledContext;
30963 	NI oldInGenericInst;
30964 	NI oldInStaticContext;
30965 	tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* oldProcCon;
30966 	NimStringDesc* err;
30967 	TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_665;
30968 	result = NIM_NIL;
30969 	oldErrorCount = (*(*(*c).graph).config).errorCounter;
30970 	oldErrorMax = (*(*(*c).graph).config).errorMax;
30971 	oldCompilesId = (*c).compilesContextId;
30972 	{
30973 		if (!((*c).compilesContextId == ((NI) 0))) goto LA3_;
30974 		(*c).compilesContextIdGenerator += ((NI) 1);
30975 		(*c).compilesContextId = (*c).compilesContextIdGenerator;
30976 	}
30977 	LA3_: ;
30978 	(*(*(*c).graph).config).errorMax = ((NI) IL64(9223372036854775807));
30979 	oldScope = (*c).currentScope;
30980 	T5_ = NIM_NIL;
30981 	T5_ = openScope__lookups_69(c);
30982 	T6_ = ((*(*c).graph).owners ? (*(*c).graph).owners->Sup.len : 0);
30983 	oldOwnerLen = T6_;
30984 	oldGenerics = (*c).generics;
30985 	oldErrorOutputs = (*(*(*c).graph).config).m.errorOutputs;
30986 	{
30987 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA9_;
30988 		(*(*(*c).graph).config).m.errorOutputs = 0;
30989 	}
30990 	LA9_: ;
30991 	oldContextLen = getInfoContextLen__msgs_476((*(*c).graph).config);
30992 	oldInGenericContext = (*c).inGenericContext;
30993 	oldInUnrolledContext = (*c).inUnrolledContext;
30994 	oldInGenericInst = (*c).inGenericInst;
30995 	oldInStaticContext = (*c).inStaticContext;
30996 	oldProcCon = (*c).p;
30997 	if ((*c).generics) { nimGCunrefRC1((*c).generics); (*c).generics = NIM_NIL; }
30998 	err = NIM_NIL;
30999 	pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_665);
31000 	TM__rF9caJawfOjYTjsgLVUSGFA_665.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_665.context);
31001 	if (TM__rF9caJawfOjYTjsgLVUSGFA_665.status == 0) {
31002 	result = semExpr__sem_52(c, n, flags);
31003 	{
31004 		NIM_BOOL T13_;
31005 		T13_ = (NIM_BOOL)0;
31006 		T13_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
31007 		if (!(T13_)) goto LA14_;
31008 		T13_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 17))&31U)))!=0));
31009 		LA14_: ;
31010 		if (!T13_) goto LA15_;
31011 		trackStmt__sempass50_4915(c, (*c).module, result, NIM_FALSE);
31012 	}
31013 	LA15_: ;
31014 	{
31015 		if (!!(((*(*(*c).graph).config).errorCounter == oldErrorCount))) goto LA19_;
31016 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
31017 	}
31018 	LA19_: ;
31019 	popSafePoint();
31020 	}
31021 	else {
31022 		popSafePoint();
31023 		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
31024 			TM__rF9caJawfOjYTjsgLVUSGFA_665.status = 0;
31025 			popCurrentException();
31026 		}
31027 	}
31028 	if (TM__rF9caJawfOjYTjsgLVUSGFA_665.status != 0) reraiseException();
31029 	(*c).compilesContextId = oldCompilesId;
31030 	genericSeqAssign((&(*c).generics), oldGenerics, (&NTIseqLtinstantiationpairT__jWKvSdankQPoT5bw9cBU9aiw_));
31031 	(*c).inGenericContext = oldInGenericContext;
31032 	(*c).inUnrolledContext = oldInUnrolledContext;
31033 	(*c).inGenericInst = oldInGenericInst;
31034 	(*c).inStaticContext = oldInStaticContext;
31035 	asgnRef((void**) (&(*c).p), oldProcCon);
31036 	setInfoContextLen__msgs_483((*(*c).graph).config, oldContextLen);
31037 	asgnRef((void**) (&(*(*c).graph).owners), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) setLengthSeqV2(&((*(*c).graph).owners)->Sup, (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_), ((NI) (oldOwnerLen))));
31038 	asgnRef((void**) (&(*c).currentScope), oldScope);
31039 	(*(*(*c).graph).config).m.errorOutputs = oldErrorOutputs;
31040 	(*(*(*c).graph).config).errorCounter = oldErrorCount;
31041 	(*(*(*c).graph).config).errorMax = oldErrorMax;
31042 	return result;
31043 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCompiles__sem_18476)31044 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCompiles__sem_18476)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31045 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31046 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
31047 {	result = NIM_NIL;
31048 	{
31049 		NI T3_;
31050 		T3_ = (NI)0;
31051 		T3_ = len__ast_3198(n);
31052 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
31053 		result = semDirectOp__sem_511(c, n, flags);
31054 		goto BeforeRet_;
31055 	}
31056 	LA4_: ;
31057 	T6_ = NIM_NIL;
31058 	T6_ = tryExpr__sem_104(c, (*n)._kind_6.sons->data[((NI) 1)], flags);
31059 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (!((T6_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))));
31060 	(*result).info = (*n).info;
31061 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
31062 	}BeforeRet_: ;
31063 	return result;
31064 }
N_NIMCALL(void,fixupStaticType__sem_14592)31065 N_LIB_PRIVATE N_NIMCALL(void, fixupStaticType__sem_14592)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31066 	{
31067 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
31068 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T6_;
31069 		if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)))) goto LA3_;
31070 		T5_ = NIM_NIL;
31071 		T5_ = getCurrOwner__semdata_315(c);
31072 		T6_ = NIM_NIL;
31073 		T6_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
31074 		asgnRef((void**) (&T6_->data[0]), (*n).typ);
31075 		asgnRef((void**) (&(*n).typ), newTypeWithSons__semdata_815(T5_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T6_, (*c).Sup.idgen));
31076 		asgnRef((void**) (&(*(*n).typ).n), n);
31077 	}
31078 	LA3_: ;
31079 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,isOpImpl__sem_14603)31080 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, isOpImpl__sem_14603)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31081 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31082 	NIM_BOOL res;
31083 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t1;
31084 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
31085 	result = NIM_NIL;
31086 	{
31087 		NIM_BOOL T3_;
31088 		NIM_BOOL T4_;
31089 		NI T5_;
31090 		NimStringDesc* argX60gensym3791_;
31091 		T3_ = (NIM_BOOL)0;
31092 		T4_ = (NIM_BOOL)0;
31093 		T5_ = (NI)0;
31094 		T5_ = len__ast_3198(n);
31095 		T4_ = (T5_ == ((NI) 3));
31096 		if (!(T4_)) goto LA6_;
31097 		T4_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
31098 		LA6_: ;
31099 		T3_ = T4_;
31100 		if (!(T3_)) goto LA7_;
31101 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*n)._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22) || (*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
31102 		LA7_: ;
31103 		if (!!(T3_)) goto LA8_;
31104 		argX60gensym3791_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_668);
31105 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3791_, TM__rF9caJawfOjYTjsgLVUSGFA_668);
31106 	}
31107 	LA8_: ;
31108 	res = NIM_FALSE;
31109 	t1 = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31110 	t2 = (*(*n)._kind_6.sons->data[((NI) 2)]).typ;
31111 	{
31112 		NIM_BOOL T12_;
31113 		T12_ = (NIM_BOOL)0;
31114 		T12_ = ((*t1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
31115 		if (!(T12_)) goto LA13_;
31116 		T12_ = !(((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
31117 		LA13_: ;
31118 		if (!T12_) goto LA14_;
31119 		t1 = base__types_63(t1);
31120 	}
31121 	LA14_: ;
31122 	{
31123 		NimStringDesc* T20_;
31124 		if (!((*(*n)._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*n)._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA18_;
31125 		T20_ = NIM_NIL;
31126 		T20_ = nsuNormalize((*(*n)._kind_6.sons->data[((NI) 2)])._kind_3.strVal);
31127 		if (eqStrings(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_669))) goto LA21_;
31128 		if (eqStrings(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_670))) goto LA22_;
31129 		goto LA23_;
31130 		LA21_: ;
31131 		{
31132 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
31133 			NIM_BOOL T26_;
31134 			t = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_472);
31135 			T26_ = (NIM_BOOL)0;
31136 			T26_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
31137 			if (!(T26_)) goto LA27_;
31138 			T26_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
31139 			LA27_: ;
31140 			res = T26_;
31141 		}
31142 		goto LA24_;
31143 		LA22_: ;
31144 		{
31145 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
31146 			NIM_BOOL T29_;
31147 			NIM_BOOL T30_;
31148 			t_2 = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_472);
31149 			T29_ = (NIM_BOOL)0;
31150 			T30_ = (NIM_BOOL)0;
31151 			T30_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
31152 			if (!(T30_)) goto LA31_;
31153 			T30_ = ((*t_2).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
31154 			LA31_: ;
31155 			T29_ = T30_;
31156 			if (!(T29_)) goto LA32_;
31157 			T29_ = (((*t_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
31158 			LA32_: ;
31159 			res = T29_;
31160 		}
31161 		goto LA24_;
31162 		LA23_: ;
31163 		{
31164 			res = NIM_FALSE;
31165 		}
31166 		LA24_: ;
31167 	}
31168 	goto LA16_;
31169 	LA18_: ;
31170 	{
31171 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
31172 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T45_;
31173 		{
31174 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
31175 			T37_ = NIM_NIL;
31176 			T37_ = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_85);
31177 			if (!!(((*T37_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA38_;
31178 			maybeLiftType__sem_14373(&t2, c, (*n).info);
31179 		}
31180 		goto LA35_;
31181 		LA38_: ;
31182 		{
31183 		}
31184 		LA35_: ;
31185 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
31186 		newCandidate__sigmatch_195(c, t2, (&m));
31187 		{
31188 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0)) goto LA43_;
31189 			m.diagnostics = NIM_NIL;
31190 			m.diagnosticsEnabled = NIM_TRUE;
31191 		}
31192 		LA43_: ;
31193 		T45_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
31194 		T45_ = typeRel__sigmatch_202((&m), t2, t1, 0);
31195 		res = (((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3) <= T45_);
31196 	}
31197 	LA16_: ;
31198 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (res)));
31199 	asgnRef((void**) (&(*result).typ), (*n).typ);
31200 	return result;
31201 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIs__sem_14686)31202 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIs__sem_14686)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31203 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31204 	tyObject_TType__facALICuu8zUj0hjvbTLFg* boolType;
31205 	NIM_BOOL liftLhs;
31206 	tyObject_TType__facALICuu8zUj0hjvbTLFg* lhsType;
31207 {	result = NIM_NIL;
31208 	{
31209 		NI T3_;
31210 		T3_ = (NI)0;
31211 		T3_ = len__ast_3198(n);
31212 		if (!!((T3_ == ((NI) 3)))) goto LA4_;
31213 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_666), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_667, NIM_FALSE);
31214 	}
31215 	LA4_: ;
31216 	boolType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
31217 	result = n;
31218 	asgnRef((void**) (&(*n).typ), boolType);
31219 	liftLhs = NIM_TRUE;
31220 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 514));
31221 	{
31222 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
31223 		if (!!(((*(*n)._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*n)._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA8_;
31224 		t2 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
31225 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*(*n)._kind_6.sons->data[((NI) 2)]).info, t2));
31226 		{
31227 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
31228 			if (!((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA12_;
31229 			evaluated = tryConstExpr__sem_582(c, (*n)._kind_6.sons->data[((NI) 1)]);
31230 			{
31231 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA16_;
31232 				fixupStaticType__sem_14592(c, evaluated);
31233 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), evaluated);
31234 			}
31235 			goto LA14_;
31236 			LA16_: ;
31237 			{
31238 				result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
31239 				asgnRef((void**) (&(*result).typ), boolType);
31240 				goto BeforeRet_;
31241 			}
31242 			LA14_: ;
31243 		}
31244 		goto LA10_;
31245 		LA12_: ;
31246 		{
31247 			NIM_BOOL T20_;
31248 			NIM_BOOL T22_;
31249 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
31250 			T20_ = (NIM_BOOL)0;
31251 			T20_ = ((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
31252 			if (!(T20_)) goto LA21_;
31253 			T22_ = (NIM_BOOL)0;
31254 			T23_ = NIM_NIL;
31255 			T23_ = base__types_63(t2);
31256 			T22_ = ((*T23_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
31257 			if (T22_) goto LA24_;
31258 			T22_ = (((*t2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29))&63U)))!=0);
31259 			LA24_: ;
31260 			T20_ = T22_;
31261 			LA21_: ;
31262 			if (!T20_) goto LA25_;
31263 			liftLhs = NIM_FALSE;
31264 		}
31265 		goto LA10_;
31266 		LA25_: ;
31267 		LA10_: ;
31268 	}
31269 	goto LA6_;
31270 	LA8_: ;
31271 	{
31272 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 2)], 0));
31273 	}
31274 	LA6_: ;
31275 	lhsType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31276 	{
31277 		if (!!(((*lhsType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA30_;
31278 		{
31279 			if (!liftLhs) goto LA34_;
31280 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), makeTypeSymNode__semdata_785(c, lhsType, (*(*n)._kind_6.sons->data[((NI) 1)]).info));
31281 			lhsType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31282 		}
31283 		LA34_: ;
31284 	}
31285 	goto LA28_;
31286 	LA30_: ;
31287 	{
31288 		{
31289 			NIM_BOOL T39_;
31290 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
31291 			NIM_BOOL T42_;
31292 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T44_;
31293 			T39_ = (NIM_BOOL)0;
31294 			T40_ = NIM_NIL;
31295 			T40_ = base__types_63(lhsType);
31296 			T39_ = ((*T40_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
31297 			if (T39_) goto LA41_;
31298 			T42_ = (NIM_BOOL)0;
31299 			T42_ = (((NI) 0) < (*c).inGenericContext);
31300 			if (!(T42_)) goto LA43_;
31301 			T44_ = NIM_NIL;
31302 			T44_ = base__types_63(lhsType);
31303 			T42_ = containsGenericType__types_3360(T44_);
31304 			LA43_: ;
31305 			T39_ = T42_;
31306 			LA41_: ;
31307 			if (!T39_) goto LA45_;
31308 			goto BeforeRet_;
31309 		}
31310 		LA45_: ;
31311 	}
31312 	LA28_: ;
31313 	result = isOpImpl__sem_14603(c, n, flags);
31314 	}BeforeRet_: ;
31315 	return result;
31316 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpandToAst__sem_18180)31317 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpandToAst__sem_18180)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31318 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31319 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroCall;
31320 	result = NIM_NIL;
31321 	macroCall = (*n)._kind_6.sons->data[((NI) 1)];
31322 	{
31323 		NIM_BOOL T3_;
31324 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol;
31325 		NI cands;
31326 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* cand;
31327 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
31328 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
31329 		T3_ = (NIM_BOOL)0;
31330 		T3_ = isCallExpr__ast_3176(macroCall);
31331 		if (!T3_) goto LA4_;
31332 		{
31333 			NI i;
31334 			NI colontmp_;
31335 			NI i_2;
31336 			i = (NI)0;
31337 			colontmp_ = (NI)0;
31338 			colontmp_ = len__ast_3198(macroCall);
31339 			i_2 = ((NI) 1);
31340 			{
31341 				while (1) {
31342 					if (!(i_2 < colontmp_)) goto LA8;
31343 					i = i_2;
31344 					asgnRef((void**) (&(*macroCall)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*macroCall)._kind_6.sons->data[i], 0));
31345 					i_2 += ((NI) 1);
31346 				} LA8: ;
31347 			}
31348 		}
31349 		headSymbol = (*macroCall)._kind_6.sons->data[((NI) 0)];
31350 		cands = ((NI) 0);
31351 		cand = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
31352 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
31353 		symx = initOverloadIter__lookups_1374((&o), c, headSymbol);
31354 		{
31355 			while (1) {
31356 				if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10;
31357 				{
31358 					NIM_BOOL T13_;
31359 					NI T15_;
31360 					NI T16_;
31361 					T13_ = (NIM_BOOL)0;
31362 					T13_ = ((393216 &((NU32)1<<((NU)((*symx).kind)&31U)))!=0);
31363 					if (!(T13_)) goto LA14_;
31364 					T15_ = (NI)0;
31365 					T15_ = len__ast_4002((*symx).typ);
31366 					T16_ = (NI)0;
31367 					T16_ = len__ast_3198(macroCall);
31368 					T13_ = (T15_ == T16_);
31369 					LA14_: ;
31370 					if (!T13_) goto LA17_;
31371 					cand = symx;
31372 					cands += ((NI) 1);
31373 				}
31374 				LA17_: ;
31375 				symx = nextOverloadIter__lookups_1528((&o), c, headSymbol);
31376 			} LA10: ;
31377 		}
31378 		{
31379 			NimStringDesc* T23_;
31380 			NI T24_;
31381 			NimStringDesc* T25_;
31382 			if (!(cands == ((NI) 0))) goto LA21_;
31383 			T23_ = NIM_NIL;
31384 			T24_ = (NI)0;
31385 			T24_ = len__ast_3198(macroCall);
31386 			T25_ = NIM_NIL;
31387 			T25_ = dollar___systemZdollars_3((NI)(T24_ - ((NI) 1)));
31388 			T23_ = rawNewString((T25_ ? T25_->Sup.len : 0) + 41);
31389 appendString(T23_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_671));
31390 appendString(T23_, T25_);
31391 appendString(T23_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_672));
31392 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_673, NIM_FALSE);
31393 		}
31394 		goto LA19_;
31395 		LA21_: ;
31396 		{
31397 			NimStringDesc* T29_;
31398 			NimStringDesc* T30_;
31399 			if (!(((NI) 2) <= cands)) goto LA27_;
31400 			T29_ = NIM_NIL;
31401 			T30_ = NIM_NIL;
31402 			T30_ = dollar___renderer_2106(macroCall);
31403 			T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + 38);
31404 appendString(T29_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_674));
31405 appendString(T29_, T30_);
31406 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_675, NIM_FALSE);
31407 		}
31408 		goto LA19_;
31409 		LA27_: ;
31410 		{
31411 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
31412 			info = (*(*macroCall)._kind_6.sons->data[((NI) 0)]).info;
31413 			asgnRef((void**) (&(*macroCall)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(cand, info));
31414 			markUsed__sigmatch_85(c, info, cand);
31415 		}
31416 		LA19_: ;
31417 	}
31418 	goto LA1_;
31419 	LA4_: ;
31420 	{
31421 		NimStringDesc* T33_;
31422 		NimStringDesc* T34_;
31423 		T33_ = NIM_NIL;
31424 		T34_ = NIM_NIL;
31425 		T34_ = renderTree__renderer_46(n, 0);
31426 		T33_ = rawNewString((T34_ ? T34_->Sup.len : 0) + 29);
31427 appendString(T33_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_676));
31428 appendString(T33_, T34_);
31429 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_677, NIM_FALSE);
31430 	}
31431 	LA1_: ;
31432 	{
31433 		NimStringDesc* argX60gensym4816_;
31434 		if (!!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27)))) goto LA37_;
31435 		argX60gensym4816_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_678);
31436 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4816_, TM__rF9caJawfOjYTjsgLVUSGFA_678);
31437 	}
31438 	LA37_: ;
31439 	{
31440 		NIM_BOOL T41_;
31441 		NI T43_;
31442 		T41_ = (NIM_BOOL)0;
31443 		T41_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
31444 		if (!(T41_)) goto LA42_;
31445 		T43_ = (NI)0;
31446 		T43_ = len__ast_3198(n);
31447 		T41_ = (T43_ == ((NI) 1));
31448 		LA42_: ;
31449 		if (!T41_) goto LA44_;
31450 		result = (*n)._kind_6.sons->data[((NI) 0)];
31451 	}
31452 	goto LA39_;
31453 	LA44_: ;
31454 	{
31455 		result = n;
31456 	}
31457 	LA39_: ;
31458 	asgnRef((void**) (&(*result).typ), sysTypeFromName__magicsys_55((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_99)));
31459 	return result;
31460 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpandToAst__sem_18243)31461 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpandToAst__sem_18243)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* magicSym, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31462 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31463 	result = NIM_NIL;
31464 	{
31465 		NI T3_;
31466 		T3_ = (NI)0;
31467 		T3_ = len__ast_3198(n);
31468 		if (!(T3_ == ((NI) 2))) goto LA4_;
31469 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(magicSym, (*n).info));
31470 		result = semExpandToAst__sem_18180(c, n);
31471 	}
31472 	goto LA1_;
31473 	LA4_: ;
31474 	{
31475 		result = semDirectOp__sem_511(c, n, flags);
31476 	}
31477 	LA1_: ;
31478 	return result;
31479 }
N_NIMCALL(NimStringDesc *,expectString__sem_18166)31480 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expectString__sem_18166)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31481 	NimStringDesc* result;
31482 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
31483 {	result = NIM_NIL;
31484 	n_2 = semConstExpr__sem_611(c, n);
31485 	{
31486 		if (!((*n_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA3_;
31487 		result = copyString((*n_2)._kind_3.strVal);
31488 		goto BeforeRet_;
31489 	}
31490 	goto LA1_;
31491 	LA3_: ;
31492 	{
31493 		liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_358), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_681, NIM_FALSE);
31494 	}
31495 	LA1_: ;
31496 	}BeforeRet_: ;
31497 	return result;
31498 }
N_NIMCALL(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ *,newSeq__sem_18374)31499 N_LIB_PRIVATE N_NIMCALL(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*, newSeq__sem_18374)(NI len) {
31500 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* result;
31501 	result = NIM_NIL;
31502 	result = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), len);
31503 	return result;
31504 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newAnonSym__sem_18175)31505 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newAnonSym__sem_18175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
31506 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
31507 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
31508 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
31509 	result = NIM_NIL;
31510 	T1_ = nextSymId__ast_3132((*c).Sup.idgen);
31511 	T2_ = NIM_NIL;
31512 	T2_ = getCurrOwner__semdata_315(c);
31513 	result = newSym__ast_3445(kind, (*(*c).cache).idAnon, T1_, T2_, info, 0);
31514 	return result;
31515 }
N_NIMCALL(void,processQuotations__sem_18253)31516 N_LIB_PRIVATE N_NIMCALL(void, processQuotations__sem_18253)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, NimStringDesc* op, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** quotes, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** ids) {
31517 {	{
31518 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30))) goto LA3_;
31519 		checkSonsLen__semdata_1077((*n), ((NI) 2), (*(*c).graph).config);
31520 		{
31521 			NimStringDesc* examinedOpX60gensym4821_;
31522 			if (!((*(*(*n))._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA7_;
31523 			examinedOpX60gensym4821_ = (*(*(*(*n))._kind_6.sons->data[((NI) 0)])._kind_5.ident).s;
31524 			{
31525 				NI T13_;
31526 				NI T14_;
31527 				NimStringDesc* T15_;
31528 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T16_;
31529 				NI T17_;
31530 				if (!eqStrings(examinedOpX60gensym4821_, op)) goto LA11_;
31531 				unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31532 				T13_ = (*quotes)->Sup.len++;
31533 				asgnRef((void**) (&(*quotes)->data[T13_]), (*(*n))._kind_6.sons->data[((NI) 1)]);
31534 				T14_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31535 				T15_ = NIM_NIL;
31536 				T15_ = dollar___systemZdollars_3(T14_);
31537 				T16_ = NIM_NIL;
31538 				T16_ = getIdent__idents_143((*c).cache, T15_);
31539 				unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T16_, (*(*n)).info));
31540 				unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31541 				T17_ = (*ids)->Sup.len++;
31542 				asgnRef((void**) (&(*ids)->data[T17_]), (*n));
31543 				goto BeforeRet_;
31544 			}
31545 			goto LA9_;
31546 			LA11_: ;
31547 			{
31548 				NIM_BOOL T19_;
31549 				NimStringDesc* T22_;
31550 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T23_;
31551 				T19_ = (NIM_BOOL)0;
31552 				T19_ = nsuStartsWith(examinedOpX60gensym4821_, op);
31553 				if (!T19_) goto LA20_;
31554 				T22_ = NIM_NIL;
31555 				T22_ = substr__system_7785(examinedOpX60gensym4821_, (op ? op->Sup.len : 0));
31556 				T23_ = NIM_NIL;
31557 				T23_ = getIdent__idents_143((*c).cache, T22_);
31558 				asgnRef((void**) (&(*(*n))._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T23_, (*(*n)).info));
31559 			}
31560 			goto LA9_;
31561 			LA20_: ;
31562 			LA9_: ;
31563 		}
31564 		LA7_: ;
31565 	}
31566 	goto LA1_;
31567 	LA3_: ;
31568 	{
31569 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA25_;
31570 		{
31571 			NI T31_;
31572 			NI T32_;
31573 			NimStringDesc* T33_;
31574 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T34_;
31575 			NI T35_;
31576 			if (!eqStrings(op, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_682))) goto LA29_;
31577 			unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31578 			T31_ = (*quotes)->Sup.len++;
31579 			asgnRef((void**) (&(*quotes)->data[T31_]), (*(*n))._kind_6.sons->data[((NI) 0)]);
31580 			T32_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31581 			T33_ = NIM_NIL;
31582 			T33_ = dollar___systemZdollars_3(T32_);
31583 			T34_ = NIM_NIL;
31584 			T34_ = getIdent__idents_143((*c).cache, T33_);
31585 			unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T34_, (*(*n)).info));
31586 			unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31587 			T35_ = (*ids)->Sup.len++;
31588 			asgnRef((void**) (&(*ids)->data[T35_]), (*n));
31589 			goto BeforeRet_;
31590 		}
31591 		goto LA27_;
31592 		LA29_: ;
31593 		{
31594 			{
31595 				NIM_BOOL T39_;
31596 				NI T40_;
31597 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempNode;
31598 				tyArray__cypz0nHJsd9cnKgpO7fP5hQ T44_;
31599 				T39_ = (NIM_BOOL)0;
31600 				T40_ = (NI)0;
31601 				T40_ = len__ast_3198((*n));
31602 				T39_ = (T40_ == ((NI) 2));
31603 				if (!(T39_)) goto LA41_;
31604 				T39_ = eqStrings((*(*(*(*n))._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, op);
31605 				LA41_: ;
31606 				if (!T39_) goto LA42_;
31607 				nimZeroMem((void*)T44_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
31608 				tempNode = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), T44_, 0);
31609 				newSons__semtypinst_404(tempNode, ((NI) 2));
31610 				asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 0)]), (*(*n))._kind_6.sons->data[((NI) 0)]);
31611 				asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 1)]), (*(*n))._kind_6.sons->data[((NI) 1)]);
31612 				{
31613 					NimStringDesc* examinedOpX60gensym4834_;
31614 					if (!((*(*tempNode)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA47_;
31615 					examinedOpX60gensym4834_ = (*(*(*tempNode)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s;
31616 					{
31617 						NI T53_;
31618 						NI T54_;
31619 						NimStringDesc* T55_;
31620 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T56_;
31621 						NI T57_;
31622 						if (!eqStrings(examinedOpX60gensym4834_, op)) goto LA51_;
31623 						unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31624 						T53_ = (*quotes)->Sup.len++;
31625 						asgnRef((void**) (&(*quotes)->data[T53_]), (*tempNode)._kind_6.sons->data[((NI) 1)]);
31626 						T54_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31627 						T55_ = NIM_NIL;
31628 						T55_ = dollar___systemZdollars_3(T54_);
31629 						T56_ = NIM_NIL;
31630 						T56_ = getIdent__idents_143((*c).cache, T55_);
31631 						unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T56_, (*(*n)).info));
31632 						unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31633 						T57_ = (*ids)->Sup.len++;
31634 						asgnRef((void**) (&(*ids)->data[T57_]), (*n));
31635 						goto BeforeRet_;
31636 					}
31637 					goto LA49_;
31638 					LA51_: ;
31639 					{
31640 						NIM_BOOL T59_;
31641 						NimStringDesc* T62_;
31642 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T63_;
31643 						T59_ = (NIM_BOOL)0;
31644 						T59_ = nsuStartsWith(examinedOpX60gensym4834_, op);
31645 						if (!T59_) goto LA60_;
31646 						T62_ = NIM_NIL;
31647 						T62_ = substr__system_7785(examinedOpX60gensym4834_, (op ? op->Sup.len : 0));
31648 						T63_ = NIM_NIL;
31649 						T63_ = getIdent__idents_143((*c).cache, T62_);
31650 						asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T63_, (*tempNode).info));
31651 					}
31652 					goto LA49_;
31653 					LA60_: ;
31654 					LA49_: ;
31655 				}
31656 				LA47_: ;
31657 			}
31658 			LA42_: ;
31659 		}
31660 		LA27_: ;
31661 	}
31662 	goto LA1_;
31663 	LA25_: ;
31664 	{
31665 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA65_;
31666 		{
31667 			if (!eqStrings((*(*(*n))._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102))) goto LA69_;
31668 			unsureAsgnRef((void**) (&(*n)), (*ids)->data[((NI) 0)]);
31669 		}
31670 		LA69_: ;
31671 	}
31672 	goto LA1_;
31673 	LA65_: ;
31674 	LA1_: ;
31675 	{
31676 		NI i;
31677 		NI colontmp_;
31678 		NI i_2;
31679 		i = (NI)0;
31680 		colontmp_ = (NI)0;
31681 		colontmp_ = safeLen__ast_3191((*n));
31682 		i_2 = ((NI) 0);
31683 		{
31684 			while (1) {
31685 				if (!(i_2 < colontmp_)) goto LA73;
31686 				i = i_2;
31687 				processQuotations__sem_18253(c, &(*(*n))._kind_6.sons->data[i], op, quotes, ids);
31688 				i_2 += ((NI) 1);
31689 			} LA73: ;
31690 		}
31691 	}
31692 	}BeforeRet_: ;
31693 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodyDirty__sem_7597)31694 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyDirty__sem_7597)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31695 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31696 {	result = NIM_NIL;
31697 	result = n;
31698 	switch ((*n).kind) {
31699 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
31700 	{
31701 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
31702 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
31703 		{
31704 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA4_;
31705 			{
31706 				NIM_BOOL T8_;
31707 				T8_ = (NIM_BOOL)0;
31708 				T8_ = ((*s).owner == (*c).owner);
31709 				if (!(T8_)) goto LA9_;
31710 				T8_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
31711 				LA9_: ;
31712 				if (!T8_) goto LA10_;
31713 				result = newSymNode__ast_3719(s, (*n).info);
31714 			}
31715 			goto LA6_;
31716 			LA10_: ;
31717 			{
31718 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1845_;
31719 				NIM_BOOL T13_;
31720 				xX60gensym1845_ = s;
31721 				T13_ = (NIM_BOOL)0;
31722 				T13_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1845_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1845_).Sup.itemId.item))));
31723 				if (!T13_) goto LA14_;
31724 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
31725 			}
31726 			goto LA6_;
31727 			LA14_: ;
31728 			LA6_: ;
31729 		}
31730 		LA4_: ;
31731 	}
31732 	break;
31733 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
31734 	{
31735 		result = semTemplBodyDirty__sem_7597(c, (*n)._kind_6.sons->data[((NI) 0)]);
31736 	}
31737 	break;
31738 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
31739 	{
31740 		result = semBindStmt__sem_6647((*c).c, n, (&(*c).toBind));
31741 	}
31742 	break;
31743 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
31744 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
31745 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
31746 	{
31747 	}
31748 	break;
31749 	default:
31750 	{
31751 		{
31752 			NIM_BOOL T22_;
31753 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
31754 			T22_ = (NIM_BOOL)0;
31755 			T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
31756 			if (T22_) goto LA23_;
31757 			T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53));
31758 			LA23_: ;
31759 			if (!T22_) goto LA24_;
31760 			s_2 = qualifiedLookUp__lookups_1233((*c).c, n, 0);
31761 			{
31762 				NIM_BOOL T28_;
31763 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1848_;
31764 				T28_ = (NIM_BOOL)0;
31765 				T28_ = !((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
31766 				if (!(T28_)) goto LA29_;
31767 				xX60gensym1848_ = s_2;
31768 				T28_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1848_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1848_).Sup.itemId.item))));
31769 				LA29_: ;
31770 				if (!T28_) goto LA30_;
31771 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
31772 				goto BeforeRet_;
31773 			}
31774 			LA30_: ;
31775 		}
31776 		LA24_: ;
31777 		result = n;
31778 		{
31779 			NI i;
31780 			NI colontmp_;
31781 			NI i_2;
31782 			i = (NI)0;
31783 			colontmp_ = (NI)0;
31784 			colontmp_ = len__ast_3198(n);
31785 			i_2 = ((NI) 0);
31786 			{
31787 				while (1) {
31788 					if (!(i_2 < colontmp_)) goto LA34;
31789 					i = i_2;
31790 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semTemplBodyDirty__sem_7597(c, (*n)._kind_6.sons->data[i]));
31791 					i_2 += ((NI) 1);
31792 				} LA34: ;
31793 			}
31794 		}
31795 	}
31796 	break;
31797 	}
31798 	}BeforeRet_: ;
31799 	return result;
31800 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplSymbol__sem_6931)31801 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplSymbol__sem_6931)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL isField) {
31802 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31803 	result = NIM_NIL;
31804 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
31805 	markOwnerModuleAsUsed__sigmatch_89(c, s);
31806 	switch ((*s).kind) {
31807 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0):
31808 	{
31809 		result = n;
31810 	}
31811 	break;
31812 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
31813 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
31814 	{
31815 		result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), isField);
31816 	}
31817 	break;
31818 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
31819 	{
31820 		{
31821 			NIM_BOOL T6_;
31822 			T6_ = (NIM_BOOL)0;
31823 			T6_ = isField;
31824 			if (!(T6_)) goto LA7_;
31825 			T6_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31826 			LA7_: ;
31827 			if (!T6_) goto LA8_;
31828 			result = n;
31829 		}
31830 		goto LA4_;
31831 		LA8_: ;
31832 		{
31833 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
31834 		}
31835 		LA4_: ;
31836 	}
31837 	break;
31838 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
31839 	{
31840 		result = n;
31841 	}
31842 	break;
31843 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
31844 	{
31845 		{
31846 			NIM_BOOL T15_;
31847 			T15_ = (NIM_BOOL)0;
31848 			T15_ = isField;
31849 			if (!(T15_)) goto LA16_;
31850 			T15_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31851 			LA16_: ;
31852 			if (!T15_) goto LA17_;
31853 			result = n;
31854 		}
31855 		goto LA13_;
31856 		LA17_: ;
31857 		{
31858 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
31859 		}
31860 		LA13_: ;
31861 	}
31862 	break;
31863 	default:
31864 	{
31865 		{
31866 			NIM_BOOL T23_;
31867 			T23_ = (NIM_BOOL)0;
31868 			T23_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
31869 			if (!(T23_)) goto LA24_;
31870 			T23_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0);
31871 			LA24_: ;
31872 			if (!T23_) goto LA25_;
31873 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), isField);
31874 		}
31875 		goto LA21_;
31876 		LA25_: ;
31877 		{
31878 			NIM_BOOL T28_;
31879 			T28_ = (NIM_BOOL)0;
31880 			T28_ = isField;
31881 			if (!(T28_)) goto LA29_;
31882 			T28_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31883 			LA29_: ;
31884 			if (!T28_) goto LA30_;
31885 			result = n;
31886 		}
31887 		goto LA21_;
31888 		LA30_: ;
31889 		{
31890 			result = newSymNode__ast_3719(s, (*n).info);
31891 		}
31892 		LA21_: ;
31893 		{
31894 			if (!!(((49152 & (*(*(*c).graph).config).globalOptions) == 0))) goto LA35_;
31895 			styleCheckUse__linter_192((*(*c).graph).config, (*n).info, s);
31896 		}
31897 		LA35_: ;
31898 	}
31899 	break;
31900 	}
31901 	return result;
31902 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodySons__sem_7133)31903 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodySons__sem_7133)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31904 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31905 	result = NIM_NIL;
31906 	result = n;
31907 	{
31908 		NI i;
31909 		NI colontmp_;
31910 		NI i_2;
31911 		i = (NI)0;
31912 		colontmp_ = (NI)0;
31913 		colontmp_ = len__ast_3198(n);
31914 		i_2 = ((NI) 0);
31915 		{
31916 			while (1) {
31917 				if (!(i_2 < colontmp_)) goto LA3;
31918 				i = i_2;
31919 				asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i]));
31920 				i_2 += ((NI) 1);
31921 			} LA3: ;
31922 		}
31923 	}
31924 	return result;
31925 }
N_NIMCALL(void,openScope__sem_6791)31926 N_LIB_PRIVATE N_NIMCALL(void, openScope__sem_6791)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
31927 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
31928 	T1_ = NIM_NIL;
31929 	T1_ = openScope__lookups_69((*c).c);
31930 }
N_NIMCALL(void,closeScope__sem_6793)31931 N_LIB_PRIVATE N_NIMCALL(void, closeScope__sem_6793)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
31932 	closeScope__lookups_101((*c).c);
31933 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodyScope__sem_6795)31934 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyScope__sem_6795)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31935 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31936 	result = NIM_NIL;
31937 	openScope__sem_6791(c);
31938 	result = semTemplBody__sem_6788(c, n);
31939 	closeScope__sem_6793(c);
31940 	return result;
31941 }
N_NIMCALL(tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw,symBinding__sem_6547)31942 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw, symBinding__sem_6547)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31943 	tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw result;
31944 {	result = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
31945 	{
31946 		NI i;
31947 		NI colontmp_;
31948 		NI i_2;
31949 		i = (NI)0;
31950 		colontmp_ = (NI)0;
31951 		colontmp_ = len__ast_3198(n);
31952 		i_2 = ((NI) 0);
31953 		{
31954 			while (1) {
31955 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
31956 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
31957 				if (!(i_2 < colontmp_)) goto LA3;
31958 				i = i_2;
31959 				it = (*n)._kind_6.sons->data[i];
31960 				{
31961 					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA6_;
31962 					key = (*it)._kind_6.sons->data[((NI) 0)];
31963 				}
31964 				goto LA4_;
31965 				LA6_: ;
31966 				{
31967 					key = it;
31968 				}
31969 				LA4_: ;
31970 				{
31971 					tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T13_;
31972 					if (!((*key).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA11_;
31973 					T13_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
31974 					T13_ = whichKeyword__idents_214((*key)._kind_5.ident);
31975 					switch (T13_) {
31976 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 209):
31977 					{
31978 						result = ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 1);
31979 						goto BeforeRet_;
31980 					}
31981 					break;
31982 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 210):
31983 					{
31984 						result = ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 2);
31985 						goto BeforeRet_;
31986 					}
31987 					break;
31988 					default:
31989 					{
31990 					}
31991 					break;
31992 					}
31993 				}
31994 				LA11_: ;
31995 				i_2 += ((NI) 1);
31996 			} LA3: ;
31997 		}
31998 	}
31999 	}BeforeRet_: ;
32000 	return result;
32001 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,onlyReplaceParams__sem_6799)32002 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, onlyReplaceParams__sem_6799)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32003 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32004 	result = NIM_NIL;
32005 	result = n;
32006 	{
32007 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32008 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA3_;
32009 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32010 		{
32011 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
32012 			{
32013 				NIM_BOOL T11_;
32014 				T11_ = (NIM_BOOL)0;
32015 				T11_ = ((*s).owner == (*c).owner);
32016 				if (!(T11_)) goto LA12_;
32017 				T11_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32018 				LA12_: ;
32019 				if (!T11_) goto LA13_;
32020 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32021 				result = newSymNode__ast_3719(s, (*n).info);
32022 			}
32023 			LA13_: ;
32024 		}
32025 		LA7_: ;
32026 	}
32027 	goto LA1_;
32028 	LA3_: ;
32029 	{
32030 		{
32031 			NI i;
32032 			NI colontmp_;
32033 			NI i_2;
32034 			i = (NI)0;
32035 			colontmp_ = (NI)0;
32036 			colontmp_ = safeLen__ast_3191(n);
32037 			i_2 = ((NI) 0);
32038 			{
32039 				while (1) {
32040 					if (!(i_2 < colontmp_)) goto LA18;
32041 					i = i_2;
32042 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), onlyReplaceParams__sem_6799(c, (*n)._kind_6.sons->data[i]));
32043 					i_2 += ((NI) 1);
32044 				} LA18: ;
32045 			}
32046 		}
32047 	}
32048 	LA1_: ;
32049 	return result;
32050 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getIdentNode__sem_6749)32051 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_6749)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32052 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32053 	result = NIM_NIL;
32054 	switch ((*n).kind) {
32055 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32056 	{
32057 		result = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 1)]);
32058 	}
32059 	break;
32060 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32061 	{
32062 		result = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 0)]);
32063 	}
32064 	break;
32065 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32066 	{
32067 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32068 		result = n;
32069 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32070 		{
32071 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA6_;
32072 			{
32073 				NIM_BOOL T10_;
32074 				T10_ = (NIM_BOOL)0;
32075 				T10_ = ((*s).owner == (*c).owner);
32076 				if (!(T10_)) goto LA11_;
32077 				T10_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32078 				LA11_: ;
32079 				if (!T10_) goto LA12_;
32080 				result = newSymNode__ast_3719(s, (*n).info);
32081 			}
32082 			LA12_: ;
32083 		}
32084 		LA6_: ;
32085 	}
32086 	break;
32087 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32088 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
32089 	{
32090 		result = n;
32091 	}
32092 	break;
32093 	default:
32094 	{
32095 		illFormedAst__semdata_1071(n, (*(*(*c).c).graph).config);
32096 		result = n;
32097 	}
32098 	break;
32099 	}
32100 	return result;
32101 }
N_INLINE(NIM_BOOL,isTemplParam__sem_6768)32102 static N_INLINE(NIM_BOOL, isTemplParam__sem_6768)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32103 	NIM_BOOL result;
32104 	NIM_BOOL T1_;
32105 	NIM_BOOL T2_;
32106 	NIM_BOOL T3_;
32107 	result = (NIM_BOOL)0;
32108 	T1_ = (NIM_BOOL)0;
32109 	T2_ = (NIM_BOOL)0;
32110 	T3_ = (NIM_BOOL)0;
32111 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
32112 	if (!(T3_)) goto LA4_;
32113 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32114 	LA4_: ;
32115 	T2_ = T3_;
32116 	if (!(T2_)) goto LA5_;
32117 	T2_ = ((*(*n)._kind_4.sym).owner == (*c).owner);
32118 	LA5_: ;
32119 	T1_ = T2_;
32120 	if (!(T1_)) goto LA6_;
32121 	T1_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40))&63U)))!=0);
32122 	LA6_: ;
32123 	result = T1_;
32124 	return result;
32125 }
N_NIMCALL(void,replaceIdentBySym__sem_6733)32126 N_LIB_PRIVATE N_NIMCALL(void, replaceIdentBySym__sem_6733)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s) {
32127 	switch ((*(*n)).kind) {
32128 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32129 	{
32130 		replaceIdentBySym__sem_6733(c, &(*(*n))._kind_6.sons->data[((NI) 1)], s);
32131 	}
32132 	break;
32133 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32134 	{
32135 		replaceIdentBySym__sem_6733(c, &(*(*n))._kind_6.sons->data[((NI) 0)], s);
32136 	}
32137 	break;
32138 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32139 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32140 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
32141 	{
32142 		unsureAsgnRef((void**) (&(*n)), s);
32143 	}
32144 	break;
32145 	default:
32146 	{
32147 		illFormedAst__semdata_1071((*n), (*(*c).graph).config);
32148 	}
32149 	break;
32150 	}
32151 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newGenSym__sem_6831)32152 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newGenSym__sem_6831)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
32153 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
32154 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
32155 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
32156 	result = NIM_NIL;
32157 	T1_ = NIM_NIL;
32158 	T1_ = considerQuotedIdent__lookups_28((*c).c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
32159 	T2_ = nextSymId__ast_3132((*(*c).c).Sup.idgen);
32160 	result = newSym__ast_3445(kind, T1_, T2_, (*c).owner, (*n).info, 0);
32161 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
32162 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
32163 	return result;
32164 }
N_NIMCALL(void,addLocalDecl__sem_6844)32165 N_LIB_PRIVATE N_NIMCALL(void, addLocalDecl__sem_6844)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k) {
32166 {	{
32167 		NIM_BOOL T3_;
32168 		tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw T5_;
32169 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
32170 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident;
32171 		T3_ = (NIM_BOOL)0;
32172 		T3_ = ((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
32173 		if (!(T3_)) goto LA4_;
32174 		T5_ = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
32175 		T5_ = symBinding__sem_6547((*(*n))._kind_6.sons->data[((NI) 1)]);
32176 		T3_ = (T5_ == ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 2));
32177 		LA4_: ;
32178 		if (!T3_) goto LA6_;
32179 		x = (*(*n))._kind_6.sons->data[((NI) 0)];
32180 		{
32181 			while (1) {
32182 				switch ((*x).kind) {
32183 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32184 				{
32185 					x = (*x)._kind_6.sons->data[((NI) 1)];
32186 				}
32187 				break;
32188 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32189 				{
32190 					x = (*x)._kind_6.sons->data[((NI) 0)];
32191 				}
32192 				break;
32193 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32194 				{
32195 					goto LA8;
32196 				}
32197 				break;
32198 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32199 				{
32200 					unsureAsgnRef((void**) (&(*n)), onlyReplaceParams__sem_6799(c, (*n)));
32201 					goto BeforeRet_;
32202 				}
32203 				break;
32204 				default:
32205 				{
32206 					illFormedAst__semdata_1071(x, (*(*(*c).c).graph).config);
32207 				}
32208 				break;
32209 				}
32210 			}
32211 		} LA8: ;
32212 		ident = getIdentNode__sem_6749(c, x);
32213 		{
32214 			NIM_BOOL T17_;
32215 			T17_ = (NIM_BOOL)0;
32216 			T17_ = isTemplParam__sem_6768((&(*c)), ident);
32217 			if (!!(T17_)) goto LA18_;
32218 			incl__pureZcollectionsZintsets_55((&(*c).toInject), (*(*x)._kind_5.ident).id);
32219 		}
32220 		goto LA15_;
32221 		LA18_: ;
32222 		{
32223 			replaceIdentBySym__sem_6733((*c).c, n, ident);
32224 		}
32225 		LA15_: ;
32226 	}
32227 	goto LA1_;
32228 	LA6_: ;
32229 	{
32230 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident_2;
32231 		{
32232 			NIM_BOOL T24_;
32233 			NIM_BOOL T25_;
32234 			NI T27_;
32235 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
32236 			T24_ = (NIM_BOOL)0;
32237 			T25_ = (NIM_BOOL)0;
32238 			T25_ = ((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
32239 			if (!(T25_)) goto LA26_;
32240 			T27_ = (NI)0;
32241 			T27_ = len__ast_3198((*n));
32242 			T25_ = (((NI) 2) <= T27_);
32243 			LA26_: ;
32244 			T24_ = T25_;
32245 			if (!(T24_)) goto LA28_;
32246 			T24_ = ((*(*(*n))._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
32247 			LA28_: ;
32248 			if (!T24_) goto LA29_;
32249 			pragmaNode = (*(*n))._kind_6.sons->data[((NI) 1)];
32250 			{
32251 				NI i;
32252 				NI colontmp_;
32253 				NI i_2;
32254 				i = (NI)0;
32255 				colontmp_ = (NI)0;
32256 				colontmp_ = len__ast_3198(pragmaNode);
32257 				i_2 = ((NI) 0);
32258 				{
32259 					while (1) {
32260 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ni;
32261 						NIM_BOOL found;
32262 						if (!(i_2 < colontmp_)) goto LA33;
32263 						i = i_2;
32264 						ni = (*pragmaNode)._kind_6.sons->data[i];
32265 						found = NIM_FALSE;
32266 						{
32267 							if (!((*ni).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA36_;
32268 							{
32269 								tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw a;
32270 								NI i_3;
32271 								a = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
32272 								i_3 = ((NI) 0);
32273 								{
32274 									while (1) {
32275 										if (!(i_3 <= ((NI) 293))) goto LA40;
32276 										{
32277 											if (!((TM__rF9caJawfOjYTjsgLVUSGFA_695[(NU)(((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3)))>>3] &(1U<<((NU)(((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3)))&7U)))!=0)) goto LA43_;
32278 											a = ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3));
32279 											{
32280 												tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T47_;
32281 												NIM_BOOL T48_;
32282 												T47_ = NIM_NIL;
32283 												T47_ = getIdent__idents_143((*(*c).c).cache, reprEnum((NI)a, (&NTItspecialword__ycbpMCRV6Cd2eBh3X9biEiw_)));
32284 												T48_ = (NIM_BOOL)0;
32285 												T48_ = eqeq___idents_220((*ni)._kind_5.ident, T47_);
32286 												if (!T48_) goto LA49_;
32287 												found = NIM_TRUE;
32288 												goto LA38;
32289 											}
32290 											LA49_: ;
32291 										}
32292 										LA43_: ;
32293 										i_3 += ((NI) 1);
32294 									} LA40: ;
32295 								}
32296 							} LA38: ;
32297 						}
32298 						LA36_: ;
32299 						{
32300 							if (!!(found)) goto LA53_;
32301 							openScope__sem_6791(c);
32302 							asgnRef((void**) (&(*pragmaNode)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*pragmaNode)._kind_6.sons->data[i]));
32303 							closeScope__sem_6793(c);
32304 						}
32305 						LA53_: ;
32306 						i_2 += ((NI) 1);
32307 					} LA33: ;
32308 				}
32309 			}
32310 		}
32311 		LA29_: ;
32312 		ident_2 = getIdentNode__sem_6749(c, (*n));
32313 		{
32314 			NIM_BOOL T57_;
32315 			T57_ = (NIM_BOOL)0;
32316 			T57_ = isTemplParam__sem_6768((&(*c)), ident_2);
32317 			if (!!(T57_)) goto LA58_;
32318 			{
32319 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* local;
32320 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T70_;
32321 				if (!!(((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA62_;
32322 				local = newGenSym__sem_6831(k, ident_2, c);
32323 				addPrelimDecl__lookups_848((*c).c, local);
32324 				{
32325 					NIM_BOOL T66_;
32326 					T66_ = (NIM_BOOL)0;
32327 					T66_ = !(((49152 & (*(*(*(*c).c).graph).config).globalOptions) == 0));
32328 					if (!(T66_)) goto LA67_;
32329 					T66_ = !((((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
32330 					LA67_: ;
32331 					if (!T66_) goto LA68_;
32332 					nep1CheckDefImpl__linter_110((*(*(*c).c).graph).config, (*(*n)).info, local, (*local).kind);
32333 				}
32334 				LA68_: ;
32335 				T70_ = NIM_NIL;
32336 				T70_ = newSymNode__ast_3719(local, (*(*n)).info);
32337 				replaceIdentBySym__sem_6733((*c).c, n, T70_);
32338 				{
32339 					NIM_BOOL T73_;
32340 					T73_ = (NIM_BOOL)0;
32341 					T73_ = (k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32342 					if (!(T73_)) goto LA74_;
32343 					T73_ = (((NI) 0) < (*c).inTemplateHeader);
32344 					LA74_: ;
32345 					if (!T73_) goto LA75_;
32346 					(*local).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40)) & 63);
32347 				}
32348 				LA75_: ;
32349 			}
32350 			LA62_: ;
32351 		}
32352 		goto LA55_;
32353 		LA58_: ;
32354 		{
32355 			replaceIdentBySym__sem_6733((*c).c, n, ident_2);
32356 		}
32357 		LA55_: ;
32358 	}
32359 	LA1_: ;
32360 	}BeforeRet_: ;
32361 }
N_NIMCALL(void,semTemplSomeDecl__sem_7085)32362 N_LIB_PRIVATE N_NIMCALL(void, semTemplSomeDecl__sem_7085)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, NI start) {
32363 	{
32364 		NI i;
32365 		NI colontmp_;
32366 		NI i_2;
32367 		i = (NI)0;
32368 		colontmp_ = (NI)0;
32369 		colontmp_ = len__ast_3198(n);
32370 		i_2 = start;
32371 		{
32372 			while (1) {
32373 				if (!(i_2 < colontmp_)) goto LA3;
32374 				i = i_2;
32375 				{
32376 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
32377 					a = (*n)._kind_6.sons->data[i];
32378 					switch ((*a).kind) {
32379 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
32380 					{
32381 						goto LA4;
32382 					}
32383 					break;
32384 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
32385 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
32386 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
32387 					{
32388 						NI T7_;
32389 						NI T8_;
32390 						NI T9_;
32391 						NI T10_;
32392 						checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*(*c).c).graph).config);
32393 						T7_ = (NI)0;
32394 						T7_ = len__ast_3198(a);
32395 						T8_ = (NI)0;
32396 						T8_ = len__ast_3198(a);
32397 						asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[(NI)(T8_ - ((NI) 2))]));
32398 						T9_ = (NI)0;
32399 						T9_ = len__ast_3198(a);
32400 						T10_ = (NI)0;
32401 						T10_ = len__ast_3198(a);
32402 						asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[(NI)(T10_ - ((NI) 1))]));
32403 						{
32404 							NI j;
32405 							NI colontmp__2;
32406 							NI T12_;
32407 							NI i_3;
32408 							j = (NI)0;
32409 							colontmp__2 = (NI)0;
32410 							T12_ = (NI)0;
32411 							T12_ = len__ast_3198(a);
32412 							colontmp__2 = (NI)(T12_ - ((NI) 2));
32413 							i_3 = ((NI) 0);
32414 							{
32415 								while (1) {
32416 									if (!(i_3 < colontmp__2)) goto LA14;
32417 									j = i_3;
32418 									addLocalDecl__sem_6844(c, &(*a)._kind_6.sons->data[j], symKind);
32419 									i_3 += ((NI) 1);
32420 								} LA14: ;
32421 							}
32422 						}
32423 					}
32424 					break;
32425 					default:
32426 					{
32427 						illFormedAst__semdata_1071(a, (*(*(*c).c).graph).config);
32428 					}
32429 					break;
32430 					}
32431 				} LA4: ;
32432 				i_2 += ((NI) 1);
32433 			} LA3: ;
32434 		}
32435 	}
32436 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRoutineInTemplName__sem_6973)32437 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplName__sem_6973)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32438 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32439 	result = NIM_NIL;
32440 	result = n;
32441 	{
32442 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32443 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA3_;
32444 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32445 		{
32446 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
32447 			{
32448 				NIM_BOOL T11_;
32449 				NIM_BOOL T13_;
32450 				T11_ = (NIM_BOOL)0;
32451 				T11_ = ((*s).owner == (*c).owner);
32452 				if (!(T11_)) goto LA12_;
32453 				T13_ = (NIM_BOOL)0;
32454 				T13_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32455 				if (T13_) goto LA14_;
32456 				T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
32457 				LA14_: ;
32458 				T11_ = T13_;
32459 				LA12_: ;
32460 				if (!T11_) goto LA15_;
32461 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32462 				result = newSymNode__ast_3719(s, (*n).info);
32463 			}
32464 			LA15_: ;
32465 		}
32466 		LA7_: ;
32467 	}
32468 	goto LA1_;
32469 	LA3_: ;
32470 	{
32471 		{
32472 			NI i;
32473 			NI colontmp_;
32474 			NI i_2;
32475 			i = (NI)0;
32476 			colontmp_ = (NI)0;
32477 			colontmp_ = safeLen__ast_3191(n);
32478 			i_2 = ((NI) 0);
32479 			{
32480 				while (1) {
32481 					if (!(i_2 < colontmp_)) goto LA20;
32482 					i = i_2;
32483 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semRoutineInTemplName__sem_6973(c, (*n)._kind_6.sons->data[i]));
32484 					i_2 += ((NI) 1);
32485 				} LA20: ;
32486 			}
32487 		}
32488 	}
32489 	LA1_: ;
32490 	return result;
32491 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRoutineInTemplBody__sem_7009)32492 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplBody__sem_7009)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k) {
32493 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32494 	result = NIM_NIL;
32495 	result = n;
32496 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*(*c).c).graph).config);
32497 	{
32498 		NIM_BOOL T3_;
32499 		tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw T5_;
32500 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident;
32501 		T3_ = (NIM_BOOL)0;
32502 		T3_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52)));
32503 		if (!(T3_)) goto LA4_;
32504 		T5_ = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
32505 		T5_ = symBinding__sem_6547((*n)._kind_6.sons->data[((NI) 4)]);
32506 		T3_ = (T5_ == ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 1));
32507 		LA4_: ;
32508 		if (!T3_) goto LA6_;
32509 		ident = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 0)]);
32510 		{
32511 			NIM_BOOL T10_;
32512 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32513 			T10_ = (NIM_BOOL)0;
32514 			T10_ = isTemplParam__sem_6768((&(*c)), ident);
32515 			if (!!(T10_)) goto LA11_;
32516 			s = newGenSym__sem_6831(k, ident, c);
32517 			asgnRef((void**) (&(*s).ast), n);
32518 			addPrelimDecl__lookups_848((*c).c, s);
32519 			{
32520 				NIM_BOOL T15_;
32521 				T15_ = (NIM_BOOL)0;
32522 				T15_ = !(((49152 & (*(*(*(*c).c).graph).config).globalOptions) == 0));
32523 				if (!(T15_)) goto LA16_;
32524 				T15_ = !((((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
32525 				LA16_: ;
32526 				if (!T15_) goto LA17_;
32527 				nep1CheckDefImpl__linter_110((*(*(*c).c).graph).config, (*n).info, s, (*s).kind);
32528 			}
32529 			LA17_: ;
32530 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(s, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
32531 		}
32532 		goto LA8_;
32533 		LA11_: ;
32534 		{
32535 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ident);
32536 		}
32537 		LA8_: ;
32538 	}
32539 	goto LA1_;
32540 	LA6_: ;
32541 	{
32542 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semRoutineInTemplName__sem_6973(c, (*n)._kind_6.sons->data[((NI) 0)]));
32543 	}
32544 	LA1_: ;
32545 	openScope__sem_6791(c);
32546 	{
32547 		NI i;
32548 		NI res;
32549 		i = (NI)0;
32550 		res = ((NI) 1);
32551 		{
32552 			while (1) {
32553 				if (!(res <= ((NI) 2))) goto LA23;
32554 				i = res;
32555 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i]));
32556 				res += ((NI) 1);
32557 			} LA23: ;
32558 		}
32559 	}
32560 	{
32561 		if (!(k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18))) goto LA26_;
32562 		(*c).inTemplateHeader += ((NI) 1);
32563 	}
32564 	LA26_: ;
32565 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 3)]));
32566 	{
32567 		if (!(k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18))) goto LA30_;
32568 		(*c).inTemplateHeader -= ((NI) 1);
32569 	}
32570 	LA30_: ;
32571 	{
32572 		NI i_2;
32573 		NI res_2;
32574 		i_2 = (NI)0;
32575 		res_2 = ((NI) 4);
32576 		{
32577 			while (1) {
32578 				if (!(res_2 <= ((NI) 5))) goto LA34;
32579 				i_2 = res_2;
32580 				asgnRef((void**) (&(*n)._kind_6.sons->data[i_2]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i_2]));
32581 				res_2 += ((NI) 1);
32582 			} LA34: ;
32583 		}
32584 	}
32585 	(*c).scopeN += ((NI) 1);
32586 	openScope__sem_6791(c);
32587 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 6)]));
32588 	closeScope__sem_6793(c);
32589 	(*c).scopeN -= ((NI) 1);
32590 	closeScope__sem_6793(c);
32591 	return result;
32592 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBody__sem_6788)32593 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBody__sem_6788)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32594 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32595 {	result = NIM_NIL;
32596 	result = n;
32597 	switch ((*n).kind) {
32598 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32599 	{
32600 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32601 		{
32602 			NIM_BOOL T4_;
32603 			T4_ = (NIM_BOOL)0;
32604 			T4_ = contains__astalgo_3496((&(*c).toInject), (*(*n)._kind_5.ident).id);
32605 			if (!T4_) goto LA5_;
32606 			result = n;
32607 			goto BeforeRet_;
32608 		}
32609 		LA5_: ;
32610 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32611 		{
32612 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9_;
32613 			{
32614 				NIM_BOOL T13_;
32615 				NIM_BOOL T14_;
32616 				T13_ = (NIM_BOOL)0;
32617 				T14_ = (NIM_BOOL)0;
32618 				T14_ = ((*s).owner == (*c).owner);
32619 				if (!(T14_)) goto LA15_;
32620 				T14_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32621 				LA15_: ;
32622 				T13_ = T14_;
32623 				if (!(T13_)) goto LA16_;
32624 				T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40))&63U)))!=0);
32625 				LA16_: ;
32626 				if (!T13_) goto LA17_;
32627 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32628 				result = newSymNode__ast_3719(s, (*n).info);
32629 			}
32630 			goto LA11_;
32631 			LA17_: ;
32632 			{
32633 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1721_;
32634 				NIM_BOOL T20_;
32635 				xX60gensym1721_ = s;
32636 				T20_ = (NIM_BOOL)0;
32637 				T20_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1721_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1721_).Sup.itemId.item))));
32638 				if (!T20_) goto LA21_;
32639 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), (((NI) 0) < (*c).noGenSym));
32640 			}
32641 			goto LA11_;
32642 			LA21_: ;
32643 			{
32644 				NIM_BOOL T24_;
32645 				T24_ = (NIM_BOOL)0;
32646 				T24_ = contains__astalgo_3496((&(*c).toMixin), (*(*s).name).id);
32647 				if (!T24_) goto LA25_;
32648 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), (((NI) 0) < (*c).noGenSym));
32649 			}
32650 			goto LA11_;
32651 			LA25_: ;
32652 			{
32653 				NIM_BOOL T28_;
32654 				NIM_BOOL T29_;
32655 				T28_ = (NIM_BOOL)0;
32656 				T29_ = (NIM_BOOL)0;
32657 				T29_ = ((*s).owner == (*c).owner);
32658 				if (!(T29_)) goto LA30_;
32659 				T29_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
32660 				LA30_: ;
32661 				T28_ = T29_;
32662 				if (!(T28_)) goto LA31_;
32663 				T28_ = ((*c).noGenSym == ((NI) 0));
32664 				LA31_: ;
32665 				if (!T28_) goto LA32_;
32666 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32667 				result = newSymNode__ast_3719(s, (*n).info);
32668 			}
32669 			goto LA11_;
32670 			LA32_: ;
32671 			{
32672 				result = semTemplSymbol__sem_6931((*c).c, n, s, (((NI) 0) < (*c).noGenSym));
32673 			}
32674 			LA11_: ;
32675 		}
32676 		LA9_: ;
32677 	}
32678 	break;
32679 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
32680 	{
32681 		result = semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]);
32682 	}
32683 	break;
32684 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
32685 	{
32686 		result = semBindStmt__sem_6647((*c).c, n, (&(*c).toBind));
32687 	}
32688 	break;
32689 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
32690 	{
32691 		{
32692 			if (!(((NI) 0) < (*c).scopeN)) goto LA40_;
32693 			result = semTemplBodySons__sem_7133(c, n);
32694 		}
32695 		goto LA38_;
32696 		LA40_: ;
32697 		{
32698 			result = semMixinStmt__sem_6701((*c).c, n, (&(*c).toMixin));
32699 		}
32700 		LA38_: ;
32701 	}
32702 	break;
32703 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
32704 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
32705 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
32706 	{
32707 	}
32708 	break;
32709 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
32710 	{
32711 		{
32712 			NI i;
32713 			NI colontmp_;
32714 			NI i_2;
32715 			i = (NI)0;
32716 			colontmp_ = (NI)0;
32717 			colontmp_ = len__ast_3198(n);
32718 			i_2 = ((NI) 0);
32719 			{
32720 				while (1) {
32721 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
32722 					if (!(i_2 < colontmp_)) goto LA47;
32723 					i = i_2;
32724 					it = (*n)._kind_6.sons->data[i];
32725 					{
32726 						NI T50_;
32727 						T50_ = (NI)0;
32728 						T50_ = len__ast_3198(it);
32729 						if (!(T50_ == ((NI) 2))) goto LA51_;
32730 						openScope__sem_6791(c);
32731 						asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*it)._kind_6.sons->data[((NI) 0)]));
32732 						asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*it)._kind_6.sons->data[((NI) 1)]));
32733 						closeScope__sem_6793(c);
32734 					}
32735 					goto LA48_;
32736 					LA51_: ;
32737 					{
32738 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semTemplBodyScope__sem_6795(c, it));
32739 					}
32740 					LA48_: ;
32741 					i_2 += ((NI) 1);
32742 				} LA47: ;
32743 			}
32744 		}
32745 	}
32746 	break;
32747 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
32748 	{
32749 		openScope__sem_6791(c);
32750 		{
32751 			NI i_3;
32752 			NI colontmp__2;
32753 			NI i_4;
32754 			i_3 = (NI)0;
32755 			colontmp__2 = (NI)0;
32756 			colontmp__2 = len__ast_3198(n);
32757 			i_4 = ((NI) 0);
32758 			{
32759 				while (1) {
32760 					if (!(i_4 < colontmp__2)) goto LA57;
32761 					i_3 = i_4;
32762 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i_3]));
32763 					i_4 += ((NI) 1);
32764 				} LA57: ;
32765 			}
32766 		}
32767 		closeScope__sem_6793(c);
32768 	}
32769 	break;
32770 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
32771 	{
32772 		openScope__sem_6791(c);
32773 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
32774 		{
32775 			NI i_5;
32776 			NI colontmp__3;
32777 			NI i_6;
32778 			i_5 = (NI)0;
32779 			colontmp__3 = (NI)0;
32780 			colontmp__3 = len__ast_3198(n);
32781 			i_6 = ((NI) 1);
32782 			{
32783 				while (1) {
32784 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
32785 					NI T66_;
32786 					NI T67_;
32787 					if (!(i_6 < colontmp__3)) goto LA61;
32788 					i_5 = i_6;
32789 					a = (*n)._kind_6.sons->data[i_5];
32790 					checkMinSonsLen__semdata_1084(a, ((NI) 1), (*(*(*c).c).graph).config);
32791 					{
32792 						NI j;
32793 						NI colontmp__4;
32794 						NI T63_;
32795 						NI i_7;
32796 						j = (NI)0;
32797 						colontmp__4 = (NI)0;
32798 						T63_ = (NI)0;
32799 						T63_ = len__ast_3198(a);
32800 						colontmp__4 = (NI)(T63_ - ((NI) 1));
32801 						i_7 = ((NI) 0);
32802 						{
32803 							while (1) {
32804 								if (!(i_7 < colontmp__4)) goto LA65;
32805 								j = i_7;
32806 								asgnRef((void**) (&(*a)._kind_6.sons->data[j]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[j]));
32807 								i_7 += ((NI) 1);
32808 							} LA65: ;
32809 						}
32810 					}
32811 					T66_ = (NI)0;
32812 					T66_ = len__ast_3198(a);
32813 					T67_ = (NI)0;
32814 					T67_ = len__ast_3198(a);
32815 					asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T66_ - ((NI) 1))]), semTemplBodyScope__sem_6795(c, (*a)._kind_6.sons->data[(NI)(T67_ - ((NI) 1))]));
32816 					i_6 += ((NI) 1);
32817 				} LA61: ;
32818 			}
32819 		}
32820 		closeScope__sem_6793(c);
32821 	}
32822 	break;
32823 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
32824 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
32825 	{
32826 		NI T69_;
32827 		NI T70_;
32828 		NI T84_;
32829 		NI T85_;
32830 		openScope__sem_6791(c);
32831 		T69_ = (NI)0;
32832 		T69_ = len__ast_3198(n);
32833 		T70_ = (NI)0;
32834 		T70_ = len__ast_3198(n);
32835 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T69_ - ((NI) 2))]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[(NI)(T70_ - ((NI) 2))]));
32836 		{
32837 			NI i_8;
32838 			NI colontmp__5;
32839 			NI T72_;
32840 			NI i_9;
32841 			i_8 = (NI)0;
32842 			colontmp__5 = (NI)0;
32843 			T72_ = (NI)0;
32844 			T72_ = len__ast_3198(n);
32845 			colontmp__5 = (NI)(T72_ - ((NI) 2));
32846 			i_9 = ((NI) 0);
32847 			{
32848 				while (1) {
32849 					if (!(i_9 < colontmp__5)) goto LA74;
32850 					i_8 = i_9;
32851 					{
32852 						if (!((*(*n)._kind_6.sons->data[i_8]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA77_;
32853 						{
32854 							NI j_2;
32855 							NI colontmp__6;
32856 							NI T80_;
32857 							NI i_10;
32858 							j_2 = (NI)0;
32859 							colontmp__6 = (NI)0;
32860 							T80_ = (NI)0;
32861 							T80_ = len__ast_3198((*n)._kind_6.sons->data[i_8]);
32862 							colontmp__6 = (NI)(T80_ - ((NI) 1));
32863 							i_10 = ((NI) 0);
32864 							{
32865 								while (1) {
32866 									if (!(i_10 < colontmp__6)) goto LA82;
32867 									j_2 = i_10;
32868 									addLocalDecl__sem_6844(c, &(*(*n)._kind_6.sons->data[i_8])._kind_6.sons->data[j_2], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
32869 									i_10 += ((NI) 1);
32870 								} LA82: ;
32871 							}
32872 						}
32873 					}
32874 					goto LA75_;
32875 					LA77_: ;
32876 					{
32877 						addLocalDecl__sem_6844(c, &(*n)._kind_6.sons->data[i_8], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
32878 					}
32879 					LA75_: ;
32880 					i_9 += ((NI) 1);
32881 				} LA74: ;
32882 			}
32883 		}
32884 		openScope__sem_6791(c);
32885 		T84_ = (NI)0;
32886 		T84_ = len__ast_3198(n);
32887 		T85_ = (NI)0;
32888 		T85_ = len__ast_3198(n);
32889 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T84_ - ((NI) 1))]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[(NI)(T85_ - ((NI) 1))]));
32890 		closeScope__sem_6793(c);
32891 		closeScope__sem_6793(c);
32892 	}
32893 	break;
32894 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
32895 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
32896 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 129):
32897 	{
32898 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*(*c).c).graph).config);
32899 		openScope__sem_6791(c);
32900 		{
32901 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA89_;
32902 			addLocalDecl__sem_6844(c, &(*n)._kind_6.sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22));
32903 		}
32904 		LA89_: ;
32905 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
32906 		closeScope__sem_6793(c);
32907 	}
32908 	break;
32909 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
32910 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
32911 	{
32912 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*(*c).c).graph).config);
32913 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBodyScope__sem_6795(c, (*n)._kind_6.sons->data[((NI) 0)]));
32914 		{
32915 			NI i_11;
32916 			NI colontmp__7;
32917 			NI i_12;
32918 			i_11 = (NI)0;
32919 			colontmp__7 = (NI)0;
32920 			colontmp__7 = len__ast_3198(n);
32921 			i_12 = ((NI) 1);
32922 			{
32923 				while (1) {
32924 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
32925 					NI T105_;
32926 					NI T106_;
32927 					if (!(i_12 < colontmp__7)) goto LA94;
32928 					i_11 = i_12;
32929 					a_2 = (*n)._kind_6.sons->data[i_11];
32930 					checkMinSonsLen__semdata_1084(a_2, ((NI) 1), (*(*(*c).c).graph).config);
32931 					openScope__sem_6791(c);
32932 					{
32933 						NI j_3;
32934 						NI colontmp__8;
32935 						NI T96_;
32936 						NI i_13;
32937 						j_3 = (NI)0;
32938 						colontmp__8 = (NI)0;
32939 						T96_ = (NI)0;
32940 						T96_ = len__ast_3198(a_2);
32941 						colontmp__8 = (NI)(T96_ - ((NI) 1));
32942 						i_13 = ((NI) 0);
32943 						{
32944 							while (1) {
32945 								if (!(i_13 < colontmp__8)) goto LA98;
32946 								j_3 = i_13;
32947 								{
32948 									NIM_BOOL T101_;
32949 									T101_ = (NIM_BOOL)0;
32950 									T101_ = isInfixAs__ast_4935((*a_2)._kind_6.sons->data[j_3]);
32951 									if (!T101_) goto LA102_;
32952 									addLocalDecl__sem_6844(c, &(*(*a_2)._kind_6.sons->data[j_3])._kind_6.sons->data[((NI) 2)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
32953 									asgnRef((void**) (&(*(*a_2)._kind_6.sons->data[j_3])._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*(*a_2)._kind_6.sons->data[j_3])._kind_6.sons->data[((NI) 1)]));
32954 								}
32955 								goto LA99_;
32956 								LA102_: ;
32957 								{
32958 									asgnRef((void**) (&(*a_2)._kind_6.sons->data[j_3]), semTemplBody__sem_6788(c, (*a_2)._kind_6.sons->data[j_3]));
32959 								}
32960 								LA99_: ;
32961 								i_13 += ((NI) 1);
32962 							} LA98: ;
32963 						}
32964 					}
32965 					T105_ = (NI)0;
32966 					T105_ = len__ast_3198(a_2);
32967 					T106_ = (NI)0;
32968 					T106_ = len__ast_3198(a_2);
32969 					asgnRef((void**) (&(*a_2)._kind_6.sons->data[(NI)(T105_ - ((NI) 1))]), semTemplBodyScope__sem_6795(c, (*a_2)._kind_6.sons->data[(NI)(T106_ - ((NI) 1))]));
32970 					closeScope__sem_6793(c);
32971 					i_12 += ((NI) 1);
32972 				} LA94: ;
32973 			}
32974 		}
32975 	}
32976 	break;
32977 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
32978 	{
32979 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), ((NI) 0));
32980 	}
32981 	break;
32982 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
32983 	{
32984 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), ((NI) 0));
32985 	}
32986 	break;
32987 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
32988 	{
32989 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*(*c).c).graph).config);
32990 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), ((NI) 1));
32991 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
32992 	}
32993 	break;
32994 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
32995 	{
32996 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), ((NI) 0));
32997 	}
32998 	break;
32999 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
33000 	{
33001 		{
33002 			NI i_14;
33003 			NI colontmp__9;
33004 			NI i_15;
33005 			i_14 = (NI)0;
33006 			colontmp__9 = (NI)0;
33007 			colontmp__9 = len__ast_3198(n);
33008 			i_15 = ((NI) 0);
33009 			{
33010 				while (1) {
33011 					if (!(i_15 < colontmp__9)) goto LA114;
33012 					i_14 = i_15;
33013 					{
33014 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
33015 						a_3 = (*n)._kind_6.sons->data[i_14];
33016 						{
33017 							if (!((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA118_;
33018 							goto LA115;
33019 						}
33020 						LA118_: ;
33021 						{
33022 							if (!!(((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA122_;
33023 							illFormedAst__semdata_1071(a_3, (*(*(*c).c).graph).config);
33024 						}
33025 						LA122_: ;
33026 						checkSonsLen__semdata_1077(a_3, ((NI) 3), (*(*(*c).c).graph).config);
33027 						addLocalDecl__sem_6844(c, &(*a_3)._kind_6.sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
33028 					} LA115: ;
33029 					i_15 += ((NI) 1);
33030 				} LA114: ;
33031 			}
33032 		}
33033 		{
33034 			NI i_16;
33035 			NI colontmp__10;
33036 			NI i_17;
33037 			i_16 = (NI)0;
33038 			colontmp__10 = (NI)0;
33039 			colontmp__10 = len__ast_3198(n);
33040 			i_17 = ((NI) 0);
33041 			{
33042 				while (1) {
33043 					if (!(i_17 < colontmp__10)) goto LA126;
33044 					i_16 = i_17;
33045 					{
33046 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_4;
33047 						a_4 = (*n)._kind_6.sons->data[i_16];
33048 						{
33049 							if (!((*a_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA130_;
33050 							goto LA127;
33051 						}
33052 						LA130_: ;
33053 						{
33054 							if (!!(((*a_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA134_;
33055 							illFormedAst__semdata_1071(a_4, (*(*(*c).c).graph).config);
33056 						}
33057 						LA134_: ;
33058 						checkSonsLen__semdata_1077(a_4, ((NI) 3), (*(*(*c).c).graph).config);
33059 						{
33060 							if (!!(((*(*a_4)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA138_;
33061 							openScope__sem_6791(c);
33062 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 1)]));
33063 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 2)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 2)]));
33064 							closeScope__sem_6793(c);
33065 						}
33066 						goto LA136_;
33067 						LA138_: ;
33068 						{
33069 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 2)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 2)]));
33070 						}
33071 						LA136_: ;
33072 					} LA127: ;
33073 					i_17 += ((NI) 1);
33074 				} LA126: ;
33075 			}
33076 		}
33077 	}
33078 	break;
33079 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
33080 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
33081 	{
33082 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
33083 	}
33084 	break;
33085 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
33086 	{
33087 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13));
33088 	}
33089 	break;
33090 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
33091 	{
33092 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
33093 	}
33094 	break;
33095 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
33096 	{
33097 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
33098 	}
33099 	break;
33100 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
33101 	{
33102 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18));
33103 	}
33104 	break;
33105 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
33106 	{
33107 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
33108 	}
33109 	break;
33110 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
33111 	{
33112 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16));
33113 	}
33114 	break;
33115 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
33116 	{
33117 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33118 	}
33119 	break;
33120 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
33121 	{
33122 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33123 	}
33124 	break;
33125 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
33126 	{
33127 		{
33128 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
33129 			x = NIM_NIL;
33130 			{
33131 				NI i_18;
33132 				NI colontmp__11;
33133 				NI i_19;
33134 				i_18 = (NI)0;
33135 				colontmp__11 = (NI)0;
33136 				colontmp__11 = safeLen__ast_3191(n);
33137 				i_19 = ((NI) 0);
33138 				{
33139 					while (1) {
33140 						if (!(i_19 < colontmp__11)) goto LA154;
33141 						i_18 = i_19;
33142 						x = (*n)._kind_6.sons->data[i_18];
33143 						{
33144 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA157_;
33145 							asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*x)._kind_6.sons->data[((NI) 1)]));
33146 						}
33147 						LA157_: ;
33148 						i_19 += ((NI) 1);
33149 					} LA154: ;
33150 				}
33151 			}
33152 		}
33153 	}
33154 	break;
33155 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
33156 	{
33157 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T160_;
33158 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T161_;
33159 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33160 		T160_ = NIM_NIL;
33161 		T160_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
33162 		T161_ = NIM_NIL;
33163 		T161_ = newIdentNode__ast_3712(T160_, (*n).info);
33164 		add__ast_4797(result, T161_);
33165 		{
33166 			NI i_20;
33167 			NI colontmp__12;
33168 			NI i_21;
33169 			i_20 = (NI)0;
33170 			colontmp__12 = (NI)0;
33171 			colontmp__12 = len__ast_3198(n);
33172 			i_21 = ((NI) 0);
33173 			{
33174 				while (1) {
33175 					if (!(i_21 < colontmp__12)) goto LA164;
33176 					i_20 = i_21;
33177 					add__ast_4797(result, (*n)._kind_6.sons->data[i_20]);
33178 					i_21 += ((NI) 1);
33179 				} LA164: ;
33180 			}
33181 		}
33182 		result = semTemplBodySons__sem_7133(c, result);
33183 	}
33184 	break;
33185 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
33186 	{
33187 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T166_;
33188 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T167_;
33189 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33190 		T166_ = NIM_NIL;
33191 		T166_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
33192 		T167_ = NIM_NIL;
33193 		T167_ = newIdentNode__ast_3712(T166_, (*n).info);
33194 		add__ast_4797(result, T167_);
33195 		{
33196 			NI i_22;
33197 			NI colontmp__13;
33198 			NI i_23;
33199 			i_22 = (NI)0;
33200 			colontmp__13 = (NI)0;
33201 			colontmp__13 = len__ast_3198(n);
33202 			i_23 = ((NI) 0);
33203 			{
33204 				while (1) {
33205 					if (!(i_23 < colontmp__13)) goto LA170;
33206 					i_22 = i_23;
33207 					add__ast_4797(result, (*n)._kind_6.sons->data[i_22]);
33208 					i_23 += ((NI) 1);
33209 				} LA170: ;
33210 			}
33211 		}
33212 		result = semTemplBodySons__sem_7133(c, result);
33213 	}
33214 	break;
33215 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
33216 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
33217 	{
33218 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_5;
33219 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
33220 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k;
33221 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*(*c).c).graph).config);
33222 		a_5 = (*n)._kind_6.sons->data[((NI) 0)];
33223 		b = (*n)._kind_6.sons->data[((NI) 1)];
33224 		k = (*a_5).kind;
33225 		switch (k) {
33226 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
33227 		{
33228 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T173_;
33229 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T174_;
33230 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a0;
33231 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33232 			T173_ = NIM_NIL;
33233 			T173_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_132));
33234 			T174_ = NIM_NIL;
33235 			T174_ = newIdentNode__ast_3712(T173_, (*n).info);
33236 			add__ast_4797(result, T174_);
33237 			{
33238 				NI i_24;
33239 				NI colontmp__14;
33240 				NI i_25;
33241 				i_24 = (NI)0;
33242 				colontmp__14 = (NI)0;
33243 				colontmp__14 = len__ast_3198(a_5);
33244 				i_25 = ((NI) 0);
33245 				{
33246 					while (1) {
33247 						if (!(i_25 < colontmp__14)) goto LA177;
33248 						i_24 = i_25;
33249 						add__ast_4797(result, (*a_5)._kind_6.sons->data[i_24]);
33250 						i_25 += ((NI) 1);
33251 					} LA177: ;
33252 				}
33253 			}
33254 			add__ast_4797(result, b);
33255 			a0 = semTemplBody__sem_6788(c, (*a_5)._kind_6.sons->data[((NI) 0)]);
33256 			result = semTemplBodySons__sem_7133(c, result);
33257 		}
33258 		break;
33259 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
33260 		{
33261 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T179_;
33262 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T180_;
33263 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33264 			T179_ = NIM_NIL;
33265 			T179_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_131));
33266 			T180_ = NIM_NIL;
33267 			T180_ = newIdentNode__ast_3712(T179_, (*n).info);
33268 			add__ast_4797(result, T180_);
33269 			{
33270 				NI i_26;
33271 				NI colontmp__15;
33272 				NI i_27;
33273 				i_26 = (NI)0;
33274 				colontmp__15 = (NI)0;
33275 				colontmp__15 = len__ast_3198(a_5);
33276 				i_27 = ((NI) 0);
33277 				{
33278 					while (1) {
33279 						if (!(i_27 < colontmp__15)) goto LA183;
33280 						i_26 = i_27;
33281 						add__ast_4797(result, (*a_5)._kind_6.sons->data[i_26]);
33282 						i_27 += ((NI) 1);
33283 					} LA183: ;
33284 				}
33285 			}
33286 			add__ast_4797(result, b);
33287 			result = semTemplBodySons__sem_7133(c, result);
33288 		}
33289 		break;
33290 		default:
33291 		{
33292 			result = semTemplBodySons__sem_7133(c, n);
33293 		}
33294 		break;
33295 		}
33296 	}
33297 	break;
33298 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
33299 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
33300 	{
33301 		{
33302 			NIM_BOOL T188_;
33303 			T188_ = (NIM_BOOL)0;
33304 			T188_ = isRunnableExamples__ast_4698((*n)._kind_6.sons->data[((NI) 0)]);
33305 			if (!!(T188_)) goto LA189_;
33306 			result = semTemplBodySons__sem_7133(c, n);
33307 		}
33308 		LA189_: ;
33309 	}
33310 	break;
33311 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
33312 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
33313 	{
33314 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
33315 		s_2 = qualifiedLookUp__lookups_1233((*c).c, n, 0);
33316 		{
33317 			if (!!((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA194_;
33318 			{
33319 				NIM_BOOL T198_;
33320 				NIM_BOOL T199_;
33321 				NIM_BOOL T200_;
33322 				NI T204_;
33323 				T198_ = (NIM_BOOL)0;
33324 				T199_ = (NIM_BOOL)0;
33325 				T200_ = (NIM_BOOL)0;
33326 				T200_ = ((*s_2).owner == (*c).owner);
33327 				if (!(T200_)) goto LA201_;
33328 				T200_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
33329 				LA201_: ;
33330 				T199_ = T200_;
33331 				if (!(T199_)) goto LA202_;
33332 				T199_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53));
33333 				LA202_: ;
33334 				T198_ = T199_;
33335 				if (!(T198_)) goto LA203_;
33336 				T204_ = (NI)0;
33337 				T204_ = len__ast_3198(n);
33338 				T198_ = (T204_ == ((NI) 1));
33339 				LA203_: ;
33340 				if (!T198_) goto LA205_;
33341 				(*s_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
33342 				result = newSymNode__ast_3719(s_2, (*n).info);
33343 				goto BeforeRet_;
33344 			}
33345 			goto LA196_;
33346 			LA205_: ;
33347 			{
33348 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1829_;
33349 				NIM_BOOL T208_;
33350 				xX60gensym1829_ = s_2;
33351 				T208_ = (NIM_BOOL)0;
33352 				T208_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1829_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1829_).Sup.itemId.item))));
33353 				if (!T208_) goto LA209_;
33354 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), (((NI) 0) < (*c).noGenSym));
33355 				goto BeforeRet_;
33356 			}
33357 			goto LA196_;
33358 			LA209_: ;
33359 			{
33360 				NIM_BOOL T212_;
33361 				T212_ = (NIM_BOOL)0;
33362 				T212_ = contains__astalgo_3496((&(*c).toMixin), (*(*s_2).name).id);
33363 				if (!T212_) goto LA213_;
33364 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), (((NI) 0) < (*c).noGenSym));
33365 				goto BeforeRet_;
33366 			}
33367 			goto LA196_;
33368 			LA213_: ;
33369 			{
33370 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), (((NI) 0) < (*c).noGenSym));
33371 				goto BeforeRet_;
33372 			}
33373 			LA196_: ;
33374 		}
33375 		LA194_: ;
33376 		{
33377 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA218_;
33378 			result = n;
33379 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33380 			(*c).noGenSym += ((NI) 1);
33381 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33382 			(*c).noGenSym -= ((NI) 1);
33383 		}
33384 		goto LA216_;
33385 		LA218_: ;
33386 		{
33387 			result = semTemplBodySons__sem_7133(c, n);
33388 		}
33389 		LA216_: ;
33390 	}
33391 	break;
33392 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
33393 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
33394 	{
33395 		{
33396 			NI T224_;
33397 			T224_ = (NI)0;
33398 			T224_ = len__ast_3198(n);
33399 			if (!(T224_ == ((NI) 2))) goto LA225_;
33400 			(*c).noGenSym += ((NI) 1);
33401 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33402 			(*c).noGenSym -= ((NI) 1);
33403 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33404 		}
33405 		goto LA222_;
33406 		LA225_: ;
33407 		{
33408 			result = semTemplBodySons__sem_7133(c, n);
33409 		}
33410 		LA222_: ;
33411 	}
33412 	break;
33413 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
33414 	{
33415 		{
33416 			NI i_28;
33417 			NI colontmp__16;
33418 			NI i_29;
33419 			i_28 = (NI)0;
33420 			colontmp__16 = (NI)0;
33421 			colontmp__16 = len__ast_3198(n);
33422 			i_29 = ((NI) 0);
33423 			{
33424 				while (1) {
33425 					if (!(i_29 < colontmp__16)) goto LA231;
33426 					i_28 = i_29;
33427 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_28]), semTemplBodySons__sem_7133(c, (*n)._kind_6.sons->data[i_28]));
33428 					i_29 += ((NI) 1);
33429 				} LA231: ;
33430 			}
33431 		}
33432 	}
33433 	break;
33434 	default:
33435 	{
33436 		result = semTemplBodySons__sem_7133(c, n);
33437 	}
33438 	break;
33439 	}
33440 	}BeforeRet_: ;
33441 	return result;
33442 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplateDef__sem_7666)33443 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplateDef__sem_7666)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33444 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33445 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
33446 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T27_;
33447 	NIM_BOOL allUntyped;
33448 	tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw ctx;
33449 	tyTuple__7rlNEhvBksZh9a9asniQIl9aQ T73_;
33450 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* proto;
33451 	NIM_BOOL comesFromShadowscope;
33452 	result = NIM_NIL;
33453 	result = n;
33454 	s = NIM_NIL;
33455 	{
33456 		NIM_BOOL T3_;
33457 		T3_ = (NIM_BOOL)0;
33458 		T3_ = isTopLevel__semdata_1091(c);
33459 		if (!T3_) goto LA4_;
33460 		s = semIdentVis__sem_471(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n)._kind_6.sons->data[((NI) 0)], 2);
33461 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
33462 	}
33463 	goto LA1_;
33464 	LA4_: ;
33465 	{
33466 		s = semIdentVis__sem_471(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n)._kind_6.sons->data[((NI) 0)], 0);
33467 	}
33468 	LA1_: ;
33469 	{
33470 		if (!!(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9_;
33471 		{
33472 			NIM_BOOL T13_;
33473 			NIM_BOOL T14_;
33474 			NIM_BOOL T17_;
33475 			T13_ = (NIM_BOOL)0;
33476 			T14_ = (NIM_BOOL)0;
33477 			T14_ = (((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
33478 			if (!(T14_)) goto LA15_;
33479 			T14_ = contains__stdZenumutils_43(names__sem_7688, 8, (*(*s).name).s);
33480 			LA15_: ;
33481 			T13_ = T14_;
33482 			if (T13_) goto LA16_;
33483 			T17_ = (NIM_BOOL)0;
33484 			T17_ = eqStrings((*(*(*s).owner).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_693));
33485 			if (!(T17_)) goto LA18_;
33486 			T17_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_694));
33487 			LA18_: ;
33488 			T13_ = T17_;
33489 			LA16_: ;
33490 			if (!T13_) goto LA19_;
33491 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 36)) & 63);
33492 		}
33493 		LA19_: ;
33494 	}
33495 	LA9_: ;
33496 	{
33497 		NIM_BOOL T23_;
33498 		T23_ = (NIM_BOOL)0;
33499 		T23_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
33500 		if (!(T23_)) goto LA24_;
33501 		T23_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
33502 		LA24_: ;
33503 		if (!T23_) goto LA25_;
33504 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
33505 	}
33506 	LA25_: ;
33507 	pushOwner__semdata_322(c, s);
33508 	T27_ = NIM_NIL;
33509 	T27_ = openScope__lookups_69(c);
33510 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
33511 	pragmaCallable__pragmas_2552(c, s, n, TM__rF9caJawfOjYTjsgLVUSGFA_695, NIM_FALSE);
33512 	implicitPragmas__pragmas_2394(c, s, (*n).info, TM__rF9caJawfOjYTjsgLVUSGFA_695);
33513 	setGenericParamsMisc__sem_6510(c, n);
33514 	allUntyped = NIM_TRUE;
33515 	{
33516 		if (!!(((*(*n)._kind_6.sons->data[((NI) 3)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA30_;
33517 		semParamList__sem_91(c, (*n)._kind_6.sons->data[((NI) 3)], (*n)._kind_6.sons->data[((NI) 2)], s);
33518 		{
33519 			NI i;
33520 			NI colontmp_;
33521 			NI i_2;
33522 			i = (NI)0;
33523 			colontmp_ = (NI)0;
33524 			colontmp_ = len__ast_3198((*(*s).typ).n);
33525 			i_2 = ((NI) 1);
33526 			{
33527 				while (1) {
33528 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
33529 					if (!(i_2 < colontmp_)) goto LA34;
33530 					i = i_2;
33531 					param = (*(*(*(*s).typ).n)._kind_6.sons->data[i])._kind_4.sym;
33532 					(*param).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40)) & 63);
33533 					(*param).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63));
33534 					{
33535 						if (!!(((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA37_;
33536 						allUntyped = NIM_FALSE;
33537 					}
33538 					LA37_: ;
33539 					i_2 += ((NI) 1);
33540 				} LA34: ;
33541 			}
33542 		}
33543 	}
33544 	goto LA28_;
33545 	LA30_: ;
33546 	{
33547 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
33548 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T41_;
33549 		asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25), c));
33550 		asgnRef((void**) (&(*(*s).typ).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), (*n).info));
33551 		T40_ = NIM_NIL;
33552 		T40_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), c);
33553 		rawAddSon__ast_4288((*s).typ, T40_, NIM_TRUE);
33554 		T41_ = NIM_NIL;
33555 		T41_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*n).info, (*(*s).typ).sons->data[((NI) 0)]);
33556 		add__ast_4797((*(*s).typ).n, T41_);
33557 	}
33558 	LA28_: ;
33559 	{
33560 		NI T44_;
33561 		T44_ = (NI)0;
33562 		T44_ = safeLen__ast_3191((*n)._kind_6.sons->data[((NI) 2)]);
33563 		if (!(T44_ == ((NI) 0))) goto LA45_;
33564 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]);
33565 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 5)]), (*(*c).graph).emptyNode);
33566 	}
33567 	LA45_: ;
33568 	{
33569 		if (!allUntyped) goto LA49_;
33570 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9)) & 63);
33571 	}
33572 	LA49_: ;
33573 	{
33574 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA53_;
33575 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semPattern__sem_7129(c, (*n)._kind_6.sons->data[((NI) 1)], s));
33576 	}
33577 	LA53_: ;
33578 	nimZeroMem((void*)(&ctx), sizeof(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw));
33579 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
33580 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
33581 	initIntSet__pureZcollectionsZintsets_238((&ctx.toInject));
33582 	ctx.c = c;
33583 	ctx.owner = s;
33584 	{
33585 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA57_;
33586 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBodyDirty__sem_7597((&ctx), (*n)._kind_6.sons->data[((NI) 6)]));
33587 	}
33588 	goto LA55_;
33589 	LA57_: ;
33590 	{
33591 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBody__sem_6788((&ctx), (*n)._kind_6.sons->data[((NI) 6)]));
33592 	}
33593 	LA55_: ;
33594 	closeScope__lookups_101(c);
33595 	popOwner__semdata_329(c);
33596 	asgnRef((void**) (&(*s).ast), n);
33597 	{
33598 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA62_;
33599 		{
33600 			NimStringDesc* T68_;
33601 			if (!!(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA66_;
33602 			T68_ = NIM_NIL;
33603 			T68_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_218), (*(*s).name).s);
33604 			liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 6)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T68_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_696, NIM_FALSE);
33605 		}
33606 		LA66_: ;
33607 	}
33608 	goto LA60_;
33609 	LA62_: ;
33610 	{
33611 		NimStringDesc* T72_;
33612 		if (!((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA70_;
33613 		T72_ = NIM_NIL;
33614 		T72_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
33615 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T72_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_697, NIM_FALSE);
33616 	}
33617 	goto LA60_;
33618 	LA70_: ;
33619 	LA60_: ;
33620 	nimZeroMem((void*)(&T73_), sizeof(tyTuple__7rlNEhvBksZh9a9asniQIl9aQ));
33621 	searchForProc__procfind_73(c, (*c).currentScope, s, (&T73_));
33622 	proto = NIM_NIL;
33623 	proto = T73_.Field0;
33624 	comesFromShadowscope = (NIM_BOOL)0;
33625 	comesFromShadowscope = T73_.Field1;
33626 	{
33627 		if (!(proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA76_;
33628 		addInterfaceOverloadableSymAt__lookups_899(c, (*c).currentScope, s);
33629 	}
33630 	goto LA74_;
33631 	LA76_: ;
33632 	{
33633 		if (!!(comesFromShadowscope)) goto LA79_;
33634 		symTabReplace__astalgo_3302((&(*(*c).currentScope).symbols), proto, s);
33635 	}
33636 	goto LA74_;
33637 	LA79_: ;
33638 	LA74_: ;
33639 	{
33640 		NI T85_;
33641 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA83_;
33642 		asgnRef((void**) (&(*c).patterns), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).patterns), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
33643 		T85_ = (*c).patterns->Sup.len++;
33644 		asgnRef((void**) (&(*c).patterns->data[T85_]), s);
33645 	}
33646 	LA83_: ;
33647 	return result;
33648 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semQuoteAst__sem_111)33649 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuoteAst__sem_111)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33650 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33651 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* quotedBlock;
33652 	NI T9_;
33653 	NimStringDesc* op;
33654 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* quotes;
33655 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* ids;
33656 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
33657 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dummyTemplate;
33658 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T21_;
33659 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
33660 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpl;
33661 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* identNodeSym;
33662 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* identNode;
33663 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T41_;
33664 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T42_;
33665 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T43_;
33666 {	result = NIM_NIL;
33667 	{
33668 		NIM_BOOL T3_;
33669 		NI T4_;
33670 		NI T6_;
33671 		T3_ = (NIM_BOOL)0;
33672 		T4_ = (NI)0;
33673 		T4_ = len__ast_3198(n);
33674 		T3_ = !((T4_ == ((NI) 2)));
33675 		if (!(T3_)) goto LA5_;
33676 		T6_ = (NI)0;
33677 		T6_ = len__ast_3198(n);
33678 		T3_ = !((T6_ == ((NI) 3)));
33679 		LA5_: ;
33680 		if (!T3_) goto LA7_;
33681 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_679), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_680, NIM_FALSE);
33682 		result = n;
33683 		goto BeforeRet_;
33684 	}
33685 	LA7_: ;
33686 	T9_ = (NI)0;
33687 	T9_ = len__ast_3198(n);
33688 	quotedBlock = (*n)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
33689 	{
33690 		NI T12_;
33691 		T12_ = (NI)0;
33692 		T12_ = len__ast_3198(n);
33693 		if (!(T12_ == ((NI) 3))) goto LA13_;
33694 		op = expectString__sem_18166(c, (*n)._kind_6.sons->data[((NI) 1)]);
33695 	}
33696 	goto LA10_;
33697 	LA13_: ;
33698 	{
33699 		op = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_682));
33700 	}
33701 	LA10_: ;
33702 	quotes = newSeq__sem_18374(((NI) 2));
33703 	ids = newSeq__sem_18374(((NI) 1));
33704 	{
33705 		if (!!(((*quotedBlock).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA18_;
33706 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 5), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_683), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_684, NIM_FALSE);
33707 	}
33708 	LA18_: ;
33709 	T20_ = NIM_NIL;
33710 	T20_ = newAnonSym__sem_18175(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), (*n).info);
33711 	asgnRef((void**) (&ids->data[((NI) 0)]), newSymNode__ast_3716(T20_));
33712 	processQuotations__sem_18253(c, &quotedBlock, op, (&quotes), (&ids));
33713 	T21_ = NIM_NIL;
33714 	T21_ = newAnonSym__sem_18175(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n).info);
33715 	T22_ = NIM_NIL;
33716 	T22_ = newSymNode__ast_3716(T21_);
33717 	dummyTemplate = newProcNode__ast_3821(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83), (*quotedBlock).info, quotedBlock, (*(*c).graph).emptyNode, T22_, (*(*c).graph).emptyNode, (*(*c).graph).emptyNode, (*(*c).graph).emptyNode, (*(*c).graph).emptyNode);
33718 	{
33719 		NI T25_;
33720 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T28_;
33721 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
33722 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T30_;
33723 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
33724 		NI T32_;
33725 		NI T33_;
33726 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
33727 		T25_ = (ids ? ids->Sup.len : 0);
33728 		if (!(((NI) 0) < T25_)) goto LA26_;
33729 		asgnRef((void**) (&(*dummyTemplate)._kind_6.sons->data[((NI) 3)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), (*n).info));
33730 		T28_ = NIM_NIL;
33731 		T28_ = getSysSym__magicsys_16((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_685));
33732 		T29_ = NIM_NIL;
33733 		T29_ = newSymNode__ast_3716(T28_);
33734 		add__ast_4797((*dummyTemplate)._kind_6.sons->data[((NI) 3)], T29_);
33735 		T30_ = NIM_NIL;
33736 		T30_ = getSysSym__magicsys_16((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_685));
33737 		T31_ = NIM_NIL;
33738 		T31_ = newSymNode__ast_3716(T30_);
33739 		ids = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(ids), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
33740 		T32_ = ids->Sup.len++;
33741 		asgnRef((void**) (&ids->data[T32_]), T31_);
33742 		ids = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(ids), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
33743 		T33_ = ids->Sup.len++;
33744 		asgnRef((void**) (&ids->data[T33_]), (*(*c).graph).emptyNode);
33745 		T34_ = NIM_NIL;
33746 		T34_ = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*n).info, ids->data, (ids ? ids->Sup.len : 0));
33747 		add__ast_4797((*dummyTemplate)._kind_6.sons->data[((NI) 3)], T34_);
33748 	}
33749 	LA26_: ;
33750 	tmpl = semTemplateDef__sem_7666(c, dummyTemplate);
33751 	asgnRef((void**) (&quotes->data[((NI) 0)]), (*tmpl)._kind_6.sons->data[((NI) 0)]);
33752 	identNodeSym = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_698));
33753 	{
33754 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T39_;
33755 		if (!(identNodeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA37_;
33756 		T39_ = NIM_NIL;
33757 		T39_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_698));
33758 		identNode = newIdentNode__ast_3712(T39_, (*n).info);
33759 	}
33760 	goto LA35_;
33761 	LA37_: ;
33762 	{
33763 		identNode = newSymNode__ast_3716(identNodeSym);
33764 	}
33765 	LA35_: ;
33766 	nimZeroMem((void*)T41_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
33767 	T41_[0] = identNode;
33768 	T41_[1] = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
33769 	asgnRef((void**) (&quotes->data[((NI) 1)]), newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T41_, 2));
33770 	nimZeroMem((void*)T42_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
33771 	T43_ = NIM_NIL;
33772 	T43_ = createMagic__modulegraphs_9008((*c).graph, (*c).Sup.idgen, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_699), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27));
33773 	T42_[0] = newSymNode__ast_3716(T43_);
33774 	T42_[1] = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, quotes->data, (quotes ? quotes->Sup.len : 0));
33775 	result = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T42_, 2);
33776 	result = semExpandToAst__sem_18180(c, result);
33777 	}BeforeRet_: ;
33778 	return result;
33779 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,createFlowVar__sem_18510)33780 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createFlowVar__sem_18510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
33781 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
33782 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
33783 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
33784 	result = NIM_NIL;
33785 	T1_ = nextTypeId__ast_3151((*c).Sup.idgen);
33786 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9), T1_, (*c).module);
33787 	T2_ = NIM_NIL;
33788 	T2_ = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_704));
33789 	addSonSkipIntLit__magicsys_136(result, (*T2_).typ, (*c).Sup.idgen);
33790 	addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
33791 	result = instGenericContainer__sem_1125(c, info, result, NIM_FALSE);
33792 	return result;
33793 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,instantiateCreateFlowVarCall__sem_18515)33794 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instantiateCreateFlowVarCall__sem_18515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
33795 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
33796 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
33797 	tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q bindings;
33798 	result = NIM_NIL;
33799 	sym = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_705));
33800 	{
33801 		if (!(sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
33802 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_706), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_707, NIM_FALSE);
33803 	}
33804 	LA3_: ;
33805 	nimZeroMem((void*)(&bindings), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
33806 	initIdTable__ast_4096((&bindings));
33807 	idTablePut__astalgo_70((&bindings), (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*(*(*(*sym).ast)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)]).typ)))), &t->Sup.Sup);
33808 	result = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, sym, bindings, info, (*c).semGenerateInstance.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_708)((*c).semGenerateInstance.ClP_0))(c, sym, bindings, info);
33809 	{
33810 		if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 18))&63U)))!=0)) goto LA7_;
33811 		(*result).flags = ((*result).flags & ~ 262336);
33812 		asgnRef((void**) (&(*result).loc.r), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
33813 	}
33814 	LA7_: ;
33815 	return result;
33816 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSizeof__sem_18545)33817 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSizeof__sem_18545)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33818 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33819 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4895_;
33820 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4895_;
33821 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4895_;
33822 	NI64 sizeX60gensym4895_;
33823 	result = NIM_NIL;
33824 	{
33825 		NI T3_;
33826 		NimStringDesc* T6_;
33827 		T3_ = (NI)0;
33828 		T3_ = len__ast_3198(n);
33829 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
33830 		T6_ = NIM_NIL;
33831 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_351), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_709));
33832 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_710, NIM_FALSE);
33833 	}
33834 	goto LA1_;
33835 	LA4_: ;
33836 	{
33837 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 512));
33838 	}
33839 	LA1_: ;
33840 	asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
33841 	configX60gensym4895_ = (*(*c).graph).config;
33842 	nodeX60gensym4895_ = n;
33843 	typX60gensym4895_ = (*(*nodeX60gensym4895_)._kind_6.sons->data[((NI) 1)]).typ;
33844 	computeSizeAlign__types_2924(configX60gensym4895_, typX60gensym4895_);
33845 	sizeX60gensym4895_ = (*typX60gensym4895_).size;
33846 	{
33847 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4895_;
33848 		if (!(IL64(0) <= sizeX60gensym4895_)) goto LA10_;
33849 		resX60gensym4895_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), sizeX60gensym4895_);
33850 		(*resX60gensym4895_).info = (*nodeX60gensym4895_).info;
33851 		asgnRef((void**) (&(*resX60gensym4895_).typ), (*nodeX60gensym4895_).typ);
33852 		result = resX60gensym4895_;
33853 	}
33854 	goto LA8_;
33855 	LA10_: ;
33856 	{
33857 		result = n;
33858 	}
33859 	LA8_: ;
33860 	return result;
33861 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMagic__sem_18565)33862 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMagic__sem_18565)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
33863 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33864 {	result = NIM_NIL;
33865 	result = n;
33866 	switch ((*s).magic) {
33867 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16):
33868 	{
33869 		markUsed__sigmatch_85(c, (*n).info, s);
33870 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
33871 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(s, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
33872 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semAddrArg__sem_15262(c, (*n)._kind_6.sons->data[((NI) 1)], eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_242))));
33873 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 1)]).typ));
33874 	}
33875 	break;
33876 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
33877 	{
33878 		markUsed__sigmatch_85(c, (*n).info, s);
33879 		result = semTypeOf__sem_132(c, n);
33880 	}
33881 	break;
33882 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 1):
33883 	{
33884 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
33885 		markUsed__sigmatch_85(c, (*n).info, s);
33886 		T4_ = NIM_NIL;
33887 		T4_ = setMs__sem_18539(n, s);
33888 		result = semDefined__sem_18104(c, T4_);
33889 	}
33890 	break;
33891 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 2):
33892 	{
33893 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
33894 		markUsed__sigmatch_85(c, (*n).info, s);
33895 		T6_ = NIM_NIL;
33896 		T6_ = setMs__sem_18539(n, s);
33897 		result = semDeclared__sem_18136(c, T6_, NIM_FALSE);
33898 	}
33899 	break;
33900 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 3):
33901 	{
33902 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
33903 		markUsed__sigmatch_85(c, (*n).info, s);
33904 		T8_ = NIM_NIL;
33905 		T8_ = setMs__sem_18539(n, s);
33906 		result = semDeclared__sem_18136(c, T8_, NIM_TRUE);
33907 	}
33908 	break;
33909 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 4):
33910 	{
33911 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
33912 		markUsed__sigmatch_85(c, (*n).info, s);
33913 		T10_ = NIM_NIL;
33914 		T10_ = setMs__sem_18539(n, s);
33915 		result = semCompiles__sem_18476(c, T10_, flags);
33916 	}
33917 	break;
33918 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 14):
33919 	{
33920 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
33921 		markUsed__sigmatch_85(c, (*n).info, s);
33922 		T12_ = NIM_NIL;
33923 		T12_ = setMs__sem_18539(n, s);
33924 		result = semIs__sem_14686(c, T12_, flags);
33925 	}
33926 	break;
33927 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 21):
33928 	{
33929 		markUsed__sigmatch_85(c, (*n).info, s);
33930 		result = semShallowCopy__sem_15753(c, n, flags);
33931 	}
33932 	break;
33933 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27):
33934 	{
33935 		markUsed__sigmatch_85(c, (*n).info, s);
33936 		result = semExpandToAst__sem_18243(c, n, s, flags);
33937 	}
33938 	break;
33939 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 28):
33940 	{
33941 		markUsed__sigmatch_85(c, (*n).info, s);
33942 		result = semQuoteAst__sem_111(c, n);
33943 	}
33944 	break;
33945 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 140):
33946 	{
33947 		NimStringDesc* T17_;
33948 		markUsed__sigmatch_85(c, (*n).info, s);
33949 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
33950 		T17_ = NIM_NIL;
33951 		T17_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 1)], 4);
33952 		result = newStrNodeT__semfold_76(T17_, n, (*c).graph);
33953 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
33954 	}
33955 	break;
33956 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 141):
33957 	{
33958 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
33959 		markUsed__sigmatch_85(c, (*n).info, s);
33960 		{
33961 			if (!!((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 3))&31U)))!=0))) goto LA21_;
33962 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_700), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_701, NIM_FALSE);
33963 		}
33964 		LA21_: ;
33965 		result = setMs__sem_18539(n, s);
33966 		x = lastSon__ast_4832(n);
33967 		{
33968 			if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52))) goto LA25_;
33969 			x = (*x)._kind_6.sons->data[((NI) 6)];
33970 		}
33971 		LA25_: ;
33972 		(*c).inParallelStmt += ((NI) 1);
33973 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semStmt__sem_84(c, x, 0));
33974 		(*c).inParallelStmt -= ((NI) 1);
33975 	}
33976 	break;
33977 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 198):
33978 	{
33979 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
33980 		NI T40_;
33981 		markUsed__sigmatch_85(c, (*n).info, s);
33982 		result = setMs__sem_18539(n, s);
33983 		{
33984 			NI i;
33985 			NI colontmp_;
33986 			NI i_2;
33987 			i = (NI)0;
33988 			colontmp_ = (NI)0;
33989 			colontmp_ = len__ast_3198(n);
33990 			i_2 = ((NI) 1);
33991 			{
33992 				while (1) {
33993 					if (!(i_2 < colontmp_)) goto LA30;
33994 					i = i_2;
33995 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semExpr__sem_52(c, (*n)._kind_6.sons->data[i], 0));
33996 					i_2 += ((NI) 1);
33997 				} LA30: ;
33998 			}
33999 		}
34000 		{
34001 			NIM_BOOL T33_;
34002 			NI T34_;
34003 			NimStringDesc* T38_;
34004 			NimStringDesc* T39_;
34005 			T33_ = (NIM_BOOL)0;
34006 			T34_ = (NI)0;
34007 			T34_ = len__ast_3198(n);
34008 			T33_ = (((NI) 1) < T34_);
34009 			if (!(T33_)) goto LA35_;
34010 			T33_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32)));
34011 			LA35_: ;
34012 			if (!T33_) goto LA36_;
34013 			T38_ = NIM_NIL;
34014 			T39_ = NIM_NIL;
34015 			T39_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
34016 			T38_ = rawNewString((T39_ ? T39_->Sup.len : 0) + 38);
34017 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_702));
34018 appendString(T38_, T39_);
34019 			liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T38_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_703, NIM_FALSE);
34020 			result = errorNode__semdata_1009(c, n);
34021 			goto BeforeRet_;
34022 		}
34023 		LA36_: ;
34024 		T40_ = (NI)0;
34025 		T40_ = len__ast_3198(result);
34026 		typ = (*(*result)._kind_6.sons->data[(NI)(T40_ - ((NI) 1))]).typ;
34027 		{
34028 			NIM_BOOL T43_;
34029 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T52_;
34030 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T53_;
34031 			T43_ = (NIM_BOOL)0;
34032 			T43_ = isEmptyType__ast_4779(typ);
34033 			if (!!(T43_)) goto LA44_;
34034 			{
34035 				tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw T48_;
34036 				T48_ = (tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw)0;
34037 				T48_ = spawnResult__spawn_34(typ, (((NI) 0) < (*c).inParallelStmt));
34038 				if (!(T48_ == ((tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw) 1))) goto LA49_;
34039 				asgnRef((void**) (&(*result).typ), createFlowVar__sem_18510(c, typ, (*n).info));
34040 			}
34041 			goto LA46_;
34042 			LA49_: ;
34043 			{
34044 				asgnRef((void**) (&(*result).typ), typ);
34045 			}
34046 			LA46_: ;
34047 			T52_ = NIM_NIL;
34048 			T52_ = instantiateCreateFlowVarCall__sem_18515(c, typ, (*n).info);
34049 			T53_ = NIM_NIL;
34050 			T53_ = newSymNode__ast_3716(T52_);
34051 			add__ast_4797(result, T53_);
34052 		}
34053 		goto LA41_;
34054 		LA44_: ;
34055 		{
34056 			add__ast_4797(result, (*(*c).graph).emptyNode);
34057 		}
34058 		LA41_: ;
34059 	}
34060 	break;
34061 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 203):
34062 	{
34063 		markUsed__sigmatch_85(c, (*n).info, s);
34064 		result = setMs__sem_18539(n, s);
34065 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
34066 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
34067 	}
34068 	break;
34069 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 19):
34070 	{
34071 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
34072 		markUsed__sigmatch_85(c, (*n).info, s);
34073 		nOrig = copyTree__ast_4431(n);
34074 		result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
34075 		{
34076 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA59_;
34077 			result = errorNode__semdata_1009(c, n);
34078 		}
34079 		goto LA57_;
34080 		LA59_: ;
34081 		{
34082 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
34083 			callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
34084 			{
34085 				if (!((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA64_;
34086 				semFinishOperands__sigmatch_4162(c, result);
34087 			}
34088 			LA64_: ;
34089 			activate__sem_108(c, result);
34090 			fixAbstractType__sem_14966(c, result);
34091 			analyseIfAddressTakenInCall__sem_15142(c, result);
34092 			{
34093 				if (!!(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA68_;
34094 				result = magicsAfterOverloadResolution__sem_16026(c, result, flags);
34095 			}
34096 			LA68_: ;
34097 		}
34098 		LA57_: ;
34099 	}
34100 	break;
34101 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267):
34102 	{
34103 		markUsed__sigmatch_85(c, (*n).info, s);
34104 		{
34105 			NIM_BOOL T73_;
34106 			NIM_BOOL T74_;
34107 			NI T76_;
34108 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T78_;
34109 			T73_ = (NIM_BOOL)0;
34110 			T74_ = (NIM_BOOL)0;
34111 			T74_ = ((3989504 &((NU32)1<<((NU)((*(*(*c).graph).config).cmd)&31U)))!=0);
34112 			if (!(T74_)) goto LA75_;
34113 			T76_ = (NI)0;
34114 			T76_ = len__ast_3198(n);
34115 			T74_ = (((NI) 2) <= T76_);
34116 			LA75_: ;
34117 			T73_ = T74_;
34118 			if (!(T73_)) goto LA77_;
34119 			T78_ = NIM_NIL;
34120 			T78_ = lastSon__ast_4832(n);
34121 			T73_ = ((*T78_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
34122 			LA77_: ;
34123 			if (!T73_) goto LA79_;
34124 			result = setMs__sem_18539(n, s);
34125 		}
34126 		goto LA71_;
34127 		LA79_: ;
34128 		{
34129 			result = (*(*c).graph).emptyNode;
34130 		}
34131 		LA71_: ;
34132 	}
34133 	break;
34134 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
34135 	{
34136 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T83_;
34137 		markUsed__sigmatch_85(c, (*n).info, s);
34138 		T83_ = NIM_NIL;
34139 		T83_ = setMs__sem_18539(n, s);
34140 		result = semSizeof__sem_18545(c, T83_);
34141 	}
34142 	break;
34143 	default:
34144 	{
34145 		result = semDirectOp__sem_511(c, n, flags);
34146 	}
34147 	break;
34148 	}
34149 	}BeforeRet_: ;
34150 	return result;
34151 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDeref__lowerings_11)34152 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34153 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34154 	result = NIM_NIL;
34155 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*(*n).typ).sons->data[((NI) 0)]);
34156 	add__ast_4797(result, n);
34157 	return result;
34158 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,bracketedMacro__sem_16491)34159 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, bracketedMacro__sem_16491)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34160 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
34161 	result = NIM_NIL;
34162 	{
34163 		NIM_BOOL T3_;
34164 		NI T4_;
34165 		T3_ = (NIM_BOOL)0;
34166 		T4_ = (NI)0;
34167 		T4_ = len__ast_3198(n);
34168 		T3_ = (((NI) 1) <= T4_);
34169 		if (!(T3_)) goto LA5_;
34170 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34171 		LA5_: ;
34172 		if (!T3_) goto LA6_;
34173 		result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
34174 		{
34175 			if (!!(((393216 &((NU32)1<<((NU)((*result).kind)&31U)))!=0))) goto LA10_;
34176 			result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
34177 		}
34178 		LA10_: ;
34179 	}
34180 	LA6_: ;
34181 	return result;
34182 }
N_NIMCALL(void,setGenericParams__sem_16507)34183 N_LIB_PRIVATE N_NIMCALL(void, setGenericParams__sem_16507)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34184 	{
34185 		NI i;
34186 		NI colontmp_;
34187 		NI i_2;
34188 		i = (NI)0;
34189 		colontmp_ = (NI)0;
34190 		colontmp_ = len__ast_3198(n);
34191 		i_2 = ((NI) 1);
34192 		{
34193 			while (1) {
34194 				if (!(i_2 < colontmp_)) goto LA3;
34195 				i = i_2;
34196 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), semTypeNode__sem_80(c, (*n)._kind_6.sons->data[i], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34197 				i_2 += ((NI) 1);
34198 			} LA3: ;
34199 		}
34200 	}
34201 }
N_NIMCALL(void,resolveIndirectCall__sem_16475)34202 N_LIB_PRIVATE N_NIMCALL(void, resolveIndirectCall__sem_16475)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) {
34203 	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
34204 	(*Result).exactMatches = 0;
34205 	(*Result).genericMatches = 0;
34206 	(*Result).subtypeMatches = 0;
34207 	(*Result).intConvMatches = 0;
34208 	(*Result).convMatches = 0;
34209 	(*Result).state = 0;
34210 	unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
34211 	unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
34212 	(*Result).calleeScope = 0;
34213 	unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
34214 	(*Result).bindings.counter = 0;
34215 	unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
34216 	(*Result).magic = 0;
34217 	(*Result).baseTypeMatch = 0;
34218 	(*Result).fauxMatch = 0;
34219 	(*Result).genericConverter = 0;
34220 	(*Result).coerceDistincts = 0;
34221 	(*Result).typedescMatched = 0;
34222 	(*Result).isNoCall = 0;
34223 	unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
34224 	unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
34225 	(*Result).inheritancePenalty = 0;
34226 	(*Result).firstMismatch.kind = 0;
34227 	(*Result).firstMismatch.arg = 0;
34228 	unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
34229 	(*Result).diagnosticsEnabled = 0;
34230 	initCandidate__sigmatch_116(c, Result, t);
34231 	matches__sigmatch_4181(c, n, nOrig, Result);
34232 	{
34233 		if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA3_;
34234 		{
34235 			NIM_BOOL T7_;
34236 			T7_ = (NIM_BOOL)0;
34237 			T7_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 0))&31U)))!=0);
34238 			if (!(T7_)) goto LA8_;
34239 			T7_ = canDeref__sem_2474(n);
34240 			LA8_: ;
34241 			if (!T7_) goto LA9_;
34242 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), tryDeref__sem_2490((*n)._kind_6.sons->data[((NI) 1)]));
34243 			initCandidate__sigmatch_116(c, Result, t);
34244 			matches__sigmatch_4181(c, n, nOrig, Result);
34245 		}
34246 		LA9_: ;
34247 	}
34248 	LA3_: ;
34249 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,overloadedCallOpr__sem_14774)34250 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, overloadedCallOpr__sem_14774)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34251 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34252 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* par;
34253 	NIM_BOOL amb;
34254 	result = NIM_NIL;
34255 	par = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
34256 	amb = NIM_FALSE;
34257 	{
34258 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
34259 		T3_ = NIM_NIL;
34260 		T3_ = searchInScopes__lookups_423(c, par, (&amb));
34261 		if (!(T3_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
34262 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34263 	}
34264 	goto LA1_;
34265 	LA4_: ;
34266 	{
34267 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
34268 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
34269 		T7_ = NIM_NIL;
34270 		T7_ = newIdentNode__ast_3712(par, (*n).info);
34271 		add__ast_4797(result, T7_);
34272 		{
34273 			NI i;
34274 			NI colontmp_;
34275 			NI i_2;
34276 			i = (NI)0;
34277 			colontmp_ = (NI)0;
34278 			colontmp_ = len__ast_3198(n);
34279 			i_2 = ((NI) 0);
34280 			{
34281 				while (1) {
34282 					if (!(i_2 < colontmp_)) goto LA10;
34283 					i = i_2;
34284 					add__ast_4797(result, (*n)._kind_6.sons->data[i]);
34285 					i_2 += ((NI) 1);
34286 				} LA10: ;
34287 			}
34288 		}
34289 		result = semExpr__sem_52(c, result, 0);
34290 	}
34291 	LA1_: ;
34292 	return result;
34293 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIndirectOp__sem_16548)34294 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIndirectOp__sem_16548)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34295 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34296 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prc;
34297 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
34298 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
34299 {	result = NIM_NIL;
34300 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34301 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
34302 	prc = (*n)._kind_6.sons->data[((NI) 0)];
34303 	{
34304 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n0;
34305 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA3_;
34306 		checkSonsLen__semdata_1077((*n)._kind_6.sons->data[((NI) 0)], ((NI) 2), (*(*c).graph).config);
34307 		n0 = semFieldAccess__sem_13894(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
34308 		{
34309 			if (!((*n0).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA7_;
34310 			result = n0;
34311 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
34312 			(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 11)) & 31);
34313 			{
34314 				NI i;
34315 				NI colontmp_;
34316 				NI i_2;
34317 				i = (NI)0;
34318 				colontmp_ = (NI)0;
34319 				colontmp_ = len__ast_3198(n);
34320 				i_2 = ((NI) 1);
34321 				{
34322 					while (1) {
34323 						if (!(i_2 < colontmp_)) goto LA11;
34324 						i = i_2;
34325 						add__ast_4797(result, (*n)._kind_6.sons->data[i]);
34326 						i_2 += ((NI) 1);
34327 					} LA11: ;
34328 				}
34329 			}
34330 			result = semExpr__sem_52(c, result, flags);
34331 			goto BeforeRet_;
34332 		}
34333 		goto LA5_;
34334 		LA7_: ;
34335 		{
34336 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), n0);
34337 		}
34338 		LA5_: ;
34339 	}
34340 	goto LA1_;
34341 	LA3_: ;
34342 	{
34343 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
34344 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 32768));
34345 		t = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
34346 		{
34347 			NIM_BOOL T16_;
34348 			T16_ = (NIM_BOOL)0;
34349 			T16_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34350 			if (!(T16_)) goto LA17_;
34351 			T16_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
34352 			LA17_: ;
34353 			if (!T16_) goto LA18_;
34354 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newDeref__lowerings_11((*n)._kind_6.sons->data[((NI) 0)]));
34355 		}
34356 		goto LA14_;
34357 		LA18_: ;
34358 		{
34359 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
34360 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA21_;
34361 			s = bracketedMacro__sem_16491((*n)._kind_6.sons->data[((NI) 0)]);
34362 			{
34363 				if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA25_;
34364 				setGenericParams__sem_16507(c, (*n)._kind_6.sons->data[((NI) 0)]);
34365 				result = semDirectOp__sem_511(c, n, flags);
34366 				goto BeforeRet_;
34367 			}
34368 			LA25_: ;
34369 		}
34370 		goto LA14_;
34371 		LA21_: ;
34372 		LA14_: ;
34373 	}
34374 	LA1_: ;
34375 	nOrig = copyTree__ast_4431(n);
34376 	semOpAux__sem_88(c, n);
34377 	t_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
34378 	{
34379 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA29_;
34380 		t_2 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_711);
34381 	}
34382 	LA29_: ;
34383 	{
34384 		NIM_BOOL T33_;
34385 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
34386 		T33_ = (NIM_BOOL)0;
34387 		T33_ = !((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34388 		if (!(T33_)) goto LA34_;
34389 		T33_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
34390 		LA34_: ;
34391 		if (!T33_) goto LA35_;
34392 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
34393 		resolveIndirectCall__sem_16475(c, n, nOrig, t_2, (&m));
34394 		{
34395 			if (!!((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA39_;
34396 			{
34397 				if (!((*(*(*c).graph).config).m.errorOutputs == 0)) goto LA43_;
34398 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_266), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_712, NIM_FALSE);
34399 				result = (*(*c).graph).emptyNode;
34400 				goto BeforeRet_;
34401 			}
34402 			goto LA41_;
34403 			LA43_: ;
34404 			{
34405 				NIM_BOOL hasErrorType;
34406 				NimStringDesc* msg;
34407 				hasErrorType = NIM_FALSE;
34408 				msg = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_300));
34409 				{
34410 					NI i_3;
34411 					NI colontmp__2;
34412 					NI i_4;
34413 					i_3 = (NI)0;
34414 					colontmp__2 = (NI)0;
34415 					colontmp__2 = len__ast_3198(n);
34416 					i_4 = ((NI) 1);
34417 					{
34418 						while (1) {
34419 							tyObject_TType__facALICuu8zUj0hjvbTLFg* nt;
34420 							NimStringDesc* T53_;
34421 							if (!(i_4 < colontmp__2)) goto LA48;
34422 							i_3 = i_4;
34423 							{
34424 								if (!(((NI) 1) < i_3)) goto LA51_;
34425 								msg = resizeString(msg, 2);
34426 appendString(msg, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
34427 							}
34428 							LA51_: ;
34429 							nt = (*(*n)._kind_6.sons->data[i_3]).typ;
34430 							T53_ = NIM_NIL;
34431 							T53_ = typeToString__types_50(nt, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
34432 							msg = resizeString(msg, (T53_ ? T53_->Sup.len : 0) + 0);
34433 appendString(msg, T53_);
34434 							{
34435 								if (!((*nt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA56_;
34436 								hasErrorType = NIM_TRUE;
34437 								goto LA46;
34438 							}
34439 							LA56_: ;
34440 							i_4 += ((NI) 1);
34441 						} LA48: ;
34442 					}
34443 				} LA46: ;
34444 				{
34445 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34446 					NimStringDesc* T62_;
34447 					NimStringDesc* T63_;
34448 					if (!!(hasErrorType)) goto LA60_;
34449 					typ = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
34450 					T62_ = NIM_NIL;
34451 					T63_ = NIM_NIL;
34452 					T63_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
34453 					T62_ = rawNewString((T63_ ? T63_->Sup.len : 0) + 23);
34454 appendString(T62_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_713));
34455 appendString(T62_, T63_);
34456 					msg = resizeString(msg, (T62_ ? T62_->Sup.len : 0) + 0);
34457 appendString(msg, T62_);
34458 					{
34459 						NIM_BOOL T66_;
34460 						NIM_BOOL T67_;
34461 						NimStringDesc* T72_;
34462 						NimStringDesc* T73_;
34463 						T66_ = (NIM_BOOL)0;
34464 						T67_ = (NIM_BOOL)0;
34465 						T67_ = !(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
34466 						if (!(T67_)) goto LA68_;
34467 						T67_ = !((((*(*typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0));
34468 						LA68_: ;
34469 						T66_ = T67_;
34470 						if (!(T66_)) goto LA69_;
34471 						T66_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
34472 						LA69_: ;
34473 						if (!T66_) goto LA70_;
34474 						T72_ = NIM_NIL;
34475 						T73_ = NIM_NIL;
34476 						T73_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
34477 						T72_ = rawNewString((T73_ ? T73_->Sup.len : 0) + 3);
34478 appendString(T72_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_714));
34479 appendString(T72_, T73_);
34480 						msg = resizeString(msg, (T72_ ? T72_->Sup.len : 0) + 0);
34481 appendString(msg, T72_);
34482 					}
34483 					LA70_: ;
34484 					addDeclaredLocMaybe__astmsgs_51((&msg), (*(*c).graph).config, typ);
34485 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_715, NIM_FALSE);
34486 				}
34487 				LA60_: ;
34488 				result = errorNode__semdata_1009(c, n);
34489 				goto BeforeRet_;
34490 			}
34491 			LA41_: ;
34492 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34493 		}
34494 		goto LA37_;
34495 		LA39_: ;
34496 		{
34497 			result = m.call;
34498 			instGenericConvertersSons__sem_2316(c, result, (&m));
34499 		}
34500 		LA37_: ;
34501 	}
34502 	goto LA31_;
34503 	LA35_: ;
34504 	{
34505 		NIM_BOOL T76_;
34506 		T76_ = (NIM_BOOL)0;
34507 		T76_ = !((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34508 		if (!(T76_)) goto LA77_;
34509 		T76_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
34510 		LA77_: ;
34511 		if (!T76_) goto LA78_;
34512 		{
34513 			NI T82_;
34514 			T82_ = (NI)0;
34515 			T82_ = len__ast_3198(n);
34516 			if (!(T82_ == ((NI) 1))) goto LA83_;
34517 			result = semObjConstr__sem_16471(c, n, flags);
34518 			goto BeforeRet_;
34519 		}
34520 		LA83_: ;
34521 		result = semConv__sem_14395(c, n);
34522 		goto BeforeRet_;
34523 	}
34524 	goto LA31_;
34525 	LA78_: ;
34526 	{
34527 		result = overloadedCallOpr__sem_14774(c, n);
34528 		{
34529 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA88_;
34530 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), prc);
34531 			asgnRef((void**) (&(*nOrig)._kind_6.sons->data[((NI) 0)]), prc);
34532 			(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12)) & 31);
34533 			result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
34534 			{
34535 				if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA92_;
34536 				result = errorNode__semdata_1009(c, n);
34537 				goto BeforeRet_;
34538 			}
34539 			LA92_: ;
34540 		}
34541 		goto LA86_;
34542 		LA88_: ;
34543 		{
34544 			if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32)))) goto LA95_;
34545 			goto BeforeRet_;
34546 		}
34547 		goto LA86_;
34548 		LA95_: ;
34549 		LA86_: ;
34550 	}
34551 	LA31_: ;
34552 	{
34553 		if (!((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA99_;
34554 		result = afterCallActions__sem_16520(c, result, nOrig, flags);
34555 	}
34556 	goto LA97_;
34557 	LA99_: ;
34558 	{
34559 		fixAbstractType__sem_14966(c, result);
34560 		analyseIfAddressTakenInCall__sem_15142(c, result);
34561 	}
34562 	LA97_: ;
34563 	}BeforeRet_: ;
34564 	return result;
34565 }
N_NIMCALL(NIM_BOOL,shouldBeBracketExpr__sem_20029)34566 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldBeBracketExpr__sem_20029)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34567 	NIM_BOOL result;
34568 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
34569 {	result = (NIM_BOOL)0;
34570 	a = (*n)._kind_6.sons->data[((NI) 0)];
34571 	{
34572 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
34573 		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA3_;
34574 		b = (*a)._kind_6.sons->data[((NI) 0)];
34575 		{
34576 			if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA7_;
34577 			{
34578 				NI i;
34579 				NI colontmp_;
34580 				NI i_2;
34581 				i = (NI)0;
34582 				colontmp_ = (NI)0;
34583 				colontmp_ = len__ast_3198(b);
34584 				i_2 = ((NI) 0);
34585 				{
34586 					while (1) {
34587 						if (!(i_2 < colontmp_)) goto LA11;
34588 						i = i_2;
34589 						{
34590 							NIM_BOOL T14_;
34591 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* be;
34592 							T14_ = (NIM_BOOL)0;
34593 							T14_ = ((*(*b)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34594 							if (!(T14_)) goto LA15_;
34595 							T14_ = ((*(*(*b)._kind_6.sons->data[i])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5));
34596 							LA15_: ;
34597 							if (!T14_) goto LA16_;
34598 							be = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
34599 							{
34600 								NI i_3;
34601 								NI colontmp__2;
34602 								NI i_4;
34603 								i_3 = (NI)0;
34604 								colontmp__2 = (NI)0;
34605 								colontmp__2 = len__ast_3198(a);
34606 								i_4 = ((NI) 1);
34607 								{
34608 									while (1) {
34609 										if (!(i_4 < colontmp__2)) goto LA20;
34610 										i_3 = i_4;
34611 										add__ast_4797(be, (*a)._kind_6.sons->data[i_3]);
34612 										i_4 += ((NI) 1);
34613 									} LA20: ;
34614 								}
34615 							}
34616 							asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), be);
34617 							result = NIM_TRUE;
34618 							goto BeforeRet_;
34619 						}
34620 						LA16_: ;
34621 						i_2 += ((NI) 1);
34622 					} LA11: ;
34623 				}
34624 			}
34625 		}
34626 		LA7_: ;
34627 	}
34628 	LA3_: ;
34629 	}BeforeRet_: ;
34630 	return result;
34631 }
N_NIMCALL(NIM_BOOL,isGeneric__sem_20088)34632 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGeneric__sem_20088)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34633 	NIM_BOOL result;
34634 	result = (NIM_BOOL)0;
34635 	{
34636 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
34637 		NIM_BOOL T5_;
34638 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA3_;
34639 		s = qualifiedLookUp__lookups_1233(c, n, 0);
34640 		T5_ = (NIM_BOOL)0;
34641 		T5_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
34642 		if (!(T5_)) goto LA6_;
34643 		T5_ = isGenericRoutineStrict__ast_4639(s);
34644 		LA6_: ;
34645 		result = T5_;
34646 	}
34647 	LA3_: ;
34648 	return result;
34649 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,asBracketExpr__sem_20084)34650 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, asBracketExpr__sem_20084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34651 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34652 {	result = NIM_NIL;
34653 	{
34654 		NIM_BOOL T3_;
34655 		NI T4_;
34656 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
34657 		T3_ = (NIM_BOOL)0;
34658 		T4_ = (NI)0;
34659 		T4_ = len__ast_3198(n);
34660 		T3_ = (((NI) 1) < T4_);
34661 		if (!(T3_)) goto LA5_;
34662 		T3_ = isGeneric__sem_20088(c, (*n)._kind_6.sons->data[((NI) 1)]);
34663 		LA5_: ;
34664 		if (!T3_) goto LA6_;
34665 		b = (*n)._kind_6.sons->data[((NI) 0)];
34666 		{
34667 			if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA10_;
34668 			{
34669 				NI i;
34670 				NI colontmp_;
34671 				NI i_2;
34672 				i = (NI)0;
34673 				colontmp_ = (NI)0;
34674 				colontmp_ = len__ast_3198(b);
34675 				i_2 = ((NI) 0);
34676 				{
34677 					while (1) {
34678 						if (!(i_2 < colontmp_)) goto LA14;
34679 						i = i_2;
34680 						{
34681 							NIM_BOOL T17_;
34682 							T17_ = (NIM_BOOL)0;
34683 							T17_ = ((*(*b)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34684 							if (!(T17_)) goto LA18_;
34685 							T17_ = ((*(*(*b)._kind_6.sons->data[i])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5));
34686 							LA18_: ;
34687 							if (!T17_) goto LA19_;
34688 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
34689 							{
34690 								NI i_3;
34691 								NI colontmp__2;
34692 								NI i_4;
34693 								i_3 = (NI)0;
34694 								colontmp__2 = (NI)0;
34695 								colontmp__2 = len__ast_3198(n);
34696 								i_4 = ((NI) 1);
34697 								{
34698 									while (1) {
34699 										if (!(i_4 < colontmp__2)) goto LA23;
34700 										i_3 = i_4;
34701 										add__ast_4797(result, (*n)._kind_6.sons->data[i_3]);
34702 										i_4 += ((NI) 1);
34703 									} LA23: ;
34704 								}
34705 							}
34706 							goto BeforeRet_;
34707 						}
34708 						LA19_: ;
34709 						i_2 += ((NI) 1);
34710 					} LA14: ;
34711 				}
34712 			}
34713 		}
34714 		LA10_: ;
34715 	}
34716 	LA6_: ;
34717 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34718 	goto BeforeRet_;
34719 	}BeforeRet_: ;
34720 	return result;
34721 }
N_NIMCALL(void,hoistParamsUsedInDefault__sem_20149)34722 N_LIB_PRIVATE N_NIMCALL(void, hoistParamsUsedInDefault__sem_20149)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** call, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** letSection, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** defExpr) {
34723 	{
34724 		NIM_BOOL T3_;
34725 		NIM_BOOL T4_;
34726 		NI paramPos;
34727 		T3_ = (NIM_BOOL)0;
34728 		T4_ = (NIM_BOOL)0;
34729 		T4_ = ((*(*defExpr)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34730 		if (!(T4_)) goto LA5_;
34731 		T4_ = ((*(*(*defExpr))._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
34732 		LA5_: ;
34733 		T3_ = T4_;
34734 		if (!(T3_)) goto LA6_;
34735 		T3_ = ((*(*(*defExpr))._kind_4.sym).owner == (*(*(*call))._kind_6.sons->data[((NI) 0)])._kind_4.sym);
34736 		LA6_: ;
34737 		if (!T3_) goto LA7_;
34738 		paramPos = (NI)((*(*(*defExpr))._kind_4.sym).position + ((NI) 1));
34739 		{
34740 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* hoistedVarSym;
34741 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
34742 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
34743 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T15_;
34744 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
34745 			if (!!(((*(*(*call))._kind_6.sons->data[paramPos]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA11_;
34746 			T13_ = NIM_NIL;
34747 			T13_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_716));
34748 			T14_ = nextSymId__ast_3132((*c).Sup.idgen);
34749 			hoistedVarSym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), T13_, T14_, (*(*c).p).owner, (*(*letSection)).info, (*(*(*c).p).owner).options);
34750 			asgnRef((void**) (&(*hoistedVarSym).typ), (*(*(*call))._kind_6.sons->data[paramPos]).typ);
34751 			nimZeroMem((void*)T15_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
34752 			T15_[0] = newSymNode__ast_3716(hoistedVarSym);
34753 			T15_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*letSection)).info);
34754 			T15_[2] = (*(*call))._kind_6.sons->data[paramPos];
34755 			T16_ = NIM_NIL;
34756 			T16_ = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*(*letSection)).info, T15_, 3);
34757 			add__ast_4797((*letSection), T16_);
34758 			asgnRef((void**) (&(*(*call))._kind_6.sons->data[paramPos]), newSymNode__ast_3716(hoistedVarSym));
34759 		}
34760 		LA11_: ;
34761 		unsureAsgnRef((void**) (&(*defExpr)), (*(*call))._kind_6.sons->data[paramPos]);
34762 	}
34763 	goto LA1_;
34764 	LA7_: ;
34765 	{
34766 		{
34767 			NI i;
34768 			NI colontmp_;
34769 			NI i_2;
34770 			i = (NI)0;
34771 			colontmp_ = (NI)0;
34772 			colontmp_ = safeLen__ast_3191((*defExpr));
34773 			i_2 = ((NI) 0);
34774 			{
34775 				while (1) {
34776 					if (!(i_2 < colontmp_)) goto LA20;
34777 					i = i_2;
34778 					hoistParamsUsedInDefault__sem_20149(c, call, letSection, &(*(*defExpr))._kind_6.sons->data[i]);
34779 					i_2 += ((NI) 1);
34780 				} LA20: ;
34781 			}
34782 		}
34783 	}
34784 	LA1_: ;
34785 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrayAccess__sem_17529)34786 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayAccess__sem_17529)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34787 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34788 	result = NIM_NIL;
34789 	result = semSubscript__sem_15311(c, n, flags);
34790 	{
34791 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
34792 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
34793 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
34794 		T5_ = NIM_NIL;
34795 		T5_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
34796 		T6_ = NIM_NIL;
34797 		T6_ = buildOverloadedSubscripts__sem_17343(n, T5_);
34798 		result = semExpr__sem_52(c, T6_, flags);
34799 	}
34800 	LA3_: ;
34801 	return result;
34802 }
N_NIMCALL(tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg,checkPar__sem_18916)34803 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg, checkPar__sem_18916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34804 	tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg result;
34805 {	result = (tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg)0;
34806 	{
34807 		NI T3_;
34808 		T3_ = (NI)0;
34809 		T3_ = len__ast_3198(n);
34810 		if (!(T3_ == ((NI) 0))) goto LA4_;
34811 		result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34812 	}
34813 	goto LA1_;
34814 	LA4_: ;
34815 	{
34816 		NI T7_;
34817 		T7_ = (NI)0;
34818 		T7_ = len__ast_3198(n);
34819 		if (!(T7_ == ((NI) 1))) goto LA8_;
34820 		{
34821 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA12_;
34822 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2);
34823 		}
34824 		goto LA10_;
34825 		LA12_: ;
34826 		{
34827 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA15_;
34828 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34829 		}
34830 		goto LA10_;
34831 		LA15_: ;
34832 		{
34833 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 1);
34834 		}
34835 		LA10_: ;
34836 	}
34837 	goto LA1_;
34838 	LA8_: ;
34839 	{
34840 		{
34841 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA21_;
34842 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2);
34843 		}
34844 		goto LA19_;
34845 		LA21_: ;
34846 		{
34847 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34848 		}
34849 		LA19_: ;
34850 		{
34851 			NI i;
34852 			NI colontmp_;
34853 			NI i_2;
34854 			i = (NI)0;
34855 			colontmp_ = (NI)0;
34856 			colontmp_ = len__ast_3198(n);
34857 			i_2 = ((NI) 0);
34858 			{
34859 				while (1) {
34860 					if (!(i_2 < colontmp_)) goto LA26;
34861 					i = i_2;
34862 					{
34863 						if (!(result == ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2))) goto LA29_;
34864 						{
34865 							NIM_BOOL T33_;
34866 							T33_ = (NIM_BOOL)0;
34867 							T33_ = !(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)));
34868 							if (T33_) goto LA34_;
34869 							T33_ = !(((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53)));
34870 							LA34_: ;
34871 							if (!T33_) goto LA35_;
34872 							liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[i]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_717), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_718, NIM_FALSE);
34873 							result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0);
34874 							goto BeforeRet_;
34875 						}
34876 						LA35_: ;
34877 					}
34878 					goto LA27_;
34879 					LA29_: ;
34880 					{
34881 						{
34882 							if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA40_;
34883 							liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[i]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_719), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_720, NIM_FALSE);
34884 							result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0);
34885 							goto BeforeRet_;
34886 						}
34887 						LA40_: ;
34888 					}
34889 					LA27_: ;
34890 					i_2 += ((NI) 1);
34891 				} LA26: ;
34892 			}
34893 		}
34894 	}
34895 	LA1_: ;
34896 	}BeforeRet_: ;
34897 	return result;
34898 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTuplePositionsConstr__sem_19039)34899 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTuplePositionsConstr__sem_19039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34900 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34901 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34902 	result = NIM_NIL;
34903 	result = n;
34904 	transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 160));
34905 	typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), c);
34906 	{
34907 		NI i;
34908 		NI colontmp_;
34909 		NI i_2;
34910 		i = (NI)0;
34911 		colontmp_ = (NI)0;
34912 		colontmp_ = len__ast_3198(n);
34913 		i_2 = ((NI) 0);
34914 		{
34915 			while (1) {
34916 				if (!(i_2 < colontmp_)) goto LA3;
34917 				i = i_2;
34918 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[i], 0));
34919 				addSonSkipIntLit__magicsys_136(typ, (*(*n)._kind_6.sons->data[i]).typ, (*c).Sup.idgen);
34920 				i_2 += ((NI) 1);
34921 			} LA3: ;
34922 		}
34923 	}
34924 	asgnRef((void**) (&(*result).typ), typ);
34925 	return result;
34926 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTupleConstr__sem_19999)34927 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleConstr__sem_19999)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34928 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34929 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupexp;
34930 	NIM_BOOL isTupleType;
34931 {	result = NIM_NIL;
34932 	tupexp = semTuplePositionsConstr__sem_19039(c, n, flags);
34933 	isTupleType = (NIM_BOOL)0;
34934 	{
34935 		NI T3_;
34936 		T3_ = (NI)0;
34937 		T3_ = len__ast_3198(tupexp);
34938 		if (!(((NI) 0) < T3_)) goto LA4_;
34939 		isTupleType = ((*(*(*tupexp)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
34940 		{
34941 			NI i;
34942 			NI colontmp_;
34943 			NI i_2;
34944 			i = (NI)0;
34945 			colontmp_ = (NI)0;
34946 			colontmp_ = len__ast_3198(tupexp);
34947 			i_2 = ((NI) 1);
34948 			{
34949 				while (1) {
34950 					if (!(i_2 < colontmp_)) goto LA8;
34951 					i = i_2;
34952 					{
34953 						if (!!((isTupleType == ((*(*(*tupexp)._kind_6.sons->data[i]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))))) goto LA11_;
34954 						liMessage__msgs_1118((*(*c).graph).config, (*(*tupexp)._kind_6.sons->data[i]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_721), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_722, NIM_FALSE);
34955 						result = errorNode__semdata_1009(c, n);
34956 						goto BeforeRet_;
34957 					}
34958 					LA11_: ;
34959 					i_2 += ((NI) 1);
34960 				} LA8: ;
34961 			}
34962 		}
34963 	}
34964 	LA4_: ;
34965 	{
34966 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34967 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
34968 		if (!isTupleType) goto LA15_;
34969 		result = n;
34970 		T17_ = NIM_NIL;
34971 		T17_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
34972 		typ = skipTypes__ast_3735(T17_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
34973 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
34974 	}
34975 	goto LA13_;
34976 	LA15_: ;
34977 	{
34978 		result = tupexp;
34979 	}
34980 	LA13_: ;
34981 	}BeforeRet_: ;
34982 	return result;
34983 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTupleFieldsConstr__sem_18980)34984 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleFieldsConstr__sem_18980)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34985 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34986 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34987 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA ids;
34988 	result = NIM_NIL;
34989 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*n).info);
34990 	typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), c);
34991 	asgnRef((void**) (&(*typ).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
34992 	nimZeroMem((void*)(&ids), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
34993 	initIntSet__pureZcollectionsZintsets_238((&ids));
34994 	{
34995 		NI i;
34996 		NI colontmp_;
34997 		NI i_2;
34998 		i = (NI)0;
34999 		colontmp_ = (NI)0;
35000 		colontmp_ = len__ast_3198(n);
35001 		i_2 = ((NI) 0);
35002 		{
35003 			while (1) {
35004 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
35005 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
35006 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
35007 				if (!(i_2 < colontmp_)) goto LA3;
35008 				i = i_2;
35009 				{
35010 					if (!!(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA6_;
35011 					illFormedAst__semdata_1071((*n)._kind_6.sons->data[i], (*(*c).graph).config);
35012 				}
35013 				LA6_: ;
35014 				id = considerQuotedIdent__lookups_28(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
35015 				{
35016 					NIM_BOOL T10_;
35017 					NimStringDesc* T13_;
35018 					T10_ = (NIM_BOOL)0;
35019 					T10_ = containsOrIncl__astalgo_402((&ids), (*id).id);
35020 					if (!T10_) goto LA11_;
35021 					T13_ = NIM_NIL;
35022 					T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_660), (*id).s);
35023 					liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[i]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_723, NIM_FALSE);
35024 				}
35025 				LA11_: ;
35026 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], 0));
35027 				{
35028 					if (!((*(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA16_;
35029 					liMessage__msgs_1118((*(*c).graph).config, (*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_724), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_725, NIM_FALSE);
35030 					asgnRef((void**) (&(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ), errorType__semdata_1002(c));
35031 				}
35032 				LA16_: ;
35033 				f = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
35034 				asgnRef((void**) (&(*f).typ), skipIntLit__magicsys_124((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ, (*c).Sup.idgen));
35035 				(*f).position = i;
35036 				rawAddSon__ast_4288(typ, (*f).typ, NIM_TRUE);
35037 				T18_ = NIM_NIL;
35038 				T18_ = newSymNode__ast_3716(f);
35039 				add__ast_4797((*typ).n, T18_);
35040 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(f));
35041 				add__ast_4797(result, (*n)._kind_6.sons->data[i]);
35042 				i_2 += ((NI) 1);
35043 			} LA3: ;
35044 		}
35045 	}
35046 	asgnRef((void**) (&(*result).typ), typ);
35047 	return result;
35048 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSetConstr__sem_18756)35049 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSetConstr__sem_18756)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35050 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35051 	result = NIM_NIL;
35052 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n).info);
35053 	asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), c));
35054 	(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 43)) & 63);
35055 	{
35056 		NI T3_;
35057 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
35058 		T3_ = (NI)0;
35059 		T3_ = len__ast_3198(n);
35060 		if (!(T3_ == ((NI) 0))) goto LA4_;
35061 		T6_ = NIM_NIL;
35062 		T6_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
35063 		rawAddSon__ast_4288((*result).typ, T6_, NIM_TRUE);
35064 	}
35065 	goto LA1_;
35066 	LA4_: ;
35067 	{
35068 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35069 		typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
35070 		{
35071 			NI i;
35072 			NI colontmp_;
35073 			NI i_2;
35074 			i = (NI)0;
35075 			colontmp_ = (NI)0;
35076 			colontmp_ = len__ast_3198(n);
35077 			i_2 = ((NI) 0);
35078 			{
35079 				while (1) {
35080 					if (!(i_2 < colontmp_)) goto LA10;
35081 					i = i_2;
35082 					{
35083 						NIM_BOOL T13_;
35084 						T13_ = (NIM_BOOL)0;
35085 						T13_ = isRange__trees_213((*n)._kind_6.sons->data[i]);
35086 						if (!T13_) goto LA14_;
35087 						checkSonsLen__semdata_1077((*n)._kind_6.sons->data[i], ((NI) 3), (*(*c).graph).config);
35088 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], 0));
35089 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 2)]), semExprWithType__sem_56(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 2)], 0));
35090 						{
35091 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA18_;
35092 							typ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35093 						}
35094 						LA18_: ;
35095 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), (*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 2)]).typ);
35096 					}
35097 					goto LA11_;
35098 					LA14_: ;
35099 					{
35100 						if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA21_;
35101 						{
35102 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA25_;
35103 							typ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35104 						}
35105 						LA25_: ;
35106 					}
35107 					goto LA11_;
35108 					LA21_: ;
35109 					{
35110 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[i], 0));
35111 						{
35112 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA30_;
35113 							typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[i]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35114 						}
35115 						LA30_: ;
35116 					}
35117 					LA11_: ;
35118 					i_2 += ((NI) 1);
35119 				} LA10: ;
35120 			}
35121 		}
35122 		{
35123 			NIM_BOOL T34_;
35124 			T34_ = (NIM_BOOL)0;
35125 			T34_ = isOrdinalType__types_299(typ, NIM_TRUE);
35126 			if (!!(T34_)) goto LA35_;
35127 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_727, NIM_FALSE);
35128 			typ = makeRangeType__semdata_1039(c, IL64(0), IL64(65535), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35129 		}
35130 		goto LA32_;
35131 		LA35_: ;
35132 		{
35133 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T38_;
35134 			NIM_BOOL T39_;
35135 			T38_ = lengthOrd__types_1661((*(*c).graph).config, typ);
35136 			T39_ = (NIM_BOOL)0;
35137 			T39_ = lt___int495056_738(IL64(65536), T38_);
35138 			if (!T39_) goto LA40_;
35139 			typ = makeRangeType__semdata_1039(c, IL64(0), IL64(65535), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35140 		}
35141 		goto LA32_;
35142 		LA40_: ;
35143 		LA32_: ;
35144 		addSonSkipIntLit__magicsys_136((*result).typ, typ, (*c).Sup.idgen);
35145 		{
35146 			NI i_3;
35147 			NI colontmp__2;
35148 			NI i_4;
35149 			i_3 = (NI)0;
35150 			colontmp__2 = (NI)0;
35151 			colontmp__2 = len__ast_3198(n);
35152 			i_4 = ((NI) 0);
35153 			{
35154 				while (1) {
35155 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
35156 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
35157 					if (!(i_4 < colontmp__2)) goto LA44;
35158 					i_3 = i_4;
35159 					m = NIM_NIL;
35160 					info = (*(*n)._kind_6.sons->data[i_3]).info;
35161 					{
35162 						NIM_BOOL T47_;
35163 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
35164 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T51_;
35165 						T47_ = (NIM_BOOL)0;
35166 						T47_ = isRange__trees_213((*n)._kind_6.sons->data[i_3]);
35167 						if (!T47_) goto LA48_;
35168 						m = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), info);
35169 						T50_ = NIM_NIL;
35170 						T50_ = fitNode__sem_70(c, typ, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)], info);
35171 						add__ast_4797(m, T50_);
35172 						T51_ = NIM_NIL;
35173 						T51_ = fitNode__sem_70(c, typ, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 2)], info);
35174 						add__ast_4797(m, T51_);
35175 					}
35176 					goto LA45_;
35177 					LA48_: ;
35178 					{
35179 						if (!((*(*n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA53_;
35180 						m = (*n)._kind_6.sons->data[i_3];
35181 					}
35182 					goto LA45_;
35183 					LA53_: ;
35184 					{
35185 						m = fitNode__sem_70(c, typ, (*n)._kind_6.sons->data[i_3], info);
35186 					}
35187 					LA45_: ;
35188 					add__ast_4797(result, m);
35189 					i_4 += ((NI) 1);
35190 				} LA44: ;
35191 			}
35192 		}
35193 	}
35194 	LA1_: ;
35195 	return result;
35196 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrayConstr__sem_14893)35197 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayConstr__sem_14893)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35198 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35199 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA firstIndex;
35200 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA lastIndex;
35201 	tyObject_TType__facALICuu8zUj0hjvbTLFg* indexType;
35202 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA lastValidIndex;
35203 	NI64 T55_;
35204 	NI64 T56_;
35205 	result = NIM_NIL;
35206 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n).info);
35207 	asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c));
35208 	rawAddSon__ast_4288((*result).typ, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), NIM_TRUE);
35209 	nimZeroMem((void*)(&firstIndex), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
35210 	nimZeroMem((void*)(&lastIndex), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
35211 	indexType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
35212 	lastValidIndex = lastOrd__types_1470((*(*c).graph).config, indexType);
35213 	{
35214 		NI T3_;
35215 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
35216 		T3_ = (NI)0;
35217 		T3_ = len__ast_3198(n);
35218 		if (!(T3_ == ((NI) 0))) goto LA4_;
35219 		T6_ = NIM_NIL;
35220 		T6_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
35221 		rawAddSon__ast_4288((*result).typ, T6_, NIM_TRUE);
35222 		lastIndex = toInt128__types_1378(((NI) -1));
35223 	}
35224 	goto LA1_;
35225 	LA4_: ;
35226 	{
35227 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
35228 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* yy;
35229 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35230 		x = (*n)._kind_6.sons->data[((NI) 0)];
35231 		{
35232 			NIM_BOOL T10_;
35233 			NI T12_;
35234 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx;
35235 			T10_ = (NIM_BOOL)0;
35236 			T10_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35237 			if (!(T10_)) goto LA11_;
35238 			T12_ = (NI)0;
35239 			T12_ = len__ast_3198(x);
35240 			T10_ = (T12_ == ((NI) 2));
35241 			LA11_: ;
35242 			if (!T10_) goto LA13_;
35243 			idx = semConstExpr__sem_611(c, (*x)._kind_6.sons->data[((NI) 0)]);
35244 			{
35245 				NIM_BOOL T17_;
35246 				NimStringDesc* T20_;
35247 				NimStringDesc* T21_;
35248 				NimStringDesc* T22_;
35249 				T17_ = (NIM_BOOL)0;
35250 				T17_ = isOrdinalType__types_299((*idx).typ, NIM_FALSE);
35251 				if (!!(T17_)) goto LA18_;
35252 				T20_ = NIM_NIL;
35253 				T21_ = NIM_NIL;
35254 				T21_ = renderTree__renderer_46(idx, 0);
35255 				T22_ = NIM_NIL;
35256 				T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_729), T21_);
35257 				T20_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 33);
35258 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_728));
35259 appendString(T20_, T22_);
35260 				liMessage__msgs_1118((*(*c).graph).config, (*idx).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_730, NIM_FALSE);
35261 			}
35262 			goto LA15_;
35263 			LA18_: ;
35264 			{
35265 				firstIndex = getOrdValue__types_161(idx, Max__int495056_27);
35266 				lastIndex = firstIndex;
35267 				indexType = (*idx).typ;
35268 				lastValidIndex = lastOrd__types_1470((*(*c).graph).config, indexType);
35269 				x = (*x)._kind_6.sons->data[((NI) 1)];
35270 			}
35271 			LA15_: ;
35272 		}
35273 		LA13_: ;
35274 		yy = semExprWithType__sem_56(c, x, 0);
35275 		typ = (*yy).typ;
35276 		add__ast_4797(result, yy);
35277 		{
35278 			NI i;
35279 			NI colontmp_;
35280 			NI i_2;
35281 			i = (NI)0;
35282 			colontmp_ = (NI)0;
35283 			colontmp_ = len__ast_3198(n);
35284 			i_2 = ((NI) 1);
35285 			{
35286 				while (1) {
35287 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xx;
35288 					if (!(i_2 < colontmp_)) goto LA26;
35289 					i = i_2;
35290 					{
35291 						NIM_BOOL T29_;
35292 						tyObject_TType__facALICuu8zUj0hjvbTLFg* validIndex;
35293 						NI64 T32_;
35294 						NI64 T33_;
35295 						NimStringDesc* T34_;
35296 						tyArray__Re75IspeoxXy2oCZHwcRrA T35_;
35297 						NI T36_;
35298 						NimStringDesc* T37_;
35299 						T29_ = (NIM_BOOL)0;
35300 						T29_ = eqeq___int495056_313(lastIndex, lastValidIndex);
35301 						if (!T29_) goto LA30_;
35302 						T32_ = (NI64)0;
35303 						T32_ = toInt64__int495056_88(firstIndex);
35304 						T33_ = (NI64)0;
35305 						T33_ = toInt64__int495056_88(lastValidIndex);
35306 						validIndex = makeRangeType__semdata_1039(c, T32_, T33_, (*n).info, indexType);
35307 						T34_ = NIM_NIL;
35308 						nimZeroMem((void*)T35_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
35309 						T35_[0] = typeToString__types_50(validIndex, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35310 						T36_ = (NI)0;
35311 						T36_ = len__ast_3198(n);
35312 						T35_[1] = dollar___systemZdollars_3((NI)(T36_ - i));
35313 						T37_ = NIM_NIL;
35314 						T37_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_732), T35_, 2);
35315 						T34_ = rawNewString((T37_ ? T37_->Sup.len : 0) + 37);
35316 appendString(T34_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_731));
35317 appendString(T34_, T37_);
35318 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_733, NIM_FALSE);
35319 					}
35320 					LA30_: ;
35321 					x = (*n)._kind_6.sons->data[i];
35322 					{
35323 						NIM_BOOL T40_;
35324 						NI T42_;
35325 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx_2;
35326 						T40_ = (NIM_BOOL)0;
35327 						T40_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35328 						if (!(T40_)) goto LA41_;
35329 						T42_ = (NI)0;
35330 						T42_ = len__ast_3198(x);
35331 						T40_ = (T42_ == ((NI) 2));
35332 						LA41_: ;
35333 						if (!T40_) goto LA43_;
35334 						idx_2 = semConstExpr__sem_611(c, (*x)._kind_6.sons->data[((NI) 0)]);
35335 						idx_2 = fitNode__sem_70(c, indexType, idx_2, (*x).info);
35336 						{
35337 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T47_;
35338 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T48_;
35339 							NIM_BOOL T49_;
35340 							T47_ = plus___int495056_794(lastIndex, IL64(1));
35341 							T48_ = getOrdValue__types_161(idx_2, Max__int495056_27);
35342 							T49_ = (NIM_BOOL)0;
35343 							T49_ = eqeq___int495056_313(T47_, T48_);
35344 							if (!!(T49_)) goto LA50_;
35345 							liMessage__msgs_1118((*(*c).graph).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_734), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_735, NIM_FALSE);
35346 						}
35347 						LA50_: ;
35348 						x = (*x)._kind_6.sons->data[((NI) 1)];
35349 					}
35350 					LA43_: ;
35351 					xx = semExprWithType__sem_56(c, x, 0);
35352 					add__ast_4797(result, xx);
35353 					typ = commonType__sem_237(c, typ, (*xx).typ);
35354 					inc__int495056_251((&lastIndex), ((NU32) 1));
35355 					i_2 += ((NI) 1);
35356 				} LA26: ;
35357 			}
35358 		}
35359 		addSonSkipIntLit__magicsys_136((*result).typ, typ, (*c).Sup.idgen);
35360 		{
35361 			NI i_3;
35362 			NI colontmp__2;
35363 			NI i_4;
35364 			i_3 = (NI)0;
35365 			colontmp__2 = (NI)0;
35366 			colontmp__2 = len__ast_3198(result);
35367 			i_4 = ((NI) 0);
35368 			{
35369 				while (1) {
35370 					if (!(i_4 < colontmp__2)) goto LA54;
35371 					i_3 = i_4;
35372 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), fitNode__sem_70(c, typ, (*result)._kind_6.sons->data[i_3], (*(*result)._kind_6.sons->data[i_3]).info));
35373 					i_4 += ((NI) 1);
35374 				} LA54: ;
35375 			}
35376 		}
35377 	}
35378 	LA1_: ;
35379 	T55_ = (NI64)0;
35380 	T55_ = toInt64__int495056_88(firstIndex);
35381 	T56_ = (NI64)0;
35382 	T56_ = toInt64__int495056_88(lastIndex);
35383 	asgnRef((void**) (&(*(*result).typ).sons->data[((NI) 0)]), makeRangeType__semdata_1039(c, T55_, T56_, (*n).info, indexType));
35384 	return result;
35385 }
N_NIMCALL(NIM_BOOL,isCastable__sem_14277)35386 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCastable__sem_14277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* dst, tyObject_TType__facALICuu8zUj0hjvbTLFg* src) {
35387 	NIM_BOOL result;
35388 	tyObject_TType__facALICuu8zUj0hjvbTLFg* src_2;
35389 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
35390 	NI64 dstSize;
35391 	NI64 srcSize;
35392 {	result = (NIM_BOOL)0;
35393 	src_2 = skipTypes__ast_3735(src, TM__rF9caJawfOjYTjsgLVUSGFA_739);
35394 	{
35395 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
35396 		T3_ = NIM_NIL;
35397 		T3_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_740);
35398 		if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA4_;
35399 		result = NIM_FALSE;
35400 		goto BeforeRet_;
35401 	}
35402 	LA4_: ;
35403 	{
35404 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
35405 		T8_ = NIM_NIL;
35406 		T8_ = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_5);
35407 		if (!((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA9_;
35408 		result = NIM_FALSE;
35409 		goto BeforeRet_;
35410 	}
35411 	LA9_: ;
35412 	{
35413 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
35414 		T13_ = NIM_NIL;
35415 		T13_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35416 		if (!((*T13_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51))) goto LA14_;
35417 		result = NIM_FALSE;
35418 		goto BeforeRet_;
35419 	}
35420 	LA14_: ;
35421 	conf = (*(*c).graph).config;
35422 	{
35423 		tyObject_TType__facALICuu8zUj0hjvbTLFg* d;
35424 		tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
35425 		if (!((48 &((NU16)1<<((NU)((*conf).selectedGC)&15U)))!=0)) goto LA18_;
35426 		d = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35427 		s = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35428 		{
35429 			NIM_BOOL T22_;
35430 			NIM_BOOL T23_;
35431 			NIM_BOOL T26_;
35432 			NIM_BOOL T27_;
35433 			T22_ = (NIM_BOOL)0;
35434 			T23_ = (NIM_BOOL)0;
35435 			T23_ = ((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
35436 			if (!(T23_)) goto LA24_;
35437 			T23_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
35438 			LA24_: ;
35439 			T22_ = T23_;
35440 			if (!(T22_)) goto LA25_;
35441 			T26_ = (NIM_BOOL)0;
35442 			T26_ = isFinal__types_750((*s).sons->data[((NI) 0)]);
35443 			T27_ = (NIM_BOOL)0;
35444 			T27_ = isFinal__types_750((*d).sons->data[((NI) 0)]);
35445 			T22_ = !((T26_ == T27_));
35446 			LA25_: ;
35447 			if (!T22_) goto LA28_;
35448 			result = NIM_FALSE;
35449 			goto BeforeRet_;
35450 		}
35451 		goto LA20_;
35452 		LA28_: ;
35453 		{
35454 			NIM_BOOL T31_;
35455 			T31_ = (NIM_BOOL)0;
35456 			T31_ = ((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*d).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*d).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
35457 			if (!(T31_)) goto LA32_;
35458 			T31_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
35459 			LA32_: ;
35460 			if (!T31_) goto LA33_;
35461 			result = NIM_FALSE;
35462 			goto BeforeRet_;
35463 		}
35464 		goto LA20_;
35465 		LA33_: ;
35466 		LA20_: ;
35467 	}
35468 	LA18_: ;
35469 	dstSize = (NI64)0;
35470 	srcSize = (NI64)0;
35471 	dstSize = computeSize__types_3317(conf, dst);
35472 	srcSize = computeSize__types_3317(conf, src_2);
35473 	{
35474 		NIM_BOOL T37_;
35475 		T37_ = (NIM_BOOL)0;
35476 		T37_ = (dstSize == IL64(-3));
35477 		if (T37_) goto LA38_;
35478 		T37_ = (srcSize == IL64(-3));
35479 		LA38_: ;
35480 		if (!T37_) goto LA39_;
35481 		result = NIM_TRUE;
35482 		goto BeforeRet_;
35483 	}
35484 	LA39_: ;
35485 	{
35486 		if (!(dstSize < IL64(0))) goto LA43_;
35487 		result = NIM_FALSE;
35488 	}
35489 	goto LA41_;
35490 	LA43_: ;
35491 	{
35492 		if (!(srcSize < IL64(0))) goto LA46_;
35493 		result = NIM_FALSE;
35494 	}
35495 	goto LA41_;
35496 	LA46_: ;
35497 	{
35498 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
35499 		T49_ = NIM_NIL;
35500 		T49_ = typeAllowed__typeallowed_472(dst, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), c, 0);
35501 		if (!!((T49_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA50_;
35502 		result = NIM_FALSE;
35503 	}
35504 	goto LA41_;
35505 	LA50_: ;
35506 	{
35507 		NIM_BOOL T53_;
35508 		NIM_BOOL T57_;
35509 		T53_ = (NIM_BOOL)0;
35510 		T53_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
35511 		if (!(T53_)) goto LA54_;
35512 		T53_ = ((*dst).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
35513 		LA54_: ;
35514 		if (!T53_) goto LA55_;
35515 		T57_ = (NIM_BOOL)0;
35516 		T57_ = ((*src_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
35517 		if (!(T57_)) goto LA58_;
35518 		T57_ = ((*src_2).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
35519 		LA58_: ;
35520 		result = T57_;
35521 	}
35522 	goto LA41_;
35523 	LA55_: ;
35524 	{
35525 		NIM_BOOL T60_;
35526 		NIM_BOOL T61_;
35527 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T63_;
35528 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
35529 		T60_ = (NIM_BOOL)0;
35530 		T61_ = (NIM_BOOL)0;
35531 		T61_ = (srcSize <= dstSize);
35532 		if (T61_) goto LA62_;
35533 		T63_ = NIM_NIL;
35534 		T63_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35535 		T61_ = ((*T63_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*T63_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T63_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T63_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T63_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
35536 		LA62_: ;
35537 		T60_ = T61_;
35538 		if (T60_) goto LA64_;
35539 		T65_ = NIM_NIL;
35540 		T65_ = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_5);
35541 		T60_ = ((*T65_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*T65_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T65_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T65_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T65_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
35542 		LA64_: ;
35543 		result = T60_;
35544 	}
35545 	LA41_: ;
35546 	{
35547 		NIM_BOOL T68_;
35548 		T68_ = (NIM_BOOL)0;
35549 		T68_ = result;
35550 		if (!(T68_)) goto LA69_;
35551 		T68_ = ((*src_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
35552 		LA69_: ;
35553 		if (!T68_) goto LA70_;
35554 		result = ((*dst).size <= ((NI64) ((*conf).target.ptrSize)));
35555 	}
35556 	LA70_: ;
35557 	}BeforeRet_: ;
35558 	return result;
35559 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCast__sem_14524)35560 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCast__sem_14524)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35561 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35562 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetType;
35563 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* castedExpr;
35564 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
35565 	result = NIM_NIL;
35566 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
35567 	targetType = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35568 	castedExpr = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
35569 	{
35570 		NimStringDesc* T5_;
35571 		NimStringDesc* T6_;
35572 		if (!(((*targetType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21))&63U)))!=0)) goto LA3_;
35573 		T5_ = NIM_NIL;
35574 		T5_ = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35575 		T6_ = NIM_NIL;
35576 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_737), T5_);
35577 		liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_738, NIM_FALSE);
35578 	}
35579 	LA3_: ;
35580 	{
35581 		NIM_BOOL T9_;
35582 		NimStringDesc* tar;
35583 		NimStringDesc* alt;
35584 		NimStringDesc* msg;
35585 		NimStringDesc* T18_;
35586 		T9_ = (NIM_BOOL)0;
35587 		T9_ = isCastable__sem_14277(c, targetType, (*castedExpr).typ);
35588 		if (!!(T9_)) goto LA10_;
35589 		tar = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35590 		alt = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
35591 		{
35592 			NimStringDesc* T16_;
35593 			if (!!(eqStrings(tar, alt))) goto LA14_;
35594 			T16_ = NIM_NIL;
35595 			T16_ = rawNewString((tar ? tar->Sup.len : 0) + (alt ? alt->Sup.len : 0) + 1);
35596 appendString(T16_, tar);
35597 appendString(T16_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178));
35598 appendString(T16_, alt);
35599 			msg = T16_;
35600 		}
35601 		goto LA12_;
35602 		LA14_: ;
35603 		{
35604 			msg = tar;
35605 		}
35606 		LA12_: ;
35607 		T18_ = NIM_NIL;
35608 		T18_ = rawNewString((msg ? msg->Sup.len : 0) + 29);
35609 appendString(T18_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_741));
35610 appendString(T18_, msg);
35611 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_742, NIM_FALSE);
35612 	}
35613 	LA10_: ;
35614 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61), (*n).info);
35615 	asgnRef((void**) (&(*result).typ), targetType);
35616 	T19_ = NIM_NIL;
35617 	T19_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
35618 	add__ast_4797(result, T19_);
35619 	add__ast_4797(result, castedExpr);
35620 	return result;
35621 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprBranch__sem_9264)35622 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranch__sem_9264)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35623 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35624 	result = NIM_NIL;
35625 	result = semExpr__sem_52(c, n, flags);
35626 	{
35627 		if (!!(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
35628 		{
35629 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA7_;
35630 			result = newDeref__lowerings_11(result);
35631 		}
35632 		LA7_: ;
35633 	}
35634 	LA3_: ;
35635 	return result;
35636 }
N_NIMCALL(NIM_BOOL,endsInNoReturn__sem_416)35637 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_416)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35638 	NIM_BOOL result;
35639 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
35640 	NIM_BOOL T6_;
35641 	NIM_BOOL T8_;
35642 	NIM_BOOL T9_;
35643 	result = (NIM_BOOL)0;
35644 	it = n;
35645 	{
35646 		while (1) {
35647 			NIM_BOOL T3_;
35648 			NI T5_;
35649 			T3_ = (NIM_BOOL)0;
35650 			T3_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
35651 			if (!(T3_)) goto LA4_;
35652 			T5_ = (NI)0;
35653 			T5_ = len__ast_3198(it);
35654 			T3_ = (((NI) 0) < T5_);
35655 			LA4_: ;
35656 			if (!T3_) goto LA2;
35657 			it = lastSon__ast_4832(it);
35658 		} LA2: ;
35659 	}
35660 	T6_ = (NIM_BOOL)0;
35661 	T6_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111));
35662 	if (T6_) goto LA7_;
35663 	T8_ = (NIM_BOOL)0;
35664 	T9_ = (NIM_BOOL)0;
35665 	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));
35666 	if (!(T9_)) goto LA10_;
35667 	T9_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
35668 	LA10_: ;
35669 	T8_ = T9_;
35670 	if (!(T8_)) goto LA11_;
35671 	T8_ = (((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0);
35672 	LA11_: ;
35673 	T6_ = T8_;
35674 	LA7_: ;
35675 	result = T6_;
35676 	return result;
35677 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,commonType__sem_448)35678 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_448)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
35679 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
35680 {	result = NIM_NIL;
35681 	{
35682 		NIM_BOOL T3_;
35683 		T3_ = (NIM_BOOL)0;
35684 		T3_ = endsInNoReturn__sem_416(y);
35685 		if (!T3_) goto LA4_;
35686 		result = x;
35687 		goto BeforeRet_;
35688 	}
35689 	LA4_: ;
35690 	result = commonType__sem_237(c, x, (*y).typ);
35691 	}BeforeRet_: ;
35692 	return result;
35693 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprBranchScope__sem_9277)35694 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranchScope__sem_9277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35695 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35696 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
35697 	result = NIM_NIL;
35698 	T1_ = NIM_NIL;
35699 	T1_ = openScope__lookups_69(c);
35700 	result = semExprBranch__sem_9264(c, n, 0);
35701 	closeScope__lookups_101(c);
35702 	return result;
35703 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIf__sem_9366)35704 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIf__sem_9366)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35705 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35706 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35707 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
35708 	NIM_BOOL hasElse;
35709 	result = NIM_NIL;
35710 	result = n;
35711 	T1_ = NIM_NIL;
35712 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
35713 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
35714 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
35715 	typ = T1_;
35716 	hasElse = NIM_FALSE;
35717 	{
35718 		NI i;
35719 		NI colontmp_;
35720 		NI i_2;
35721 		i = (NI)0;
35722 		colontmp_ = (NI)0;
35723 		colontmp_ = len__ast_3198(n);
35724 		i_2 = ((NI) 0);
35725 		{
35726 			while (1) {
35727 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
35728 				if (!(i_2 < colontmp_)) goto LA4;
35729 				i = i_2;
35730 				it = (*n)._kind_6.sons->data[i];
35731 				{
35732 					NI T7_;
35733 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T10_;
35734 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
35735 					T7_ = (NI)0;
35736 					T7_ = len__ast_3198(it);
35737 					if (!(T7_ == ((NI) 2))) goto LA8_;
35738 					T10_ = NIM_NIL;
35739 					T10_ = openScope__lookups_69(c);
35740 					T11_ = NIM_NIL;
35741 					T11_ = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 0)], 0);
35742 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T11_));
35743 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semExprBranch__sem_9264(c, (*it)._kind_6.sons->data[((NI) 1)], flags));
35744 					typ = commonType__sem_448(c, typ, (*it)._kind_6.sons->data[((NI) 1)]);
35745 					closeScope__lookups_101(c);
35746 				}
35747 				goto LA5_;
35748 				LA8_: ;
35749 				{
35750 					NI T13_;
35751 					T13_ = (NI)0;
35752 					T13_ = len__ast_3198(it);
35753 					if (!(T13_ == ((NI) 1))) goto LA14_;
35754 					hasElse = NIM_TRUE;
35755 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*it)._kind_6.sons->data[((NI) 0)]));
35756 					typ = commonType__sem_448(c, typ, (*it)._kind_6.sons->data[((NI) 0)]);
35757 				}
35758 				goto LA5_;
35759 				LA14_: ;
35760 				{
35761 					illFormedAst__semdata_1071(it, (*(*c).graph).config);
35762 				}
35763 				LA5_: ;
35764 				i_2 += ((NI) 1);
35765 			} LA4: ;
35766 		}
35767 	}
35768 	{
35769 		NIM_BOOL T19_;
35770 		NIM_BOOL T20_;
35771 		NIM_BOOL T23_;
35772 		T19_ = (NIM_BOOL)0;
35773 		T20_ = (NIM_BOOL)0;
35774 		T20_ = isEmptyType__ast_4779(typ);
35775 		if (T20_) goto LA21_;
35776 		T20_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
35777 		LA21_: ;
35778 		T19_ = T20_;
35779 		if (T19_) goto LA22_;
35780 		T23_ = (NIM_BOOL)0;
35781 		T23_ = !(hasElse);
35782 		if (!(T23_)) goto LA24_;
35783 		T23_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0));
35784 		LA24_: ;
35785 		T19_ = T23_;
35786 		LA22_: ;
35787 		if (!T19_) goto LA25_;
35788 		{
35789 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_2;
35790 			it_2 = NIM_NIL;
35791 			{
35792 				NI i_3;
35793 				NI colontmp__2;
35794 				NI i_4;
35795 				i_3 = (NI)0;
35796 				colontmp__2 = (NI)0;
35797 				colontmp__2 = safeLen__ast_3191(n);
35798 				i_4 = ((NI) 0);
35799 				{
35800 					while (1) {
35801 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
35802 						if (!(i_4 < colontmp__2)) goto LA30;
35803 						i_3 = i_4;
35804 						it_2 = (*n)._kind_6.sons->data[i_3];
35805 						T31_ = NIM_NIL;
35806 						T31_ = lastSon__ast_4832(it_2);
35807 						discardCheck__sem_9323(c, T31_, flags);
35808 						i_4 += ((NI) 1);
35809 					} LA30: ;
35810 				}
35811 			}
35812 		}
35813 		transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 92));
35814 		{
35815 			if (!(typ == (*c).enforceVoidContext)) goto LA34_;
35816 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
35817 		}
35818 		LA34_: ;
35819 	}
35820 	goto LA17_;
35821 	LA25_: ;
35822 	{
35823 		{
35824 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_3;
35825 			it_3 = NIM_NIL;
35826 			{
35827 				NI i_5;
35828 				NI colontmp__3;
35829 				NI i_6;
35830 				i_5 = (NI)0;
35831 				colontmp__3 = (NI)0;
35832 				colontmp__3 = safeLen__ast_3191(n);
35833 				i_6 = ((NI) 0);
35834 				{
35835 					while (1) {
35836 						NI j;
35837 						NI T41_;
35838 						if (!(i_6 < colontmp__3)) goto LA40;
35839 						i_5 = i_6;
35840 						it_3 = (*n)._kind_6.sons->data[i_5];
35841 						T41_ = (NI)0;
35842 						T41_ = len__ast_3198(it_3);
35843 						j = (NI)(T41_ - ((NI) 1));
35844 						{
35845 							NIM_BOOL T44_;
35846 							T44_ = (NIM_BOOL)0;
35847 							T44_ = endsInNoReturn__sem_416((*it_3)._kind_6.sons->data[j]);
35848 							if (!!(T44_)) goto LA45_;
35849 							asgnRef((void**) (&(*it_3)._kind_6.sons->data[j]), fitNode__sem_70(c, typ, (*it_3)._kind_6.sons->data[j], (*(*it_3)._kind_6.sons->data[j]).info));
35850 						}
35851 						LA45_: ;
35852 						i_6 += ((NI) 1);
35853 					} LA40: ;
35854 				}
35855 			}
35856 		}
35857 		transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 48));
35858 		asgnRef((void**) (&(*result).typ), typ);
35859 	}
35860 	LA17_: ;
35861 	return result;
35862 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTableConstr__sem_18848)35863 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTableConstr__sem_18848)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35864 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35865 	NI lastKey;
35866 	result = NIM_NIL;
35867 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n).info);
35868 	lastKey = ((NI) 0);
35869 	{
35870 		NI i;
35871 		NI colontmp_;
35872 		NI i_2;
35873 		i = (NI)0;
35874 		colontmp_ = (NI)0;
35875 		colontmp_ = len__ast_3198(n);
35876 		i_2 = ((NI) 0);
35877 		{
35878 			while (1) {
35879 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
35880 				if (!(i_2 < colontmp_)) goto LA3;
35881 				i = i_2;
35882 				x = (*n)._kind_6.sons->data[i];
35883 				{
35884 					NIM_BOOL T6_;
35885 					NI T8_;
35886 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pair_2;
35887 					T6_ = (NIM_BOOL)0;
35888 					T6_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35889 					if (!(T6_)) goto LA7_;
35890 					T8_ = (NI)0;
35891 					T8_ = len__ast_3198(x);
35892 					T6_ = (T8_ == ((NI) 2));
35893 					LA7_: ;
35894 					if (!T6_) goto LA9_;
35895 					{
35896 						NI j;
35897 						NI i_3;
35898 						j = (NI)0;
35899 						i_3 = lastKey;
35900 						{
35901 							while (1) {
35902 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pair;
35903 								if (!(i_3 < i)) goto LA13;
35904 								j = i_3;
35905 								pair = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*x).info);
35906 								add__ast_4797(pair, (*n)._kind_6.sons->data[j]);
35907 								add__ast_4797(pair, (*x)._kind_6.sons->data[((NI) 1)]);
35908 								add__ast_4797(result, pair);
35909 								i_3 += ((NI) 1);
35910 							} LA13: ;
35911 						}
35912 					}
35913 					pair_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*x).info);
35914 					add__ast_4797(pair_2, (*x)._kind_6.sons->data[((NI) 0)]);
35915 					add__ast_4797(pair_2, (*x)._kind_6.sons->data[((NI) 1)]);
35916 					add__ast_4797(result, pair_2);
35917 					lastKey = (NI)(i + ((NI) 1));
35918 				}
35919 				LA9_: ;
35920 				i_2 += ((NI) 1);
35921 			} LA3: ;
35922 		}
35923 	}
35924 	{
35925 		NI T16_;
35926 		T16_ = (NI)0;
35927 		T16_ = len__ast_3198(n);
35928 		if (!!((lastKey == T16_))) goto LA17_;
35929 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
35930 	}
35931 	LA17_: ;
35932 	result = semExpr__sem_52(c, result, 0);
35933 	return result;
35934 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBlock__sem_19802)35935 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBlock__sem_19802)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35936 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35937 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
35938 	result = NIM_NIL;
35939 	result = n;
35940 	(*(*c).p).nestedBlockCounter += ((NI) 1);
35941 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
35942 	T1_ = NIM_NIL;
35943 	T1_ = openScope__lookups_69(c);
35944 	{
35945 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* labl;
35946 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA4_;
35947 		labl = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), (*n)._kind_6.sons->data[((NI) 0)], c);
35948 		{
35949 			if (!!((((*labl).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA8_;
35950 			addDecl__lookups_845(c, labl);
35951 		}
35952 		goto LA6_;
35953 		LA8_: ;
35954 		{
35955 			if (!((*labl).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA11_;
35956 			asgnRef((void**) (&(*labl).owner), (*(*c).p).owner);
35957 		}
35958 		goto LA6_;
35959 		LA11_: ;
35960 		LA6_: ;
35961 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(labl, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
35962 		suggestSym__sigmatch_5375((*c).graph, (*(*n)._kind_6.sons->data[((NI) 0)]).info, labl, &(*(*c).graph).usageSym, NIM_TRUE);
35963 		{
35964 			NIM_BOOL T15_;
35965 			T15_ = (NIM_BOOL)0;
35966 			T15_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
35967 			if (!(T15_)) goto LA16_;
35968 			T15_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
35969 			LA16_: ;
35970 			if (!T15_) goto LA17_;
35971 			nep1CheckDefImpl__linter_110((*(*c).graph).config, (*labl).info, labl, (*labl).kind);
35972 		}
35973 		LA17_: ;
35974 	}
35975 	LA4_: ;
35976 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], flags));
35977 	asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
35978 	{
35979 		NIM_BOOL T21_;
35980 		T21_ = (NIM_BOOL)0;
35981 		T21_ = isEmptyType__ast_4779((*n).typ);
35982 		if (!T21_) goto LA22_;
35983 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 112));
35984 	}
35985 	goto LA19_;
35986 	LA22_: ;
35987 	{
35988 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 127));
35989 	}
35990 	LA19_: ;
35991 	closeScope__lookups_101(c);
35992 	(*(*c).p).nestedBlockCounter -= ((NI) 1);
35993 	return result;
35994 }
N_NIMCALL(void,inferConceptStaticParam__sem_13725)35995 N_LIB_PRIVATE N_NIMCALL(void, inferConceptStaticParam__sem_13725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inferred, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35996 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35997 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
35998 	typ = (*inferred).typ;
35999 	res = semConstExpr__sem_611(c, n);
36000 	{
36001 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
36002 		NIM_BOOL T4_;
36003 		NimStringDesc* T7_;
36004 		tyArray__24KAM9afIUgUaqBaEBB6r9bg T8_;
36005 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
36006 		NimStringDesc* T10_;
36007 		T3_ = NIM_NIL;
36008 		T3_ = base__types_63(typ);
36009 		T4_ = (NIM_BOOL)0;
36010 		T4_ = sameType__types_1824((*res).typ, T3_, 0);
36011 		if (!!(T4_)) goto LA5_;
36012 		T7_ = NIM_NIL;
36013 		nimZeroMem((void*)T8_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
36014 		T8_[0] = renderTree__renderer_46(inferred, 0);
36015 		T8_[1] = typeToString__types_50((*res).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36016 		T9_ = NIM_NIL;
36017 		T9_ = base__types_63(typ);
36018 		T8_[2] = typeToString__types_50(T9_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36019 		T10_ = NIM_NIL;
36020 		T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_745), T8_, 3);
36021 		T7_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 65);
36022 appendString(T7_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_744));
36023 appendString(T7_, T10_);
36024 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T7_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_746, NIM_FALSE);
36025 	}
36026 	LA5_: ;
36027 	asgnRef((void**) (&(*typ).n), res);
36028 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStmtList__sem_13731)36029 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtList__sem_13731)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
36030 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36031 	NIM_BOOL voidContext;
36032 	NI last;
36033 	NI T1_;
36034 	result = NIM_NIL;
36035 	result = n;
36036 	transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 115));
36037 	voidContext = NIM_FALSE;
36038 	T1_ = (NI)0;
36039 	T1_ = len__ast_3198(n);
36040 	last = (NI)(T1_ - ((NI) 1));
36041 	{
36042 		NI i;
36043 		NI colontmp_;
36044 		NI i_2;
36045 		i = (NI)0;
36046 		colontmp_ = (NI)0;
36047 		colontmp_ = len__ast_3198(n);
36048 		i_2 = ((NI) 0);
36049 		{
36050 			while (1) {
36051 				if (!(i_2 < colontmp_)) goto LA4;
36052 				i = i_2;
36053 				{
36054 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
36055 					x = semExpr__sem_52(c, (*n)._kind_6.sons->data[i], flags);
36056 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), x);
36057 					{
36058 						NIM_BOOL T8_;
36059 						NIM_BOOL T9_;
36060 						NIM_BOOL T12_;
36061 						T8_ = (NIM_BOOL)0;
36062 						T9_ = (NIM_BOOL)0;
36063 						T9_ = !(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
36064 						if (!(T9_)) goto LA10_;
36065 						T9_ = !(((*x).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
36066 						LA10_: ;
36067 						T8_ = T9_;
36068 						if (!(T8_)) goto LA11_;
36069 						T12_ = (NIM_BOOL)0;
36070 						T12_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 17))&31U)))!=0));
36071 						if (T12_) goto LA13_;
36072 						T12_ = !((i == last));
36073 						LA13_: ;
36074 						T8_ = T12_;
36075 						LA11_: ;
36076 						if (!T8_) goto LA14_;
36077 						switch ((*(*x).typ).kind) {
36078 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
36079 						{
36080 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* verdict;
36081 							{
36082 								NIM_BOOL T19_;
36083 								NIM_BOOL T20_;
36084 								T19_ = (NIM_BOOL)0;
36085 								T20_ = (NIM_BOOL)0;
36086 								T20_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
36087 								if (!(T20_)) goto LA21_;
36088 								T20_ = ((*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36089 								LA21_: ;
36090 								T19_ = T20_;
36091 								if (!(T19_)) goto LA22_;
36092 								T19_ = eqStrings((*(*(*(*x)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_743));
36093 								LA22_: ;
36094 								if (!T19_) goto LA23_;
36095 								{
36096 									NIM_BOOL T27_;
36097 									T27_ = (NIM_BOOL)0;
36098 									T27_ = isUnresolvedStatic__ast_3517((*(*x)._kind_6.sons->data[((NI) 1)]).typ);
36099 									if (!T27_) goto LA28_;
36100 									inferConceptStaticParam__sem_13725(c, (*x)._kind_6.sons->data[((NI) 1)], (*x)._kind_6.sons->data[((NI) 2)]);
36101 									goto LA5;
36102 								}
36103 								goto LA25_;
36104 								LA28_: ;
36105 								{
36106 									NIM_BOOL T31_;
36107 									T31_ = (NIM_BOOL)0;
36108 									T31_ = isUnresolvedStatic__ast_3517((*(*x)._kind_6.sons->data[((NI) 2)]).typ);
36109 									if (!T31_) goto LA32_;
36110 									inferConceptStaticParam__sem_13725(c, (*x)._kind_6.sons->data[((NI) 2)], (*x)._kind_6.sons->data[((NI) 1)]);
36111 									goto LA5;
36112 								}
36113 								goto LA25_;
36114 								LA32_: ;
36115 								LA25_: ;
36116 							}
36117 							LA23_: ;
36118 							verdict = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[i]);
36119 							{
36120 								NIM_BOOL T36_;
36121 								NIM_BOOL T37_;
36122 								T36_ = (NIM_BOOL)0;
36123 								T37_ = (NIM_BOOL)0;
36124 								T37_ = (verdict == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36125 								if (T37_) goto LA38_;
36126 								T37_ = !(((*verdict).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)));
36127 								LA38_: ;
36128 								T36_ = T37_;
36129 								if (T36_) goto LA39_;
36130 								T36_ = ((*verdict)._kind_1.intVal == IL64(0));
36131 								LA39_: ;
36132 								if (!T36_) goto LA40_;
36133 								liMessage__msgs_1118((*(*c).graph).config, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_747), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_748, NIM_FALSE);
36134 							}
36135 							LA40_: ;
36136 						}
36137 						break;
36138 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
36139 						{
36140 							goto LA5;
36141 						}
36142 						break;
36143 						default:
36144 						{
36145 						}
36146 						break;
36147 						}
36148 					}
36149 					LA14_: ;
36150 					{
36151 						if (!((*(*n)._kind_6.sons->data[i]).typ == (*c).enforceVoidContext)) goto LA46_;
36152 						voidContext = NIM_TRUE;
36153 						asgnRef((void**) (&(*n).typ), (*c).enforceVoidContext);
36154 					}
36155 					LA46_: ;
36156 					{
36157 						NIM_BOOL T50_;
36158 						NIM_BOOL T52_;
36159 						NI T53_;
36160 						T50_ = (NIM_BOOL)0;
36161 						T50_ = (i == last);
36162 						if (!(T50_)) goto LA51_;
36163 						T52_ = (NIM_BOOL)0;
36164 						T53_ = (NI)0;
36165 						T53_ = len__ast_3198(n);
36166 						T52_ = (T53_ == ((NI) 1));
36167 						if (T52_) goto LA54_;
36168 						T52_ = !(((2056 & flags) == 0));
36169 						LA54_: ;
36170 						T50_ = T52_;
36171 						LA51_: ;
36172 						if (!T50_) goto LA55_;
36173 						asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[i]).typ);
36174 						{
36175 							NIM_BOOL T59_;
36176 							T59_ = (NIM_BOOL)0;
36177 							T59_ = isEmptyType__ast_4779((*n).typ);
36178 							if (!!(T59_)) goto LA60_;
36179 							transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 126));
36180 						}
36181 						LA60_: ;
36182 					}
36183 					goto LA48_;
36184 					LA55_: ;
36185 					{
36186 						NIM_BOOL T63_;
36187 						T63_ = (NIM_BOOL)0;
36188 						T63_ = !((i == last));
36189 						if (T63_) goto LA64_;
36190 						T63_ = voidContext;
36191 						LA64_: ;
36192 						if (!T63_) goto LA65_;
36193 						discardCheck__sem_9323(c, (*n)._kind_6.sons->data[i], flags);
36194 					}
36195 					goto LA48_;
36196 					LA65_: ;
36197 					{
36198 						asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[i]).typ);
36199 						{
36200 							NIM_BOOL T70_;
36201 							T70_ = (NIM_BOOL)0;
36202 							T70_ = isEmptyType__ast_4779((*n).typ);
36203 							if (!!(T70_)) goto LA71_;
36204 							transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 126));
36205 						}
36206 						LA71_: ;
36207 					}
36208 					LA48_: ;
36209 					{
36210 						NIM_BOOL T75_;
36211 						NIM_BOOL T77_;
36212 						NIM_BOOL T78_;
36213 						T75_ = (NIM_BOOL)0;
36214 						T75_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111));
36215 						if (T75_) goto LA76_;
36216 						T77_ = (NIM_BOOL)0;
36217 						T78_ = (NIM_BOOL)0;
36218 						T78_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
36219 						if (!(T78_)) goto LA79_;
36220 						T78_ = ((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36221 						LA79_: ;
36222 						T77_ = T78_;
36223 						if (!(T77_)) goto LA80_;
36224 						T77_ = (((*(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0);
36225 						LA80_: ;
36226 						T75_ = T77_;
36227 						LA76_: ;
36228 						if (!T75_) goto LA81_;
36229 						{
36230 							NI j;
36231 							NI colontmp__2;
36232 							NI colontmp__3;
36233 							NI i_3;
36234 							j = (NI)0;
36235 							colontmp__2 = (NI)0;
36236 							colontmp__3 = (NI)0;
36237 							colontmp__2 = (NI)(i + ((NI) 1));
36238 							colontmp__3 = len__ast_3198(n);
36239 							i_3 = colontmp__2;
36240 							{
36241 								while (1) {
36242 									if (!(i_3 < colontmp__3)) goto LA85;
36243 									j = i_3;
36244 									switch ((*(*n)._kind_6.sons->data[j]).kind) {
36245 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
36246 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
36247 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
36248 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
36249 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
36250 									{
36251 									}
36252 									break;
36253 									default:
36254 									{
36255 										liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[j]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 45), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_749, NIM_FALSE);
36256 									}
36257 									break;
36258 									}
36259 									i_3 += ((NI) 1);
36260 								} LA85: ;
36261 							}
36262 						}
36263 					}
36264 					goto LA73_;
36265 					LA81_: ;
36266 					{
36267 					}
36268 					LA73_: ;
36269 				} LA5: ;
36270 				i_2 += ((NI) 1);
36271 			} LA4: ;
36272 		}
36273 	}
36274 	{
36275 		NIM_BOOL T91_;
36276 		NIM_BOOL T92_;
36277 		NIM_BOOL T93_;
36278 		NI T94_;
36279 		T91_ = (NIM_BOOL)0;
36280 		T92_ = (NIM_BOOL)0;
36281 		T93_ = (NIM_BOOL)0;
36282 		T94_ = (NI)0;
36283 		T94_ = len__ast_3198(result);
36284 		T93_ = (T94_ == ((NI) 1));
36285 		if (!(T93_)) goto LA95_;
36286 		T93_ = ((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL));
36287 		LA95_: ;
36288 		T92_ = T93_;
36289 		if (!(T92_)) goto LA96_;
36290 		T92_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 16))&31U)))!=0));
36291 		LA96_: ;
36292 		T91_ = T92_;
36293 		if (!(T91_)) goto LA97_;
36294 		T91_ = !(((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105)));
36295 		LA97_: ;
36296 		if (!T91_) goto LA98_;
36297 		result = (*result)._kind_6.sons->data[((NI) 0)];
36298 	}
36299 	LA98_: ;
36300 	return result;
36301 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRaise__sem_11562)36302 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRaise__sem_11562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36303 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36304 	result = NIM_NIL;
36305 	result = n;
36306 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
36307 	{
36308 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
36309 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
36310 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
36311 		typ = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
36312 		{
36313 			NIM_BOOL T7_;
36314 			T7_ = (NIM_BOOL)0;
36315 			T7_ = isImportedException__ast_4904(typ, (*(*c).graph).config);
36316 			if (!!(T7_)) goto LA8_;
36317 			typ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_750);
36318 			{
36319 				if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)))) goto LA12_;
36320 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_751), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_752, NIM_FALSE);
36321 			}
36322 			LA12_: ;
36323 			{
36324 				NIM_BOOL T16_;
36325 				NI T17_;
36326 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
36327 				NIM_BOOL T20_;
36328 				NimStringDesc* T23_;
36329 				NimStringDesc* T24_;
36330 				T16_ = (NIM_BOOL)0;
36331 				T17_ = (NI)0;
36332 				T17_ = len__ast_4002(typ);
36333 				T16_ = (((NI) 0) < T17_);
36334 				if (!(T16_)) goto LA18_;
36335 				T19_ = NIM_NIL;
36336 				T19_ = lastSon__ast_3743(typ);
36337 				T20_ = (NIM_BOOL)0;
36338 				T20_ = isException__types_4000(T19_);
36339 				T16_ = !(T20_);
36340 				LA18_: ;
36341 				if (!T16_) goto LA21_;
36342 				T23_ = NIM_NIL;
36343 				T23_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36344 				T24_ = NIM_NIL;
36345 				T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_753), T23_);
36346 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T24_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_754, NIM_FALSE);
36347 			}
36348 			LA21_: ;
36349 		}
36350 		LA8_: ;
36351 	}
36352 	LA3_: ;
36353 	return result;
36354 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semLowerLetVarCustomPragma__sem_9949)36355 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowerLetVarCustomPragma__sem_9949)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36356 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36357 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
36358 {	result = NIM_NIL;
36359 	b = (*a)._kind_6.sons->data[((NI) 0)];
36360 	{
36361 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodePragma;
36362 		NIM_BOOL amb;
36363 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
36364 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs;
36365 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* clash;
36366 		tyArray__cypz0nHJsd9cnKgpO7fP5hQ T41_;
36367 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret;
36368 		if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
36369 		{
36370 			NI T7_;
36371 			T7_ = (NI)0;
36372 			T7_ = len__ast_3198((*b)._kind_6.sons->data[((NI) 1)]);
36373 			if (!!((T7_ == ((NI) 1)))) goto LA8_;
36374 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36375 			goto BeforeRet_;
36376 		}
36377 		LA8_: ;
36378 		nodePragma = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
36379 		amb = NIM_FALSE;
36380 		sym = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
36381 		switch ((*nodePragma).kind) {
36382 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
36383 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
36384 		{
36385 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
36386 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* userPragma;
36387 			tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw w;
36388 			ident = considerQuotedIdent__lookups_28(c, nodePragma, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36389 			userPragma = strTableGet__astalgo_3390((*c).userPragmas, ident);
36390 			{
36391 				if (!!((userPragma == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA13_;
36392 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36393 				goto BeforeRet_;
36394 			}
36395 			LA13_: ;
36396 			w = whichPragma__trees_244(nodePragma);
36397 			{
36398 				NIM_BOOL T17_;
36399 				NIM_BOOL T18_;
36400 				NIM_BOOL T19_;
36401 				NIM_BOOL T22_;
36402 				NIM_BOOL T25_;
36403 				T17_ = (NIM_BOOL)0;
36404 				T18_ = (NIM_BOOL)0;
36405 				T19_ = (NIM_BOOL)0;
36406 				T19_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99));
36407 				if (!(T19_)) goto LA20_;
36408 				T19_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_120[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36409 				LA20_: ;
36410 				T18_ = T19_;
36411 				if (T18_) goto LA21_;
36412 				T22_ = (NIM_BOOL)0;
36413 				T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100));
36414 				if (!(T22_)) goto LA23_;
36415 				T22_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_120[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36416 				LA23_: ;
36417 				T18_ = T22_;
36418 				LA21_: ;
36419 				T17_ = T18_;
36420 				if (T17_) goto LA24_;
36421 				T25_ = (NIM_BOOL)0;
36422 				T25_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101));
36423 				if (!(T25_)) goto LA26_;
36424 				T25_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_121[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36425 				LA26_: ;
36426 				T17_ = T25_;
36427 				LA24_: ;
36428 				if (!T17_) goto LA27_;
36429 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36430 				goto BeforeRet_;
36431 			}
36432 			LA27_: ;
36433 			sym = searchInScopes__lookups_423(c, ident, (&amb));
36434 			{
36435 				NIM_BOOL T31_;
36436 				T31_ = (NIM_BOOL)0;
36437 				T31_ = (sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
36438 				if (T31_) goto LA32_;
36439 				T31_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
36440 				LA32_: ;
36441 				if (!T31_) goto LA33_;
36442 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36443 				goto BeforeRet_;
36444 			}
36445 			LA33_: ;
36446 		}
36447 		break;
36448 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
36449 		{
36450 			sym = (*nodePragma)._kind_4.sym;
36451 		}
36452 		break;
36453 		default:
36454 		{
36455 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36456 			goto BeforeRet_;
36457 		}
36458 		break;
36459 		}
36460 		lhs = (*b)._kind_6.sons->data[((NI) 0)];
36461 		clash = strTableGet__astalgo_3390((*(*c).currentScope).symbols, (*lhs)._kind_5.ident);
36462 		{
36463 			if (!!((clash == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA39_;
36464 			wrongRedefinition__lookups_805(c, (*lhs).info, (*(*lhs)._kind_5.ident).s, (*clash).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
36465 		}
36466 		LA39_: ;
36467 		nimZeroMem((void*)T41_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
36468 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T41_, 0);
36469 		add__ast_4797(result, nodePragma);
36470 		add__ast_4797(result, lhs);
36471 		{
36472 			if (!!(((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44_;
36473 			add__ast_4797(result, (*a)._kind_6.sons->data[((NI) 1)]);
36474 		}
36475 		goto LA42_;
36476 		LA44_: ;
36477 		{
36478 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
36479 			T47_ = NIM_NIL;
36480 			T47_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), (*a).info, (*(*c).graph).sysTypes[(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))- 0]);
36481 			add__ast_4797(result, T47_);
36482 		}
36483 		LA42_: ;
36484 		add__ast_4797(result, (*a)._kind_6.sons->data[((NI) 2)]);
36485 		(*result).info = (*a).info;
36486 		ret = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*a).info);
36487 		add__ast_4797(ret, result);
36488 		result = semExprNoType__sem_60(c, ret);
36489 	}
36490 	LA3_: ;
36491 	}BeforeRet_: ;
36492 	return result;
36493 }
N_NIMCALL(void,errorSymChoiceUseQualifier__sem_10047)36494 N_LIB_PRIVATE N_NIMCALL(void, errorSymChoiceUseQualifier__sem_10047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36495 	NimStringDesc* err;
36496 	NimStringDesc* T1_;
36497 	NimStringDesc* T2_;
36498 	NI i;
36499 	T1_ = NIM_NIL;
36500 	T2_ = NIM_NIL;
36501 	T2_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 0)]);
36502 	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 24);
36503 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_755));
36504 appendString(T1_, T2_);
36505 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
36506 	err = T1_;
36507 	i = ((NI) 0);
36508 	{
36509 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
36510 		child = NIM_NIL;
36511 		{
36512 			NI i_2;
36513 			NI colontmp_;
36514 			NI i_3;
36515 			i_2 = (NI)0;
36516 			colontmp_ = (NI)0;
36517 			colontmp_ = safeLen__ast_3191(n);
36518 			i_3 = ((NI) 0);
36519 			{
36520 				while (1) {
36521 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate;
36522 					NimStringDesc* T12_;
36523 					if (!(i_3 < colontmp_)) goto LA6;
36524 					i_2 = i_3;
36525 					child = (*n)._kind_6.sons->data[i_2];
36526 					candidate = (*child)._kind_4.sym;
36527 					{
36528 						if (!(i == ((NI) 0))) goto LA9_;
36529 						err = resizeString(err, 30);
36530 appendString(err, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_756));
36531 					}
36532 					goto LA7_;
36533 					LA9_: ;
36534 					{
36535 						err = resizeString(err, 1);
36536 appendString(err, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
36537 					}
36538 					LA7_: ;
36539 					T12_ = NIM_NIL;
36540 					T12_ = rawNewString(((*(*(*candidate).owner).name).s ? (*(*(*candidate).owner).name).s->Sup.len : 0) + ((*(*candidate).name).s ? (*(*candidate).name).s->Sup.len : 0) + 3);
36541 appendString(T12_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_757));
36542 appendString(T12_, (*(*(*candidate).owner).name).s);
36543 appendString(T12_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_209));
36544 appendString(T12_, (*(*candidate).name).s);
36545 					err = resizeString(err, (T12_ ? T12_->Sup.len : 0) + 0);
36546 appendString(err, T12_);
36547 					i += ((NI) 1);
36548 					i_3 += ((NI) 1);
36549 				} LA6: ;
36550 			}
36551 		}
36552 	}
36553 	liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_758, NIM_FALSE);
36554 }
N_NIMCALL(NIM_BOOL,hasEmpty__sem_9842)36555 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasEmpty__sem_9842)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36556 	NIM_BOOL result;
36557 	result = (NIM_BOOL)0;
36558 	{
36559 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
36560 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA3_;
36561 		T5_ = NIM_NIL;
36562 		T5_ = lastSon__ast_3743(typ);
36563 		result = ((*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
36564 	}
36565 	goto LA1_;
36566 	LA3_: ;
36567 	{
36568 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA7_;
36569 		{
36570 			tyObject_TType__facALICuu8zUj0hjvbTLFg** s;
36571 			NI i;
36572 			NI L;
36573 			NI T10_;
36574 			s = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
36575 			i = ((NI) 0);
36576 			T10_ = ((*typ).sons ? (*typ).sons->Sup.len : 0);
36577 			L = T10_;
36578 			{
36579 				while (1) {
36580 					NIM_BOOL T13_;
36581 					if (!(i < L)) goto LA12;
36582 					s = &(*typ).sons->data[i];
36583 					T13_ = (NIM_BOOL)0;
36584 					T13_ = result;
36585 					if (T13_) goto LA14_;
36586 					T13_ = hasEmpty__sem_9842((*s));
36587 					LA14_: ;
36588 					result = T13_;
36589 					i += ((NI) 1);
36590 				} LA12: ;
36591 			}
36592 		}
36593 	}
36594 	goto LA1_;
36595 	LA7_: ;
36596 	LA1_: ;
36597 	return result;
36598 }
N_NIMCALL(void,addToVarSection__sem_9733)36599 N_LIB_PRIVATE N_NIMCALL(void, addToVarSection__sem_9733)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* identDefs) {
36600 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
36601 	NI T1_;
36602 	T1_ = (NI)0;
36603 	T1_ = len__ast_3198(identDefs);
36604 	value = (*identDefs)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))];
36605 	{
36606 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* o;
36607 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA4_;
36608 		o = copyNode__ast_4336(orig);
36609 		add__ast_4797(o, identDefs);
36610 		add__ast_4797(result, o);
36611 	}
36612 	goto LA2_;
36613 	LA4_: ;
36614 	{
36615 		add__ast_4797(result, identDefs);
36616 	}
36617 	LA2_: ;
36618 }
N_NIMCALL(void,fillPartialObject__sem_9910)36619 N_LIB_PRIVATE N_NIMCALL(void, fillPartialObject__sem_9910)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36620 	{
36621 		NI T3_;
36622 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
36623 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* y;
36624 		tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
36625 		T3_ = (NI)0;
36626 		T3_ = len__ast_3198(n);
36627 		if (!(T3_ == ((NI) 2))) goto LA4_;
36628 		x = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
36629 		y = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36630 		obj = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
36631 		{
36632 			NIM_BOOL T8_;
36633 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
36634 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T12_;
36635 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T13_;
36636 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
36637 			T8_ = (NIM_BOOL)0;
36638 			T8_ = ((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
36639 			if (!(T8_)) goto LA9_;
36640 			T8_ = (((*obj).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0);
36641 			LA9_: ;
36642 			if (!T8_) goto LA10_;
36643 			T12_ = NIM_NIL;
36644 			T12_ = getIdent__idents_143((*c).cache, (*y).s);
36645 			T13_ = nextSymId__ast_3132((*c).Sup.idgen);
36646 			field = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), T12_, T13_, (*obj).sym, (*(*n)._kind_6.sons->data[((NI) 1)]).info, 0);
36647 			asgnRef((void**) (&(*field).typ), skipIntLit__magicsys_124(typ, (*c).Sup.idgen));
36648 			(*field).position = len__ast_3198((*obj).n);
36649 			T14_ = NIM_NIL;
36650 			T14_ = newSymNode__ast_3716(field);
36651 			add__ast_4797((*obj).n, T14_);
36652 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872(x));
36653 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(field));
36654 			asgnRef((void**) (&(*n).typ), (*field).typ);
36655 		}
36656 		goto LA6_;
36657 		LA10_: ;
36658 		{
36659 			NimStringDesc* T16_;
36660 			NimStringDesc* T17_;
36661 			T16_ = NIM_NIL;
36662 			T17_ = NIM_NIL;
36663 			T17_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36664 			T16_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 71);
36665 appendString(T16_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_768));
36666 appendString(T16_, T17_);
36667 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_769, NIM_FALSE);
36668 		}
36669 		LA6_: ;
36670 	}
36671 	goto LA1_;
36672 	LA4_: ;
36673 	{
36674 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_770), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_771, NIM_FALSE);
36675 	}
36676 	LA1_: ;
36677 }
N_NIMCALL(NIM_BOOL,isDiscardUnderscore__sem_9761)36678 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscardUnderscore__sem_9761)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36679 	NIM_BOOL result;
36680 	result = (NIM_BOOL)0;
36681 	{
36682 		if (!eqStrings((*(*v).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_772))) goto LA3_;
36683 		(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
36684 		result = NIM_TRUE;
36685 	}
36686 	LA3_: ;
36687 	return result;
36688 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,findShadowedVar__sem_9651)36689 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, findShadowedVar__sem_9651)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36690 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
36691 {	result = NIM_NIL;
36692 	{
36693 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
36694 		scope = NIM_NIL;
36695 		{
36696 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* s;
36697 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
36698 			s = NIM_NIL;
36699 			current = (*(*c).currentScope).parent;
36700 			{
36701 				while (1) {
36702 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* shadowed;
36703 					if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
36704 					s = current;
36705 					{
36706 						if (!(s == (*c).topLevelScope)) goto LA7_;
36707 						goto LA2;
36708 					}
36709 					LA7_: ;
36710 					scope = s;
36711 					shadowed = strTableGet__astalgo_3390((*scope).symbols, (*v).name);
36712 					{
36713 						NIM_BOOL T11_;
36714 						T11_ = (NIM_BOOL)0;
36715 						T11_ = !((shadowed == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
36716 						if (!(T11_)) goto LA12_;
36717 						T11_ = ((2099976 &((NU32)1<<((NU)((*shadowed).kind)&31U)))!=0);
36718 						LA12_: ;
36719 						if (!T11_) goto LA13_;
36720 						result = shadowed;
36721 						goto BeforeRet_;
36722 					}
36723 					LA13_: ;
36724 					current = (*current).parent;
36725 				} LA4: ;
36726 			}
36727 		} LA2: ;
36728 	}
36729 	}BeforeRet_: ;
36730 	return result;
36731 }
N_NIMCALL(void,setVarType__sem_9941)36732 N_LIB_PRIVATE N_NIMCALL(void, setVarType__sem_9941)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36733 	{
36734 		NIM_BOOL T3_;
36735 		NIM_BOOL T5_;
36736 		NimStringDesc* T8_;
36737 		NimStringDesc* T9_;
36738 		NimStringDesc* T10_;
36739 		T3_ = (NIM_BOOL)0;
36740 		T3_ = !(((*v).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
36741 		if (!(T3_)) goto LA4_;
36742 		T5_ = (NIM_BOOL)0;
36743 		T5_ = sameTypeOrNil__types_1848((*v).typ, typ, 0);
36744 		T3_ = !(T5_);
36745 		LA4_: ;
36746 		if (!T3_) goto LA6_;
36747 		T8_ = NIM_NIL;
36748 		T9_ = NIM_NIL;
36749 		T9_ = typeToString__types_50((*v).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
36750 		T10_ = NIM_NIL;
36751 		T10_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
36752 		T8_ = rawNewString(((*(*v).name).s ? (*(*v).name).s->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 82);
36753 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_776));
36754 appendString(T8_, (*(*v).name).s);
36755 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_777));
36756 appendString(T8_, T9_);
36757 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_778));
36758 appendString(T8_, T10_);
36759 		liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_779, NIM_FALSE);
36760 	}
36761 	LA6_: ;
36762 	asgnRef((void**) (&(*v).typ), typ);
36763 }
N_NIMCALL(void,defaultConstructionError__sem_138)36764 N_LIB_PRIVATE N_NIMCALL(void, defaultConstructionError__sem_138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
36765 	tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
36766 	objType = t;
36767 	{
36768 		while (1) {
36769 			if (!!(((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13)))) goto LA2;
36770 			objType = lastSon__ast_3743(objType);
36771 		} LA2: ;
36772 	}
36773 	{
36774 		tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
36775 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
36776 		tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
36777 		if (!((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA5_;
36778 		nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
36779 		T7_ = NIM_NIL;
36780 		T7_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), info);
36781 		initConstrContext__sem_19652(objType, T7_, (&constrCtx));
36782 		initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), 0);
36783 		{
36784 			NI T10_;
36785 			tyArray__Re75IspeoxXy2oCZHwcRrA T13_;
36786 			NimStringDesc* T14_;
36787 			T10_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
36788 			if (!(((NI) 0) < T10_)) goto LA11_;
36789 			nimZeroMem((void*)T13_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
36790 			T13_[0] = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36791 			T13_[1] = listSymbolNames__astalgo_4310(constrCtx.missingFields->data, (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0));
36792 			T14_ = NIM_NIL;
36793 			T14_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_781), T13_, 2);
36794 			liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_782, NIM_FALSE);
36795 		}
36796 		LA11_: ;
36797 	}
36798 	goto LA3_;
36799 	LA5_: ;
36800 	{
36801 		NimStringDesc* T18_;
36802 		NimStringDesc* T19_;
36803 		if (!((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA16_;
36804 		T18_ = NIM_NIL;
36805 		T18_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36806 		T19_ = NIM_NIL;
36807 		T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_783), T18_);
36808 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_784, NIM_FALSE);
36809 	}
36810 	goto LA3_;
36811 	LA16_: ;
36812 	{
36813 	}
36814 	LA3_: ;
36815 }
N_NIMCALL(void,checkNilable__sem_9708)36816 N_LIB_PRIVATE N_NIMCALL(void, checkNilable__sem_9708)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36817 	{
36818 		NIM_BOOL T3_;
36819 		T3_ = (NIM_BOOL)0;
36820 		T3_ = ((72 & (*v).flags) == 8);
36821 		if (!(T3_)) goto LA4_;
36822 		T3_ = requiresInit__typeallowed_578((*v).typ);
36823 		LA4_: ;
36824 		if (!T3_) goto LA5_;
36825 		{
36826 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
36827 			T9_ = NIM_NIL;
36828 			T9_ = astdef__ast_3483(v);
36829 			if (!(T9_ == 0)) goto LA10_;
36830 			liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), (*(*v).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_785, NIM_FALSE);
36831 		}
36832 		goto LA7_;
36833 		LA10_: ;
36834 		{
36835 			NIM_BOOL T13_;
36836 			NIM_BOOL T14_;
36837 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
36838 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
36839 			T13_ = (NIM_BOOL)0;
36840 			T14_ = (NIM_BOOL)0;
36841 			T14_ = (((*(*v).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
36842 			if (!(T14_)) goto LA15_;
36843 			T16_ = NIM_NIL;
36844 			T16_ = astdef__ast_3483(v);
36845 			T14_ = !(((*T16_).typ == 0));
36846 			LA15_: ;
36847 			T13_ = T14_;
36848 			if (!(T13_)) goto LA17_;
36849 			T18_ = NIM_NIL;
36850 			T18_ = astdef__ast_3483(v);
36851 			T13_ = !((((*(*T18_).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
36852 			LA17_: ;
36853 			if (!T13_) goto LA19_;
36854 			liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), (*(*v).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_786, NIM_FALSE);
36855 		}
36856 		goto LA7_;
36857 		LA19_: ;
36858 		LA7_: ;
36859 	}
36860 	LA5_: ;
36861 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semVarOrLet__sem_10066)36862 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semVarOrLet__sem_10066)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symkind) {
36863 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36864 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
36865 {	result = NIM_NIL;
36866 	{
36867 		NI T3_;
36868 		T3_ = (NI)0;
36869 		T3_ = len__ast_3198(n);
36870 		if (!(T3_ == ((NI) 1))) goto LA4_;
36871 		result = semLowerLetVarCustomPragma__sem_9949(c, (*n)._kind_6.sons->data[((NI) 0)], n);
36872 		{
36873 			if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
36874 			goto BeforeRet_;
36875 		}
36876 		LA8_: ;
36877 	}
36878 	LA4_: ;
36879 	b = NIM_NIL;
36880 	result = copyNode__ast_4336(n);
36881 	{
36882 		NI i;
36883 		NI colontmp_;
36884 		NI i_2;
36885 		i = (NI)0;
36886 		colontmp_ = (NI)0;
36887 		colontmp_ = len__ast_3198(n);
36888 		i_2 = ((NI) 0);
36889 		{
36890 			while (1) {
36891 				if (!(i_2 < colontmp_)) goto LA12;
36892 				i = i_2;
36893 				{
36894 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
36895 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
36896 					tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg typFlags;
36897 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
36898 					tyObject_TType__facALICuu8zUj0hjvbTLFg* tup;
36899 					a = (*n)._kind_6.sons->data[i];
36900 					{
36901 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA16_;
36902 						suggestStmt__sigmatch_6552(c, a);
36903 					}
36904 					LA16_: ;
36905 					{
36906 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA20_;
36907 						goto LA13;
36908 					}
36909 					LA20_: ;
36910 					{
36911 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA24_;
36912 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
36913 					}
36914 					LA24_: ;
36915 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
36916 					typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
36917 					{
36918 						NI T28_;
36919 						NI T31_;
36920 						T28_ = (NI)0;
36921 						T28_ = len__ast_3198(a);
36922 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA29_;
36923 						T31_ = (NI)0;
36924 						T31_ = len__ast_3198(a);
36925 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T31_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
36926 					}
36927 					LA29_: ;
36928 					nimZeroMem((void*)(&typFlags), sizeof(tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg));
36929 					def = (*(*c).graph).emptyNode;
36930 					{
36931 						NI T34_;
36932 						NI T37_;
36933 						T34_ = (NI)0;
36934 						T34_ = len__ast_3198(a);
36935 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T34_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA35_;
36936 						T37_ = (NI)0;
36937 						T37_ = len__ast_3198(a);
36938 						def = semExprWithType__sem_56(c, (*a)._kind_6.sons->data[(NI)(T37_ - ((NI) 1))], 0);
36939 						{
36940 							NIM_BOOL T40_;
36941 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T42_;
36942 							T40_ = (NIM_BOOL)0;
36943 							T40_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
36944 							if (!(T40_)) goto LA41_;
36945 							T42_ = NIM_NIL;
36946 							T42_ = skipTypes__ast_3735((*(*def)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
36947 							T40_ = ((*T42_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
36948 							LA41_: ;
36949 							if (!T40_) goto LA43_;
36950 							errorSymChoiceUseQualifier__sem_10047(c, def);
36951 						}
36952 						goto LA38_;
36953 						LA43_: ;
36954 						{
36955 							NIM_BOOL T46_;
36956 							T46_ = (NIM_BOOL)0;
36957 							T46_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36958 							if (!(T46_)) goto LA47_;
36959 							T46_ = ((393216 &((NU32)1<<((NU)((*(*def)._kind_4.sym).kind)&31U)))!=0);
36960 							LA47_: ;
36961 							if (!T46_) goto LA48_;
36962 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5)) & 7);
36963 						}
36964 						goto LA38_;
36965 						LA48_: ;
36966 						{
36967 							NIM_BOOL T51_;
36968 							T51_ = (NIM_BOOL)0;
36969 							T51_ = ((*(*def).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
36970 							if (!(T51_)) goto LA52_;
36971 							T51_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
36972 							LA52_: ;
36973 							if (!T51_) goto LA53_;
36974 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 6)) & 7);
36975 						}
36976 						goto LA38_;
36977 						LA53_: ;
36978 						LA38_: ;
36979 						{
36980 							if (!!((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA57_;
36981 							{
36982 								NIM_BOOL T61_;
36983 								T61_ = (NIM_BOOL)0;
36984 								T61_ = isMetaType__ast_3495(typ);
36985 								if (!T61_) goto LA62_;
36986 								def = inferWithMetatype__sem_231(c, typ, def, NIM_FALSE);
36987 								typ = (*def).typ;
36988 							}
36989 							goto LA59_;
36990 							LA62_: ;
36991 							{
36992 								def = fitNodeConsiderViewType__sem_212(c, typ, def, (*def).info);
36993 							}
36994 							LA59_: ;
36995 						}
36996 						goto LA55_;
36997 						LA57_: ;
36998 						{
36999 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T66_;
37000 							T66_ = NIM_NIL;
37001 							T66_ = skipTypes__ast_3735((*def).typ, TM__rF9caJawfOjYTjsgLVUSGFA_759);
37002 							typ = skipIntLit__magicsys_124(T66_, (*c).Sup.idgen);
37003 							{
37004 								NIM_BOOL T69_;
37005 								T69_ = (NIM_BOOL)0;
37006 								T69_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
37007 								if (!(T69_)) goto LA70_;
37008 								T69_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
37009 								LA70_: ;
37010 								if (!T69_) goto LA71_;
37011 								typ = lastSon__ast_3743(typ);
37012 							}
37013 							LA71_: ;
37014 							{
37015 								NIM_BOOL T75_;
37016 								NimStringDesc* T78_;
37017 								NimStringDesc* T79_;
37018 								T75_ = (NIM_BOOL)0;
37019 								T75_ = hasEmpty__sem_9842(typ);
37020 								if (!T75_) goto LA76_;
37021 								T78_ = NIM_NIL;
37022 								T78_ = toHumanStr__ast_5188((*typ).kind);
37023 								T79_ = NIM_NIL;
37024 								T79_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_760), T78_);
37025 								liMessage__msgs_1118((*(*c).graph).config, (*def).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T79_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_761, NIM_FALSE);
37026 							}
37027 							goto LA73_;
37028 							LA76_: ;
37029 							{
37030 								NIM_BOOL T81_;
37031 								NIM_BOOL T82_;
37032 								NimStringDesc* T87_;
37033 								NimStringDesc* T88_;
37034 								T81_ = (NIM_BOOL)0;
37035 								T82_ = (NIM_BOOL)0;
37036 								T82_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
37037 								if (!(T82_)) goto LA83_;
37038 								T82_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
37039 								LA83_: ;
37040 								T81_ = T82_;
37041 								if (!(T81_)) goto LA84_;
37042 								T81_ = isGenericRoutine__ast_4627((*(*def)._kind_4.sym).ast);
37043 								LA84_: ;
37044 								if (!T81_) goto LA85_;
37045 								T87_ = NIM_NIL;
37046 								T87_ = renderTree__renderer_46(def, 0);
37047 								T88_ = NIM_NIL;
37048 								T88_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_762), T87_);
37049 								liMessage__msgs_1118((*(*c).graph).config, (*def).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T88_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_763, NIM_FALSE);
37050 							}
37051 							goto LA73_;
37052 							LA85_: ;
37053 							LA73_: ;
37054 						}
37055 						LA55_: ;
37056 					}
37057 					LA35_: ;
37058 					{
37059 						if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA91_;
37060 						goto LA13;
37061 					}
37062 					LA91_: ;
37063 					{
37064 						if (!!(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA95_;
37065 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 2)) & 7);
37066 					}
37067 					LA95_: ;
37068 					typeAllowedCheck__sem_481(c, (*a).info, typ, symkind, typFlags);
37069 					tup = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_137);
37070 					{
37071 						NI T110_;
37072 						NI T111_;
37073 						NI T112_;
37074 						NI T113_;
37075 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA99_;
37076 						{
37077 							if (!!(((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA103_;
37078 							liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 5), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_764), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_765, NIM_FALSE);
37079 						}
37080 						goto LA101_;
37081 						LA103_: ;
37082 						{
37083 							NI T106_;
37084 							NI T107_;
37085 							T106_ = (NI)0;
37086 							T106_ = len__ast_3198(a);
37087 							T107_ = (NI)0;
37088 							T107_ = len__ast_4002(tup);
37089 							if (!!(((NI)(T106_ - ((NI) 2)) == T107_))) goto LA108_;
37090 							liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_620), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_766, NIM_FALSE);
37091 						}
37092 						goto LA101_;
37093 						LA108_: ;
37094 						LA101_: ;
37095 						b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36), (*a).info);
37096 						T110_ = (NI)0;
37097 						T110_ = len__ast_3198(a);
37098 						newSons__semtypinst_404(b, T110_);
37099 						T111_ = (NI)0;
37100 						T111_ = len__ast_3198(b);
37101 						T112_ = (NI)0;
37102 						T112_ = len__ast_3198(a);
37103 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T111_ - ((NI) 2))]), (*a)._kind_6.sons->data[(NI)(T112_ - ((NI) 2))]);
37104 						T113_ = (NI)0;
37105 						T113_ = len__ast_3198(b);
37106 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T113_ - ((NI) 1))]), def);
37107 						addToVarSection__sem_9733(c, result, n, b);
37108 					}
37109 					goto LA97_;
37110 					LA99_: ;
37111 					{
37112 						NIM_BOOL T115_;
37113 						NIM_BOOL T116_;
37114 						NIM_BOOL T117_;
37115 						NI T121_;
37116 						T115_ = (NIM_BOOL)0;
37117 						T116_ = (NIM_BOOL)0;
37118 						T117_ = (NIM_BOOL)0;
37119 						T117_ = ((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
37120 						if (!(T117_)) goto LA118_;
37121 						T117_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
37122 						LA118_: ;
37123 						T116_ = T117_;
37124 						if (!(T116_)) goto LA119_;
37125 						T116_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35));
37126 						LA119_: ;
37127 						T115_ = T116_;
37128 						if (!(T115_)) goto LA120_;
37129 						T121_ = (NI)0;
37130 						T121_ = len__ast_3198(a);
37131 						T115_ = (((NI) 3) < T121_);
37132 						LA120_: ;
37133 						if (!T115_) goto LA122_;
37134 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 38), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_767, NIM_FALSE);
37135 					}
37136 					goto LA97_;
37137 					LA122_: ;
37138 					LA97_: ;
37139 					{
37140 						NI j;
37141 						NI colontmp__2;
37142 						NI T125_;
37143 						NI i_3;
37144 						j = (NI)0;
37145 						colontmp__2 = (NI)0;
37146 						T125_ = (NI)0;
37147 						T125_ = len__ast_3198(a);
37148 						colontmp__2 = (NI)(T125_ - ((NI) 2));
37149 						i_3 = ((NI) 0);
37150 						{
37151 							while (1) {
37152 								if (!(i_3 < colontmp__2)) goto LA127;
37153 								j = i_3;
37154 								{
37155 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
37156 									{
37157 										tyObject_TType__facALICuu8zUj0hjvbTLFg* T133_;
37158 										if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA131_;
37159 										T133_ = NIM_NIL;
37160 										{
37161 											if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA136_;
37162 											T133_ = typ;
37163 										}
37164 										goto LA134_;
37165 										LA136_: ;
37166 										{
37167 											T133_ = (*tup).sons->data[j];
37168 										}
37169 										LA134_: ;
37170 										fillPartialObject__sem_9910(c, (*a)._kind_6.sons->data[j], T133_);
37171 										addToVarSection__sem_9733(c, result, n, a);
37172 										goto LA128;
37173 									}
37174 									LA131_: ;
37175 									v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], symkind);
37176 									{
37177 										NIM_BOOL T141_;
37178 										T141_ = (NIM_BOOL)0;
37179 										T141_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
37180 										if (!(T141_)) goto LA142_;
37181 										T141_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
37182 										LA142_: ;
37183 										if (!T141_) goto LA143_;
37184 										nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
37185 									}
37186 									LA143_: ;
37187 									{
37188 										if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA147_;
37189 										{
37190 											NIM_BOOL T151_;
37191 											T151_ = (NIM_BOOL)0;
37192 											T151_ = isDiscardUnderscore__sem_9761(v);
37193 											if (!!(T151_)) goto LA152_;
37194 											addInterfaceDecl__lookups_879(c, v);
37195 										}
37196 										LA152_: ;
37197 									}
37198 									goto LA145_;
37199 									LA147_: ;
37200 									{
37201 										{
37202 											if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA157_;
37203 											asgnRef((void**) (&(*v).owner), (*(*c).p).owner);
37204 										}
37205 										LA157_: ;
37206 									}
37207 									LA145_: ;
37208 									{
37209 										if (!(((NI) 0) < (*c).inUnrolledContext)) goto LA161_;
37210 										(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
37211 									}
37212 									goto LA159_;
37213 									LA161_: ;
37214 									{
37215 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* shadowed;
37216 										shadowed = findShadowedVar__sem_9651(c, v);
37217 										{
37218 											if (!!((shadowed == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA166_;
37219 											(*shadowed).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
37220 											{
37221 												NIM_BOOL T170_;
37222 												T170_ = (NIM_BOOL)0;
37223 												T170_ = ((*shadowed).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
37224 												if (!(T170_)) goto LA171_;
37225 												T170_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
37226 												LA171_: ;
37227 												if (!T170_) goto LA172_;
37228 												liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 53), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_773, NIM_FALSE);
37229 											}
37230 											LA172_: ;
37231 										}
37232 										LA166_: ;
37233 									}
37234 									LA159_: ;
37235 									{
37236 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T192_;
37237 										NI T193_;
37238 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T194_;
37239 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
37240 										NI T203_;
37241 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T204_;
37242 										if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA176_;
37243 										{
37244 											if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA180_;
37245 											{
37246 												if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0)) goto LA184_;
37247 												liMessage__msgs_1118((*(*c).graph).config, (*def).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_774), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_775, NIM_FALSE);
37248 											}
37249 											LA184_: ;
37250 										}
37251 										LA180_: ;
37252 										setVarType__sem_9941(c, v, typ);
37253 										b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*a).info);
37254 										{
37255 											NIM_BOOL T188_;
37256 											NimStringDesc* T191_;
37257 											T188_ = (NIM_BOOL)0;
37258 											T188_ = importantComments__options_3985((*(*c).graph).config);
37259 											if (!T188_) goto LA189_;
37260 											T191_ = NIM_NIL;
37261 											T191_ = comment__ast_993(a);
37262 											commenteq___ast_1361(b, T191_);
37263 										}
37264 										LA189_: ;
37265 										T192_ = NIM_NIL;
37266 										T192_ = newSymNode__ast_3716(v);
37267 										add__ast_4797(b, T192_);
37268 										T193_ = (NI)0;
37269 										T193_ = len__ast_3198(a);
37270 										add__ast_4797(b, (*a)._kind_6.sons->data[(NI)(T193_ - ((NI) 2))]);
37271 										T194_ = NIM_NIL;
37272 										T194_ = copyTree__ast_4431(def);
37273 										add__ast_4797(b, T194_);
37274 										addToVarSection__sem_9733(c, result, n, b);
37275 										ast = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*a).info);
37276 										{
37277 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
37278 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T199_;
37279 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T200_;
37280 											if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA197_;
37281 											p = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43), (*a).info);
37282 											T199_ = NIM_NIL;
37283 											T199_ = newSymNode__ast_3716(v);
37284 											add__ast_4797(p, T199_);
37285 											T200_ = NIM_NIL;
37286 											T200_ = copyTree__ast_4431((*(*a)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]);
37287 											add__ast_4797(p, T200_);
37288 											add__ast_4797(ast, p);
37289 										}
37290 										goto LA195_;
37291 										LA197_: ;
37292 										{
37293 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T202_;
37294 											T202_ = NIM_NIL;
37295 											T202_ = newSymNode__ast_3716(v);
37296 											add__ast_4797(ast, T202_);
37297 										}
37298 										LA195_: ;
37299 										T203_ = (NI)0;
37300 										T203_ = len__ast_3198(a);
37301 										T204_ = NIM_NIL;
37302 										T204_ = copyTree__ast_4431((*a)._kind_6.sons->data[(NI)(T203_ - ((NI) 2))]);
37303 										add__ast_4797(ast, T204_);
37304 										add__ast_4797(ast, def);
37305 										asgnRef((void**) (&(*v).ast), ast);
37306 									}
37307 									goto LA174_;
37308 									LA176_: ;
37309 									{
37310 										{
37311 											if (!((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA208_;
37312 											asgnRef((void**) (&(*v).ast), (*def)._kind_6.sons->data[j]);
37313 										}
37314 										LA208_: ;
37315 										{
37316 											if (!((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA212_;
37317 											setVarType__sem_9941(c, v, (*tup).sons->data[j]);
37318 										}
37319 										goto LA210_;
37320 										LA212_: ;
37321 										{
37322 											asgnRef((void**) (&(*v).typ), tup);
37323 										}
37324 										LA210_: ;
37325 										asgnRef((void**) (&(*b)._kind_6.sons->data[j]), newSymNode__ast_3716(v));
37326 									}
37327 									LA174_: ;
37328 									{
37329 										tyObject_TType__facALICuu8zUj0hjvbTLFg* actualType;
37330 										if (!((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA217_;
37331 										actualType = skipTypes__ast_3735((*v).typ, TM__rF9caJawfOjYTjsgLVUSGFA_780);
37332 										{
37333 											NIM_BOOL T221_;
37334 											T221_ = (NIM_BOOL)0;
37335 											T221_ = ((*actualType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*actualType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
37336 											if (!(T221_)) goto LA222_;
37337 											T221_ = requiresInit__typeallowed_578(actualType);
37338 											LA222_: ;
37339 											if (!T221_) goto LA223_;
37340 											defaultConstructionError__sem_138(c, (*v).typ, (*v).info);
37341 										}
37342 										goto LA219_;
37343 										LA223_: ;
37344 										{
37345 											checkNilable__sem_9708(c, v);
37346 										}
37347 										LA219_: ;
37348 										{
37349 											NIM_BOOL T228_;
37350 											T228_ = (NIM_BOOL)0;
37351 											T228_ = ((*v).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
37352 											if (!(T228_)) goto LA229_;
37353 											T228_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
37354 											LA229_: ;
37355 											if (!T228_) goto LA230_;
37356 											liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_787), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_788, NIM_FALSE);
37357 										}
37358 										LA230_: ;
37359 									}
37360 									LA217_: ;
37361 									{
37362 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
37363 										if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA234_;
37364 										x = newNodeI__ast_3356((*result).kind, (*v).info);
37365 										add__ast_4797(x, (*result)._kind_6.sons->data[i]);
37366 										setupCompileTimeVar__vm_13765((*c).module, (*c).Sup.idgen, (*c).graph, x);
37367 									}
37368 									LA234_: ;
37369 									{
37370 										if (!(((*v).flags & 67108872) == 8)) goto LA238_;
37371 										liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 96), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_789, NIM_FALSE);
37372 									}
37373 									LA238_: ;
37374 								} LA128: ;
37375 								i_3 += ((NI) 1);
37376 							} LA127: ;
37377 						}
37378 					}
37379 				} LA13: ;
37380 				i_2 += ((NI) 1);
37381 			} LA12: ;
37382 		}
37383 	}
37384 	}BeforeRet_: ;
37385 	return result;
37386 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitRemoveHiddenConv__sem_9629)37387 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitRemoveHiddenConv__sem_9629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37388 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37389 	result = NIM_NIL;
37390 	result = fitNode__sem_70(c, typ, n, (*n).info);
37391 	{
37392 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r1;
37393 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA3_;
37394 		r1 = (*result)._kind_6.sons->data[((NI) 1)];
37395 		{
37396 			NIM_BOOL T7_;
37397 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
37398 			T7_ = (NIM_BOOL)0;
37399 			T7_ = ((*r1).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*r1).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
37400 			if (!(T7_)) goto LA8_;
37401 			T9_ = NIM_NIL;
37402 			T9_ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
37403 			T7_ = ((*T9_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T9_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
37404 			LA8_: ;
37405 			if (!T7_) goto LA10_;
37406 			result = newFloatNode__ast_3809(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((NF) ((*r1)._kind_1.intVal)));
37407 			(*result).info = (*n).info;
37408 			asgnRef((void**) (&(*result).typ), typ);
37409 			{
37410 				NIM_BOOL T14_;
37411 				tyArray__Re75IspeoxXy2oCZHwcRrA T17_;
37412 				NimStringDesc* T18_;
37413 				T14_ = (NIM_BOOL)0;
37414 				T14_ = floatRangeCheck__types_1613((*result)._kind_2.floatVal, typ);
37415 				if (!!(T14_)) goto LA15_;
37416 				nimZeroMem((void*)T17_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
37417 				T17_[0] = dollar___system_3118((*result)._kind_2.floatVal);
37418 				T17_[1] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
37419 				T18_ = NIM_NIL;
37420 				T18_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_95), T17_, 2);
37421 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_790, NIM_FALSE);
37422 			}
37423 			LA15_: ;
37424 		}
37425 		goto LA5_;
37426 		LA10_: ;
37427 		{
37428 			changeType__sem_75(c, r1, typ, NIM_TRUE);
37429 			result = r1;
37430 		}
37431 		LA5_: ;
37432 	}
37433 	goto LA1_;
37434 	LA3_: ;
37435 	{
37436 		NIM_BOOL T21_;
37437 		T21_ = (NIM_BOOL)0;
37438 		T21_ = sameType__types_1824((*result).typ, typ, 0);
37439 		if (!!(T21_)) goto LA22_;
37440 		changeType__sem_75(c, result, typ, NIM_FALSE);
37441 	}
37442 	goto LA1_;
37443 	LA22_: ;
37444 	LA1_: ;
37445 	return result;
37446 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConst__sem_10429)37447 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConst__sem_10429)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37448 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37449 	result = NIM_NIL;
37450 	result = copyNode__ast_4336(n);
37451 	(*c).inStaticContext += ((NI) 1);
37452 	{
37453 		NI i;
37454 		NI colontmp_;
37455 		NI i_2;
37456 		i = (NI)0;
37457 		colontmp_ = (NI)0;
37458 		colontmp_ = len__ast_3198(n);
37459 		i_2 = ((NI) 0);
37460 		{
37461 			while (1) {
37462 				if (!(i_2 < colontmp_)) goto LA3;
37463 				i = i_2;
37464 				{
37465 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
37466 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
37467 					tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg typFlags;
37468 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
37469 					NI T23_;
37470 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
37471 					a = (*n)._kind_6.sons->data[i];
37472 					{
37473 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA7_;
37474 						suggestStmt__sigmatch_6552(c, a);
37475 					}
37476 					LA7_: ;
37477 					{
37478 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA11_;
37479 						goto LA4;
37480 					}
37481 					LA11_: ;
37482 					{
37483 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA15_;
37484 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
37485 					}
37486 					LA15_: ;
37487 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
37488 					typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
37489 					{
37490 						NI T19_;
37491 						NI T22_;
37492 						T19_ = (NI)0;
37493 						T19_ = len__ast_3198(a);
37494 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T19_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA20_;
37495 						T22_ = (NI)0;
37496 						T22_ = len__ast_3198(a);
37497 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T22_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
37498 					}
37499 					LA20_: ;
37500 					nimZeroMem((void*)(&typFlags), sizeof(tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg));
37501 					T23_ = (NI)0;
37502 					T23_ = len__ast_3198(a);
37503 					def = semExprWithType__sem_56(c, (*a)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))], 0);
37504 					{
37505 						NIM_BOOL T26_;
37506 						T26_ = (NIM_BOOL)0;
37507 						T26_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
37508 						if (!(T26_)) goto LA27_;
37509 						T26_ = ((393216 &((NU32)1<<((NU)((*(*def)._kind_4.sym).kind)&31U)))!=0);
37510 						LA27_: ;
37511 						if (!T26_) goto LA28_;
37512 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5)) & 7);
37513 					}
37514 					goto LA24_;
37515 					LA28_: ;
37516 					{
37517 						NIM_BOOL T31_;
37518 						T31_ = (NIM_BOOL)0;
37519 						T31_ = ((*(*def).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
37520 						if (!(T31_)) goto LA32_;
37521 						T31_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
37522 						LA32_: ;
37523 						if (!T31_) goto LA33_;
37524 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 6)) & 7);
37525 					}
37526 					goto LA24_;
37527 					LA33_: ;
37528 					LA24_: ;
37529 					{
37530 						if (!!((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA37_;
37531 						{
37532 							NIM_BOOL T41_;
37533 							T41_ = (NIM_BOOL)0;
37534 							T41_ = isMetaType__ast_3495(typ);
37535 							if (!T41_) goto LA42_;
37536 							def = inferWithMetatype__sem_231(c, typ, def, NIM_FALSE);
37537 							typ = (*def).typ;
37538 						}
37539 						goto LA39_;
37540 						LA42_: ;
37541 						{
37542 							def = fitRemoveHiddenConv__sem_9629(c, typ, def);
37543 						}
37544 						LA39_: ;
37545 					}
37546 					goto LA35_;
37547 					LA37_: ;
37548 					{
37549 						typ = (*def).typ;
37550 					}
37551 					LA35_: ;
37552 					def = semConstExpr__sem_611(c, def);
37553 					{
37554 						NI T50_;
37555 						if (!(def == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA48_;
37556 						T50_ = (NI)0;
37557 						T50_ = len__ast_3198(a);
37558 						liMessage__msgs_1118((*(*c).graph).config, (*(*a)._kind_6.sons->data[(NI)(T50_ - ((NI) 1))]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_360), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_791, NIM_FALSE);
37559 						goto LA4;
37560 					}
37561 					LA48_: ;
37562 					{
37563 						if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA53_;
37564 						{
37565 							if (!!(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA57_;
37566 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 2)) & 7);
37567 						}
37568 						LA57_: ;
37569 						typeAllowedCheck__sem_481(c, (*a).info, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), typFlags);
37570 					}
37571 					LA53_: ;
37572 					b = NIM_NIL;
37573 					{
37574 						NI T72_;
37575 						NI T73_;
37576 						NI T74_;
37577 						NI T75_;
37578 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA61_;
37579 						{
37580 							if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA65_;
37581 							liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 5), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_764), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_792, NIM_FALSE);
37582 						}
37583 						goto LA63_;
37584 						LA65_: ;
37585 						{
37586 							NI T68_;
37587 							NI T69_;
37588 							T68_ = (NI)0;
37589 							T68_ = len__ast_3198(a);
37590 							T69_ = (NI)0;
37591 							T69_ = len__ast_4002(typ);
37592 							if (!!(((NI)(T68_ - ((NI) 2)) == T69_))) goto LA70_;
37593 							liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_620), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_793, NIM_FALSE);
37594 						}
37595 						goto LA63_;
37596 						LA70_: ;
37597 						LA63_: ;
37598 						b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36), (*a).info);
37599 						T72_ = (NI)0;
37600 						T72_ = len__ast_3198(a);
37601 						newSons__semtypinst_404(b, T72_);
37602 						T73_ = (NI)0;
37603 						T73_ = len__ast_3198(b);
37604 						T74_ = (NI)0;
37605 						T74_ = len__ast_3198(a);
37606 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T73_ - ((NI) 2))]), (*a)._kind_6.sons->data[(NI)(T74_ - ((NI) 2))]);
37607 						T75_ = (NI)0;
37608 						T75_ = len__ast_3198(b);
37609 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T75_ - ((NI) 1))]), def);
37610 					}
37611 					LA61_: ;
37612 					{
37613 						NI j;
37614 						NI colontmp__2;
37615 						NI T77_;
37616 						NI i_3;
37617 						j = (NI)0;
37618 						colontmp__2 = (NI)0;
37619 						T77_ = (NI)0;
37620 						T77_ = len__ast_3198(a);
37621 						colontmp__2 = (NI)(T77_ - ((NI) 2));
37622 						i_3 = ((NI) 0);
37623 						{
37624 							while (1) {
37625 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
37626 								if (!(i_3 < colontmp__2)) goto LA79;
37627 								j = i_3;
37628 								v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10));
37629 								{
37630 									if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA82_;
37631 									addInterfaceDecl__lookups_879(c, v);
37632 								}
37633 								goto LA80_;
37634 								LA82_: ;
37635 								{
37636 									if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA85_;
37637 									asgnRef((void**) (&(*v).owner), getCurrOwner__semdata_315(c));
37638 								}
37639 								goto LA80_;
37640 								LA85_: ;
37641 								LA80_: ;
37642 								{
37643 									NIM_BOOL T89_;
37644 									T89_ = (NIM_BOOL)0;
37645 									T89_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
37646 									if (!(T89_)) goto LA90_;
37647 									T89_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
37648 									LA90_: ;
37649 									if (!T89_) goto LA91_;
37650 									nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
37651 								}
37652 								LA91_: ;
37653 								{
37654 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T103_;
37655 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T104_;
37656 									if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA95_;
37657 									setVarType__sem_9941(c, v, typ);
37658 									asgnRef((void**) (&(*v).ast), def);
37659 									b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102), (*a).info);
37660 									{
37661 										NIM_BOOL T99_;
37662 										NimStringDesc* T102_;
37663 										T99_ = (NIM_BOOL)0;
37664 										T99_ = importantComments__options_3985((*(*c).graph).config);
37665 										if (!T99_) goto LA100_;
37666 										T102_ = NIM_NIL;
37667 										T102_ = comment__ast_993(a);
37668 										commenteq___ast_1361(b, T102_);
37669 									}
37670 									LA100_: ;
37671 									T103_ = NIM_NIL;
37672 									T103_ = newSymNode__ast_3716(v);
37673 									add__ast_4797(b, T103_);
37674 									add__ast_4797(b, (*a)._kind_6.sons->data[((NI) 1)]);
37675 									T104_ = NIM_NIL;
37676 									T104_ = copyTree__ast_4431(def);
37677 									add__ast_4797(b, T104_);
37678 								}
37679 								goto LA93_;
37680 								LA95_: ;
37681 								{
37682 									setVarType__sem_9941(c, v, (*typ).sons->data[j]);
37683 									{
37684 										if (!!(((*(*def)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA108_;
37685 										asgnRef((void**) (&(*v).ast), (*def)._kind_6.sons->data[j]);
37686 									}
37687 									goto LA106_;
37688 									LA108_: ;
37689 									{
37690 										asgnRef((void**) (&(*v).ast), (*(*def)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]);
37691 									}
37692 									LA106_: ;
37693 									asgnRef((void**) (&(*b)._kind_6.sons->data[j]), newSymNode__ast_3716(v));
37694 								}
37695 								LA93_: ;
37696 								i_3 += ((NI) 1);
37697 							} LA79: ;
37698 						}
37699 					}
37700 					add__ast_4797(result, b);
37701 				} LA4: ;
37702 				i_2 += ((NI) 1);
37703 			} LA3: ;
37704 		}
37705 	}
37706 	(*c).inStaticContext -= ((NI) 1);
37707 	return result;
37708 }
N_NIMCALL(void,typeDefLeftSidePass__sem_11622)37709 N_LIB_PRIVATE N_NIMCALL(void, typeDefLeftSidePass__sem_11622)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeSection, NI i) {
37710 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeDef_1;
37711 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
37712 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
37713 {	typeDef_1 = (*typeSection)._kind_6.sons->data[i];
37714 	checkSonsLen__semdata_1077(typeDef_1, ((NI) 3), (*(*c).graph).config);
37715 	name = (*typeDef_1)._kind_6.sons->data[((NI) 0)];
37716 	s = NIM_NIL;
37717 	{
37718 		NIM_BOOL T3_;
37719 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* pkgName;
37720 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typName;
37721 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pkg;
37722 		T3_ = (NIM_BOOL)0;
37723 		T3_ = ((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
37724 		if (!(T3_)) goto LA4_;
37725 		T3_ = ((*(*typeDef_1)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
37726 		LA4_: ;
37727 		if (!T3_) goto LA5_;
37728 		pkgName = considerQuotedIdent__lookups_28(c, (*name)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
37729 		typName = considerQuotedIdent__lookups_28(c, (*name)._kind_6.sons->data[((NI) 1)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
37730 		pkg = strTableGet__astalgo_3390((*(*c).graph).packageSyms, pkgName);
37731 		{
37732 			NIM_BOOL T9_;
37733 			NimStringDesc* T13_;
37734 			T9_ = (NIM_BOOL)0;
37735 			T9_ = (pkg == 0);
37736 			if (T9_) goto LA10_;
37737 			T9_ = !(((*pkg).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24)));
37738 			LA10_: ;
37739 			if (!T9_) goto LA11_;
37740 			T13_ = NIM_NIL;
37741 			T13_ = rawNewString(((*pkgName).s ? (*pkgName).s->Sup.len : 0) + 22);
37742 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_794));
37743 appendString(T13_, (*pkgName).s);
37744 			liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_795, NIM_FALSE);
37745 		}
37746 		goto LA7_;
37747 		LA11_: ;
37748 		{
37749 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* typsym;
37750 			typsym = strTableGet__astalgo_3390((*(*c).graph).packageTypes, typName);
37751 			{
37752 				if (!(typsym == 0)) goto LA17_;
37753 				s = semIdentDef__sem_9679(c, (*name)._kind_6.sons->data[((NI) 1)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37754 				asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17), c));
37755 				asgnRef((void**) (&(*(*s).typ).sym), s);
37756 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63);
37757 				strTableAdd__astalgo_3332((&(*(*c).graph).packageTypes), s);
37758 				addInterfaceDecl__lookups_879(c, s);
37759 			}
37760 			goto LA15_;
37761 			LA17_: ;
37762 			{
37763 				NIM_BOOL T20_;
37764 				T20_ = (NIM_BOOL)0;
37765 				T20_ = ((*typsym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37766 				if (!(T20_)) goto LA21_;
37767 				T20_ = (((*typsym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
37768 				LA21_: ;
37769 				if (!T20_) goto LA22_;
37770 				s = typsym;
37771 				addInterfaceDecl__lookups_879(c, s);
37772 			}
37773 			goto LA15_;
37774 			LA22_: ;
37775 			{
37776 				NimStringDesc* T25_;
37777 				T25_ = NIM_NIL;
37778 				T25_ = rawNewString(((*(*typsym).name).s ? (*(*typsym).name).s->Sup.len : 0) + 36);
37779 appendString(T25_, (*(*typsym).name).s);
37780 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_796));
37781 				liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_797, NIM_FALSE);
37782 				s = typsym;
37783 			}
37784 			LA15_: ;
37785 		}
37786 		LA7_: ;
37787 	}
37788 	goto LA1_;
37789 	LA5_: ;
37790 	{
37791 		s = semIdentDef__sem_9679(c, name, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37792 		asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30), c));
37793 		asgnRef((void**) (&(*(*s).typ).sym), s);
37794 		{
37795 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rewritten;
37796 			if (!((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA29_;
37797 			rewritten = applyTypeSectionPragmas__sem_5714(c, (*name)._kind_6.sons->data[((NI) 1)], typeDef_1);
37798 			{
37799 				if (!!((rewritten == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA33_;
37800 				asgnRef((void**) (&(*typeSection)._kind_6.sons->data[i]), rewritten);
37801 				typeDefLeftSidePass__sem_11622(c, typeSection, i);
37802 				goto BeforeRet_;
37803 			}
37804 			LA33_: ;
37805 			pragma__pragmas_123(c, s, (*name)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_499, NIM_FALSE);
37806 		}
37807 		LA29_: ;
37808 		{
37809 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pkg_2;
37810 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0)) goto LA37_;
37811 			pkg_2 = (*(*c).module).owner;
37812 			{
37813 				NIM_BOOL T41_;
37814 				NIM_BOOL T42_;
37815 				T41_ = (NIM_BOOL)0;
37816 				T42_ = (NIM_BOOL)0;
37817 				T42_ = isTopLevel__semdata_1091(c);
37818 				T41_ = !(T42_);
37819 				if (T41_) goto LA43_;
37820 				T41_ = (pkg_2 == 0);
37821 				LA43_: ;
37822 				if (!T41_) goto LA44_;
37823 				liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_798), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_799, NIM_FALSE);
37824 			}
37825 			goto LA39_;
37826 			LA44_: ;
37827 			{
37828 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* typsym_2;
37829 				typsym_2 = strTableGet__astalgo_3390((*(*c).graph).packageTypes, (*s).name);
37830 				{
37831 					if (!!((typsym_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA49_;
37832 					{
37833 						NIM_BOOL T53_;
37834 						T53_ = (NIM_BOOL)0;
37835 						T53_ = !((((*typsym_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0));
37836 						if (T53_) goto LA54_;
37837 						T53_ = !((((*typsym_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
37838 						LA54_: ;
37839 						if (!T53_) goto LA55_;
37840 						(*typsym_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10)) & 63);
37841 						(*typsym_2).info = (*s).info;
37842 					}
37843 					goto LA51_;
37844 					LA55_: ;
37845 					{
37846 						NimStringDesc* T58_;
37847 						NimStringDesc* T59_;
37848 						T58_ = NIM_NIL;
37849 						T59_ = NIM_NIL;
37850 						T59_ = dollar___msgs_624((*(*c).graph).config, (*typsym_2).info);
37851 						T58_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + (T59_ ? T59_->Sup.len : 0) + 66);
37852 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_800));
37853 appendString(T58_, (*(*s).name).s);
37854 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_801));
37855 appendString(T58_, T59_);
37856 						liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T58_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_802, NIM_FALSE);
37857 					}
37858 					LA51_: ;
37859 					s = typsym_2;
37860 				}
37861 				LA49_: ;
37862 			}
37863 			LA39_: ;
37864 		}
37865 		LA37_: ;
37866 		{
37867 			if (!!((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA62_;
37868 			addInterfaceDecl__lookups_879(c, s);
37869 		}
37870 		goto LA60_;
37871 		LA62_: ;
37872 		{
37873 			if (!((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA65_;
37874 			asgnRef((void**) (&(*s).owner), getCurrOwner__semdata_315(c));
37875 		}
37876 		goto LA60_;
37877 		LA65_: ;
37878 		LA60_: ;
37879 	}
37880 	LA1_: ;
37881 	{
37882 		if (!((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA69_;
37883 		asgnRef((void**) (&(*(*typeDef_1)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
37884 	}
37885 	goto LA67_;
37886 	LA69_: ;
37887 	{
37888 		asgnRef((void**) (&(*typeDef_1)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
37889 	}
37890 	LA67_: ;
37891 	}BeforeRet_: ;
37892 }
N_NIMCALL(void,typeSectionLeftSidePass__sem_11722)37893 N_LIB_PRIVATE N_NIMCALL(void, typeSectionLeftSidePass__sem_11722)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37894 	{
37895 		NI i;
37896 		NI colontmp_;
37897 		NI i_2;
37898 		i = (NI)0;
37899 		colontmp_ = (NI)0;
37900 		colontmp_ = len__ast_3198(n);
37901 		i_2 = ((NI) 0);
37902 		{
37903 			while (1) {
37904 				if (!(i_2 < colontmp_)) goto LA3;
37905 				i = i_2;
37906 				{
37907 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
37908 					a = (*n)._kind_6.sons->data[i];
37909 					{
37910 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
37911 						goto LA4;
37912 					}
37913 					LA7_: ;
37914 					{
37915 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA11_;
37916 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
37917 					}
37918 					LA11_: ;
37919 					typeDefLeftSidePass__sem_11622(c, n, i);
37920 				} LA4: ;
37921 				i_2 += ((NI) 1);
37922 			} LA3: ;
37923 		}
37924 	}
37925 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,typeSectionTypeName__sem_11606)37926 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, typeSectionTypeName__sem_11606)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37927 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37928 	result = NIM_NIL;
37929 	{
37930 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
37931 		{
37932 			NI T7_;
37933 			T7_ = (NI)0;
37934 			T7_ = len__ast_3198(n);
37935 			if (!(T7_ == ((NI) 0))) goto LA8_;
37936 			illFormedAst__semdata_1071(n, (*(*c).graph).config);
37937 		}
37938 		LA8_: ;
37939 		result = (*n)._kind_6.sons->data[((NI) 0)];
37940 	}
37941 	goto LA1_;
37942 	LA3_: ;
37943 	{
37944 		result = n;
37945 	}
37946 	LA1_: ;
37947 	{
37948 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA13_;
37949 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
37950 	}
37951 	LA13_: ;
37952 	return result;
37953 }
N_NIMCALL(void,setMagicType__sem_6266)37954 N_LIB_PRIVATE N_NIMCALL(void, setMagicType__sem_6266)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size) {
37955 	(*(*m).typ).kind = kind;
37956 	(*(*m).typ).size = ((NI64) (size));
37957 	(*(*m).typ).align = ((NI16) (size));
37958 	{
37959 		NIM_BOOL T3_;
37960 		T3_ = (NIM_BOOL)0;
37961 		T3_ = (kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38) || kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
37962 		if (!(T3_)) goto LA4_;
37963 		T3_ = (size == ((NI) 8));
37964 		LA4_: ;
37965 		if (!T3_) goto LA5_;
37966 		(*(*m).typ).align = floatInt64Align__options_4700(conf);
37967 	}
37968 	LA5_: ;
37969 }
N_NIMCALL(void,setMagicIntegral__sem_6275)37970 N_LIB_PRIVATE N_NIMCALL(void, setMagicIntegral__sem_6275)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size) {
37971 	setMagicType__sem_6266(conf, m, kind, size);
37972 	(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
37973 }
N_NIMCALL(void,processMagicType__sem_6284)37974 N_LIB_PRIVATE N_NIMCALL(void, processMagicType__sem_6284)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
37975 	switch ((*m).magic) {
37976 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 173):
37977 	{
37978 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), (*(*(*c).graph).config).target.intSize);
37979 	}
37980 	break;
37981 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 174):
37982 	{
37983 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((NI) 1));
37984 	}
37985 	break;
37986 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 175):
37987 	{
37988 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33), ((NI) 2));
37989 	}
37990 	break;
37991 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 176):
37992 	{
37993 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34), ((NI) 4));
37994 	}
37995 	break;
37996 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 177):
37997 	{
37998 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35), ((NI) 8));
37999 	}
38000 	break;
38001 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 178):
38002 	{
38003 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), (*(*(*c).graph).config).target.intSize);
38004 	}
38005 	break;
38006 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 179):
38007 	{
38008 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((NI) 1));
38009 	}
38010 	break;
38011 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 180):
38012 	{
38013 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42), ((NI) 2));
38014 	}
38015 	break;
38016 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 181):
38017 	{
38018 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43), ((NI) 4));
38019 	}
38020 	break;
38021 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 182):
38022 	{
38023 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44), ((NI) 8));
38024 	}
38025 	break;
38026 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 183):
38027 	{
38028 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36), (*(*(*c).graph).config).target.floatSize);
38029 	}
38030 	break;
38031 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 184):
38032 	{
38033 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37), ((NI) 4));
38034 	}
38035 	break;
38036 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 185):
38037 	{
38038 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38), ((NI) 8));
38039 	}
38040 	break;
38041 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 186):
38042 	{
38043 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39), ((NI) 16));
38044 	}
38045 	break;
38046 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 187):
38047 	{
38048 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1), ((NI) 1));
38049 	}
38050 	break;
38051 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 188):
38052 	{
38053 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2), ((NI) 1));
38054 	}
38055 	break;
38056 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 189):
38057 	{
38058 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
38059 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28), ((NI) -1));
38060 		T18_ = NIM_NIL;
38061 		T18_ = getSysType__magicsys_60((*c).graph, (*m).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
38062 		rawAddSon__ast_4288((*m).typ, T18_, NIM_TRUE);
38063 		{
38064 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA21_;
38065 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
38066 		}
38067 		LA21_: ;
38068 	}
38069 	break;
38070 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 190):
38071 	{
38072 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
38073 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29), (*(*(*c).graph).config).target.ptrSize);
38074 		T24_ = NIM_NIL;
38075 		T24_ = getSysType__magicsys_60((*c).graph, (*m).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
38076 		rawAddSon__ast_4288((*m).typ, T24_, NIM_TRUE);
38077 	}
38078 	break;
38079 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 191):
38080 	{
38081 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26), (*(*(*c).graph).config).target.ptrSize);
38082 	}
38083 	break;
38084 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 192):
38085 	{
38086 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5), (*(*(*c).graph).config).target.ptrSize);
38087 	}
38088 	break;
38089 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 193):
38090 	{
38091 		{
38092 			if (!eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_804))) goto LA30_;
38093 			setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59), ((NI) 0));
38094 		}
38095 		goto LA28_;
38096 		LA30_: ;
38097 		{
38098 			setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6), ((NI) 0));
38099 		}
38100 		LA28_: ;
38101 	}
38102 	break;
38103 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 194):
38104 	{
38105 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), ((NI) 0));
38106 	}
38107 	break;
38108 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 195):
38109 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17):
38110 	{
38111 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T35_;
38112 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), ((NI) 0));
38113 		T35_ = NIM_NIL;
38114 		T35_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38115 		rawAddSon__ast_4288((*m).typ, T35_, NIM_TRUE);
38116 	}
38117 	break;
38118 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24):
38119 	{
38120 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
38121 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), ((NI) 0));
38122 		T37_ = NIM_NIL;
38123 		T37_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38124 		rawAddSon__ast_4288((*m).typ, T37_, NIM_TRUE);
38125 	}
38126 	break;
38127 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 196):
38128 	{
38129 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), ((NI) 0));
38130 	}
38131 	break;
38132 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 159):
38133 	{
38134 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), ((NI) -1));
38135 	}
38136 	break;
38137 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 160):
38138 	{
38139 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27), ((NI) -1));
38140 	}
38141 	break;
38142 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 164):
38143 	{
38144 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48), ((NI) -1));
38145 	}
38146 	break;
38147 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 161):
38148 	{
38149 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
38150 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20), ((NI) -1));
38151 		T43_ = NIM_NIL;
38152 		T43_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38153 		rawAddSon__ast_4288((*m).typ, T43_, NIM_TRUE);
38154 	}
38155 	break;
38156 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 162):
38157 	{
38158 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), ((NI) -1));
38159 	}
38160 	break;
38161 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 271):
38162 	{
38163 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49), ((NI) -1));
38164 	}
38165 	break;
38166 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 163):
38167 	{
38168 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24), ((NI) -1));
38169 		{
38170 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA49_;
38171 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
38172 		}
38173 		LA49_: ;
38174 		{
38175 			NIM_BOOL T53_;
38176 			T53_ = (NIM_BOOL)0;
38177 			T53_ = NIM_FALSE;
38178 			if (T53_) goto LA54_;
38179 			T53_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 8));
38180 			LA54_: ;
38181 			if (!T53_) goto LA55_;
38182 		}
38183 		goto LA51_;
38184 		LA55_: ;
38185 		{
38186 		}
38187 		LA51_: ;
38188 		asgnRef((void**) (&(*(*c).graph).sysTypes[(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))- 0]), (*m).typ);
38189 	}
38190 	break;
38191 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 171):
38192 	{
38193 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
38194 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15), ((NI) -1));
38195 		T59_ = NIM_NIL;
38196 		T59_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38197 		rawAddSon__ast_4288((*m).typ, T59_, NIM_TRUE);
38198 	}
38199 	break;
38200 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 172):
38201 	{
38202 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T61_;
38203 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), ((NI) 0));
38204 		T61_ = NIM_NIL;
38205 		T61_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38206 		rawAddSon__ast_4288((*m).typ, T61_, NIM_TRUE);
38207 	}
38208 	break;
38209 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 197):
38210 	{
38211 		(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33)) & 63);
38212 		(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
38213 	}
38214 	break;
38215 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 268):
38216 	{
38217 	}
38218 	break;
38219 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 269):
38220 	{
38221 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_805))) goto LA65_;
38222 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_806))) goto LA66_;
38223 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535))) goto LA67_;
38224 		goto LA68_;
38225 		LA65_: ;
38226 		{
38227 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47), (*(*(*c).graph).config).target.ptrSize);
38228 		}
38229 		goto LA69_;
38230 		LA66_: ;
38231 		{
38232 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46), ((NI) -1));
38233 		}
38234 		goto LA69_;
38235 		LA67_: ;
38236 		{
38237 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45), (*(*(*c).graph).config).target.ptrSize);
38238 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
38239 		}
38240 		goto LA69_;
38241 		LA68_: ;
38242 		{
38243 			liMessage__msgs_1118((*(*c).graph).config, (*m).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_807, NIM_FALSE);
38244 		}
38245 		LA69_: ;
38246 	}
38247 	break;
38248 	default:
38249 	{
38250 		liMessage__msgs_1118((*(*c).graph).config, (*m).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_808, NIM_FALSE);
38251 	}
38252 	break;
38253 	}
38254 }
N_NIMCALL(void,Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ)38255 static N_NIMCALL(void, Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ)(void* p, NI op) {
38256 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* a;
38257 	a = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*)p;
38258 	nimGCvisit((void*)(*a).genericType1, op);
38259 }
N_CLOSURE(NIM_BOOL,traverseSubTypes__sem_11752)38260 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, traverseSubTypes__sem_11752)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, void* ClE_0) {
38261 	NIM_BOOL result;
38262 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* colonenvP_;
38263 {	result = (NIM_BOOL)0;
38264 	colonenvP_ = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*) ClE_0;
38265 	result = NIM_FALSE;
38266 	switch ((*t).kind) {
38267 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
38268 	{
38269 		(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36)) & 63);
38270 		result = NIM_TRUE;
38271 		goto BeforeRet_;
38272 	}
38273 	break;
38274 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
38275 	{
38276 		{
38277 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
38278 			field = NIM_NIL;
38279 			{
38280 				NI i;
38281 				NI colontmp_;
38282 				NI i_2;
38283 				i = (NI)0;
38284 				colontmp_ = (NI)0;
38285 				colontmp_ = safeLen__ast_3191((*t).n);
38286 				i_2 = ((NI) 0);
38287 				{
38288 					while (1) {
38289 						NIM_BOOL subX60gensym3017_;
38290 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T7_;
38291 						NIM_BOOL T8_;
38292 						if (!(i_2 < colontmp_)) goto LA6;
38293 						i = i_2;
38294 						field = (*(*t).n)._kind_6.sons->data[i];
38295 						nimZeroMem((void*)(&T7_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38296 						T7_.ClP_0 = traverseSubTypes__sem_11752; T7_.ClE_0 = colonenvP_;
38297 						subX60gensym3017_ = T7_.ClE_0? T7_.ClP_0(c, (*field).typ, T7_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_810)(T7_.ClP_0))(c, (*field).typ);
38298 						T8_ = (NIM_BOOL)0;
38299 						T8_ = result;
38300 						if (T8_) goto LA9_;
38301 						T8_ = subX60gensym3017_;
38302 						LA9_: ;
38303 						result = T8_;
38304 						i_2 += ((NI) 1);
38305 					} LA6: ;
38306 				}
38307 			}
38308 		}
38309 	}
38310 	break;
38311 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
38312 	{
38313 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T11_;
38314 		nimZeroMem((void*)(&T11_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38315 		T11_.ClP_0 = traverseSubTypes__sem_11752; T11_.ClE_0 = colonenvP_;
38316 		result = T11_.ClE_0? T11_.ClP_0(c, (*t).sons->data[((NI) 1)], T11_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_811)(T11_.ClP_0))(c, (*t).sons->data[((NI) 1)]);
38317 		goto BeforeRet_;
38318 	}
38319 	break;
38320 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
38321 	{
38322 		{
38323 			tyObject_TType__facALICuu8zUj0hjvbTLFg** subType;
38324 			NI i_3;
38325 			NI L;
38326 			NI T14_;
38327 			subType = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
38328 			i_3 = ((NI) 0);
38329 			T14_ = ((*t).sons ? (*t).sons->Sup.len : 0);
38330 			L = T14_;
38331 			{
38332 				while (1) {
38333 					if (!(i_3 < L)) goto LA16;
38334 					subType = &(*t).sons->data[i_3];
38335 					{
38336 						NIM_BOOL subX60gensym3020_;
38337 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T21_;
38338 						NIM_BOOL T22_;
38339 						if (!!(((*subType) == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA19_;
38340 						nimZeroMem((void*)(&T21_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38341 						T21_.ClP_0 = traverseSubTypes__sem_11752; T21_.ClE_0 = colonenvP_;
38342 						subX60gensym3020_ = T21_.ClE_0? T21_.ClP_0(c, (*subType), T21_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_812)(T21_.ClP_0))(c, (*subType));
38343 						T22_ = (NIM_BOOL)0;
38344 						T22_ = result;
38345 						if (T22_) goto LA23_;
38346 						T22_ = subX60gensym3020_;
38347 						LA23_: ;
38348 						result = T22_;
38349 					}
38350 					LA19_: ;
38351 					i_3 += ((NI) 1);
38352 				} LA16: ;
38353 			}
38354 		}
38355 		{
38356 			NimStringDesc* T28_;
38357 			NimStringDesc* T29_;
38358 			if (!result) goto LA26_;
38359 			T28_ = NIM_NIL;
38360 			T29_ = NIM_NIL;
38361 			T29_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38362 			T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + 46);
38363 appendString(T28_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_813));
38364 appendString(T28_, T29_);
38365 			liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_814, NIM_FALSE);
38366 		}
38367 		LA26_: ;
38368 	}
38369 	break;
38370 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
38371 	{
38372 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T31_;
38373 		nimZeroMem((void*)(&T31_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38374 		T31_.ClP_0 = traverseSubTypes__sem_11752; T31_.ClE_0 = colonenvP_;
38375 		result = T31_.ClE_0? T31_.ClP_0(c, (*t).sons->data[((NI) 0)], T31_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_815)(T31_.ClP_0))(c, (*t).sons->data[((NI) 0)]);
38376 		goto BeforeRet_;
38377 	}
38378 	break;
38379 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
38380 	{
38381 		tyObject_TType__facALICuu8zUj0hjvbTLFg* targetBody;
38382 		targetBody = (*t).sons->data[((NI) 0)];
38383 		{
38384 			NI i_4;
38385 			NI colontmp__2;
38386 			NI i_5;
38387 			i_4 = (NI)0;
38388 			colontmp__2 = (NI)0;
38389 			colontmp__2 = len__ast_4002(t);
38390 			i_5 = ((NI) 1);
38391 			{
38392 				while (1) {
38393 					tyObject_TType__facALICuu8zUj0hjvbTLFg* param;
38394 					if (!(i_5 < colontmp__2)) goto LA35;
38395 					i_4 = i_5;
38396 					param = (*t).sons->data[i_4];
38397 					{
38398 						if (!((*param).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA38_;
38399 						{
38400 							tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw formalFlags;
38401 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA42_;
38402 							formalFlags = (*(*targetBody).sons->data[(NI)(i_4 - ((NI) 1))]).flags;
38403 							{
38404 								NimStringDesc* T48_;
38405 								if (!!(((formalFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0))) goto LA46_;
38406 								T48_ = NIM_NIL;
38407 								T48_ = rawNewString(((*(*(*param).sym).name).s ? (*(*(*param).sym).name).s->Sup.len : 0) + 51);
38408 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_816));
38409 appendString(T48_, (*(*(*param).sym).name).s);
38410 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_817));
38411 								liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T48_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_818, NIM_FALSE);
38412 							}
38413 							goto LA44_;
38414 							LA46_: ;
38415 							{
38416 								if (!((formalFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0)) goto LA50_;
38417 								(*param).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36)) & 63);
38418 							}
38419 							goto LA44_;
38420 							LA50_: ;
38421 							LA44_: ;
38422 							result = NIM_TRUE;
38423 						}
38424 						goto LA40_;
38425 						LA42_: ;
38426 						{
38427 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formalParam;
38428 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0)) goto LA53_;
38429 							formalParam = (*(*targetBody).sons->data[(NI)(i_4 - ((NI) 1))]).sym;
38430 							{
38431 								NimStringDesc* T59_;
38432 								if (!!((((*(*formalParam).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0))) goto LA57_;
38433 								T59_ = NIM_NIL;
38434 								T59_ = rawNewString(((*(*(*param).sym).name).s ? (*(*(*param).sym).name).s->Sup.len : 0) + 59);
38435 appendString(T59_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_819));
38436 appendString(T59_, (*(*(*param).sym).name).s);
38437 appendString(T59_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_820));
38438 								liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T59_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_821, NIM_FALSE);
38439 							}
38440 							LA57_: ;
38441 							result = NIM_TRUE;
38442 						}
38443 						goto LA40_;
38444 						LA53_: ;
38445 						LA40_: ;
38446 					}
38447 					goto LA36_;
38448 					LA38_: ;
38449 					{
38450 						NIM_BOOL subX60gensym3044_;
38451 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T61_;
38452 						NIM_BOOL T62_;
38453 						nimZeroMem((void*)(&T61_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38454 						T61_.ClP_0 = traverseSubTypes__sem_11752; T61_.ClE_0 = colonenvP_;
38455 						subX60gensym3044_ = T61_.ClE_0? T61_.ClP_0(c, param, T61_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_822)(T61_.ClP_0))(c, param);
38456 						T62_ = (NIM_BOOL)0;
38457 						T62_ = result;
38458 						if (T62_) goto LA63_;
38459 						T62_ = subX60gensym3044_;
38460 						LA63_: ;
38461 						result = T62_;
38462 					}
38463 					LA36_: ;
38464 					i_5 += ((NI) 1);
38465 				} LA35: ;
38466 			}
38467 		}
38468 	}
38469 	break;
38470 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
38471 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
38472 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
38473 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
38474 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
38475 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
38476 	{
38477 		NimStringDesc* T65_;
38478 		NimStringDesc* T66_;
38479 		T65_ = NIM_NIL;
38480 		T66_ = NIM_NIL;
38481 		T66_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38482 		T65_ = rawNewString((T66_ ? T66_->Sup.len : 0) + 63);
38483 appendString(T65_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_823));
38484 appendString(T65_, T66_);
38485 appendString(T65_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
38486 		liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T65_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_824, NIM_FALSE);
38487 	}
38488 	break;
38489 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
38490 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
38491 	{
38492 		liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_825), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_826, NIM_FALSE);
38493 	}
38494 	break;
38495 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
38496 	{
38497 		{
38498 			tyObject_TType__facALICuu8zUj0hjvbTLFg** fieldType;
38499 			NI i_6;
38500 			NI L_2;
38501 			NI T70_;
38502 			fieldType = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
38503 			i_6 = ((NI) 0);
38504 			T70_ = ((*t).sons ? (*t).sons->Sup.len : 0);
38505 			L_2 = T70_;
38506 			{
38507 				while (1) {
38508 					NIM_BOOL subX60gensym3054_;
38509 					tyProc__u9aP1I541s9an9cuSAzDOz9bTg T73_;
38510 					NIM_BOOL T74_;
38511 					if (!(i_6 < L_2)) goto LA72;
38512 					fieldType = &(*t).sons->data[i_6];
38513 					nimZeroMem((void*)(&T73_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38514 					T73_.ClP_0 = traverseSubTypes__sem_11752; T73_.ClE_0 = colonenvP_;
38515 					subX60gensym3054_ = T73_.ClE_0? T73_.ClP_0(c, (*fieldType), T73_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_827)(T73_.ClP_0))(c, (*fieldType));
38516 					T74_ = (NIM_BOOL)0;
38517 					T74_ = result;
38518 					if (T74_) goto LA75_;
38519 					T74_ = subX60gensym3054_;
38520 					LA75_: ;
38521 					result = T74_;
38522 					i_6 += ((NI) 1);
38523 				} LA72: ;
38524 			}
38525 		}
38526 	}
38527 	break;
38528 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
38529 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
38530 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
38531 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
38532 	{
38533 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T82_;
38534 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
38535 		{
38536 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T79_;
38537 			T79_ = NIM_NIL;
38538 			T79_ = base__types_63(t);
38539 			if (!((*T79_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA80_;
38540 			result = NIM_TRUE;
38541 			goto BeforeRet_;
38542 		}
38543 		LA80_: ;
38544 		nimZeroMem((void*)(&T82_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38545 		T82_.ClP_0 = traverseSubTypes__sem_11752; T82_.ClE_0 = colonenvP_;
38546 		T83_ = NIM_NIL;
38547 		T83_ = base__types_63(t);
38548 		result = T82_.ClE_0? T82_.ClP_0(c, T83_, T82_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_828)(T82_.ClP_0))(c, T83_);
38549 		goto BeforeRet_;
38550 	}
38551 	break;
38552 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
38553 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
38554 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
38555 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
38556 	{
38557 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T85_;
38558 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T86_;
38559 		nimZeroMem((void*)(&T85_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38560 		T85_.ClP_0 = traverseSubTypes__sem_11752; T85_.ClE_0 = colonenvP_;
38561 		T86_ = NIM_NIL;
38562 		T86_ = lastSon__ast_3743(t);
38563 		result = T85_.ClE_0? T85_.ClP_0(c, T86_, T85_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_829)(T85_.ClP_0))(c, T86_);
38564 		goto BeforeRet_;
38565 	}
38566 	break;
38567 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
38568 	{
38569 		{
38570 			NimStringDesc* argX60gensym3056_;
38571 			if (!NIM_TRUE) goto LA90_;
38572 			argX60gensym3056_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_830);
38573 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3056_, TM__rF9caJawfOjYTjsgLVUSGFA_830);
38574 		}
38575 		LA90_: ;
38576 	}
38577 	break;
38578 	default:
38579 	{
38580 	}
38581 	break;
38582 	}
38583 	}BeforeRet_: ;
38584 	return result;
38585 }
N_NIMCALL(void,checkCovariantParamsUsages__sem_11743)38586 N_LIB_PRIVATE N_NIMCALL(void, checkCovariantParamsUsages__sem_11743)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* genericType) {
38587 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* colonenv_;
38588 	tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
38589 	NI T1_;
38590 	tyProc__u9aP1I541s9an9cuSAzDOz9bTg T2_;
38591 	NIM_BOOL T3_;
38592 	colonenv_ = NIM_NIL;
38593 	colonenv_ = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*) newObj((&NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_), sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ));
38594 	(*colonenv_).Sup.m_type = (&NTIobject__pOSGedHS6i9aexCYZEItHgQ_);
38595 	asgnRef((void**) (&(*colonenv_).genericType1), genericType);
38596 	T1_ = (NI)0;
38597 	T1_ = len__ast_4002((*colonenv_).genericType1);
38598 	body = (*(*colonenv_).genericType1).sons->data[(NI)(T1_ - ((NI) 1))];
38599 	nimZeroMem((void*)(&T2_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38600 	T2_.ClP_0 = traverseSubTypes__sem_11752; T2_.ClE_0 = colonenv_;
38601 	T3_ = (NIM_BOOL)0;
38602 	T3_ = T2_.ClE_0? T2_.ClP_0(c, body, T2_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_831)(T2_.ClP_0))(c, body);
38603 	(void)(T3_);
38604 }
N_NIMCALL(void,typeSectionRightSidePass__sem_11843)38605 N_LIB_PRIVATE N_NIMCALL(void, typeSectionRightSidePass__sem_11843)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
38606 	{
38607 		NI i;
38608 		NI colontmp_;
38609 		NI i_2;
38610 		i = (NI)0;
38611 		colontmp_ = (NI)0;
38612 		colontmp_ = len__ast_3198(n);
38613 		i_2 = ((NI) 0);
38614 		{
38615 			while (1) {
38616 				if (!(i_2 < colontmp_)) goto LA3;
38617 				i = i_2;
38618 				{
38619 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
38620 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
38621 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
38622 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
38623 					a = (*n)._kind_6.sons->data[i];
38624 					{
38625 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
38626 						goto LA4;
38627 					}
38628 					LA7_: ;
38629 					{
38630 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA11_;
38631 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
38632 					}
38633 					LA11_: ;
38634 					checkSonsLen__semdata_1077(a, ((NI) 3), (*(*c).graph).config);
38635 					name = typeSectionTypeName__sem_11606(c, (*a)._kind_6.sons->data[((NI) 0)]);
38636 					s = (*name)._kind_4.sym;
38637 					{
38638 						NIM_BOOL T15_;
38639 						NimStringDesc* T19_;
38640 						T15_ = (NIM_BOOL)0;
38641 						T15_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
38642 						if (!(T15_)) goto LA16_;
38643 						T15_ = ((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
38644 						LA16_: ;
38645 						if (!T15_) goto LA17_;
38646 						T19_ = NIM_NIL;
38647 						T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
38648 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_803, NIM_FALSE);
38649 					}
38650 					LA17_: ;
38651 					{
38652 						if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA22_;
38653 						processMagicType__sem_6284(c, s);
38654 					}
38655 					LA22_: ;
38656 					{
38657 						tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T28_;
38658 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
38659 						tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
38660 						if (!!(((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA26_;
38661 						T28_ = NIM_NIL;
38662 						T28_ = openScope__lookups_69(c);
38663 						pushOwner__semdata_322(c, s);
38664 						{
38665 							if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA31_;
38666 							(*(*s).typ).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10);
38667 						}
38668 						LA31_: ;
38669 						asgnRef((void**) (&(*(*s).typ).n), semGenericParamList__sem_6334(c, (*a)._kind_6.sons->data[((NI) 1)], (*s).typ));
38670 						asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), (*(*s).typ).n);
38671 						(*(*s).typ).size = IL64(-1);
38672 						T33_ = NIM_NIL;
38673 						T33_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38674 						rawAddSon__ast_4288((*s).typ, T33_, NIM_TRUE);
38675 						asgnRef((void**) (&(*s).ast), a);
38676 						(*c).inGenericContext += ((NI) 1);
38677 						body = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
38678 						(*c).inGenericContext -= ((NI) 1);
38679 						{
38680 							NI T38_;
38681 							if (!!((body == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA36_;
38682 							asgnRef((void**) (&(*body).sym), s);
38683 							(*body).size = IL64(-1);
38684 							T38_ = (NI)0;
38685 							T38_ = len__ast_4002((*s).typ);
38686 							asgnRef((void**) (&(*(*s).typ).sons->data[(NI)(T38_ - ((NI) 1))]), body);
38687 							{
38688 								if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA41_;
38689 								checkCovariantParamsUsages__sem_11743(c, (*s).typ);
38690 								{
38691 									tyObject_TType__facALICuu8zUj0hjvbTLFg* body_2;
38692 									if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA45_;
38693 									body_2 = lastSon__ast_3743((*s).typ);
38694 									{
38695 										if (!((*body_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA49_;
38696 										if ((*(*body_2).n)._kind_6.sons) { nimGCunrefRC1((*(*body_2).n)._kind_6.sons); (*(*body_2).n)._kind_6.sons = NIM_NIL; }
38697 									}
38698 									LA49_: ;
38699 								}
38700 								LA45_: ;
38701 							}
38702 							LA41_: ;
38703 						}
38704 						LA36_: ;
38705 						popOwner__semdata_329(c);
38706 						closeScope__lookups_101(c);
38707 					}
38708 					goto LA24_;
38709 					LA26_: ;
38710 					{
38711 						tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
38712 						if (!!(((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA52_;
38713 						pushOwner__semdata_322(c, s);
38714 						t = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[((NI) 2)], (*s).typ);
38715 						{
38716 							if (!((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA56_;
38717 							asgnRef((void**) (&(*s).typ), t);
38718 						}
38719 						goto LA54_;
38720 						LA56_: ;
38721 						{
38722 							NIM_BOOL T59_;
38723 							NIM_BOOL T61_;
38724 							T59_ = (NIM_BOOL)0;
38725 							T59_ = !((t == (*s).typ));
38726 							if (!(T59_)) goto LA60_;
38727 							T61_ = (NIM_BOOL)0;
38728 							T61_ = ((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
38729 							if (T61_) goto LA62_;
38730 							T61_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4)));
38731 							LA62_: ;
38732 							T59_ = T61_;
38733 							LA60_: ;
38734 							if (!T59_) goto LA63_;
38735 							assignType__ast_3976((*s).typ, t);
38736 						}
38737 						goto LA54_;
38738 						LA63_: ;
38739 						LA54_: ;
38740 						asgnRef((void**) (&(*s).ast), a);
38741 						popOwner__semdata_329(c);
38742 						{
38743 							if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA67_;
38744 							(*(*a)._kind_6.sons->data[((NI) 2)]).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
38745 						}
38746 						LA67_: ;
38747 					}
38748 					goto LA24_;
38749 					LA52_: ;
38750 					LA24_: ;
38751 					{
38752 						NIM_BOOL T71_;
38753 						T71_ = (NIM_BOOL)0;
38754 						T71_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 7))&63U)))!=0);
38755 						if (!(T71_)) goto LA72_;
38756 						T71_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4));
38757 						LA72_: ;
38758 						if (!T71_) goto LA73_;
38759 						liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_832), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_833, NIM_FALSE);
38760 					}
38761 					LA73_: ;
38762 					{
38763 						NIM_BOOL T77_;
38764 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T79_;
38765 						T77_ = (NIM_BOOL)0;
38766 						T77_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32))&63U)))!=0);
38767 						if (!(T77_)) goto LA78_;
38768 						T79_ = NIM_NIL;
38769 						T79_ = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_834);
38770 						T77_ = !(((*T79_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13)));
38771 						LA78_: ;
38772 						if (!T77_) goto LA80_;
38773 						(*(*s).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32)) & 63));
38774 						liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_835), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_836, NIM_FALSE);
38775 					}
38776 					LA80_: ;
38777 					aa = (*a)._kind_6.sons->data[((NI) 2)];
38778 					{
38779 						NIM_BOOL T84_;
38780 						NIM_BOOL T85_;
38781 						NI T87_;
38782 						tyObject_TType__facALICuu8zUj0hjvbTLFg* st;
38783 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* obj;
38784 						NimStringDesc* T104_;
38785 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T105_;
38786 						tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T106_;
38787 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T107_;
38788 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* symNode;
38789 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_;
38790 						T84_ = (NIM_BOOL)0;
38791 						T85_ = (NIM_BOOL)0;
38792 						T85_ = ((*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141) || (*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142));
38793 						if (!(T85_)) goto LA86_;
38794 						T87_ = (NI)0;
38795 						T87_ = len__ast_3198(aa);
38796 						T85_ = (T87_ == ((NI) 1));
38797 						LA86_: ;
38798 						T84_ = T85_;
38799 						if (!(T84_)) goto LA88_;
38800 						T84_ = ((*(*aa)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
38801 						LA88_: ;
38802 						if (!T84_) goto LA89_;
38803 						st = (*s).typ;
38804 						{
38805 							if (!((*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA93_;
38806 							st = lastSon__ast_3743(st);
38807 						}
38808 						LA93_: ;
38809 						{
38810 							NimStringDesc* argX60gensym3101_;
38811 							if (!!(((*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)))) goto LA97_;
38812 							argX60gensym3101_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_837);
38813 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3101_, TM__rF9caJawfOjYTjsgLVUSGFA_837);
38814 						}
38815 						LA97_: ;
38816 						{
38817 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T101_;
38818 							NimStringDesc* argX60gensym3104_;
38819 							T101_ = NIM_NIL;
38820 							T101_ = lastSon__ast_3743(st);
38821 							if (!!(((*T101_).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA102_;
38822 							argX60gensym3104_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_838);
38823 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3104_, TM__rF9caJawfOjYTjsgLVUSGFA_838);
38824 						}
38825 						LA102_: ;
38826 						(*st).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 34)) & 63);
38827 						T104_ = NIM_NIL;
38828 						T104_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 11);
38829 appendString(T104_, (*(*s).name).s);
38830 appendString(T104_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_839));
38831 						T105_ = NIM_NIL;
38832 						T105_ = getIdent__idents_143((*c).cache, T104_);
38833 						T106_ = nextSymId__ast_3132((*c).Sup.idgen);
38834 						T107_ = NIM_NIL;
38835 						T107_ = getCurrOwner__semdata_315(c);
38836 						obj = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T105_, T106_, T107_, (*s).info, 0);
38837 						symNode = newSymNode__ast_3716(obj);
38838 						asgnRef((void**) (&(*obj).ast), shallowCopy__ast_4413(a));
38839 						switch ((*(*a)._kind_6.sons->data[((NI) 0)]).kind) {
38840 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
38841 						{
38842 							asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 0)]), symNode);
38843 						}
38844 						break;
38845 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
38846 						{
38847 							asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 0)]), shallowCopy__ast_4413((*a)._kind_6.sons->data[((NI) 0)]));
38848 							asgnRef((void**) (&(*(*(*obj).ast)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]), symNode);
38849 							asgnRef((void**) (&(*(*(*obj).ast)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]), (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
38850 						}
38851 						break;
38852 						default:
38853 						{
38854 						}
38855 						break;
38856 						}
38857 						asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 1)]), (*a)._kind_6.sons->data[((NI) 1)]);
38858 						asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 2)]), (*(*a)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)]);
38859 						{
38860 							if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA113_;
38861 							(*obj).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11)) & 63);
38862 						}
38863 						LA113_: ;
38864 						asgnRef((void**) (&(*obj).typ), lastSon__ast_3743(st));
38865 						T115_ = NIM_NIL;
38866 						T115_ = lastSon__ast_3743(st);
38867 						asgnRef((void**) (&(*T115_).sym), obj);
38868 					}
38869 					LA89_: ;
38870 				} LA4: ;
38871 				i_2 += ((NI) 1);
38872 			} LA3: ;
38873 		}
38874 	}
38875 }
N_NIMCALL(void,checkMeta__sem_12065)38876 N_LIB_PRIVATE N_NIMCALL(void, checkMeta__sem_12065)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
38877 	{
38878 		NIM_BOOL T3_;
38879 		NIM_BOOL T4_;
38880 		T3_ = (NIM_BOOL)0;
38881 		T4_ = (NIM_BOOL)0;
38882 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
38883 		if (!(T4_)) goto LA5_;
38884 		T4_ = isMetaType__ast_3495(t);
38885 		LA5_: ;
38886 		T3_ = T4_;
38887 		if (!(T3_)) goto LA6_;
38888 		T3_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0));
38889 		LA6_: ;
38890 		if (!T3_) goto LA7_;
38891 		{
38892 			NIM_BOOL T11_;
38893 			NIM_BOOL T12_;
38894 			NI T14_;
38895 			NimStringDesc* T18_;
38896 			NimStringDesc* T19_;
38897 			T11_ = (NIM_BOOL)0;
38898 			T12_ = (NIM_BOOL)0;
38899 			T12_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51));
38900 			if (!(T12_)) goto LA13_;
38901 			T14_ = (NI)0;
38902 			T14_ = len__ast_4002(t);
38903 			T12_ = (T14_ == ((NI) 1));
38904 			LA13_: ;
38905 			T11_ = T12_;
38906 			if (!(T11_)) goto LA15_;
38907 			T11_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
38908 			LA15_: ;
38909 			if (!T11_) goto LA16_;
38910 			T18_ = NIM_NIL;
38911 			T18_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38912 			T19_ = NIM_NIL;
38913 			T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_840), T18_);
38914 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_841, NIM_FALSE);
38915 		}
38916 		goto LA9_;
38917 		LA16_: ;
38918 		{
38919 			NimStringDesc* T21_;
38920 			NimStringDesc* T22_;
38921 			T21_ = NIM_NIL;
38922 			T21_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38923 			T22_ = NIM_NIL;
38924 			T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_551), T21_);
38925 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_842, NIM_FALSE);
38926 		}
38927 		LA9_: ;
38928 	}
38929 	LA7_: ;
38930 }
N_NIMCALL(void,checkForMetaFields__sem_12062)38931 N_LIB_PRIVATE N_NIMCALL(void, checkForMetaFields__sem_12062)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
38932 {	{
38933 		if (!(n == 0)) goto LA3_;
38934 		goto BeforeRet_;
38935 	}
38936 	LA3_: ;
38937 	switch ((*n).kind) {
38938 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
38939 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
38940 	{
38941 		{
38942 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
38943 			s = NIM_NIL;
38944 			{
38945 				NI i;
38946 				NI colontmp_;
38947 				NI i_2;
38948 				i = (NI)0;
38949 				colontmp_ = (NI)0;
38950 				colontmp_ = safeLen__ast_3191(n);
38951 				i_2 = ((NI) 0);
38952 				{
38953 					while (1) {
38954 						if (!(i_2 < colontmp_)) goto LA9;
38955 						i = i_2;
38956 						s = (*n)._kind_6.sons->data[i];
38957 						checkForMetaFields__sem_12062(c, s);
38958 						i_2 += ((NI) 1);
38959 					} LA9: ;
38960 				}
38961 			}
38962 		}
38963 	}
38964 	break;
38965 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
38966 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
38967 	{
38968 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
38969 		T11_ = NIM_NIL;
38970 		T11_ = lastSon__ast_4832(n);
38971 		checkForMetaFields__sem_12062(c, T11_);
38972 	}
38973 	break;
38974 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
38975 	{
38976 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
38977 		t = (*(*n)._kind_4.sym).typ;
38978 		switch ((*t).kind) {
38979 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
38980 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
38981 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
38982 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
38983 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
38984 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
38985 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
38986 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
38987 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
38988 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
38989 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
38990 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
38991 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
38992 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
38993 		{
38994 			NI start;
38995 			start = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
38996 			{
38997 				NI i_3;
38998 				NI colontmp__2;
38999 				NI i_4;
39000 				i_3 = (NI)0;
39001 				colontmp__2 = (NI)0;
39002 				colontmp__2 = len__ast_4002(t);
39003 				i_4 = start;
39004 				{
39005 					while (1) {
39006 						if (!(i_4 < colontmp__2)) goto LA16;
39007 						i_3 = i_4;
39008 						checkMeta__sem_12065(c, n, (*t).sons->data[i_3]);
39009 						i_4 += ((NI) 1);
39010 					} LA16: ;
39011 				}
39012 			}
39013 		}
39014 		break;
39015 		default:
39016 		{
39017 			checkMeta__sem_12065(c, n, t);
39018 		}
39019 		break;
39020 		}
39021 	}
39022 	break;
39023 	default:
39024 	{
39025 		{
39026 			NimStringDesc* argX60gensym3136_;
39027 			if (!NIM_TRUE) goto LA21_;
39028 			argX60gensym3136_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_843);
39029 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3136_, TM__rF9caJawfOjYTjsgLVUSGFA_843);
39030 		}
39031 		LA21_: ;
39032 	}
39033 	break;
39034 	}
39035 	}BeforeRet_: ;
39036 }
N_NIMCALL(void,typeSectionFinalPass__sem_12118)39037 N_LIB_PRIVATE N_NIMCALL(void, typeSectionFinalPass__sem_12118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39038 	{
39039 		NI i;
39040 		NI colontmp_;
39041 		NI i_2;
39042 		i = (NI)0;
39043 		colontmp_ = (NI)0;
39044 		colontmp_ = len__ast_3198(n);
39045 		i_2 = ((NI) 0);
39046 		{
39047 			while (1) {
39048 				if (!(i_2 < colontmp_)) goto LA3;
39049 				i = i_2;
39050 				{
39051 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
39052 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
39053 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
39054 					a = (*n)._kind_6.sons->data[i];
39055 					{
39056 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
39057 						goto LA4;
39058 					}
39059 					LA7_: ;
39060 					name = typeSectionTypeName__sem_11606(c, (*a)._kind_6.sons->data[((NI) 0)]);
39061 					s = (*name)._kind_4.sym;
39062 					{
39063 						NIM_BOOL T11_;
39064 						T11_ = (NIM_BOOL)0;
39065 						T11_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
39066 						if (!(T11_)) goto LA12_;
39067 						T11_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
39068 						LA12_: ;
39069 						if (!T11_) goto LA13_;
39070 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
39071 					}
39072 					LA13_: ;
39073 					{
39074 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
39075 						if (!((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA17_;
39076 						x = (*a)._kind_6.sons->data[((NI) 2)];
39077 						{
39078 							NIM_BOOL T21_;
39079 							T21_ = (NIM_BOOL)0;
39080 							T21_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
39081 							if (!(T21_)) goto LA22_;
39082 							T21_ = (((*x).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
39083 							LA22_: ;
39084 							if (!T21_) goto LA23_;
39085 						}
39086 						goto LA19_;
39087 						LA23_: ;
39088 						{
39089 							{
39090 								while (1) {
39091 									NIM_BOOL T28_;
39092 									NI T30_;
39093 									T28_ = (NIM_BOOL)0;
39094 									T28_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
39095 									if (!(T28_)) goto LA29_;
39096 									T30_ = (NI)0;
39097 									T30_ = len__ast_3198(x);
39098 									T28_ = (((NI) 0) < T30_);
39099 									LA29_: ;
39100 									if (!T28_) goto LA27;
39101 									x = lastSon__ast_4832(x);
39102 								} LA27: ;
39103 							}
39104 							{
39105 								NIM_BOOL T33_;
39106 								tyObject_TType__facALICuu8zUj0hjvbTLFg* T35_;
39107 								tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
39108 								T33_ = (NIM_BOOL)0;
39109 								T33_ = !(((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
39110 								if (!(T33_)) goto LA34_;
39111 								T35_ = NIM_NIL;
39112 								T35_ = safeSkipTypes__types_3552((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
39113 								T33_ = !(((*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)));
39114 								LA34_: ;
39115 								if (!T33_) goto LA36_;
39116 								t = semTypeNode__sem_80(c, x, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39117 								{
39118 									NIM_BOOL T40_;
39119 									T40_ = (NIM_BOOL)0;
39120 									T40_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
39121 									if (!(T40_)) goto LA41_;
39122 									T40_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
39123 									LA41_: ;
39124 									if (!T40_) goto LA42_;
39125 									{
39126 										NIM_BOOL T46_;
39127 										NIM_BOOL T48_;
39128 										T46_ = (NIM_BOOL)0;
39129 										T46_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
39130 										if (!(T46_)) goto LA47_;
39131 										T48_ = (NIM_BOOL)0;
39132 										T48_ = isMetaType__ast_3495(t);
39133 										T46_ = !(T48_);
39134 										LA47_: ;
39135 										if (!T46_) goto LA49_;
39136 										assignType__ast_3976((*s).typ, t);
39137 										(*(*s).typ).Sup.itemId = (*t).Sup.itemId;
39138 									}
39139 									goto LA44_;
39140 									LA49_: ;
39141 									{
39142 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA52_;
39143 										assignType__ast_3976((*s).typ, t);
39144 										(*(*s).typ).Sup.itemId = (*t).Sup.itemId;
39145 									}
39146 									goto LA44_;
39147 									LA52_: ;
39148 									LA44_: ;
39149 								}
39150 								LA42_: ;
39151 							}
39152 							LA36_: ;
39153 							checkConstructedType__semtypinst_26((*(*c).graph).config, (*s).info, (*s).typ);
39154 							{
39155 								NIM_BOOL T56_;
39156 								T56_ = (NIM_BOOL)0;
39157 								T56_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
39158 								if (!(T56_)) goto LA57_;
39159 								T56_ = !(((*(*s).typ).n == 0));
39160 								LA57_: ;
39161 								if (!T56_) goto LA58_;
39162 								checkForMetaFields__sem_12062(c, (*(*s).typ).n);
39163 							}
39164 							LA58_: ;
39165 							{
39166 								NIM_BOOL T62_;
39167 								NIM_BOOL T64_;
39168 								T62_ = (NIM_BOOL)0;
39169 								T62_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
39170 								if (!(T62_)) goto LA63_;
39171 								T64_ = (NIM_BOOL)0;
39172 								T64_ = isTopLevel__semdata_1091(c);
39173 								T62_ = !(T64_);
39174 								LA63_: ;
39175 								if (!T62_) goto LA65_;
39176 								(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
39177 							}
39178 							LA65_: ;
39179 						}
39180 						LA19_: ;
39181 					}
39182 					LA17_: ;
39183 				} LA4: ;
39184 				i_2 += ((NI) 1);
39185 			} LA3: ;
39186 		}
39187 	}
39188 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTypeSection__sem_12312)39189 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeSection__sem_12312)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39190 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39191 	result = NIM_NIL;
39192 	{
39193 		NIM_BOOL T3_;
39194 		T3_ = (NIM_BOOL)0;
39195 		T3_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
39196 		if (T3_) goto LA4_;
39197 		T3_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0));
39198 		LA4_: ;
39199 		if (!T3_) goto LA5_;
39200 		(*c).inTypeContext += ((NI) 1);
39201 		typeSectionLeftSidePass__sem_11722(c, n);
39202 		typeSectionRightSidePass__sem_11843(c, n);
39203 		typeSectionFinalPass__sem_12118(c, n);
39204 		(*c).inTypeContext -= ((NI) 1);
39205 	}
39206 	LA5_: ;
39207 	result = n;
39208 	return result;
39209 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDiscard__sem_9153)39210 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDiscard__sem_9153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39211 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39212 	result = NIM_NIL;
39213 	result = n;
39214 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
39215 	{
39216 		tyObject_TType__facALICuu8zUj0hjvbTLFg* sonType;
39217 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw sonKind;
39218 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
39219 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
39220 		sonType = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
39221 		sonKind = (*(*n)._kind_6.sons->data[((NI) 0)]).kind;
39222 		{
39223 			NIM_BOOL T7_;
39224 			NIM_BOOL T8_;
39225 			T7_ = (NIM_BOOL)0;
39226 			T8_ = (NIM_BOOL)0;
39227 			T8_ = isEmptyType__ast_4779(sonType);
39228 			if (T8_) goto LA9_;
39229 			T8_ = ((*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0) || (*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
39230 			LA9_: ;
39231 			T7_ = T8_;
39232 			if (T7_) goto LA10_;
39233 			T7_ = (sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132));
39234 			LA10_: ;
39235 			if (!T7_) goto LA11_;
39236 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_844), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_845, NIM_FALSE);
39237 		}
39238 		LA11_: ;
39239 		{
39240 			NIM_BOOL T15_;
39241 			NimStringDesc* T19_;
39242 			NimStringDesc* T20_;
39243 			T15_ = (NIM_BOOL)0;
39244 			T15_ = ((*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
39245 			if (!(T15_)) goto LA16_;
39246 			T15_ = !((sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32)));
39247 			LA16_: ;
39248 			if (!T15_) goto LA17_;
39249 			T19_ = NIM_NIL;
39250 			T20_ = NIM_NIL;
39251 			T20_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 0)]);
39252 			T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 38);
39253 appendString(T19_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_846));
39254 appendString(T19_, T20_);
39255 appendString(T19_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
39256 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_847, NIM_FALSE);
39257 		}
39258 		LA17_: ;
39259 	}
39260 	LA3_: ;
39261 	return result;
39262 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semWhile__sem_9234)39263 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhile__sem_9234)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39264 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39265 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
39266 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
39267 	result = NIM_NIL;
39268 	result = n;
39269 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
39270 	T1_ = NIM_NIL;
39271 	T1_ = openScope__lookups_69(c);
39272 	T2_ = NIM_NIL;
39273 	T2_ = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
39274 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T2_));
39275 	(*(*c).p).nestedLoopCounter += ((NI) 1);
39276 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semStmt__sem_84(c, (*n)._kind_6.sons->data[((NI) 1)], flags));
39277 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
39278 	closeScope__lookups_101(c);
39279 	{
39280 		if (!((*(*n)._kind_6.sons->data[((NI) 1)]).typ == (*c).enforceVoidContext)) goto LA5_;
39281 		asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
39282 	}
39283 	goto LA3_;
39284 	LA5_: ;
39285 	{
39286 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0)) goto LA8_;
39287 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
39288 	}
39289 	goto LA3_;
39290 	LA8_: ;
39291 	LA3_: ;
39292 	return result;
39293 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTry__sem_9422)39294 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTry__sem_9422)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39295 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39296 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
39297 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
39298 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
39299 	NI last;
39300 	NI T2_;
39301 	NI catchAllExcepts;
39302 	result = NIM_NIL;
39303 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
39304 	initIntSet__pureZcollectionsZintsets_238((&check));
39305 	result = n;
39306 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
39307 	T1_ = NIM_NIL;
39308 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
39309 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
39310 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
39311 	typ = T1_;
39312 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*n)._kind_6.sons->data[((NI) 0)]));
39313 	typ = commonType__sem_237(c, typ, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
39314 	T2_ = (NI)0;
39315 	T2_ = len__ast_3198(n);
39316 	last = (NI)(T2_ - ((NI) 1));
39317 	catchAllExcepts = ((NI) 0);
39318 	{
39319 		NI i;
39320 		NI res;
39321 		i = (NI)0;
39322 		res = ((NI) 1);
39323 		{
39324 			while (1) {
39325 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
39326 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T6_;
39327 				NI T98_;
39328 				NI T99_;
39329 				if (!(res <= last)) goto LA5;
39330 				i = res;
39331 				a = (*n)._kind_6.sons->data[i];
39332 				checkMinSonsLen__semdata_1084(a, ((NI) 1), (*(*c).graph).config);
39333 				T6_ = NIM_NIL;
39334 				T6_ = openScope__lookups_69(c);
39335 				{
39336 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA9_;
39337 					{
39338 						NIM_BOOL T13_;
39339 						NI T14_;
39340 						tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T18_;
39341 						T13_ = (NIM_BOOL)0;
39342 						T14_ = (NI)0;
39343 						T14_ = len__ast_3198(a);
39344 						T13_ = (T14_ == ((NI) 2));
39345 						if (!(T13_)) goto LA15_;
39346 						T13_ = ((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
39347 						LA15_: ;
39348 						if (!T13_) goto LA16_;
39349 						T18_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 0));
39350 						X5BX5Deq___pragmas_1672((&(*a)._kind_6.sons), T18_, (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data, ((*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons ? (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->Sup.len : 0));
39351 					}
39352 					LA16_: ;
39353 					{
39354 						NIM_BOOL T21_;
39355 						NI T22_;
39356 						NIM_BOOL isImported;
39357 						tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym2355_;
39358 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T26_;
39359 						NIM_BOOL isImportedX60gensym2355_;
39360 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symbol;
39361 						T21_ = (NIM_BOOL)0;
39362 						T22_ = (NI)0;
39363 						T22_ = len__ast_3198(a);
39364 						T21_ = (T22_ == ((NI) 2));
39365 						if (!(T21_)) goto LA23_;
39366 						T21_ = isInfixAs__ast_4935((*a)._kind_6.sons->data[((NI) 0)]);
39367 						LA23_: ;
39368 						if (!T21_) goto LA24_;
39369 						T26_ = NIM_NIL;
39370 						T26_ = semTypeNode__sem_80(c, (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39371 						typX60gensym2355_ = toObject__ast_4879(T26_);
39372 						isImportedX60gensym2355_ = NIM_FALSE;
39373 						{
39374 							NIM_BOOL T29_;
39375 							T29_ = (NIM_BOOL)0;
39376 							T29_ = isImportedException__ast_4904(typX60gensym2355_, (*(*c).graph).config);
39377 							if (!T29_) goto LA30_;
39378 							isImportedX60gensym2355_ = NIM_TRUE;
39379 						}
39380 						goto LA27_;
39381 						LA30_: ;
39382 						{
39383 							NIM_BOOL T33_;
39384 							T33_ = (NIM_BOOL)0;
39385 							T33_ = isException__types_4000(typX60gensym2355_);
39386 							if (!!(T33_)) goto LA34_;
39387 							liMessage__msgs_1118((*(*c).graph).config, (*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_751), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_848, NIM_FALSE);
39388 						}
39389 						goto LA27_;
39390 						LA34_: ;
39391 						LA27_: ;
39392 						{
39393 							tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym2360_;
39394 							NIM_BOOL T38_;
39395 							xX60gensym2360_ = typX60gensym2355_;
39396 							T38_ = (NIM_BOOL)0;
39397 							T38_ = containsOrIncl__astalgo_402((&check), (NI)((NI)((NU64)(((NI) ((*xX60gensym2360_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2360_).Sup.itemId.item))));
39398 							if (!T38_) goto LA39_;
39399 							liMessage__msgs_1118((*(*c).graph).config, (*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_849), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_850, NIM_FALSE);
39400 						}
39401 						LA39_: ;
39402 						asgnRef((void**) (&(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]), newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).info, typX60gensym2355_));
39403 						isImported = isImportedX60gensym2355_;
39404 						symbol = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 2)], c);
39405 						{
39406 							if (!isImported) goto LA43_;
39407 							asgnRef((void**) (&(*symbol).typ), (*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).typ);
39408 						}
39409 						goto LA41_;
39410 						LA43_: ;
39411 						{
39412 							asgnRef((void**) (&(*symbol).typ), toRef__ast_4871((*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).typ, (*c).Sup.idgen));
39413 						}
39414 						LA41_: ;
39415 						addDecl__lookups_845(c, symbol);
39416 						asgnRef((void**) (&(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 2)]), newSymNode__ast_3719(symbol, (*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 2)]).info));
39417 					}
39418 					goto LA19_;
39419 					LA24_: ;
39420 					{
39421 						NI T47_;
39422 						T47_ = (NI)0;
39423 						T47_ = len__ast_3198(a);
39424 						if (!(T47_ == ((NI) 1))) goto LA48_;
39425 						catchAllExcepts += ((NI) 1);
39426 					}
39427 					goto LA19_;
39428 					LA48_: ;
39429 					{
39430 						NIM_BOOL isNative;
39431 						NIM_BOOL isImported_2;
39432 						{
39433 							if (!(((NI) 0) < catchAllExcepts)) goto LA53_;
39434 							catchAllExcepts += ((NI) 1);
39435 						}
39436 						LA53_: ;
39437 						isNative = (NIM_BOOL)0;
39438 						isImported_2 = (NIM_BOOL)0;
39439 						{
39440 							NI j;
39441 							NI colontmp_;
39442 							NI T56_;
39443 							NI i_2;
39444 							j = (NI)0;
39445 							colontmp_ = (NI)0;
39446 							T56_ = (NI)0;
39447 							T56_ = len__ast_3198(a);
39448 							colontmp_ = (NI)(T56_ - ((NI) 1));
39449 							i_2 = ((NI) 0);
39450 							{
39451 								while (1) {
39452 									NIM_BOOL tmp;
39453 									tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym2376_;
39454 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
39455 									NIM_BOOL isImportedX60gensym2376_;
39456 									if (!(i_2 < colontmp_)) goto LA58;
39457 									j = i_2;
39458 									T59_ = NIM_NIL;
39459 									T59_ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[j], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39460 									typX60gensym2376_ = toObject__ast_4879(T59_);
39461 									isImportedX60gensym2376_ = NIM_FALSE;
39462 									{
39463 										NIM_BOOL T62_;
39464 										T62_ = (NIM_BOOL)0;
39465 										T62_ = isImportedException__ast_4904(typX60gensym2376_, (*(*c).graph).config);
39466 										if (!T62_) goto LA63_;
39467 										isImportedX60gensym2376_ = NIM_TRUE;
39468 									}
39469 									goto LA60_;
39470 									LA63_: ;
39471 									{
39472 										NIM_BOOL T66_;
39473 										T66_ = (NIM_BOOL)0;
39474 										T66_ = isException__types_4000(typX60gensym2376_);
39475 										if (!!(T66_)) goto LA67_;
39476 										liMessage__msgs_1118((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_751), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_848, NIM_FALSE);
39477 									}
39478 									goto LA60_;
39479 									LA67_: ;
39480 									LA60_: ;
39481 									{
39482 										tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym2381_;
39483 										NIM_BOOL T71_;
39484 										xX60gensym2381_ = typX60gensym2376_;
39485 										T71_ = (NIM_BOOL)0;
39486 										T71_ = containsOrIncl__astalgo_402((&check), (NI)((NI)((NU64)(((NI) ((*xX60gensym2381_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2381_).Sup.itemId.item))));
39487 										if (!T71_) goto LA72_;
39488 										liMessage__msgs_1118((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_849), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_850, NIM_FALSE);
39489 									}
39490 									LA72_: ;
39491 									asgnRef((void**) (&(*a)._kind_6.sons->data[j]), newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*(*a)._kind_6.sons->data[j]).info, typX60gensym2376_));
39492 									tmp = isImportedX60gensym2376_;
39493 									{
39494 										if (!tmp) goto LA76_;
39495 										isImported_2 = NIM_TRUE;
39496 									}
39497 									goto LA74_;
39498 									LA76_: ;
39499 									{
39500 										isNative = NIM_TRUE;
39501 									}
39502 									LA74_: ;
39503 									i_2 += ((NI) 1);
39504 								} LA58: ;
39505 							}
39506 						}
39507 						{
39508 							NIM_BOOL T81_;
39509 							T81_ = (NIM_BOOL)0;
39510 							T81_ = isNative;
39511 							if (!(T81_)) goto LA82_;
39512 							T81_ = isImported_2;
39513 							LA82_: ;
39514 							if (!T81_) goto LA83_;
39515 							liMessage__msgs_1118((*(*c).graph).config, (*(*a)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_851), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_852, NIM_FALSE);
39516 						}
39517 						LA83_: ;
39518 					}
39519 					LA19_: ;
39520 				}
39521 				goto LA7_;
39522 				LA9_: ;
39523 				{
39524 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA86_;
39525 					{
39526 						NI T90_;
39527 						T90_ = (NI)0;
39528 						T90_ = len__ast_3198(n);
39529 						if (!!((i == (NI)(T90_ - ((NI) 1))))) goto LA91_;
39530 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_853), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_854, NIM_FALSE);
39531 					}
39532 					LA91_: ;
39533 				}
39534 				goto LA7_;
39535 				LA86_: ;
39536 				{
39537 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
39538 				}
39539 				LA7_: ;
39540 				{
39541 					if (!(((NI) 1) < catchAllExcepts)) goto LA96_;
39542 					liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_855), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_856, NIM_FALSE);
39543 				}
39544 				LA96_: ;
39545 				T98_ = (NI)0;
39546 				T98_ = len__ast_3198(a);
39547 				T99_ = (NI)0;
39548 				T99_ = len__ast_3198(a);
39549 				asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T98_ - ((NI) 1))]), semExprBranchScope__sem_9277(c, (*a)._kind_6.sons->data[(NI)(T99_ - ((NI) 1))]));
39550 				{
39551 					NI T104_;
39552 					if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA102_;
39553 					T104_ = (NI)0;
39554 					T104_ = len__ast_3198(a);
39555 					typ = commonType__sem_448(c, typ, (*a)._kind_6.sons->data[(NI)(T104_ - ((NI) 1))]);
39556 				}
39557 				goto LA100_;
39558 				LA102_: ;
39559 				{
39560 					last -= ((NI) 1);
39561 				}
39562 				LA100_: ;
39563 				closeScope__lookups_101(c);
39564 				res += ((NI) 1);
39565 			} LA5: ;
39566 		}
39567 	}
39568 	{
39569 		NIM_BOOL T108_;
39570 		T108_ = (NIM_BOOL)0;
39571 		T108_ = isEmptyType__ast_4779(typ);
39572 		if (T108_) goto LA109_;
39573 		T108_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
39574 		LA109_: ;
39575 		if (!T108_) goto LA110_;
39576 		discardCheck__sem_9323(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
39577 		{
39578 			NI i_3;
39579 			NI colontmp__2;
39580 			NI i_4;
39581 			i_3 = (NI)0;
39582 			colontmp__2 = (NI)0;
39583 			colontmp__2 = len__ast_3198(n);
39584 			i_4 = ((NI) 1);
39585 			{
39586 				while (1) {
39587 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T115_;
39588 					if (!(i_4 < colontmp__2)) goto LA114;
39589 					i_3 = i_4;
39590 					T115_ = NIM_NIL;
39591 					T115_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
39592 					discardCheck__sem_9323(c, T115_, flags);
39593 					i_4 += ((NI) 1);
39594 				} LA114: ;
39595 			}
39596 		}
39597 		{
39598 			if (!(typ == (*c).enforceVoidContext)) goto LA118_;
39599 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
39600 		}
39601 		LA118_: ;
39602 	}
39603 	goto LA106_;
39604 	LA110_: ;
39605 	{
39606 		{
39607 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T123_;
39608 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
39609 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T127_;
39610 			T123_ = NIM_NIL;
39611 			T123_ = lastSon__ast_4832(n);
39612 			if (!((*T123_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA124_;
39613 			T126_ = NIM_NIL;
39614 			T126_ = lastSon__ast_4832(n);
39615 			T127_ = NIM_NIL;
39616 			T127_ = lastSon__ast_4832(T126_);
39617 			discardCheck__sem_9323(c, T127_, flags);
39618 		}
39619 		LA124_: ;
39620 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), fitNode__sem_70(c, typ, (*n)._kind_6.sons->data[((NI) 0)], (*(*n)._kind_6.sons->data[((NI) 0)]).info));
39621 		{
39622 			NI i_5;
39623 			NI res_2;
39624 			i_5 = (NI)0;
39625 			res_2 = ((NI) 1);
39626 			{
39627 				while (1) {
39628 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
39629 					NI j_2;
39630 					NI T131_;
39631 					if (!(res_2 <= last)) goto LA130;
39632 					i_5 = res_2;
39633 					it = (*n)._kind_6.sons->data[i_5];
39634 					T131_ = (NI)0;
39635 					T131_ = len__ast_3198(it);
39636 					j_2 = (NI)(T131_ - ((NI) 1));
39637 					{
39638 						NIM_BOOL T134_;
39639 						T134_ = (NIM_BOOL)0;
39640 						T134_ = endsInNoReturn__sem_416((*it)._kind_6.sons->data[j_2]);
39641 						if (!!(T134_)) goto LA135_;
39642 						asgnRef((void**) (&(*it)._kind_6.sons->data[j_2]), fitNode__sem_70(c, typ, (*it)._kind_6.sons->data[j_2], (*(*it)._kind_6.sons->data[j_2]).info));
39643 					}
39644 					LA135_: ;
39645 					res_2 += ((NI) 1);
39646 				} LA130: ;
39647 			}
39648 		}
39649 		asgnRef((void**) (&(*result).typ), typ);
39650 	}
39651 	LA106_: ;
39652 	return result;
39653 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBreakOrContinue__sem_9185)39654 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBreakOrContinue__sem_9185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39655 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39656 	result = NIM_NIL;
39657 	result = n;
39658 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
39659 	{
39660 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
39661 		{
39662 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
39663 			if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111)))) goto LA7_;
39664 			s = NIM_NIL;
39665 			switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
39666 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
39667 			{
39668 				s = lookUp__lookups_1211(c, (*n)._kind_6.sons->data[((NI) 0)]);
39669 			}
39670 			break;
39671 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
39672 			{
39673 				s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
39674 			}
39675 			break;
39676 			default:
39677 			{
39678 				illFormedAst__semdata_1071(n, (*(*c).graph).config);
39679 			}
39680 			break;
39681 			}
39682 			s = getGenSym__semdata_408(c, s);
39683 			{
39684 				NIM_BOOL T14_;
39685 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2275_;
39686 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2276_;
39687 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
39688 				T14_ = (NIM_BOOL)0;
39689 				T14_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22));
39690 				if (!(T14_)) goto LA15_;
39691 				xX60gensym2275_ = (*s).owner;
39692 				xX60gensym2276_ = (*(*c).p).owner;
39693 				T14_ = ((NI)((NI)((NU64)(((NI) ((*xX60gensym2275_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2275_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym2276_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2276_).Sup.itemId.item))));
39694 				LA15_: ;
39695 				if (!T14_) goto LA16_;
39696 				x = newSymNode__ast_3716(s);
39697 				(*x).info = (*n).info;
39698 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
39699 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), x);
39700 				suggestSym__sigmatch_5375((*c).graph, (*x).info, s, &(*(*c).graph).usageSym, NIM_TRUE);
39701 			}
39702 			goto LA12_;
39703 			LA16_: ;
39704 			{
39705 				NimStringDesc* T19_;
39706 				T19_ = NIM_NIL;
39707 				T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_857), (*(*s).name).s);
39708 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_858, NIM_FALSE);
39709 			}
39710 			LA12_: ;
39711 		}
39712 		goto LA5_;
39713 		LA7_: ;
39714 		{
39715 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_859), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_860, NIM_FALSE);
39716 		}
39717 		LA5_: ;
39718 	}
39719 	goto LA1_;
39720 	LA3_: ;
39721 	{
39722 		NIM_BOOL T22_;
39723 		NIM_BOOL T24_;
39724 		NimStringDesc* T28_;
39725 		NimStringDesc* T29_;
39726 		T22_ = (NIM_BOOL)0;
39727 		T22_ = ((*(*c).p).nestedLoopCounter <= ((NI) 0));
39728 		if (!(T22_)) goto LA23_;
39729 		T24_ = (NIM_BOOL)0;
39730 		T24_ = ((*(*c).p).nestedBlockCounter <= ((NI) 0));
39731 		if (T24_) goto LA25_;
39732 		T24_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111));
39733 		LA25_: ;
39734 		T22_ = T24_;
39735 		LA23_: ;
39736 		if (!T22_) goto LA26_;
39737 		T28_ = NIM_NIL;
39738 		T28_ = renderTree__renderer_46(n, 4);
39739 		T29_ = NIM_NIL;
39740 		T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_857), T28_);
39741 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_861, NIM_FALSE);
39742 	}
39743 	goto LA1_;
39744 	LA26_: ;
39745 	LA1_: ;
39746 	return result;
39747 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleStmtMacro__sem_11247)39748 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleStmtMacro__sem_11247)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* selector, NimStringDesc* magicType, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39749 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39750 {	result = NIM_NIL;
39751 	{
39752 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* maType;
39753 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol;
39754 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
39755 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* match;
39756 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
39757 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callExpr;
39758 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
39759 		if (!((*selector).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*selector).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*selector).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*selector).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*selector).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*selector).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*selector).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA3_;
39760 		maType = getCompilerProc__magicsys_145((*c).graph, magicType);
39761 		{
39762 			if (!(maType == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA7_;
39763 			goto BeforeRet_;
39764 		}
39765 		LA7_: ;
39766 		headSymbol = (*selector)._kind_6.sons->data[((NI) 0)];
39767 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
39768 		match = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
39769 		symx = initOverloadIter__lookups_1374((&o), c, headSymbol);
39770 		{
39771 			while (1) {
39772 				if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10;
39773 				{
39774 					if (!((393216 &((NU32)1<<((NU)((*symx).kind)&31U)))!=0)) goto LA13_;
39775 					{
39776 						NIM_BOOL T17_;
39777 						NI T18_;
39778 						T17_ = (NIM_BOOL)0;
39779 						T18_ = (NI)0;
39780 						T18_ = len__ast_4002((*symx).typ);
39781 						T17_ = (T18_ == ((NI) 2));
39782 						if (!(T17_)) goto LA19_;
39783 						T17_ = ((*(*symx).typ).sons->data[((NI) 1)] == (*maType).typ);
39784 						LA19_: ;
39785 						if (!T17_) goto LA20_;
39786 						{
39787 							if (!(match == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA24_;
39788 							match = symx;
39789 						}
39790 						goto LA22_;
39791 						LA24_: ;
39792 						{
39793 							tyArray__24KAM9afIUgUaqBaEBB6r9bg T27_;
39794 							NimStringDesc* T28_;
39795 							nimZeroMem((void*)T27_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
39796 							T27_[0] = getProcHeader__types_222((*(*c).graph).config, match, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
39797 							T27_[1] = getProcHeader__types_222((*(*c).graph).config, symx, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
39798 							T27_[2] = dollar___renderer_2106(selector);
39799 							T28_ = NIM_NIL;
39800 							T28_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_426), T27_, 3);
39801 							liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_862, NIM_FALSE);
39802 						}
39803 						LA22_: ;
39804 					}
39805 					LA20_: ;
39806 				}
39807 				LA13_: ;
39808 				symx = nextOverloadIter__lookups_1528((&o), c, headSymbol);
39809 			} LA10: ;
39810 		}
39811 		{
39812 			if (!(match == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA31_;
39813 			goto BeforeRet_;
39814 		}
39815 		LA31_: ;
39816 		callExpr = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
39817 		T33_ = NIM_NIL;
39818 		T33_ = newSymNode__ast_3716(match);
39819 		add__ast_4797(callExpr, T33_);
39820 		add__ast_4797(callExpr, n);
39821 		switch ((*match).kind) {
39822 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
39823 		{
39824 			result = semMacroExpr__sem_524(c, callExpr, callExpr, match, flags);
39825 		}
39826 		break;
39827 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
39828 		{
39829 			result = semTemplateExpr__sem_519(c, callExpr, match, flags);
39830 		}
39831 		break;
39832 		default:
39833 		{
39834 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
39835 		}
39836 		break;
39837 		}
39838 	}
39839 	LA3_: ;
39840 	}BeforeRet_: ;
39841 	return result;
39842 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleForLoopMacro__sem_11301)39843 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleForLoopMacro__sem_11301)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39844 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39845 	NI T1_;
39846 	result = NIM_NIL;
39847 	T1_ = (NI)0;
39848 	T1_ = len__ast_3198(n);
39849 	result = handleStmtMacro__sem_11247(c, n, (*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 2))], ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_863), flags);
39850 	return result;
39851 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprNoDeref__sem_63)39852 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoDeref__sem_63)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39853 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39854 	result = NIM_NIL;
39855 	result = semExprCheck__sem_13933(c, n, flags);
39856 	{
39857 		NimStringDesc* T5_;
39858 		NimStringDesc* T6_;
39859 		if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
39860 		T5_ = NIM_NIL;
39861 		T5_ = renderTree__renderer_46(result, 4);
39862 		T6_ = NIM_NIL;
39863 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T5_);
39864 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_865, NIM_FALSE);
39865 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
39866 	}
39867 	LA3_: ;
39868 	return result;
39869 }
N_NIMCALL(NIM_BOOL,isTrivalStmtExpr__sem_11231)39870 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrivalStmtExpr__sem_11231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39871 	NIM_BOOL result;
39872 {	result = (NIM_BOOL)0;
39873 	{
39874 		NI i;
39875 		NI colontmp_;
39876 		NI T2_;
39877 		NI i_2;
39878 		i = (NI)0;
39879 		colontmp_ = (NI)0;
39880 		T2_ = (NI)0;
39881 		T2_ = len__ast_3198(n);
39882 		colontmp_ = (NI)(T2_ - ((NI) 1));
39883 		i_2 = ((NI) 0);
39884 		{
39885 			while (1) {
39886 				if (!(i_2 < colontmp_)) goto LA4;
39887 				i = i_2;
39888 				{
39889 					if (!!(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125)))) goto LA7_;
39890 					result = NIM_FALSE;
39891 					goto BeforeRet_;
39892 				}
39893 				LA7_: ;
39894 				i_2 += ((NI) 1);
39895 			} LA4: ;
39896 		}
39897 	}
39898 	result = NIM_TRUE;
39899 	}BeforeRet_: ;
39900 	return result;
39901 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symForVar__sem_10945)39902 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symForVar__sem_10945)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39903 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
39904 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
39905 	result = NIM_NIL;
39906 	{
39907 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
39908 		m = (*n)._kind_6.sons->data[((NI) 0)];
39909 	}
39910 	goto LA1_;
39911 	LA3_: ;
39912 	{
39913 		m = n;
39914 	}
39915 	LA1_: ;
39916 	result = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21), m, c);
39917 	{
39918 		NIM_BOOL T8_;
39919 		T8_ = (NIM_BOOL)0;
39920 		T8_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
39921 		if (!(T8_)) goto LA9_;
39922 		T8_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
39923 		LA9_: ;
39924 		if (!T8_) goto LA10_;
39925 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*result).info, result, (*result).kind);
39926 	}
39927 	LA10_: ;
39928 	{
39929 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA14_;
39930 		pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_868, NIM_FALSE);
39931 	}
39932 	LA14_: ;
39933 	return result;
39934 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semForVars__sem_10972)39935 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForVars__sem_10972)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39936 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39937 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iterBase;
39938 	NI T1_;
39939 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iter;
39940 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iterAfterVarLent;
39941 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T138_;
39942 	NI T139_;
39943 	NI T140_;
39944 {	result = NIM_NIL;
39945 	result = n;
39946 	T1_ = (NI)0;
39947 	T1_ = len__ast_3198(n);
39948 	iterBase = (*(*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 2))]).typ;
39949 	iter = skipTypes__ast_3735(iterBase, TM__rF9caJawfOjYTjsgLVUSGFA_39);
39950 	iterAfterVarLent = skipTypes__ast_3735(iter, TM__rF9caJawfOjYTjsgLVUSGFA_866);
39951 	{
39952 		NIM_BOOL T4_;
39953 		NI T6_;
39954 		T4_ = (NIM_BOOL)0;
39955 		T4_ = !(((*iterAfterVarLent).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)));
39956 		if (T4_) goto LA5_;
39957 		T6_ = (NI)0;
39958 		T6_ = len__ast_3198(n);
39959 		T4_ = (T6_ == ((NI) 3));
39960 		LA5_: ;
39961 		if (!T4_) goto LA7_;
39962 		{
39963 			NI T11_;
39964 			T11_ = (NI)0;
39965 			T11_ = len__ast_3198(n);
39966 			if (!(T11_ == ((NI) 3))) goto LA12_;
39967 			{
39968 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA16_;
39969 				{
39970 					NI T20_;
39971 					NI T21_;
39972 					T20_ = (NI)0;
39973 					T20_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 0)]);
39974 					T21_ = (NI)0;
39975 					T21_ = len__ast_4002(iterAfterVarLent);
39976 					if (!!(((NI)(T20_ - ((NI) 1)) == T21_))) goto LA22_;
39977 					liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_620), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_867, NIM_FALSE);
39978 					result = errorNode__semdata_1009(c, n);
39979 					goto BeforeRet_;
39980 				}
39981 				LA22_: ;
39982 				{
39983 					NI i;
39984 					NI colontmp_;
39985 					NI T25_;
39986 					NI i_2;
39987 					i = (NI)0;
39988 					colontmp_ = (NI)0;
39989 					T25_ = (NI)0;
39990 					T25_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 0)]);
39991 					colontmp_ = (NI)(T25_ - ((NI) 1));
39992 					i_2 = ((NI) 0);
39993 					{
39994 						while (1) {
39995 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
39996 							if (!(i_2 < colontmp_)) goto LA27;
39997 							i = i_2;
39998 							v = symForVar__sem_10945(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[i]);
39999 							{
40000 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T30_;
40001 								T30_ = NIM_NIL;
40002 								T30_ = getCurrOwner__semdata_315(c);
40003 								if (!((*T30_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA31_;
40004 								(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40005 							}
40006 							LA31_: ;
40007 							switch ((*iter).kind) {
40008 							case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40009 							case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40010 							{
40011 								asgnRef((void**) (&(*v).typ), newTypeS__semdata_733((*iter).kind, c));
40012 								add__concepts_23((*v).typ, (*iterAfterVarLent).sons->data[i]);
40013 								{
40014 									if (!(((*iter).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0)) goto LA36_;
40015 									(*(*v).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
40016 								}
40017 								LA36_: ;
40018 							}
40019 							break;
40020 							default:
40021 							{
40022 								asgnRef((void**) (&(*v).typ), (*iter).sons->data[i]);
40023 							}
40024 							break;
40025 							}
40026 							asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[i]), newSymNode__ast_3716(v));
40027 							{
40028 								NIM_BOOL T41_;
40029 								NIM_BOOL T43_;
40030 								T41_ = (NIM_BOOL)0;
40031 								T41_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
40032 								if (!(T41_)) goto LA42_;
40033 								T43_ = (NIM_BOOL)0;
40034 								T43_ = isDiscardUnderscore__sem_9761(v);
40035 								T41_ = !(T43_);
40036 								LA42_: ;
40037 								if (!T41_) goto LA44_;
40038 								addDecl__lookups_845(c, v);
40039 							}
40040 							goto LA39_;
40041 							LA44_: ;
40042 							{
40043 								if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA47_;
40044 								asgnRef((void**) (&(*v).owner), getCurrOwner__semdata_315(c));
40045 							}
40046 							goto LA39_;
40047 							LA47_: ;
40048 							LA39_: ;
40049 							i_2 += ((NI) 1);
40050 						} LA27: ;
40051 					}
40052 				}
40053 			}
40054 			goto LA14_;
40055 			LA16_: ;
40056 			{
40057 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_2;
40058 				v_2 = symForVar__sem_10945(c, (*n)._kind_6.sons->data[((NI) 0)]);
40059 				{
40060 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T52_;
40061 					T52_ = NIM_NIL;
40062 					T52_ = getCurrOwner__semdata_315(c);
40063 					if (!((*T52_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA53_;
40064 					(*v_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40065 				}
40066 				LA53_: ;
40067 				asgnRef((void**) (&(*v_2).typ), iterBase);
40068 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(v_2));
40069 				{
40070 					NIM_BOOL T57_;
40071 					NIM_BOOL T59_;
40072 					T57_ = (NIM_BOOL)0;
40073 					T57_ = !((((*v_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
40074 					if (!(T57_)) goto LA58_;
40075 					T59_ = (NIM_BOOL)0;
40076 					T59_ = isDiscardUnderscore__sem_9761(v_2);
40077 					T57_ = !(T59_);
40078 					LA58_: ;
40079 					if (!T57_) goto LA60_;
40080 					addDecl__lookups_845(c, v_2);
40081 				}
40082 				goto LA55_;
40083 				LA60_: ;
40084 				{
40085 					if (!((*v_2).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA63_;
40086 					asgnRef((void**) (&(*v_2).owner), getCurrOwner__semdata_315(c));
40087 				}
40088 				goto LA55_;
40089 				LA63_: ;
40090 				LA55_: ;
40091 			}
40092 			LA14_: ;
40093 		}
40094 		goto LA9_;
40095 		LA12_: ;
40096 		{
40097 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_620), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_869, NIM_FALSE);
40098 		}
40099 		LA9_: ;
40100 	}
40101 	goto LA2_;
40102 	LA7_: ;
40103 	{
40104 		NI T67_;
40105 		NI T68_;
40106 		T67_ = (NI)0;
40107 		T67_ = len__ast_3198(n);
40108 		T68_ = (NI)0;
40109 		T68_ = len__ast_4002(iterAfterVarLent);
40110 		if (!!(((NI)(T67_ - ((NI) 2)) == T68_))) goto LA69_;
40111 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_620), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_870, NIM_FALSE);
40112 	}
40113 	goto LA2_;
40114 	LA69_: ;
40115 	{
40116 		{
40117 			NI i_3;
40118 			NI colontmp__2;
40119 			NI T73_;
40120 			NI i_4;
40121 			i_3 = (NI)0;
40122 			colontmp__2 = (NI)0;
40123 			T73_ = (NI)0;
40124 			T73_ = len__ast_3198(n);
40125 			colontmp__2 = (NI)(T73_ - ((NI) 2));
40126 			i_4 = ((NI) 0);
40127 			{
40128 				while (1) {
40129 					if (!(i_4 < colontmp__2)) goto LA75;
40130 					i_3 = i_4;
40131 					{
40132 						NIM_BOOL mutable_1;
40133 						NIM_BOOL isLent;
40134 						if (!((*(*n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA78_;
40135 						mutable_1 = NIM_FALSE;
40136 						isLent = NIM_FALSE;
40137 						switch ((*(*iter).sons->data[i_3]).kind) {
40138 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40139 						{
40140 							mutable_1 = NIM_TRUE;
40141 							asgnRef((void**) (&(*iter).sons->data[i_3]), skipTypes__ast_3735((*iter).sons->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_182));
40142 						}
40143 						break;
40144 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40145 						{
40146 							isLent = NIM_TRUE;
40147 							asgnRef((void**) (&(*iter).sons->data[i_3]), skipTypes__ast_3735((*iter).sons->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_871));
40148 						}
40149 						break;
40150 						default:
40151 						{
40152 						}
40153 						break;
40154 						}
40155 						{
40156 							NI T85_;
40157 							NI T86_;
40158 							T85_ = (NI)0;
40159 							T85_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
40160 							T86_ = (NI)0;
40161 							T86_ = len__ast_4002((*iter).sons->data[i_3]);
40162 							if (!!(((NI)(T85_ - ((NI) 1)) == T86_))) goto LA87_;
40163 							liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[i_3]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_620), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_872, NIM_FALSE);
40164 						}
40165 						LA87_: ;
40166 						{
40167 							NI j;
40168 							NI colontmp__3;
40169 							NI T90_;
40170 							NI i_5;
40171 							j = (NI)0;
40172 							colontmp__3 = (NI)0;
40173 							T90_ = (NI)0;
40174 							T90_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
40175 							colontmp__3 = (NI)(T90_ - ((NI) 1));
40176 							i_5 = ((NI) 0);
40177 							{
40178 								while (1) {
40179 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_3;
40180 									if (!(i_5 < colontmp__3)) goto LA92;
40181 									j = i_5;
40182 									v_3 = symForVar__sem_10945(c, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[j]);
40183 									{
40184 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T95_;
40185 										T95_ = NIM_NIL;
40186 										T95_ = getCurrOwner__semdata_315(c);
40187 										if (!((*T95_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA96_;
40188 										(*v_3).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40189 									}
40190 									LA96_: ;
40191 									{
40192 										if (!mutable_1) goto LA100_;
40193 										asgnRef((void**) (&(*v_3).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23), c));
40194 										add__concepts_23((*v_3).typ, (*(*iter).sons->data[i_3]).sons->data[j]);
40195 									}
40196 									goto LA98_;
40197 									LA100_: ;
40198 									{
40199 										if (!isLent) goto LA103_;
40200 										asgnRef((void**) (&(*v_3).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47), c));
40201 										add__concepts_23((*v_3).typ, (*(*iter).sons->data[i_3]).sons->data[j]);
40202 									}
40203 									goto LA98_;
40204 									LA103_: ;
40205 									{
40206 										asgnRef((void**) (&(*v_3).typ), (*(*iter).sons->data[i_3]).sons->data[j]);
40207 									}
40208 									LA98_: ;
40209 									asgnRef((void**) (&(*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[j]), newSymNode__ast_3716(v_3));
40210 									{
40211 										NIM_BOOL T108_;
40212 										T108_ = (NIM_BOOL)0;
40213 										T108_ = isDiscardUnderscore__sem_9761(v_3);
40214 										if (!!(T108_)) goto LA109_;
40215 										addDecl__lookups_845(c, v_3);
40216 									}
40217 									goto LA106_;
40218 									LA109_: ;
40219 									{
40220 										if (!((*v_3).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA112_;
40221 										asgnRef((void**) (&(*v_3).owner), getCurrOwner__semdata_315(c));
40222 									}
40223 									goto LA106_;
40224 									LA112_: ;
40225 									LA106_: ;
40226 									i_5 += ((NI) 1);
40227 								} LA92: ;
40228 							}
40229 						}
40230 					}
40231 					goto LA76_;
40232 					LA78_: ;
40233 					{
40234 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_4;
40235 						v_4 = symForVar__sem_10945(c, (*n)._kind_6.sons->data[i_3]);
40236 						{
40237 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T117_;
40238 							T117_ = NIM_NIL;
40239 							T117_ = getCurrOwner__semdata_315(c);
40240 							if (!((*T117_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA118_;
40241 							(*v_4).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40242 						}
40243 						LA118_: ;
40244 						switch ((*iter).kind) {
40245 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40246 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40247 						{
40248 							asgnRef((void**) (&(*v_4).typ), newTypeS__semdata_733((*iter).kind, c));
40249 							add__concepts_23((*v_4).typ, (*iterAfterVarLent).sons->data[i_3]);
40250 							{
40251 								if (!(((*iter).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0)) goto LA123_;
40252 								(*(*v_4).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
40253 							}
40254 							LA123_: ;
40255 						}
40256 						break;
40257 						default:
40258 						{
40259 							asgnRef((void**) (&(*v_4).typ), (*iter).sons->data[i_3]);
40260 						}
40261 						break;
40262 						}
40263 						asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), newSymNode__ast_3716(v_4));
40264 						{
40265 							if (!!((((*v_4).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA128_;
40266 							{
40267 								NIM_BOOL T132_;
40268 								T132_ = (NIM_BOOL)0;
40269 								T132_ = isDiscardUnderscore__sem_9761(v_4);
40270 								if (!!(T132_)) goto LA133_;
40271 								addDecl__lookups_845(c, v_4);
40272 							}
40273 							LA133_: ;
40274 						}
40275 						goto LA126_;
40276 						LA128_: ;
40277 						{
40278 							if (!((*v_4).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA136_;
40279 							asgnRef((void**) (&(*v_4).owner), getCurrOwner__semdata_315(c));
40280 						}
40281 						goto LA126_;
40282 						LA136_: ;
40283 						LA126_: ;
40284 					}
40285 					LA76_: ;
40286 					i_4 += ((NI) 1);
40287 				} LA75: ;
40288 			}
40289 		}
40290 	}
40291 	LA2_: ;
40292 	(*(*c).p).nestedLoopCounter += ((NI) 1);
40293 	T138_ = NIM_NIL;
40294 	T138_ = openScope__lookups_69(c);
40295 	T139_ = (NI)0;
40296 	T139_ = len__ast_3198(n);
40297 	T140_ = (NI)0;
40298 	T140_ = len__ast_3198(n);
40299 	asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T139_ - ((NI) 1))]), semExprBranch__sem_9264(c, (*n)._kind_6.sons->data[(NI)(T140_ - ((NI) 1))], flags));
40300 	{
40301 		NI T145_;
40302 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0))) goto LA143_;
40303 		T145_ = (NI)0;
40304 		T145_ = len__ast_3198(n);
40305 		discardCheck__sem_9323(c, (*n)._kind_6.sons->data[(NI)(T145_ - ((NI) 1))], flags);
40306 	}
40307 	LA143_: ;
40308 	closeScope__lookups_101(c);
40309 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
40310 	}BeforeRet_: ;
40311 	return result;
40312 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,instFieldLoopBody__sem_10639)40313 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, instFieldLoopBody__sem_10639)(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* forLoop) {
40314 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40315 {	result = NIM_NIL;
40316 	{
40317 		NIM_BOOL T3_;
40318 		T3_ = (NIM_BOOL)0;
40319 		T3_ = !(((*c).field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
40320 		if (!(T3_)) goto LA4_;
40321 		T3_ = isEmptyType__ast_4779((*(*c).field).typ);
40322 		LA4_: ;
40323 		if (!T3_) goto LA5_;
40324 		result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
40325 		goto BeforeRet_;
40326 	}
40327 	LA5_: ;
40328 	switch ((*n).kind) {
40329 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
40330 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
40331 	{
40332 		result = copyNode__ast_4336(n);
40333 	}
40334 	break;
40335 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
40336 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
40337 	{
40338 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
40339 		result = n;
40340 		ident = considerQuotedIdent__lookups_28((*c).c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40341 		{
40342 			if (!(*c).replaceByFieldName) goto LA11_;
40343 			{
40344 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T15_;
40345 				NimStringDesc* fieldName;
40346 				T15_ = NIM_NIL;
40347 				T15_ = considerQuotedIdent__lookups_28((*c).c, (*forLoop)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40348 				if (!((*ident).id == (*T15_).id)) goto LA16_;
40349 				{
40350 					if (!((*c).tupleType == 0)) goto LA20_;
40351 					fieldName = (*(*(*c).field).name).s;
40352 				}
40353 				goto LA18_;
40354 				LA20_: ;
40355 				{
40356 					NimStringDesc* T25_;
40357 					NimStringDesc* T26_;
40358 					if (!((*(*c).tupleType).n == 0)) goto LA23_;
40359 					T25_ = NIM_NIL;
40360 					T26_ = NIM_NIL;
40361 					T26_ = dollar___systemZdollars_3((*c).tupleIndex);
40362 					T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 5);
40363 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_881));
40364 appendString(T25_, T26_);
40365 					fieldName = T25_;
40366 				}
40367 				goto LA18_;
40368 				LA23_: ;
40369 				{
40370 					fieldName = (*(*(*(*(*(*c).tupleType).n)._kind_6.sons->data[(*c).tupleIndex])._kind_4.sym).name).s;
40371 				}
40372 				LA18_: ;
40373 				result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), fieldName);
40374 				goto BeforeRet_;
40375 			}
40376 			LA16_: ;
40377 		}
40378 		LA11_: ;
40379 		{
40380 			NI i;
40381 			NI colontmp_;
40382 			NI colontmp__2;
40383 			NI T29_;
40384 			NI i_2;
40385 			i = (NI)0;
40386 			colontmp_ = (NI)0;
40387 			colontmp__2 = (NI)0;
40388 			colontmp_ = (*c).replaceByFieldName;
40389 			T29_ = (NI)0;
40390 			T29_ = len__ast_3198(forLoop);
40391 			colontmp__2 = (NI)(T29_ - ((NI) 2));
40392 			i_2 = colontmp_;
40393 			{
40394 				while (1) {
40395 					if (!(i_2 < colontmp__2)) goto LA31;
40396 					i = i_2;
40397 					{
40398 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T34_;
40399 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40400 						NI T37_;
40401 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupl;
40402 						T34_ = NIM_NIL;
40403 						T34_ = considerQuotedIdent__lookups_28((*c).c, (*forLoop)._kind_6.sons->data[i], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40404 						if (!((*ident).id == (*T34_).id)) goto LA35_;
40405 						T37_ = (NI)0;
40406 						T37_ = len__ast_3198(forLoop);
40407 						call = (*forLoop)._kind_6.sons->data[(NI)(T37_ - ((NI) 2))];
40408 						tupl = (*call)._kind_6.sons->data[(NI)((NI)(i + ((NI) 1)) - (*c).replaceByFieldName)];
40409 						{
40410 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
40411 							if (!((*c).field == 0)) goto LA40_;
40412 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
40413 							add__ast_4797(result, tupl);
40414 							T42_ = NIM_NIL;
40415 							T42_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*c).tupleIndex)));
40416 							add__ast_4797(result, T42_);
40417 						}
40418 						goto LA38_;
40419 						LA40_: ;
40420 						{
40421 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
40422 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info);
40423 							add__ast_4797(result, tupl);
40424 							T44_ = NIM_NIL;
40425 							T44_ = newSymNode__ast_3719((*c).field, (*n).info);
40426 							add__ast_4797(result, T44_);
40427 						}
40428 						LA38_: ;
40429 						goto LA28;
40430 					}
40431 					LA35_: ;
40432 					i_2 += ((NI) 1);
40433 				} LA31: ;
40434 			}
40435 		} LA28: ;
40436 	}
40437 	break;
40438 	default:
40439 	{
40440 		{
40441 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111))) goto LA48_;
40442 			liMessage__msgs_1118((*(*(*c).c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_882), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_883, NIM_FALSE);
40443 		}
40444 		LA48_: ;
40445 		result = shallowCopy__ast_4413(n);
40446 		{
40447 			NI i_3;
40448 			NI colontmp__3;
40449 			NI i_4;
40450 			i_3 = (NI)0;
40451 			colontmp__3 = (NI)0;
40452 			colontmp__3 = len__ast_3198(n);
40453 			i_4 = ((NI) 0);
40454 			{
40455 				while (1) {
40456 					if (!(i_4 < colontmp__3)) goto LA52;
40457 					i_3 = i_4;
40458 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), instFieldLoopBody__sem_10639(c, (*n)._kind_6.sons->data[i_3], forLoop));
40459 					i_4 += ((NI) 1);
40460 				} LA52: ;
40461 			}
40462 		}
40463 	}
40464 	break;
40465 	}
40466 	}BeforeRet_: ;
40467 	return result;
40468 }
N_NIMCALL(void,semForObjectFields__sem_10725)40469 N_LIB_PRIVATE N_NIMCALL(void, semForObjectFields__sem_10725)(tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* forLoop, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father) {
40470 {	switch ((*typ).kind) {
40471 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
40472 	{
40473 		tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA fc;
40474 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T2_;
40475 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
40476 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
40477 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
40478 		nimZeroMem((void*)(&fc), sizeof(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA));
40479 		fc.c = c.c;
40480 		fc.field = (*typ)._kind_4.sym;
40481 		fc.replaceByFieldName = (c.m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129));
40482 		T2_ = NIM_NIL;
40483 		T2_ = openScope__lookups_69(c.c);
40484 		(*c.c).inUnrolledContext += ((NI) 1);
40485 		T3_ = NIM_NIL;
40486 		T3_ = lastSon__ast_4832(forLoop);
40487 		body = instFieldLoopBody__sem_10639((&fc), T3_, forLoop);
40488 		T4_ = NIM_NIL;
40489 		T4_ = semStmt__sem_84(c.c, body, 0);
40490 		add__ast_4797(father, T4_);
40491 		(*c.c).inUnrolledContext -= ((NI) 1);
40492 		closeScope__lookups_101(c.c);
40493 	}
40494 	break;
40495 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
40496 	{
40497 	}
40498 	break;
40499 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
40500 	{
40501 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40502 		NI T7_;
40503 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseStmt;
40504 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* access;
40505 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
40506 		T7_ = (NI)0;
40507 		T7_ = len__ast_3198(forLoop);
40508 		call = (*forLoop)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))];
40509 		{
40510 			NI T10_;
40511 			T10_ = (NI)0;
40512 			T10_ = len__ast_3198(call);
40513 			if (!(((NI) 2) < T10_)) goto LA11_;
40514 			liMessage__msgs_1118((*(*c.c).graph).config, (*forLoop).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_884), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_885, NIM_FALSE);
40515 			goto BeforeRet_;
40516 		}
40517 		LA11_: ;
40518 		semForObjectFields__sem_10725(c, (*typ)._kind_6.sons->data[((NI) 0)], forLoop, father);
40519 		caseStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97), (*forLoop).info);
40520 		access = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*forLoop).info, ((NI) 2));
40521 		asgnRef((void**) (&(*access)._kind_6.sons->data[((NI) 0)]), (*call)._kind_6.sons->data[((NI) 1)]);
40522 		asgnRef((void**) (&(*access)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3719((*(*typ)._kind_6.sons->data[((NI) 0)])._kind_4.sym, (*forLoop).info));
40523 		T13_ = NIM_NIL;
40524 		T13_ = semExprWithType__sem_56(c.c, access, 0);
40525 		add__ast_4797(caseStmt, T13_);
40526 		{
40527 			NI i;
40528 			NI colontmp_;
40529 			NI i_2;
40530 			i = (NI)0;
40531 			colontmp_ = (NI)0;
40532 			colontmp_ = len__ast_3198(typ);
40533 			i_2 = ((NI) 1);
40534 			{
40535 				while (1) {
40536 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
40537 					NI T17_;
40538 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
40539 					NI T19_;
40540 					if (!(i_2 < colontmp_)) goto LA16;
40541 					i = i_2;
40542 					branch = copyTree__ast_4431((*typ)._kind_6.sons->data[i]);
40543 					T17_ = (NI)0;
40544 					T17_ = len__ast_3198(branch);
40545 					asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T17_ - ((NI) 1))]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*forLoop).info));
40546 					T18_ = NIM_NIL;
40547 					T18_ = lastSon__ast_4832((*typ)._kind_6.sons->data[i]);
40548 					T19_ = (NI)0;
40549 					T19_ = len__ast_3198(branch);
40550 					semForObjectFields__sem_10725(c, T18_, forLoop, (*branch)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))]);
40551 					add__ast_4797(caseStmt, branch);
40552 					i_2 += ((NI) 1);
40553 				} LA16: ;
40554 			}
40555 		}
40556 		add__ast_4797(father, caseStmt);
40557 	}
40558 	break;
40559 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
40560 	{
40561 		{
40562 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
40563 			t = NIM_NIL;
40564 			{
40565 				NI i_3;
40566 				NI colontmp__2;
40567 				NI i_4;
40568 				i_3 = (NI)0;
40569 				colontmp__2 = (NI)0;
40570 				colontmp__2 = safeLen__ast_3191(typ);
40571 				i_4 = ((NI) 0);
40572 				{
40573 					while (1) {
40574 						if (!(i_4 < colontmp__2)) goto LA24;
40575 						i_3 = i_4;
40576 						t = (*typ)._kind_6.sons->data[i_3];
40577 						semForObjectFields__sem_10725(c, t, forLoop, father);
40578 						i_4 += ((NI) 1);
40579 					} LA24: ;
40580 				}
40581 			}
40582 		}
40583 	}
40584 	break;
40585 	default:
40586 	{
40587 		illFormedAstLocal__semdata_1074(typ, (*(*c.c).graph).config);
40588 	}
40589 	break;
40590 	}
40591 	}BeforeRet_: ;
40592 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semForFields__sem_10813)40593 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForFields__sem_10813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
40594 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40595 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* trueSymbol;
40596 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40597 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* stmts;
40598 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40599 	NI T9_;
40600 	tyObject_TType__facALICuu8zUj0hjvbTLFg* tupleTypeA;
40601 {	result = NIM_NIL;
40602 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96), (*n).info, ((NI) 2));
40603 	T1_ = NIM_NIL;
40604 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_873));
40605 	trueSymbol = systemModuleSym__modulegraphs_2829((*c).graph, T1_);
40606 	{
40607 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T6_;
40608 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
40609 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T8_;
40610 		if (!(trueSymbol == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
40611 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_874), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_875, NIM_FALSE);
40612 		T6_ = NIM_NIL;
40613 		T6_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_873));
40614 		T7_ = nextSymId__ast_3132((*c).Sup.idgen);
40615 		T8_ = NIM_NIL;
40616 		T8_ = getCurrOwner__semdata_315(c);
40617 		trueSymbol = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T6_, T7_, T8_, (*n).info, 0);
40618 		asgnRef((void**) (&(*trueSymbol).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
40619 	}
40620 	LA4_: ;
40621 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(trueSymbol, (*n).info));
40622 	stmts = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
40623 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), stmts);
40624 	T9_ = (NI)0;
40625 	T9_ = len__ast_3198(n);
40626 	call = (*n)._kind_6.sons->data[(NI)(T9_ - ((NI) 2))];
40627 	{
40628 		NI T12_;
40629 		NI T13_;
40630 		T12_ = (NI)0;
40631 		T12_ = len__ast_3198(n);
40632 		T13_ = (NI)0;
40633 		T13_ = len__ast_3198(call);
40634 		if (!!(((NI)(T12_ - ((NI) 2)) == (NI)((NI)(T13_ - ((NI) 1)) + (m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129)))))) goto LA14_;
40635 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_620), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_877, NIM_FALSE);
40636 		goto BeforeRet_;
40637 	}
40638 	LA14_: ;
40639 	tupleTypeA = skipTypes__ast_3735((*(*call)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_878);
40640 	{
40641 		if (!!(((*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA18_;
40642 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_879), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_880, NIM_FALSE);
40643 		goto BeforeRet_;
40644 	}
40645 	LA18_: ;
40646 	{
40647 		NI i;
40648 		NI colontmp_;
40649 		NI i_2;
40650 		i = (NI)0;
40651 		colontmp_ = (NI)0;
40652 		colontmp_ = len__ast_3198(call);
40653 		i_2 = ((NI) 1);
40654 		{
40655 			while (1) {
40656 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calli;
40657 				tyObject_TType__facALICuu8zUj0hjvbTLFg* tupleTypeB;
40658 				if (!(i_2 < colontmp_)) goto LA22;
40659 				i = i_2;
40660 				calli = (*call)._kind_6.sons->data[i];
40661 				tupleTypeB = skipTypes__ast_3735((*calli).typ, TM__rF9caJawfOjYTjsgLVUSGFA_878);
40662 				{
40663 					NIM_BOOL T25_;
40664 					T25_ = (NIM_BOOL)0;
40665 					T25_ = sameType__types_1824(tupleTypeA, tupleTypeB, 0);
40666 					if (!!(T25_)) goto LA26_;
40667 					typeMismatch__types_3870((*(*c).graph).config, (*calli).info, tupleTypeA, tupleTypeB, calli);
40668 				}
40669 				LA26_: ;
40670 				i_2 += ((NI) 1);
40671 			} LA22: ;
40672 		}
40673 	}
40674 	(*(*c).p).nestedLoopCounter += ((NI) 1);
40675 	{
40676 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
40677 		NI T32_;
40678 		if (!((*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA30_;
40679 		T32_ = (NI)0;
40680 		T32_ = len__ast_3198(n);
40681 		loopBody = (*n)._kind_6.sons->data[(NI)(T32_ - ((NI) 1))];
40682 		{
40683 			NI i_3;
40684 			NI colontmp__2;
40685 			NI i_4;
40686 			i_3 = (NI)0;
40687 			colontmp__2 = (NI)0;
40688 			colontmp__2 = len__ast_4002(tupleTypeA);
40689 			i_4 = ((NI) 0);
40690 			{
40691 				while (1) {
40692 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T36_;
40693 					tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA fc;
40694 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
40695 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T37_;
40696 					if (!(i_4 < colontmp__2)) goto LA35;
40697 					i_3 = i_4;
40698 					T36_ = NIM_NIL;
40699 					T36_ = openScope__lookups_69(c);
40700 					nimZeroMem((void*)(&fc), sizeof(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA));
40701 					fc.tupleType = tupleTypeA;
40702 					fc.tupleIndex = i_3;
40703 					fc.c = c;
40704 					fc.replaceByFieldName = (m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129));
40705 					body = instFieldLoopBody__sem_10639((&fc), loopBody, n);
40706 					(*c).inUnrolledContext += ((NI) 1);
40707 					T37_ = NIM_NIL;
40708 					T37_ = semStmt__sem_84(c, body, 0);
40709 					add__ast_4797(stmts, T37_);
40710 					(*c).inUnrolledContext -= ((NI) 1);
40711 					closeScope__lookups_101(c);
40712 					i_4 += ((NI) 1);
40713 				} LA35: ;
40714 			}
40715 		}
40716 	}
40717 	goto LA28_;
40718 	LA30_: ;
40719 	{
40720 		tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw fc_2;
40721 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
40722 		nimZeroMem((void*)(&fc_2), sizeof(tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw));
40723 		fc_2.m = m;
40724 		fc_2.c = c;
40725 		t = tupleTypeA;
40726 		{
40727 			while (1) {
40728 				if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA40;
40729 				semForObjectFields__sem_10725(fc_2, (*t).n, n, stmts);
40730 				{
40731 					if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA43_;
40732 					goto LA39;
40733 				}
40734 				LA43_: ;
40735 				t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
40736 			} LA40: ;
40737 		} LA39: ;
40738 	}
40739 	LA28_: ;
40740 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
40741 	{
40742 		NIM_BOOL T47_;
40743 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
40744 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
40745 		T47_ = (NIM_BOOL)0;
40746 		T47_ = containsNode__ast_4545(stmts, TM__rF9caJawfOjYTjsgLVUSGFA_886);
40747 		if (!T47_) goto LA48_;
40748 		b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), (*n).info);
40749 		T50_ = NIM_NIL;
40750 		T50_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
40751 		add__ast_4797(b, T50_);
40752 		add__ast_4797(stmts, b);
40753 	}
40754 	goto LA45_;
40755 	LA48_: ;
40756 	{
40757 		result = stmts;
40758 	}
40759 	LA45_: ;
40760 	}BeforeRet_: ;
40761 	return result;
40762 }
N_INLINE(NIM_BOOL,isClosureIterator__ast_5004)40763 static N_INLINE(NIM_BOOL, isClosureIterator__ast_5004)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
40764 	NIM_BOOL result;
40765 	NIM_BOOL T1_;
40766 	NIM_BOOL T2_;
40767 	result = (NIM_BOOL)0;
40768 	T1_ = (NIM_BOOL)0;
40769 	T2_ = (NIM_BOOL)0;
40770 	T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
40771 	if (!(T2_)) goto LA3_;
40772 	T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
40773 	LA3_: ;
40774 	T1_ = T2_;
40775 	if (!(T1_)) goto LA4_;
40776 	T1_ = ((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
40777 	LA4_: ;
40778 	result = T1_;
40779 	return result;
40780 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,implicitIterator__sem_11206)40781 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitIterator__sem_11206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NimStringDesc* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
40782 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40783 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40784 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
40785 	result = NIM_NIL;
40786 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg).info);
40787 	T1_ = NIM_NIL;
40788 	T1_ = getIdent__idents_143((*c).cache, it);
40789 	T2_ = NIM_NIL;
40790 	T2_ = newIdentNode__ast_3712(T1_, (*arg).info);
40791 	add__ast_4797(result, T2_);
40792 	{
40793 		NIM_BOOL T5_;
40794 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
40795 		T5_ = (NIM_BOOL)0;
40796 		T5_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
40797 		if (!(T5_)) goto LA6_;
40798 		T5_ = ((*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
40799 		LA6_: ;
40800 		if (!T5_) goto LA7_;
40801 		T9_ = NIM_NIL;
40802 		T9_ = newDeref__lowerings_11(arg);
40803 		add__ast_4797(result, T9_);
40804 	}
40805 	goto LA3_;
40806 	LA7_: ;
40807 	{
40808 		add__ast_4797(result, arg);
40809 	}
40810 	LA3_: ;
40811 	result = semExprNoDeref__sem_63(c, result, 2);
40812 	return result;
40813 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFor__sem_11337)40814 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFor__sem_11337)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
40815 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40816 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T5_;
40817 	NI T6_;
40818 	NI T7_;
40819 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40820 	NI T8_;
40821 	NIM_BOOL isCallExpr;
40822 {	result = NIM_NIL;
40823 	checkMinSonsLen__semdata_1084(n, ((NI) 3), (*(*c).graph).config);
40824 	result = handleForLoopMacro__sem_11301(c, n, flags);
40825 	{
40826 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
40827 		goto BeforeRet_;
40828 	}
40829 	LA3_: ;
40830 	T5_ = NIM_NIL;
40831 	T5_ = openScope__lookups_69(c);
40832 	result = n;
40833 	T6_ = (NI)0;
40834 	T6_ = len__ast_3198(n);
40835 	T7_ = (NI)0;
40836 	T7_ = len__ast_3198(n);
40837 	asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T6_ - ((NI) 2))]), semExprNoDeref__sem_63(c, (*n)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))], 2));
40838 	T8_ = (NI)0;
40839 	T8_ = len__ast_3198(n);
40840 	call = (*n)._kind_6.sons->data[(NI)(T8_ - ((NI) 2))];
40841 	{
40842 		NIM_BOOL T11_;
40843 		NI T15_;
40844 		T11_ = (NIM_BOOL)0;
40845 		T11_ = ((*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
40846 		if (!(T11_)) goto LA12_;
40847 		T11_ = isTrivalStmtExpr__sem_11231(call);
40848 		LA12_: ;
40849 		if (!T11_) goto LA13_;
40850 		call = lastSon__ast_4832(call);
40851 		T15_ = (NI)0;
40852 		T15_ = len__ast_3198(n);
40853 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T15_ - ((NI) 2))]), call);
40854 	}
40855 	LA13_: ;
40856 	isCallExpr = ((*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
40857 	{
40858 		NIM_BOOL T18_;
40859 		NIM_BOOL T19_;
40860 		T18_ = (NIM_BOOL)0;
40861 		T19_ = (NIM_BOOL)0;
40862 		T19_ = isCallExpr;
40863 		if (!(T19_)) goto LA20_;
40864 		T19_ = ((*(*call)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
40865 		LA20_: ;
40866 		T18_ = T19_;
40867 		if (!(T18_)) goto LA21_;
40868 		T18_ = ((*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 128) || (*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129) || (*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 130));
40869 		LA21_: ;
40870 		if (!T18_) goto LA22_;
40871 		{
40872 			if (!((*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 130))) goto LA26_;
40873 			result = semForVars__sem_10972(c, n, flags);
40874 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 95));
40875 		}
40876 		goto LA24_;
40877 		LA26_: ;
40878 		{
40879 			result = semForFields__sem_10813(c, n, (*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic);
40880 		}
40881 		LA24_: ;
40882 	}
40883 	goto LA16_;
40884 	LA22_: ;
40885 	{
40886 		NIM_BOOL T30_;
40887 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_;
40888 		T30_ = (NIM_BOOL)0;
40889 		T30_ = isCallExpr;
40890 		if (!(T30_)) goto LA31_;
40891 		T32_ = NIM_NIL;
40892 		T32_ = skipTypes__ast_3735((*(*call)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
40893 		T30_ = isClosureIterator__ast_5004(T32_);
40894 		LA31_: ;
40895 		if (!T30_) goto LA33_;
40896 		result = semForVars__sem_10972(c, n, flags);
40897 	}
40898 	goto LA16_;
40899 	LA33_: ;
40900 	{
40901 		NIM_BOOL T36_;
40902 		NIM_BOOL T37_;
40903 		T36_ = (NIM_BOOL)0;
40904 		T37_ = (NIM_BOOL)0;
40905 		T37_ = !(isCallExpr);
40906 		if (T37_) goto LA38_;
40907 		T37_ = !(((*(*call)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
40908 		LA38_: ;
40909 		T36_ = T37_;
40910 		if (T36_) goto LA39_;
40911 		T36_ = !(((*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
40912 		LA39_: ;
40913 		if (!T36_) goto LA40_;
40914 		{
40915 			NI T44_;
40916 			NI T47_;
40917 			NI T48_;
40918 			T44_ = (NI)0;
40919 			T44_ = len__ast_3198(n);
40920 			if (!(T44_ == ((NI) 3))) goto LA45_;
40921 			T47_ = (NI)0;
40922 			T47_ = len__ast_3198(n);
40923 			T48_ = (NI)0;
40924 			T48_ = len__ast_3198(n);
40925 			asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T47_ - ((NI) 2))]), implicitIterator__sem_11206(c, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_887), (*n)._kind_6.sons->data[(NI)(T48_ - ((NI) 2))]));
40926 		}
40927 		goto LA42_;
40928 		LA45_: ;
40929 		{
40930 			NI T50_;
40931 			NI T53_;
40932 			NI T54_;
40933 			T50_ = (NI)0;
40934 			T50_ = len__ast_3198(n);
40935 			if (!(T50_ == ((NI) 4))) goto LA51_;
40936 			T53_ = (NI)0;
40937 			T53_ = len__ast_3198(n);
40938 			T54_ = (NI)0;
40939 			T54_ = len__ast_3198(n);
40940 			asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T53_ - ((NI) 2))]), implicitIterator__sem_11206(c, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_888), (*n)._kind_6.sons->data[(NI)(T54_ - ((NI) 2))]));
40941 		}
40942 		goto LA42_;
40943 		LA51_: ;
40944 		{
40945 			NI T56_;
40946 			T56_ = (NI)0;
40947 			T56_ = len__ast_3198(n);
40948 			liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[(NI)(T56_ - ((NI) 2))]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_889), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_890, NIM_FALSE);
40949 		}
40950 		LA42_: ;
40951 		result = semForVars__sem_10972(c, n, flags);
40952 	}
40953 	goto LA16_;
40954 	LA40_: ;
40955 	{
40956 		result = semForVars__sem_10972(c, n, flags);
40957 	}
40958 	LA16_: ;
40959 	{
40960 		NI T60_;
40961 		T60_ = (NI)0;
40962 		T60_ = len__ast_3198(n);
40963 		if (!((*(*n)._kind_6.sons->data[(NI)(T60_ - ((NI) 1))]).typ == (*c).enforceVoidContext)) goto LA61_;
40964 		asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
40965 	}
40966 	goto LA58_;
40967 	LA61_: ;
40968 	{
40969 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T66_;
40970 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0)) goto LA64_;
40971 		T66_ = NIM_NIL;
40972 		T66_ = lastSon__ast_4832(result);
40973 		asgnRef((void**) (&(*result).typ), (*T66_).typ);
40974 	}
40975 	goto LA58_;
40976 	LA64_: ;
40977 	LA58_: ;
40978 	closeScope__lookups_101(c);
40979 	}BeforeRet_: ;
40980 	return result;
40981 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleCaseStmtMacro__sem_11311)40982 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleCaseStmtMacro__sem_11311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
40983 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40984 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toResolve;
40985 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40986 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
40987 	tySequence__0dpGN6F4ocevqUQGsaf41w* errors;
40988 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r;
40989 	result = NIM_NIL;
40990 	toResolve = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
40991 	T1_ = NIM_NIL;
40992 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_891));
40993 	T2_ = NIM_NIL;
40994 	T2_ = newIdentNode__ast_3712(T1_, (*n).info);
40995 	add__ast_4797(toResolve, T2_);
40996 	add__ast_4797(toResolve, (*n)._kind_6.sons->data[((NI) 0)]);
40997 	errors = NIM_NIL;
40998 	nimZeroMem((void*)(&r), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
40999 	resolveOverloads__sem_1997(c, toResolve, toResolve, 393216, 0, (&errors), NIM_FALSE, (&r));
41000 	{
41001 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* match;
41002 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toExpand;
41003 		if (!(r.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA5_;
41004 		match = r.calleeSym;
41005 		markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 0)]).info, match);
41006 		asgnRef((void**) (&(*r.call)._kind_6.sons->data[((NI) 1)]), n);
41007 		toExpand = semResolvedCall__sem_2401(c, (&r), r.call, 0);
41008 		switch ((*match).kind) {
41009 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
41010 		{
41011 			result = semMacroExpr__sem_524(c, toExpand, toExpand, match, flags);
41012 		}
41013 		break;
41014 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
41015 		{
41016 			result = semTemplateExpr__sem_519(c, toExpand, match, flags);
41017 		}
41018 		break;
41019 		default:
41020 		{
41021 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
41022 		}
41023 		break;
41024 		}
41025 	}
41026 	LA5_: ;
41027 	return result;
41028 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCase__sem_11453)41029 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCase__sem_11453)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
41030 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41031 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
41032 	NIM_BOOL chckCovered;
41033 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA covered;
41034 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
41035 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
41036 	NIM_BOOL hasElse;
41037 	tyObject_TType__facALICuu8zUj0hjvbTLFg* caseTyp;
41038 {	result = NIM_NIL;
41039 	result = n;
41040 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
41041 	T1_ = NIM_NIL;
41042 	T1_ = openScope__lookups_69(c);
41043 	pushCaseContext__semdata_1105(c, n);
41044 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
41045 	chckCovered = NIM_FALSE;
41046 	covered = toInt128__types_1378(((NI) 0));
41047 	T2_ = NIM_NIL;
41048 	T2_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
41049 	(*T2_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
41050 	(*T2_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
41051 	typ = T2_;
41052 	hasElse = NIM_FALSE;
41053 	caseTyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_459);
41054 	switch ((*caseTyp).kind) {
41055 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
41056 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
41057 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
41058 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
41059 	{
41060 		chckCovered = NIM_TRUE;
41061 	}
41062 	break;
41063 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
41064 	{
41065 		{
41066 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
41067 			T7_ = NIM_NIL;
41068 			T7_ = skipTypes__ast_3735((*caseTyp).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
41069 			if (!((*T7_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T7_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*T7_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T7_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T7_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T7_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43) || (*T7_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA8_;
41070 			chckCovered = NIM_TRUE;
41071 		}
41072 		LA8_: ;
41073 	}
41074 	break;
41075 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
41076 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
41077 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
41078 	{
41079 	}
41080 	break;
41081 	default:
41082 	{
41083 		popCaseContext__semdata_1121(c);
41084 		closeScope__lookups_101(c);
41085 		{
41086 			if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 8))&31U)))!=0)) goto LA14_;
41087 			result = handleCaseStmtMacro__sem_11311(c, n, flags);
41088 			{
41089 				if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
41090 				goto BeforeRet_;
41091 			}
41092 			LA18_: ;
41093 		}
41094 		LA14_: ;
41095 		liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_892), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_893, NIM_FALSE);
41096 		goto BeforeRet_;
41097 	}
41098 	break;
41099 	}
41100 	{
41101 		NI i;
41102 		NI colontmp_;
41103 		NI i_2;
41104 		i = (NI)0;
41105 		colontmp_ = (NI)0;
41106 		colontmp_ = len__ast_3198(n);
41107 		i_2 = ((NI) 1);
41108 		{
41109 			while (1) {
41110 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
41111 				if (!(i_2 < colontmp_)) goto LA22;
41112 				i = i_2;
41113 				setCaseContextIdx__semdata_1136(c, i);
41114 				x = (*n)._kind_6.sons->data[i];
41115 				switch ((*x).kind) {
41116 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
41117 				{
41118 					NI last;
41119 					NI T24_;
41120 					checkMinSonsLen__semdata_1084(x, ((NI) 2), (*(*c).graph).config);
41121 					semCaseBranch__sem_3791(c, n, x, i, (&covered));
41122 					T24_ = (NI)0;
41123 					T24_ = len__ast_3198(x);
41124 					last = (NI)(T24_ - ((NI) 1));
41125 					asgnRef((void**) (&(*x)._kind_6.sons->data[last]), semExprBranchScope__sem_9277(c, (*x)._kind_6.sons->data[last]));
41126 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[last]);
41127 				}
41128 				break;
41129 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
41130 				{
41131 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T26_;
41132 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
41133 					chckCovered = NIM_FALSE;
41134 					checkSonsLen__semdata_1077(x, ((NI) 2), (*(*c).graph).config);
41135 					T26_ = NIM_NIL;
41136 					T26_ = openScope__lookups_69(c);
41137 					T27_ = NIM_NIL;
41138 					T27_ = semExprWithType__sem_56(c, (*x)._kind_6.sons->data[((NI) 0)], 0);
41139 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T27_));
41140 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), semExprBranch__sem_9264(c, (*x)._kind_6.sons->data[((NI) 1)], 0));
41141 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[((NI) 1)]);
41142 					closeScope__lookups_101(c);
41143 				}
41144 				break;
41145 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
41146 				{
41147 					checkSonsLen__semdata_1077(x, ((NI) 1), (*(*c).graph).config);
41148 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*x)._kind_6.sons->data[((NI) 0)]));
41149 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[((NI) 0)]);
41150 					{
41151 						NIM_BOOL T31_;
41152 						NIM_BOOL T32_;
41153 						tyObject_Int128__9a9axPfb75jdWY25AamJewkA T34_;
41154 						T31_ = (NIM_BOOL)0;
41155 						T32_ = (NIM_BOOL)0;
41156 						T32_ = chckCovered;
41157 						if (!(T32_)) goto LA33_;
41158 						T34_ = toCover__sem_3884(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
41159 						T32_ = eqeq___int495056_313(covered, T34_);
41160 						LA33_: ;
41161 						T31_ = T32_;
41162 						if (T31_) goto LA35_;
41163 						T31_ = hasElse;
41164 						LA35_: ;
41165 						if (!T31_) goto LA36_;
41166 						liMessage__msgs_1118((*(*c).graph).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 44), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_894, NIM_FALSE);
41167 					}
41168 					LA36_: ;
41169 					hasElse = NIM_TRUE;
41170 					chckCovered = NIM_FALSE;
41171 				}
41172 				break;
41173 				default:
41174 				{
41175 					illFormedAst__semdata_1071(x, (*(*c).graph).config);
41176 				}
41177 				break;
41178 				}
41179 				i_2 += ((NI) 1);
41180 			} LA22: ;
41181 		}
41182 	}
41183 	{
41184 		if (!chckCovered) goto LA41_;
41185 		{
41186 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T45_;
41187 			NIM_BOOL T46_;
41188 			T45_ = toCover__sem_3884(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
41189 			T46_ = (NIM_BOOL)0;
41190 			T46_ = eqeq___int495056_313(covered, T45_);
41191 			if (!T46_) goto LA47_;
41192 			hasElse = NIM_TRUE;
41193 		}
41194 		goto LA43_;
41195 		LA47_: ;
41196 		{
41197 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T50_;
41198 			NimStringDesc* T53_;
41199 			NimStringDesc* T54_;
41200 			T50_ = NIM_NIL;
41201 			T50_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
41202 			if (!((*T50_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T50_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA51_;
41203 			T53_ = NIM_NIL;
41204 			T53_ = formatMissingEnums__sem_4020(c, n);
41205 			T54_ = NIM_NIL;
41206 			T54_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_473), T53_);
41207 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T54_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_895, NIM_FALSE);
41208 		}
41209 		goto LA43_;
41210 		LA51_: ;
41211 		{
41212 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_491), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_896, NIM_FALSE);
41213 		}
41214 		LA43_: ;
41215 	}
41216 	LA41_: ;
41217 	popCaseContext__semdata_1121(c);
41218 	closeScope__lookups_101(c);
41219 	{
41220 		NIM_BOOL T58_;
41221 		NIM_BOOL T59_;
41222 		NIM_BOOL T62_;
41223 		T58_ = (NIM_BOOL)0;
41224 		T59_ = (NIM_BOOL)0;
41225 		T59_ = isEmptyType__ast_4779(typ);
41226 		if (T59_) goto LA60_;
41227 		T59_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
41228 		LA60_: ;
41229 		T58_ = T59_;
41230 		if (T58_) goto LA61_;
41231 		T62_ = (NIM_BOOL)0;
41232 		T62_ = !(hasElse);
41233 		if (!(T62_)) goto LA63_;
41234 		T62_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0));
41235 		LA63_: ;
41236 		T58_ = T62_;
41237 		LA61_: ;
41238 		if (!T58_) goto LA64_;
41239 		{
41240 			NI i_3;
41241 			NI colontmp__2;
41242 			NI i_4;
41243 			i_3 = (NI)0;
41244 			colontmp__2 = (NI)0;
41245 			colontmp__2 = len__ast_3198(n);
41246 			i_4 = ((NI) 1);
41247 			{
41248 				while (1) {
41249 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T69_;
41250 					if (!(i_4 < colontmp__2)) goto LA68;
41251 					i_3 = i_4;
41252 					T69_ = NIM_NIL;
41253 					T69_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
41254 					discardCheck__sem_9323(c, T69_, flags);
41255 					i_4 += ((NI) 1);
41256 				} LA68: ;
41257 			}
41258 		}
41259 		{
41260 			if (!(typ == (*c).enforceVoidContext)) goto LA72_;
41261 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
41262 		}
41263 		LA72_: ;
41264 	}
41265 	goto LA56_;
41266 	LA64_: ;
41267 	{
41268 		{
41269 			NI i_5;
41270 			NI colontmp__3;
41271 			NI i_6;
41272 			i_5 = (NI)0;
41273 			colontmp__3 = (NI)0;
41274 			colontmp__3 = len__ast_3198(n);
41275 			i_6 = ((NI) 1);
41276 			{
41277 				while (1) {
41278 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
41279 					NI j;
41280 					NI T78_;
41281 					if (!(i_6 < colontmp__3)) goto LA77;
41282 					i_5 = i_6;
41283 					it = (*n)._kind_6.sons->data[i_5];
41284 					T78_ = (NI)0;
41285 					T78_ = len__ast_3198(it);
41286 					j = (NI)(T78_ - ((NI) 1));
41287 					{
41288 						NIM_BOOL T81_;
41289 						T81_ = (NIM_BOOL)0;
41290 						T81_ = endsInNoReturn__sem_416((*it)._kind_6.sons->data[j]);
41291 						if (!!(T81_)) goto LA82_;
41292 						asgnRef((void**) (&(*it)._kind_6.sons->data[j]), fitNode__sem_70(c, typ, (*it)._kind_6.sons->data[j], (*(*it)._kind_6.sons->data[j]).info));
41293 					}
41294 					LA82_: ;
41295 					i_6 += ((NI) 1);
41296 				} LA77: ;
41297 			}
41298 		}
41299 		asgnRef((void**) (&(*result).typ), typ);
41300 	}
41301 	LA56_: ;
41302 	}BeforeRet_: ;
41303 	return result;
41304 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semReturn__sem_17871)41305 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semReturn__sem_17871)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41306 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41307 {	result = NIM_NIL;
41308 	result = n;
41309 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
41310 	{
41311 		NIM_BOOL T3_;
41312 		NIM_BOOL T5_;
41313 		T3_ = (NIM_BOOL)0;
41314 		T3_ = ((225280 &((NU32)1<<((NU)((*(*(*c).p).owner).kind)&31U)))!=0);
41315 		if (T3_) goto LA4_;
41316 		T5_ = (NIM_BOOL)0;
41317 		T5_ = !(((*(*(*c).p).owner).typ == 0));
41318 		if (!(T5_)) goto LA6_;
41319 		T5_ = isClosureIterator__ast_5004((*(*(*c).p).owner).typ);
41320 		LA6_: ;
41321 		T3_ = T5_;
41322 		LA4_: ;
41323 		if (!T3_) goto LA7_;
41324 		{
41325 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA11_;
41326 			{
41327 				NIM_BOOL T15_;
41328 				NIM_BOOL T16_;
41329 				T15_ = (NIM_BOOL)0;
41330 				T16_ = (NIM_BOOL)0;
41331 				T16_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73));
41332 				if (!(T16_)) goto LA17_;
41333 				T16_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
41334 				LA17_: ;
41335 				T15_ = T16_;
41336 				if (!(T15_)) goto LA18_;
41337 				T15_ = ((*(*c).p).resultSym == (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)])._kind_4.sym);
41338 				LA18_: ;
41339 				if (!T15_) goto LA19_;
41340 			}
41341 			goto LA13_;
41342 			LA19_: ;
41343 			{
41344 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
41345 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
41346 				if (!!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA22_;
41347 				a = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
41348 				T24_ = NIM_NIL;
41349 				T24_ = newSymNode__ast_3716((*(*c).p).resultSym);
41350 				add__ast_4797(a, T24_);
41351 				add__ast_4797(a, (*n)._kind_6.sons->data[((NI) 0)]);
41352 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
41353 			}
41354 			goto LA13_;
41355 			LA22_: ;
41356 			{
41357 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_897), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_898, NIM_FALSE);
41358 				goto BeforeRet_;
41359 			}
41360 			LA13_: ;
41361 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semAsgn__sem_15307(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0)));
41362 			{
41363 				NIM_BOOL T28_;
41364 				T28_ = (NIM_BOOL)0;
41365 				T28_ = ((*(*(*result)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
41366 				if (!(T28_)) goto LA29_;
41367 				T28_ = ((*(*(*result)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*c).p).resultSym);
41368 				LA29_: ;
41369 				if (!T28_) goto LA30_;
41370 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*(*c).graph).emptyNode);
41371 			}
41372 			LA30_: ;
41373 		}
41374 		LA11_: ;
41375 	}
41376 	goto LA1_;
41377 	LA7_: ;
41378 	{
41379 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_899), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_900, NIM_FALSE);
41380 	}
41381 	LA1_: ;
41382 	}BeforeRet_: ;
41383 	return result;
41384 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semUsing__sem_9768)41385 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUsing__sem_9768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41386 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41387 	result = NIM_NIL;
41388 	result = (*(*c).graph).emptyNode;
41389 	{
41390 		NIM_BOOL T3_;
41391 		NimStringDesc* T6_;
41392 		T3_ = (NIM_BOOL)0;
41393 		T3_ = isTopLevel__semdata_1091(c);
41394 		if (!!(T3_)) goto LA4_;
41395 		T6_ = NIM_NIL;
41396 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_901));
41397 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_902, NIM_FALSE);
41398 	}
41399 	LA4_: ;
41400 	{
41401 		NI i;
41402 		NI colontmp_;
41403 		NI i_2;
41404 		i = (NI)0;
41405 		colontmp_ = (NI)0;
41406 		colontmp_ = len__ast_3198(n);
41407 		i_2 = ((NI) 0);
41408 		{
41409 			while (1) {
41410 				if (!(i_2 < colontmp_)) goto LA9;
41411 				i = i_2;
41412 				{
41413 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
41414 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
41415 					a = (*n)._kind_6.sons->data[i];
41416 					{
41417 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA13_;
41418 						suggestStmt__sigmatch_6552(c, a);
41419 					}
41420 					LA13_: ;
41421 					{
41422 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA17_;
41423 						goto LA10;
41424 					}
41425 					LA17_: ;
41426 					{
41427 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102)))) goto LA21_;
41428 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
41429 					}
41430 					LA21_: ;
41431 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
41432 					{
41433 						NI T25_;
41434 						tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
41435 						NI T28_;
41436 						T25_ = (NI)0;
41437 						T25_ = len__ast_3198(a);
41438 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T25_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA26_;
41439 						T28_ = (NI)0;
41440 						T28_ = len__ast_3198(a);
41441 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
41442 						{
41443 							NI j;
41444 							NI colontmp__2;
41445 							NI T30_;
41446 							NI i_3;
41447 							j = (NI)0;
41448 							colontmp__2 = (NI)0;
41449 							T30_ = (NI)0;
41450 							T30_ = len__ast_3198(a);
41451 							colontmp__2 = (NI)(T30_ - ((NI) 2));
41452 							i_3 = ((NI) 0);
41453 							{
41454 								while (1) {
41455 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
41456 									NIM_BOOL T39_;
41457 									if (!(i_3 < colontmp__2)) goto LA32;
41458 									j = i_3;
41459 									v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
41460 									{
41461 										NIM_BOOL T35_;
41462 										T35_ = (NIM_BOOL)0;
41463 										T35_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
41464 										if (!(T35_)) goto LA36_;
41465 										T35_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
41466 										LA36_: ;
41467 										if (!T35_) goto LA37_;
41468 										nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
41469 									}
41470 									LA37_: ;
41471 									asgnRef((void**) (&(*v).typ), typ);
41472 									T39_ = (NIM_BOOL)0;
41473 									T39_ = strTableIncl__astalgo_3381((&(*c).signatures), v, NIM_FALSE);
41474 									i_3 += ((NI) 1);
41475 								} LA32: ;
41476 							}
41477 						}
41478 					}
41479 					goto LA23_;
41480 					LA26_: ;
41481 					{
41482 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_903), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_904, NIM_FALSE);
41483 					}
41484 					LA23_: ;
41485 					def = NIM_NIL;
41486 					{
41487 						NI T43_;
41488 						T43_ = (NI)0;
41489 						T43_ = len__ast_3198(a);
41490 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T43_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44_;
41491 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_905), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_906, NIM_FALSE);
41492 					}
41493 					LA44_: ;
41494 				} LA10: ;
41495 				i_2 += ((NI) 1);
41496 			} LA9: ;
41497 		}
41498 	}
41499 	return result;
41500 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAsm__sem_9228)41501 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsm__sem_9228)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41502 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41503 	NIM_CHAR marker;
41504 	result = NIM_NIL;
41505 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
41506 	marker = pragmaAsm__pragmas_201(c, (*n)._kind_6.sons->data[((NI) 0)]);
41507 	{
41508 		if (!((NU8)(marker) == (NU8)(0))) goto LA3_;
41509 		marker = 96;
41510 	}
41511 	LA3_: ;
41512 	result = semAsmOrEmit__pragmas_1133(c, n, marker);
41513 	return result;
41514 }
N_NIMCALL(void,semYieldVarResult__sem_17977)41515 N_LIB_PRIVATE N_NIMCALL(void, semYieldVarResult__sem_17977)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* restype) {
41516 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41517 	t = skipTypes__ast_3735(restype, TM__rF9caJawfOjYTjsgLVUSGFA_137);
41518 	switch ((*t).kind) {
41519 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
41520 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
41521 	{
41522 		(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
41523 		{
41524 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA4_;
41525 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
41526 		}
41527 		LA4_: ;
41528 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), takeImplicitAddr__sem_17562(c, (*n)._kind_6.sons->data[((NI) 0)], ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))));
41529 	}
41530 	break;
41531 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
41532 	{
41533 		{
41534 			NI i;
41535 			NI colontmp_;
41536 			NI i_2;
41537 			i = (NI)0;
41538 			colontmp_ = (NI)0;
41539 			colontmp_ = len__ast_4002(t);
41540 			i_2 = ((NI) 0);
41541 			{
41542 				while (1) {
41543 					tyObject_TType__facALICuu8zUj0hjvbTLFg* e;
41544 					if (!(i_2 < colontmp_)) goto LA9;
41545 					i = i_2;
41546 					e = skipTypes__ast_3735((*t).sons->data[i], TM__rF9caJawfOjYTjsgLVUSGFA_137);
41547 					{
41548 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupleConstr;
41549 						if (!((*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA12_;
41550 						(*e).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
41551 						{
41552 							if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA16_;
41553 							tupleConstr = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
41554 						}
41555 						goto LA14_;
41556 						LA16_: ;
41557 						{
41558 							tupleConstr = (*n)._kind_6.sons->data[((NI) 0)];
41559 						}
41560 						LA14_: ;
41561 						{
41562 							if (!((*tupleConstr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*tupleConstr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA21_;
41563 							{
41564 								if (!((*(*tupleConstr)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA25_;
41565 								asgnRef((void**) (&(*(*tupleConstr)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), takeImplicitAddr__sem_17562(c, (*(*tupleConstr)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], ((*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))));
41566 							}
41567 							goto LA23_;
41568 							LA25_: ;
41569 							{
41570 								asgnRef((void**) (&(*tupleConstr)._kind_6.sons->data[i]), takeImplicitAddr__sem_17562(c, (*tupleConstr)._kind_6.sons->data[i], ((*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))));
41571 							}
41572 							LA23_: ;
41573 						}
41574 						goto LA19_;
41575 						LA21_: ;
41576 						{
41577 							liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 5), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_911), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_912, NIM_FALSE);
41578 						}
41579 						LA19_: ;
41580 					}
41581 					LA12_: ;
41582 					i_2 += ((NI) 1);
41583 				} LA9: ;
41584 			}
41585 		}
41586 	}
41587 	break;
41588 	default:
41589 	{
41590 	}
41591 	break;
41592 	}
41593 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semYield__sem_18051)41594 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semYield__sem_18051)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41595 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41596 	result = NIM_NIL;
41597 	result = n;
41598 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
41599 	{
41600 		NIM_BOOL T3_;
41601 		T3_ = (NIM_BOOL)0;
41602 		T3_ = ((*(*c).p).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
41603 		if (T3_) goto LA4_;
41604 		T3_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
41605 		LA4_: ;
41606 		if (!T3_) goto LA5_;
41607 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_907), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_908, NIM_FALSE);
41608 	}
41609 	goto LA1_;
41610 	LA5_: ;
41611 	{
41612 		tyObject_TType__facALICuu8zUj0hjvbTLFg* iterType;
41613 		tyObject_TType__facALICuu8zUj0hjvbTLFg* restype;
41614 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
41615 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
41616 		iterType = (*(*(*c).p).owner).typ;
41617 		restype = (*iterType).sons->data[((NI) 0)];
41618 		{
41619 			if (!!((restype == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA12_;
41620 			{
41621 				if (!!(((*restype).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA16_;
41622 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), fitNode__sem_70(c, restype, (*n)._kind_6.sons->data[((NI) 0)], (*n).info));
41623 			}
41624 			LA16_: ;
41625 			{
41626 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA20_;
41627 				internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_909), TM__rF9caJawfOjYTjsgLVUSGFA_910);
41628 			}
41629 			LA20_: ;
41630 			{
41631 				NIM_BOOL T24_;
41632 				tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred;
41633 				T24_ = (NIM_BOOL)0;
41634 				T24_ = isMetaType__ast_3495(restype);
41635 				if (!(T24_)) goto LA25_;
41636 				T24_ = !(((*restype).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
41637 				LA25_: ;
41638 				if (!T24_) goto LA26_;
41639 				inferred = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
41640 				asgnRef((void**) (&(*iterType).sons->data[((NI) 0)]), inferred);
41641 				{
41642 					if (!!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA30_;
41643 					asgnRef((void**) (&(*(*(*c).p).resultSym).typ), inferred);
41644 				}
41645 				LA30_: ;
41646 			}
41647 			LA26_: ;
41648 			semYieldVarResult__sem_17977(c, n, restype);
41649 		}
41650 		goto LA10_;
41651 		LA12_: ;
41652 		{
41653 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_913), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_914, NIM_FALSE);
41654 		}
41655 		LA10_: ;
41656 	}
41657 	goto LA1_;
41658 	LA8_: ;
41659 	{
41660 		if (!!(((*(*(*(*c).p).owner).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA34_;
41661 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_915), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_916, NIM_FALSE);
41662 	}
41663 	goto LA1_;
41664 	LA34_: ;
41665 	LA1_: ;
41666 	return result;
41667 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIterator__sem_13400)41668 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIterator__sem_13400)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41669 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41670 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41671 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41672 {	result = NIM_NIL;
41673 	{
41674 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
41675 		asgnRef((void**) (&(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).owner), getCurrOwner__semdata_315(c));
41676 		transitionRoutineSymKind__ast_4393((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym, ((tyEnum_TSymKind__uwRDzlpaGW5WJzgBn4R8Eg) 15));
41677 	}
41678 	LA3_: ;
41679 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15), TM__rF9caJawfOjYTjsgLVUSGFA_918, 0);
41680 	{
41681 		if (!!(((*result).kind == (*n).kind))) goto LA7_;
41682 		goto BeforeRet_;
41683 	}
41684 	LA7_: ;
41685 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41686 	t = (*s).typ;
41687 	{
41688 		NIM_BOOL T11_;
41689 		T11_ = (NIM_BOOL)0;
41690 		T11_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
41691 		if (!(T11_)) goto LA12_;
41692 		T11_ = !(((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
41693 		LA12_: ;
41694 		if (!T11_) goto LA13_;
41695 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_919), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_920, NIM_FALSE);
41696 	}
41697 	LA13_: ;
41698 	{
41699 		if (!((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA17_;
41700 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 12)) & 63);
41701 	}
41702 	goto LA15_;
41703 	LA17_: ;
41704 	{
41705 		(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
41706 	}
41707 	LA15_: ;
41708 	{
41709 		NIM_BOOL T22_;
41710 		NIM_BOOL T23_;
41711 		NimStringDesc* T28_;
41712 		T22_ = (NIM_BOOL)0;
41713 		T23_ = (NIM_BOOL)0;
41714 		T23_ = ((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
41715 		if (!(T23_)) goto LA24_;
41716 		T23_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
41717 		LA24_: ;
41718 		T22_ = T23_;
41719 		if (!(T22_)) goto LA25_;
41720 		T22_ = ((*c).inConceptDecl == ((NI) 0));
41721 		LA25_: ;
41722 		if (!T22_) goto LA26_;
41723 		T28_ = NIM_NIL;
41724 		T28_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
41725 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_921, NIM_FALSE);
41726 	}
41727 	LA26_: ;
41728 	{
41729 		NIM_BOOL T31_;
41730 		T31_ = (NIM_BOOL)0;
41731 		T31_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
41732 		if (!(T31_)) goto LA32_;
41733 		T31_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
41734 		LA32_: ;
41735 		if (!T31_) goto LA33_;
41736 		asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
41737 		(*(*result).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
41738 	}
41739 	LA33_: ;
41740 	}BeforeRet_: ;
41741 	return result;
41742 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProc__sem_9261)41743 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProc__sem_9261)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41744 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41745 	result = NIM_NIL;
41746 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), TM__rF9caJawfOjYTjsgLVUSGFA_922, 0);
41747 	return result;
41748 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFunc__sem_13456)41749 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFunc__sem_13456)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41750 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41751 	tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas;
41752 	result = NIM_NIL;
41753 	nimZeroMem((void*)validPragmas, sizeof(tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw));
41754 	{
41755 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
41756 		nimCopyMem((void*)validPragmas, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_922, 37);
41757 	}
41758 	goto LA1_;
41759 	LA3_: ;
41760 	{
41761 		nimCopyMem((void*)validPragmas, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_923, 37);
41762 	}
41763 	LA1_: ;
41764 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13), validPragmas, 0);
41765 	return result;
41766 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMethod__sem_13466)41767 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMethod__sem_13466)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41768 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41769 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41770 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disp;
41771 {	result = NIM_NIL;
41772 	{
41773 		NIM_BOOL T3_;
41774 		NimStringDesc* T6_;
41775 		T3_ = (NIM_BOOL)0;
41776 		T3_ = isTopLevel__semdata_1091(c);
41777 		if (!!(T3_)) goto LA4_;
41778 		T6_ = NIM_NIL;
41779 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_924));
41780 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_925, NIM_FALSE);
41781 	}
41782 	LA4_: ;
41783 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14), TM__rF9caJawfOjYTjsgLVUSGFA_926, 0);
41784 	{
41785 		NI T9_;
41786 		T9_ = (NI)0;
41787 		T9_ = safeLen__ast_3191(result);
41788 		if (!(T9_ <= ((NI) 0))) goto LA10_;
41789 		goto BeforeRet_;
41790 	}
41791 	LA10_: ;
41792 	{
41793 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80)))) goto LA14_;
41794 		goto BeforeRet_;
41795 	}
41796 	LA14_: ;
41797 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41798 	disp = getDispatcher__cgmeth_42(s);
41799 	{
41800 		NIM_BOOL T18_;
41801 		NIM_BOOL T19_;
41802 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ret;
41803 		T18_ = (NIM_BOOL)0;
41804 		T19_ = (NIM_BOOL)0;
41805 		T19_ = !((disp == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
41806 		if (!(T19_)) goto LA20_;
41807 		T19_ = !(((*(*disp).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
41808 		LA20_: ;
41809 		T18_ = T19_;
41810 		if (!(T18_)) goto LA21_;
41811 		T18_ = ((*(*(*disp).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
41812 		LA21_: ;
41813 		if (!T18_) goto LA22_;
41814 		ret = (*(*s).typ).sons->data[((NI) 0)];
41815 		asgnRef((void**) (&(*(*disp).typ).sons->data[((NI) 0)]), ret);
41816 		{
41817 			if (!((*(*(*disp).ast)._kind_6.sons->data[((NI) 7)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA26_;
41818 			{
41819 				NIM_BOOL T30_;
41820 				T30_ = (NIM_BOOL)0;
41821 				T30_ = isEmptyType__ast_4779(ret);
41822 				if (!T30_) goto LA31_;
41823 				asgnRef((void**) (&(*(*disp).ast)._kind_6.sons->data[((NI) 7)]), (*(*c).graph).emptyNode);
41824 			}
41825 			goto LA28_;
41826 			LA31_: ;
41827 			{
41828 				asgnRef((void**) (&(*(*(*(*disp).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym).typ), ret);
41829 			}
41830 			LA28_: ;
41831 		}
41832 		LA26_: ;
41833 	}
41834 	LA22_: ;
41835 	}BeforeRet_: ;
41836 	return result;
41837 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConverterDef__sem_13501)41838 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConverterDef__sem_13501)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41839 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41840 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41841 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41842 	tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T26_;
41843 {	result = NIM_NIL;
41844 	{
41845 		NIM_BOOL T3_;
41846 		NimStringDesc* T6_;
41847 		T3_ = (NIM_BOOL)0;
41848 		T3_ = isTopLevel__semdata_1091(c);
41849 		if (!!(T3_)) goto LA4_;
41850 		T6_ = NIM_NIL;
41851 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_927));
41852 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_928, NIM_FALSE);
41853 	}
41854 	LA4_: ;
41855 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*c).graph).config);
41856 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16), TM__rF9caJawfOjYTjsgLVUSGFA_922, 0);
41857 	{
41858 		NI T9_;
41859 		T9_ = (NI)0;
41860 		T9_ = safeLen__ast_3191(result);
41861 		if (!(T9_ <= ((NI) 0))) goto LA10_;
41862 		goto BeforeRet_;
41863 	}
41864 	LA10_: ;
41865 	{
41866 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81)))) goto LA14_;
41867 		goto BeforeRet_;
41868 	}
41869 	LA14_: ;
41870 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41871 	t = (*s).typ;
41872 	{
41873 		NimStringDesc* T20_;
41874 		if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA18_;
41875 		T20_ = NIM_NIL;
41876 		T20_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_929), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_927));
41877 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_930, NIM_FALSE);
41878 	}
41879 	LA18_: ;
41880 	{
41881 		NI T23_;
41882 		T23_ = (NI)0;
41883 		T23_ = len__ast_4002(t);
41884 		if (!!((T23_ == ((NI) 2)))) goto LA24_;
41885 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_931), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_932, NIM_FALSE);
41886 	}
41887 	LA24_: ;
41888 	nimZeroMem((void*)(&T26_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
41889 	nimZeroMem((void*)(&T26_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
41890 	T26_.sym = s;
41891 	addConverterDef__semdata_667(c, T26_);
41892 	}BeforeRet_: ;
41893 	return result;
41894 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMacroDef__sem_13520)41895 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMacroDef__sem_13520)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41896 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41897 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41898 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41899 	NIM_BOOL allUntyped;
41900 {	result = NIM_NIL;
41901 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*c).graph).config);
41902 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17), TM__rF9caJawfOjYTjsgLVUSGFA_933, 0);
41903 	{
41904 		NI T3_;
41905 		T3_ = (NI)0;
41906 		T3_ = safeLen__ast_3191(result);
41907 		if (!(T3_ <= ((NI) 0))) goto LA4_;
41908 		goto BeforeRet_;
41909 	}
41910 	LA4_: ;
41911 	{
41912 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82)))) goto LA8_;
41913 		goto BeforeRet_;
41914 	}
41915 	LA8_: ;
41916 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41917 	t = (*s).typ;
41918 	allUntyped = NIM_TRUE;
41919 	{
41920 		NI i;
41921 		NI colontmp_;
41922 		NI i_2;
41923 		i = (NI)0;
41924 		colontmp_ = (NI)0;
41925 		colontmp_ = len__ast_3198((*t).n);
41926 		i_2 = ((NI) 1);
41927 		{
41928 			while (1) {
41929 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
41930 				if (!(i_2 < colontmp_)) goto LA12;
41931 				i = i_2;
41932 				param = (*(*(*t).n)._kind_6.sons->data[i])._kind_4.sym;
41933 				{
41934 					if (!!(((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA15_;
41935 					allUntyped = NIM_FALSE;
41936 				}
41937 				LA15_: ;
41938 				i_2 += ((NI) 1);
41939 			} LA12: ;
41940 		}
41941 	}
41942 	{
41943 		if (!allUntyped) goto LA19_;
41944 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9)) & 63);
41945 	}
41946 	LA19_: ;
41947 	{
41948 		NimStringDesc* T25_;
41949 		if (!((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA23_;
41950 		T25_ = NIM_NIL;
41951 		T25_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
41952 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_934, NIM_FALSE);
41953 	}
41954 	LA23_: ;
41955 	}BeforeRet_: ;
41956 	return result;
41957 }
N_NIMCALL(void,incMod__sem_13555)41958 N_LIB_PRIVATE N_NIMCALL(void, incMod__sem_13555)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* includeStmtResult) {
41959 	NI32 f;
41960 	f = checkModuleName__modulepaths_21((*(*c).graph).config, it, NIM_TRUE);
41961 	{
41962 		if (!!((f == ((NI32) -1)))) goto LA3_;
41963 		addIncludeFileDep__semdata_604(c, f);
41964 		onProcessing__modulegraphs_11274((*c).graph, f, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_944), (*c).module);
41965 		{
41966 			NIM_BOOL T7_;
41967 			NimStringDesc* T10_;
41968 			NimStringDesc* T11_;
41969 			T7_ = (NIM_BOOL)0;
41970 			T7_ = containsOrIncl__astalgo_402((&(*c).includedFiles), ((NI) (f)));
41971 			if (!T7_) goto LA8_;
41972 			T10_ = NIM_NIL;
41973 			T10_ = toMsgFilename__msgs_602((*(*c).graph).config, f);
41974 			T11_ = NIM_NIL;
41975 			T11_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), T10_);
41976 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_945, NIM_FALSE);
41977 		}
41978 		goto LA5_;
41979 		LA8_: ;
41980 		{
41981 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
41982 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
41983 			T13_ = NIM_NIL;
41984 			T13_ = (*(*c).graph).includeFileCallback((*c).graph, (*c).module, f);
41985 			T14_ = NIM_NIL;
41986 			T14_ = semStmt__sem_84(c, T13_, 0);
41987 			add__ast_4797(includeStmtResult, T14_);
41988 			excl__reorder_264((&(*c).includedFiles), ((NI) (f)));
41989 		}
41990 		LA5_: ;
41991 	}
41992 	LA3_: ;
41993 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalInclude__sem_13575)41994 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalInclude__sem_13575)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41995 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41996 	result = NIM_NIL;
41997 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
41998 	add__ast_4797(result, n);
41999 	{
42000 		NI i;
42001 		NI colontmp_;
42002 		NI i_2;
42003 		i = (NI)0;
42004 		colontmp_ = (NI)0;
42005 		colontmp_ = len__ast_3198(n);
42006 		i_2 = ((NI) 0);
42007 		{
42008 			while (1) {
42009 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* imp;
42010 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
42011 				if (!(i_2 < colontmp_)) goto LA3;
42012 				i = i_2;
42013 				imp = NIM_NIL;
42014 				it = (*n)._kind_6.sons->data[i];
42015 				{
42016 					NIM_BOOL T6_;
42017 					NIM_BOOL T7_;
42018 					NI T9_;
42019 					NimStringDesc* T13_;
42020 					T6_ = (NIM_BOOL)0;
42021 					T7_ = (NIM_BOOL)0;
42022 					T7_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
42023 					if (!(T7_)) goto LA8_;
42024 					T9_ = (NI)0;
42025 					T9_ = len__ast_3198(it);
42026 					T7_ = (T9_ == ((NI) 3));
42027 					LA8_: ;
42028 					T6_ = T7_;
42029 					if (!(T6_)) goto LA10_;
42030 					T6_ = !(eqStrings((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_940)));
42031 					LA10_: ;
42032 					if (!T6_) goto LA11_;
42033 					T13_ = NIM_NIL;
42034 					T13_ = rawNewString(((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s ? (*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s->Sup.len : 0) + 27);
42035 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_941));
42036 appendString(T13_, (*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s);
42037 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_942));
42038 					liMessage__msgs_1118((*(*c).graph).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_943, NIM_FALSE);
42039 				}
42040 				LA11_: ;
42041 				{
42042 					NIM_BOOL T16_;
42043 					NIM_BOOL T17_;
42044 					NI T19_;
42045 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sep;
42046 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dir;
42047 					T16_ = (NIM_BOOL)0;
42048 					T17_ = (NIM_BOOL)0;
42049 					T17_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
42050 					if (!(T17_)) goto LA18_;
42051 					T19_ = (NI)0;
42052 					T19_ = len__ast_3198(it);
42053 					T17_ = (T19_ == ((NI) 3));
42054 					LA18_: ;
42055 					T16_ = T17_;
42056 					if (!(T16_)) goto LA20_;
42057 					T16_ = ((*(*it)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
42058 					LA20_: ;
42059 					if (!T16_) goto LA21_;
42060 					sep = (*it)._kind_6.sons->data[((NI) 0)];
42061 					dir = (*it)._kind_6.sons->data[((NI) 1)];
42062 					imp = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (*it).info);
42063 					add__ast_4797(imp, sep);
42064 					add__ast_4797(imp, dir);
42065 					add__ast_4797(imp, sep);
42066 					{
42067 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
42068 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
42069 						x = NIM_NIL;
42070 						colontmp__2 = NIM_NIL;
42071 						colontmp__2 = (*it)._kind_6.sons->data[((NI) 2)];
42072 						{
42073 							NI i_3;
42074 							NI colontmp__3;
42075 							NI i_4;
42076 							i_3 = (NI)0;
42077 							colontmp__3 = (NI)0;
42078 							colontmp__3 = safeLen__ast_3191(colontmp__2);
42079 							i_4 = ((NI) 0);
42080 							{
42081 								while (1) {
42082 									if (!(i_4 < colontmp__3)) goto LA26;
42083 									i_3 = i_4;
42084 									x = (*colontmp__2)._kind_6.sons->data[i_3];
42085 									asgnRef((void**) (&(*imp)._kind_6.sons->data[((NI) 2)]), x);
42086 									incMod__sem_13555(c, n, imp, result);
42087 									i_4 += ((NI) 1);
42088 								} LA26: ;
42089 							}
42090 						}
42091 					}
42092 				}
42093 				goto LA14_;
42094 				LA21_: ;
42095 				{
42096 					incMod__sem_13555(c, n, it, result);
42097 				}
42098 				LA14_: ;
42099 				i_2 += ((NI) 1);
42100 			} LA3: ;
42101 		}
42102 	}
42103 	return result;
42104 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2697)42105 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module) {
42106 	NIM_BOOL result;
42107 	NIM_BOOL T1_;
42108 	NI T2_;
42109 	result = (NIM_BOOL)0;
42110 	T1_ = (NIM_BOOL)0;
42111 	T2_ = ((*g).packed_0 ? (*g).packed_0->Sup.len : 0);
42112 	T1_ = (module < T2_);
42113 	if (!(T1_)) goto LA3_;
42114 	T1_ = ((*g).packed_0->data[module].status == ((tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q) 3));
42115 	LA3_: ;
42116 	result = T1_;
42117 	return result;
42118 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2709)42119 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
42120 	NIM_BOOL result;
42121 	result = (NIM_BOOL)0;
42122 	result = isCachedModule__modulegraphs_2697(g, (*m).position);
42123 	return result;
42124 }
N_INLINE(void,specialSyms__sem_19892)42125 static N_INLINE(void, specialSyms__sem_19892)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
42126 	{
42127 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T5_;
42128 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16))) goto LA3_;
42129 		nimZeroMem((void*)(&T5_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42130 		nimZeroMem((void*)(&T5_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42131 		T5_.sym = s;
42132 		addConverter__semdata_653(c, T5_);
42133 	}
42134 	goto LA1_;
42135 	LA3_: ;
42136 	{
42137 		NIM_BOOL T7_;
42138 		NIM_BOOL T8_;
42139 		NIM_BOOL T9_;
42140 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T15_;
42141 		T7_ = (NIM_BOOL)0;
42142 		T8_ = (NIM_BOOL)0;
42143 		T9_ = (NIM_BOOL)0;
42144 		T9_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
42145 		if (!(T9_)) goto LA10_;
42146 		T9_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
42147 		LA10_: ;
42148 		T8_ = T9_;
42149 		if (!(T8_)) goto LA11_;
42150 		T8_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
42151 		LA11_: ;
42152 		T7_ = T8_;
42153 		if (!(T7_)) goto LA12_;
42154 		T7_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
42155 		LA12_: ;
42156 		if (!T7_) goto LA13_;
42157 		nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42158 		nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42159 		T15_.sym = s;
42160 		addPureEnum__semdata_674(c, T15_);
42161 	}
42162 	goto LA1_;
42163 	LA13_: ;
42164 	LA1_: ;
42165 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExport__sem_19888)42166 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExport__sem_19888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42167 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42168 	result = NIM_NIL;
42169 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118), (*n).info);
42170 	{
42171 		NI i;
42172 		NI colontmp_;
42173 		NI i_2;
42174 		i = (NI)0;
42175 		colontmp_ = (NI)0;
42176 		colontmp_ = len__ast_3198(n);
42177 		i_2 = ((NI) 0);
42178 		{
42179 			while (1) {
42180 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
42181 				tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
42182 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42183 				if (!(i_2 < colontmp_)) goto LA3;
42184 				i = i_2;
42185 				a = (*n)._kind_6.sons->data[i];
42186 				nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
42187 				s = initOverloadIter__lookups_1374((&o), c, a);
42188 				{
42189 					NimStringDesc* T8_;
42190 					NimStringDesc* T9_;
42191 					if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA6_;
42192 					T8_ = NIM_NIL;
42193 					T9_ = NIM_NIL;
42194 					T9_ = renderTree__renderer_46(a, 0);
42195 					T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + 15);
42196 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_947));
42197 appendString(T8_, T9_);
42198 					liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_948, NIM_FALSE);
42199 				}
42200 				goto LA4_;
42201 				LA6_: ;
42202 				{
42203 					if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA11_;
42204 					reexportSym__semdata_717(c, s);
42205 					{
42206 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
42207 						NIM_BOOL importHidden;
42208 						it = NIM_NIL;
42209 						importHidden = (((*s).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
42210 						{
42211 							NIM_BOOL T16_;
42212 							tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
42213 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
42214 							T16_ = (NIM_BOOL)0;
42215 							T16_ = isCachedModule__modulegraphs_2709((*c).graph, s);
42216 							if (!T16_) goto LA17_;
42217 							nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
42218 							r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*s).position)), importHidden);
42219 							{
42220 								while (1) {
42221 									if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA20;
42222 									it = r;
42223 									{
42224 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T25_;
42225 										if (!((43513792 &((NU32)1<<((NU)((*it).kind)&31U)))!=0)) goto LA23_;
42226 										reexportSym__semdata_717(c, it);
42227 										T25_ = NIM_NIL;
42228 										T25_ = newSymNode__ast_3719(it, (*a).info);
42229 										add__ast_4797(result, T25_);
42230 										specialSyms__sem_19892(c, it);
42231 									}
42232 									LA23_: ;
42233 									r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
42234 								} LA20: ;
42235 							}
42236 						}
42237 						goto LA14_;
42238 						LA17_: ;
42239 						{
42240 							{
42241 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
42242 								tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__2;
42243 								tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
42244 								NI i_3;
42245 								NI L;
42246 								NI T32_;
42247 								s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
42248 								colontmp__2 = NIM_NIL;
42249 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*s).position].interf);
42250 								{
42251 									if (!importHidden) goto LA30_;
42252 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*s).position].interfHidden);
42253 								}
42254 								LA30_: ;
42255 								colontmp__2 = (*retX60gensym17_).data;
42256 								i_3 = ((NI) 0);
42257 								T32_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
42258 								L = T32_;
42259 								{
42260 									while (1) {
42261 										if (!(i_3 < L)) goto LA34;
42262 										s_2 = &colontmp__2->data[i_3];
42263 										{
42264 											if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA37_;
42265 											it = (*s_2);
42266 											{
42267 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
42268 												if (!((*it).kind >= ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6) && (*it).kind <= ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10) || (*it).kind >= ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) && (*it).kind <= ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18) || (*it).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20) || (*it).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 23) || (*it).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 25))) goto LA41_;
42269 												reexportSym__semdata_717(c, it);
42270 												T43_ = NIM_NIL;
42271 												T43_ = newSymNode__ast_3719(it, (*a).info);
42272 												add__ast_4797(result, T43_);
42273 												specialSyms__sem_19892(c, it);
42274 											}
42275 											LA41_: ;
42276 										}
42277 										LA37_: ;
42278 										i_3 += ((NI) 1);
42279 									} LA34: ;
42280 								}
42281 							}
42282 						}
42283 						LA14_: ;
42284 					}
42285 					markUsed__sigmatch_85(c, (*n).info, s);
42286 				}
42287 				goto LA4_;
42288 				LA11_: ;
42289 				{
42290 					{
42291 						while (1) {
42292 							if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA46;
42293 							{
42294 								NimStringDesc* T51_;
42295 								NimStringDesc* T52_;
42296 								if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20))) goto LA49_;
42297 								T51_ = NIM_NIL;
42298 								T52_ = NIM_NIL;
42299 								T52_ = renderTree__renderer_46(a, 0);
42300 								T51_ = rawNewString((T52_ ? T52_->Sup.len : 0) + 59);
42301 appendString(T51_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_947));
42302 appendString(T51_, T52_);
42303 appendString(T51_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_949));
42304 								liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T51_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_950, NIM_FALSE);
42305 							}
42306 							LA49_: ;
42307 							{
42308 								NIM_BOOL T55_;
42309 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
42310 								T55_ = (NIM_BOOL)0;
42311 								T55_ = ((43513792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
42312 								if (!(T55_)) goto LA56_;
42313 								T55_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42314 								LA56_: ;
42315 								if (!T55_) goto LA57_;
42316 								T59_ = NIM_NIL;
42317 								T59_ = newSymNode__ast_3719(s, (*a).info);
42318 								add__ast_4797(result, T59_);
42319 								reexportSym__semdata_717(c, s);
42320 								markUsed__sigmatch_85(c, (*n).info, s);
42321 								specialSyms__sem_19892(c, s);
42322 								{
42323 									NIM_BOOL T62_;
42324 									tyObject_TType__facALICuu8zUj0hjvbTLFg* etyp;
42325 									T62_ = (NIM_BOOL)0;
42326 									T62_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
42327 									if (!(T62_)) goto LA63_;
42328 									T62_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0));
42329 									LA63_: ;
42330 									if (!T62_) goto LA64_;
42331 									etyp = (*s).typ;
42332 									{
42333 										if (!((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA68_;
42334 										{
42335 											NI j;
42336 											NI colontmp__3;
42337 											NI i_4;
42338 											j = (NI)0;
42339 											colontmp__3 = (NI)0;
42340 											colontmp__3 = len__ast_3198((*etyp).n);
42341 											i_4 = ((NI) 0);
42342 											{
42343 												while (1) {
42344 													tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
42345 													if (!(i_4 < colontmp__3)) goto LA72;
42346 													j = i_4;
42347 													e = (*(*(*etyp).n)._kind_6.sons->data[j])._kind_4.sym;
42348 													{
42349 														if (!!(((*e).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20)))) goto LA75_;
42350 														internalErrorImpl__msgs_1431((*(*c).graph).config, (*s).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_951), TM__rF9caJawfOjYTjsgLVUSGFA_952);
42351 													}
42352 													LA75_: ;
42353 													reexportSym__semdata_717(c, e);
42354 													i_4 += ((NI) 1);
42355 												} LA72: ;
42356 											}
42357 										}
42358 									}
42359 									LA68_: ;
42360 								}
42361 								LA64_: ;
42362 							}
42363 							LA57_: ;
42364 							s = nextOverloadIter__lookups_1528((&o), c, a);
42365 						} LA46: ;
42366 					}
42367 				}
42368 				LA4_: ;
42369 				i_2 += ((NI) 1);
42370 			} LA3: ;
42371 		}
42372 	}
42373 	return result;
42374 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExportExcept__sem_19849)42375 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExportExcept__sem_19849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42376 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42377 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* moduleName;
42378 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
42379 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* exported;
42380 {	result = NIM_NIL;
42381 	moduleName = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42382 	{
42383 		NIM_BOOL T3_;
42384 		T3_ = (NIM_BOOL)0;
42385 		T3_ = !(((*moduleName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
42386 		if (T3_) goto LA4_;
42387 		T3_ = !(((*(*moduleName)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
42388 		LA4_: ;
42389 		if (!T3_) goto LA5_;
42390 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_954), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_955, NIM_FALSE);
42391 		result = n;
42392 		goto BeforeRet_;
42393 	}
42394 	LA5_: ;
42395 	nimZeroMem((void*)(&exceptSet), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
42396 	readExceptSet__importer_17(c, n, (&exceptSet));
42397 	exported = (*moduleName)._kind_4.sym;
42398 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118), (*n).info);
42399 	reexportSym__semdata_717(c, exported);
42400 	{
42401 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42402 		NIM_BOOL importHidden;
42403 		s = NIM_NIL;
42404 		importHidden = (((*exported).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
42405 		{
42406 			NIM_BOOL T10_;
42407 			tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
42408 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
42409 			T10_ = (NIM_BOOL)0;
42410 			T10_ = isCachedModule__modulegraphs_2709((*c).graph, exported);
42411 			if (!T10_) goto LA11_;
42412 			nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
42413 			r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*exported).position)), importHidden);
42414 			{
42415 				while (1) {
42416 					if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA14;
42417 					s = r;
42418 					{
42419 						NIM_BOOL T17_;
42420 						NIM_BOOL T18_;
42421 						NIM_BOOL T20_;
42422 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
42423 						T17_ = (NIM_BOOL)0;
42424 						T18_ = (NIM_BOOL)0;
42425 						T18_ = ((43513792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
42426 						if (!(T18_)) goto LA19_;
42427 						T20_ = (NIM_BOOL)0;
42428 						T20_ = contains__astalgo_3496((&exceptSet), (*(*s).name).id);
42429 						T18_ = !(T20_);
42430 						LA19_: ;
42431 						T17_ = T18_;
42432 						if (!(T17_)) goto LA21_;
42433 						T17_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42434 						LA21_: ;
42435 						if (!T17_) goto LA22_;
42436 						reexportSym__semdata_717(c, s);
42437 						T24_ = NIM_NIL;
42438 						T24_ = newSymNode__ast_3719(s, (*n).info);
42439 						add__ast_4797(result, T24_);
42440 					}
42441 					LA22_: ;
42442 					r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
42443 				} LA14: ;
42444 			}
42445 		}
42446 		goto LA8_;
42447 		LA11_: ;
42448 		{
42449 			{
42450 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
42451 				tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp_;
42452 				tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
42453 				NI i;
42454 				NI L;
42455 				NI T31_;
42456 				s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
42457 				colontmp_ = NIM_NIL;
42458 				retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*exported).position].interf);
42459 				{
42460 					if (!importHidden) goto LA29_;
42461 					retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*exported).position].interfHidden);
42462 				}
42463 				LA29_: ;
42464 				colontmp_ = (*retX60gensym17_).data;
42465 				i = ((NI) 0);
42466 				T31_ = (colontmp_ ? colontmp_->Sup.len : 0);
42467 				L = T31_;
42468 				{
42469 					while (1) {
42470 						if (!(i < L)) goto LA33;
42471 						s_2 = &colontmp_->data[i];
42472 						{
42473 							if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA36_;
42474 							s = (*s_2);
42475 							{
42476 								NIM_BOOL T40_;
42477 								NIM_BOOL T41_;
42478 								NIM_BOOL T43_;
42479 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
42480 								T40_ = (NIM_BOOL)0;
42481 								T41_ = (NIM_BOOL)0;
42482 								T41_ = ((*s).kind >= ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6) && (*s).kind <= ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10) || (*s).kind >= ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) && (*s).kind <= ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18) || (*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20) || (*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 23) || (*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 25));
42483 								if (!(T41_)) goto LA42_;
42484 								T43_ = (NIM_BOOL)0;
42485 								T43_ = contains__astalgo_3496((&exceptSet), (*(*s).name).id);
42486 								T41_ = !(T43_);
42487 								LA42_: ;
42488 								T40_ = T41_;
42489 								if (!(T40_)) goto LA44_;
42490 								T40_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42491 								LA44_: ;
42492 								if (!T40_) goto LA45_;
42493 								reexportSym__semdata_717(c, s);
42494 								T47_ = NIM_NIL;
42495 								T47_ = newSymNode__ast_3719(s, (*n).info);
42496 								add__ast_4797(result, T47_);
42497 							}
42498 							LA45_: ;
42499 						}
42500 						LA36_: ;
42501 						i += ((NI) 1);
42502 					} LA33: ;
42503 				}
42504 			}
42505 		}
42506 		LA8_: ;
42507 	}
42508 	markUsed__sigmatch_85(c, (*n).info, exported);
42509 	}BeforeRet_: ;
42510 	return result;
42511 }
N_NIMCALL(void,setLine__sem_13634)42512 N_LIB_PRIVATE N_NIMCALL(void, setLine__sem_13634)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
42513 	{
42514 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
42515 		{
42516 			NI i;
42517 			NI colontmp_;
42518 			NI i_2;
42519 			i = (NI)0;
42520 			colontmp_ = (NI)0;
42521 			colontmp_ = safeLen__ast_3191(n);
42522 			i_2 = ((NI) 0);
42523 			{
42524 				while (1) {
42525 					if (!(i_2 < colontmp_)) goto LA7;
42526 					i = i_2;
42527 					setLine__sem_13634((*n)._kind_6.sons->data[i], info);
42528 					i_2 += ((NI) 1);
42529 				} LA7: ;
42530 			}
42531 		}
42532 		(*n).info = info;
42533 	}
42534 	LA3_: ;
42535 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPragmaBlock__sem_13647)42536 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPragmaBlock__sem_13647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42537 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42538 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaList;
42539 	NI inUncheckedAssignSection;
42540 	result = NIM_NIL;
42541 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
42542 	pragmaList = (*n)._kind_6.sons->data[((NI) 0)];
42543 	pragma__pragmas_123(c, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), pragmaList, TM__rF9caJawfOjYTjsgLVUSGFA_956, NIM_TRUE);
42544 	inUncheckedAssignSection = ((NI) 0);
42545 	{
42546 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
42547 		p = NIM_NIL;
42548 		{
42549 			NI i;
42550 			NI colontmp_;
42551 			NI i_2;
42552 			i = (NI)0;
42553 			colontmp_ = (NI)0;
42554 			colontmp_ = safeLen__ast_3191(pragmaList);
42555 			i_2 = ((NI) 0);
42556 			{
42557 				while (1) {
42558 					if (!(i_2 < colontmp_)) goto LA4;
42559 					i = i_2;
42560 					p = (*pragmaList)._kind_6.sons->data[i];
42561 					{
42562 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T7_;
42563 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T10_;
42564 						T7_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42565 						T7_ = whichPragma__trees_244(p);
42566 						if (!(T7_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 9))) goto LA8_;
42567 						T10_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42568 						T10_ = whichPragma__trees_244((*p)._kind_6.sons->data[((NI) 1)]);
42569 						switch (T10_) {
42570 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 110):
42571 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 109):
42572 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179):
42573 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174):
42574 						{
42575 						}
42576 						break;
42577 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 86):
42578 						{
42579 							inUncheckedAssignSection = ((NI) 1);
42580 						}
42581 						break;
42582 						default:
42583 						{
42584 							NimStringDesc* T14_;
42585 							NimStringDesc* T15_;
42586 							T14_ = NIM_NIL;
42587 							T15_ = NIM_NIL;
42588 							T15_ = dollar___renderer_2106(p);
42589 							T14_ = rawNewString((T15_ ? T15_->Sup.len : 0) + 22);
42590 appendString(T14_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_957));
42591 appendString(T14_, T15_);
42592 							liMessage__msgs_1118((*(*c).graph).config, (*p).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_958, NIM_FALSE);
42593 						}
42594 						break;
42595 						}
42596 					}
42597 					LA8_: ;
42598 					i_2 += ((NI) 1);
42599 				} LA4: ;
42600 			}
42601 		}
42602 	}
42603 	(*c).inUncheckedAssignSection += inUncheckedAssignSection;
42604 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
42605 	(*c).inUncheckedAssignSection -= inUncheckedAssignSection;
42606 	result = n;
42607 	asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
42608 	{
42609 		NI i_3;
42610 		NI colontmp__2;
42611 		NI i_4;
42612 		i_3 = (NI)0;
42613 		colontmp__2 = (NI)0;
42614 		colontmp__2 = len__ast_3198(pragmaList);
42615 		i_4 = ((NI) 0);
42616 		{
42617 			while (1) {
42618 				tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T19_;
42619 				if (!(i_4 < colontmp__2)) goto LA18;
42620 				i_3 = i_4;
42621 				T19_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42622 				T19_ = whichPragma__trees_244((*pragmaList)._kind_6.sons->data[i_3]);
42623 				switch (T19_) {
42624 				case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 127):
42625 				{
42626 					setLine__sem_13634(result, (*(*pragmaList)._kind_6.sons->data[i_3]).info);
42627 				}
42628 				break;
42629 				case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 190):
42630 				{
42631 					(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 6)) & 31);
42632 				}
42633 				break;
42634 				default:
42635 				{
42636 				}
42637 				break;
42638 				}
42639 				i_4 += ((NI) 1);
42640 			} LA18: ;
42641 		}
42642 	}
42643 	return result;
42644 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStaticStmt__sem_13685)42645 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticStmt__sem_13685)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42646 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42647 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
42648 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
42649 	result = NIM_NIL;
42650 	(*c).inStaticContext += ((NI) 1);
42651 	T1_ = NIM_NIL;
42652 	T1_ = openScope__lookups_69(c);
42653 	a = semStmt__sem_84(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42654 	closeScope__lookups_101(c);
42655 	(*c).inStaticContext -= ((NI) 1);
42656 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
42657 	evalStaticStmt__vm_13759((*c).module, (*c).Sup.idgen, (*c).graph, a, (*(*c).p).owner);
42658 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114), (*n).info, ((NI) 1));
42659 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*(*c).graph).emptyNode);
42660 	return result;
42661 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpr__sem_52)42662 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpr__sem_52)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
42663 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42664 {	result = NIM_NIL;
42665 	result = n;
42666 	{
42667 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA3_;
42668 		suggestExpr__sigmatch_6536(c, n);
42669 	}
42670 	LA3_: ;
42671 	{
42672 		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0)) goto LA7_;
42673 		goto BeforeRet_;
42674 	}
42675 	LA7_: ;
42676 	switch ((*n).kind) {
42677 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
42678 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
42679 	{
42680 		tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ checks;
42681 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42682 		{
42683 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0)) goto LA12_;
42684 			checks = 10;
42685 		}
42686 		goto LA10_;
42687 		LA12_: ;
42688 		{
42689 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 15))&31U)))!=0)) goto LA15_;
42690 			checks = 14;
42691 		}
42692 		goto LA10_;
42693 		LA15_: ;
42694 		{
42695 			checks = 15;
42696 		}
42697 		LA10_: ;
42698 		s = qualifiedLookUp__lookups_1233(c, n, checks);
42699 		{
42700 			if (!((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))) goto LA20_;
42701 			semCaptureSym__lambdalifting_4995(s, (*(*c).p).owner);
42702 		}
42703 		LA20_: ;
42704 		switch ((*s).kind) {
42705 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
42706 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
42707 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
42708 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
42709 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
42710 		{
42711 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
42712 			{
42713 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA25_;
42714 				markIndirect__semdata_1060(c, (*result)._kind_4.sym);
42715 			}
42716 			LA25_: ;
42717 			{
42718 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA29_;
42719 				asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
42720 			}
42721 			LA29_: ;
42722 		}
42723 		break;
42724 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
42725 		{
42726 			{
42727 				if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0)) goto LA34_;
42728 				result = enumFieldSymChoice__sem_20195(c, n, s);
42729 			}
42730 			goto LA32_;
42731 			LA34_: ;
42732 			{
42733 				result = semSym__sem_16966(c, n, s, flags);
42734 			}
42735 			LA32_: ;
42736 		}
42737 		break;
42738 		default:
42739 		{
42740 			result = semSym__sem_16966(c, n, s, flags);
42741 		}
42742 		break;
42743 		}
42744 	}
42745 	break;
42746 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
42747 	{
42748 		result = semSym__sem_16966(c, n, (*n)._kind_4.sym, flags);
42749 	}
42750 	break;
42751 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
42752 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0):
42753 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
42754 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
42755 	{
42756 	}
42757 	break;
42758 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
42759 	{
42760 		{
42761 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA43_;
42762 			asgnRef((void**) (&(*result).typ), getNilType__sem_20188(c));
42763 		}
42764 		LA43_: ;
42765 	}
42766 	break;
42767 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
42768 	{
42769 		{
42770 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA48_;
42771 			setIntLitType__semdata_245(c, result);
42772 		}
42773 		LA48_: ;
42774 	}
42775 	break;
42776 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7):
42777 	{
42778 		{
42779 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA53_;
42780 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32)));
42781 		}
42782 		LA53_: ;
42783 	}
42784 	break;
42785 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 8):
42786 	{
42787 		{
42788 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA58_;
42789 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33)));
42790 		}
42791 		LA58_: ;
42792 	}
42793 	break;
42794 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 9):
42795 	{
42796 		{
42797 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA63_;
42798 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34)));
42799 		}
42800 		LA63_: ;
42801 	}
42802 	break;
42803 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
42804 	{
42805 		{
42806 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA68_;
42807 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35)));
42808 		}
42809 		LA68_: ;
42810 	}
42811 	break;
42812 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11):
42813 	{
42814 		{
42815 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA73_;
42816 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40)));
42817 		}
42818 		LA73_: ;
42819 	}
42820 	break;
42821 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 12):
42822 	{
42823 		{
42824 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA78_;
42825 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41)));
42826 		}
42827 		LA78_: ;
42828 	}
42829 	break;
42830 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 13):
42831 	{
42832 		{
42833 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA83_;
42834 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42)));
42835 		}
42836 		LA83_: ;
42837 	}
42838 	break;
42839 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 14):
42840 	{
42841 		{
42842 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA88_;
42843 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)));
42844 		}
42845 		LA88_: ;
42846 	}
42847 	break;
42848 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
42849 	{
42850 		{
42851 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA93_;
42852 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44)));
42853 		}
42854 		LA93_: ;
42855 	}
42856 	break;
42857 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
42858 	{
42859 		{
42860 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA98_;
42861 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37)));
42862 		}
42863 		LA98_: ;
42864 	}
42865 	break;
42866 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
42867 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
42868 	{
42869 		{
42870 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA103_;
42871 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38)));
42872 		}
42873 		LA103_: ;
42874 	}
42875 	break;
42876 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
42877 	{
42878 		{
42879 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA108_;
42880 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39)));
42881 		}
42882 		LA108_: ;
42883 	}
42884 	break;
42885 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
42886 	{
42887 		{
42888 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA113_;
42889 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
42890 		}
42891 		LA113_: ;
42892 	}
42893 	break;
42894 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
42895 	{
42896 		{
42897 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA118_;
42898 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2)));
42899 		}
42900 		LA118_: ;
42901 	}
42902 	break;
42903 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
42904 	{
42905 		result = semFieldAccess__sem_13894(c, n, flags);
42906 		{
42907 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA123_;
42908 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
42909 			result = semExpr__sem_52(c, result, flags);
42910 		}
42911 		LA123_: ;
42912 	}
42913 	break;
42914 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
42915 	{
42916 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_635), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_636, NIM_FALSE);
42917 		result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
42918 	}
42919 	break;
42920 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
42921 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
42922 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
42923 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
42924 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
42925 	{
42926 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
42927 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T147_;
42928 		{
42929 			NIM_BOOL T129_;
42930 			NI T131_;
42931 			tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag modifier;
42932 			T129_ = (NIM_BOOL)0;
42933 			T129_ = !(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
42934 			if (!(T129_)) goto LA130_;
42935 			T131_ = (NI)0;
42936 			T131_ = len__ast_3198(n);
42937 			T129_ = (T131_ == ((NI) 1));
42938 			LA130_: ;
42939 			if (!T129_) goto LA132_;
42940 			switch ((*n).kind) {
42941 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
42942 			{
42943 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23);
42944 			}
42945 			break;
42946 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
42947 			{
42948 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22);
42949 			}
42950 			break;
42951 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
42952 			{
42953 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21);
42954 			}
42955 			break;
42956 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
42957 			{
42958 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60);
42959 			}
42960 			break;
42961 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
42962 			{
42963 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8);
42964 			}
42965 			break;
42966 			default:
42967 			{
42968 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
42969 			}
42970 			break;
42971 			}
42972 			{
42973 				tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
42974 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T144_;
42975 				tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T145_;
42976 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T146_;
42977 				if (!!((modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA142_;
42978 				T144_ = NIM_NIL;
42979 				T144_ = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42980 				baseType = skipTypes__ast_3735((*T144_).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
42981 				T145_ = NIM_NIL;
42982 				T145_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
42983 				asgnRef((void**) (&T145_->data[0]), baseType);
42984 				T146_ = NIM_NIL;
42985 				T146_ = newTypeWithSons__semdata_821(c, modifier, T145_);
42986 				asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, T146_));
42987 				goto BeforeRet_;
42988 			}
42989 			LA142_: ;
42990 		}
42991 		LA132_: ;
42992 		T147_ = NIM_NIL;
42993 		T147_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
42994 		typ = skipTypes__ast_3735(T147_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
42995 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
42996 	}
42997 	break;
42998 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128):
42999 	{
43000 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
43001 		typ_2 = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
43002 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ_2));
43003 	}
43004 	break;
43005 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
43006 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
43007 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
43008 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
43009 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
43010 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
43011 	{
43012 		tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ mode;
43013 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
43014 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
43015 		{
43016 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA152_;
43017 			mode = 0;
43018 		}
43019 		goto LA150_;
43020 		LA152_: ;
43021 		{
43022 			mode = 2;
43023 		}
43024 		LA150_: ;
43025 		(*c).isAmbiguous = NIM_FALSE;
43026 		s_2 = qualifiedLookUp__lookups_1233(c, (*n)._kind_6.sons->data[((NI) 0)], mode);
43027 		{
43028 			if (!!((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA157_;
43029 			switch ((*s_2).kind) {
43030 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
43031 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
43032 			{
43033 				result = semDirectOp__sem_511(c, n, flags);
43034 			}
43035 			break;
43036 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
43037 			{
43038 				NIM_BOOL ambig;
43039 				ambig = (*c).isAmbiguous;
43040 				{
43041 					NIM_BOOL T163_;
43042 					NIM_BOOL T164_;
43043 					NI T167_;
43044 					T163_ = (NIM_BOOL)0;
43045 					T164_ = (NIM_BOOL)0;
43046 					T164_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
43047 					if (!(T164_)) goto LA165_;
43048 					T164_ = ambig;
43049 					LA165_: ;
43050 					T163_ = !(T164_);
43051 					if (!(T163_)) goto LA166_;
43052 					T167_ = (NI)0;
43053 					T167_ = len__ast_3198(n);
43054 					T163_ = (T167_ == ((NI) 2));
43055 					LA166_: ;
43056 					if (!T163_) goto LA168_;
43057 					result = semConv__sem_14395(c, n);
43058 				}
43059 				goto LA161_;
43060 				LA168_: ;
43061 				{
43062 					NIM_BOOL T171_;
43063 					NI T173_;
43064 					T171_ = (NIM_BOOL)0;
43065 					T171_ = ambig;
43066 					if (!(T171_)) goto LA172_;
43067 					T173_ = (NI)0;
43068 					T173_ = len__ast_3198(n);
43069 					T171_ = (T173_ == ((NI) 1));
43070 					LA172_: ;
43071 					if (!T171_) goto LA174_;
43072 					errorUseQualifier__lookups_1180(c, (*n).info, s_2);
43073 				}
43074 				goto LA161_;
43075 				LA174_: ;
43076 				{
43077 					NI T177_;
43078 					T177_ = (NI)0;
43079 					T177_ = len__ast_3198(n);
43080 					if (!(T177_ == ((NI) 1))) goto LA178_;
43081 					result = semObjConstr__sem_16471(c, n, flags);
43082 				}
43083 				goto LA161_;
43084 				LA178_: ;
43085 				{
43086 					if (!((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA181_;
43087 					result = semDirectOp__sem_511(c, n, flags);
43088 				}
43089 				goto LA161_;
43090 				LA181_: ;
43091 				{
43092 					result = semMagic__sem_18565(c, n, s_2, flags);
43093 				}
43094 				LA161_: ;
43095 			}
43096 			break;
43097 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
43098 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
43099 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
43100 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
43101 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
43102 			{
43103 				{
43104 					if (!((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA187_;
43105 					result = semDirectOp__sem_511(c, n, flags);
43106 				}
43107 				goto LA185_;
43108 				LA187_: ;
43109 				{
43110 					result = semMagic__sem_18565(c, n, s_2, flags);
43111 				}
43112 				LA185_: ;
43113 			}
43114 			break;
43115 			default:
43116 			{
43117 				result = semIndirectOp__sem_16548(c, n, flags);
43118 			}
43119 			break;
43120 			}
43121 		}
43122 		goto LA155_;
43123 		LA157_: ;
43124 		{
43125 			NIM_BOOL T192_;
43126 			NIM_BOOL T193_;
43127 			T192_ = (NIM_BOOL)0;
43128 			T193_ = (NIM_BOOL)0;
43129 			T193_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
43130 			if (T193_) goto LA194_;
43131 			T193_ = shouldBeBracketExpr__sem_20029(n);
43132 			LA194_: ;
43133 			T192_ = T193_;
43134 			if (!(T192_)) goto LA195_;
43135 			T192_ = isSymChoice__sem_14366((*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
43136 			LA195_: ;
43137 			if (!T192_) goto LA196_;
43138 			setGenericParams__sem_16507(c, (*n)._kind_6.sons->data[((NI) 0)]);
43139 			result = semDirectOp__sem_511(c, n, flags);
43140 		}
43141 		goto LA155_;
43142 		LA196_: ;
43143 		{
43144 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA199_;
43145 			result = semDirectOp__sem_511(c, n, flags);
43146 		}
43147 		goto LA155_;
43148 		LA199_: ;
43149 		{
43150 			NIM_BOOL T202_;
43151 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
43152 			T202_ = (NIM_BOOL)0;
43153 			T202_ = isSymChoice__sem_14366((*n)._kind_6.sons->data[((NI) 0)]);
43154 			if (!T202_) goto LA203_;
43155 			b = asBracketExpr__sem_20084(c, n);
43156 			{
43157 				if (!!((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA207_;
43158 				result = semExpr__sem_52(c, b, flags);
43159 			}
43160 			goto LA205_;
43161 			LA207_: ;
43162 			{
43163 				result = semDirectOp__sem_511(c, n, flags);
43164 			}
43165 			LA205_: ;
43166 		}
43167 		goto LA155_;
43168 		LA203_: ;
43169 		{
43170 			result = semIndirectOp__sem_16548(c, n, flags);
43171 		}
43172 		LA155_: ;
43173 		{
43174 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* hoistedParams;
43175 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T218_;
43176 			if (!(((*result).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA213_;
43177 			result = copyTree__ast_4431(result);
43178 			hoistedParams = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100), (*result).info);
43179 			{
43180 				NI i;
43181 				NI colontmp_;
43182 				NI i_2;
43183 				i = (NI)0;
43184 				colontmp_ = (NI)0;
43185 				colontmp_ = len__ast_3198(result);
43186 				i_2 = ((NI) 1);
43187 				{
43188 					while (1) {
43189 						if (!(i_2 < colontmp_)) goto LA217;
43190 						i = i_2;
43191 						hoistParamsUsedInDefault__sem_20149(c, &result, &hoistedParams, &(*result)._kind_6.sons->data[i]);
43192 						i_2 += ((NI) 1);
43193 					} LA217: ;
43194 				}
43195 			}
43196 			nimZeroMem((void*)T218_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
43197 			T218_[0] = hoistedParams;
43198 			T218_[1] = result;
43199 			result = newTreeIT__ast_3431(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*result).info, (*result).typ, T218_, 2);
43200 		}
43201 		LA213_: ;
43202 	}
43203 	break;
43204 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
43205 	{
43206 		{
43207 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 7))&31U)))!=0)) goto LA222_;
43208 			result = semWhen__sem_515(c, n, NIM_TRUE);
43209 		}
43210 		goto LA220_;
43211 		LA222_: ;
43212 		{
43213 			result = semWhen__sem_515(c, n, NIM_FALSE);
43214 			{
43215 				if (!(result == n)) goto LA227_;
43216 				result = semWhen__sem_515(c, n, NIM_TRUE);
43217 			}
43218 			goto LA225_;
43219 			LA227_: ;
43220 			{
43221 				result = semExpr__sem_52(c, result, flags);
43222 			}
43223 			LA225_: ;
43224 		}
43225 		LA220_: ;
43226 	}
43227 	break;
43228 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
43229 	{
43230 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
43231 		result = semArrayAccess__sem_17529(c, n, flags);
43232 	}
43233 	break;
43234 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
43235 	{
43236 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T232_;
43237 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T233_;
43238 		T232_ = NIM_NIL;
43239 		T232_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
43240 		T233_ = NIM_NIL;
43241 		T233_ = buildOverloadedSubscripts__sem_17343(n, T232_);
43242 		result = semExpr__sem_52(c, T233_, flags);
43243 	}
43244 	break;
43245 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
43246 	{
43247 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma;
43248 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* pragmaName;
43249 		tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
43250 		tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg finalNodeFlags;
43251 		tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T235_;
43252 		pragma = (*n)._kind_6.sons->data[((NI) 1)];
43253 		pragmaName = considerQuotedIdent__lookups_28(c, (*pragma)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
43254 		flags_2 = flags;
43255 		finalNodeFlags = 0;
43256 		T235_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
43257 		T235_ = whichKeyword__idents_214(pragmaName);
43258 		switch (T235_) {
43259 		case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 223):
43260 		{
43261 			flags_2 |= ((NU32)1)<<((((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10)) & 31);
43262 		}
43263 		break;
43264 		case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 166):
43265 		{
43266 			finalNodeFlags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 20)) & 31);
43267 		}
43268 		break;
43269 		default:
43270 		{
43271 			invalidPragma__pragmas_148(c, n);
43272 		}
43273 		break;
43274 		}
43275 		result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags_2);
43276 		(*result).flags = ((*result).flags | finalNodeFlags);
43277 	}
43278 	break;
43279 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
43280 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
43281 	{
43282 		tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg T240_;
43283 		T240_ = (tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg)0;
43284 		T240_ = checkPar__sem_18916(c, n);
43285 		switch (T240_) {
43286 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0):
43287 		{
43288 			result = errorNode__semdata_1009(c, n);
43289 		}
43290 		break;
43291 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3):
43292 		{
43293 			result = semTupleConstr__sem_19999(c, n, flags);
43294 		}
43295 		break;
43296 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2):
43297 		{
43298 			result = semTupleFieldsConstr__sem_18980(c, n, flags);
43299 		}
43300 		break;
43301 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 1):
43302 		{
43303 			result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
43304 		}
43305 		break;
43306 		}
43307 	}
43308 	break;
43309 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
43310 	{
43311 		result = semSetConstr__sem_18756(c, n);
43312 	}
43313 	break;
43314 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
43315 	{
43316 		result = semArrayConstr__sem_14893(c, n, flags);
43317 	}
43318 	break;
43319 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
43320 	{
43321 		result = semObjConstr__sem_16471(c, n, flags);
43322 	}
43323 	break;
43324 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
43325 	{
43326 		result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), TM__rF9caJawfOjYTjsgLVUSGFA_736, flags);
43327 	}
43328 	break;
43329 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
43330 	{
43331 		result = semDeref__sem_17356(c, n);
43332 	}
43333 	break;
43334 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
43335 	{
43336 		result = n;
43337 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43338 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semAddrArg__sem_15262(c, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE));
43339 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 0)]).typ));
43340 	}
43341 	break;
43342 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
43343 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
43344 	{
43345 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43346 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags));
43347 	}
43348 	break;
43349 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
43350 	{
43351 		result = semCast__sem_14524(c, n);
43352 	}
43353 	break;
43354 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
43355 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
43356 	{
43357 		result = semIf__sem_9366(c, n, flags);
43358 	}
43359 	break;
43360 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
43361 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
43362 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
43363 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
43364 	{
43365 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
43366 		considerGenSyms__semdata_425(c, n);
43367 	}
43368 	break;
43369 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
43370 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
43371 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
43372 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
43373 	{
43374 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43375 		considerGenSyms__semdata_425(c, n);
43376 	}
43377 	break;
43378 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
43379 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
43380 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
43381 	{
43382 		checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
43383 		considerGenSyms__semdata_425(c, n);
43384 	}
43385 	break;
43386 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
43387 	{
43388 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
43389 		considerGenSyms__semdata_425(c, n);
43390 	}
43391 	break;
43392 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
43393 	{
43394 		result = semTableConstr__sem_18848(c, n);
43395 	}
43396 	break;
43397 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
43398 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
43399 	{
43400 	}
43401 	break;
43402 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
43403 	{
43404 		result = semStaticExpr__sem_125(c, (*n)._kind_6.sons->data[((NI) 0)]);
43405 	}
43406 	break;
43407 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
43408 	{
43409 		result = semAsgn__sem_15307(c, n, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0));
43410 	}
43411 	break;
43412 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
43413 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
43414 	{
43415 		result = semBlock__sem_19802(c, n, flags);
43416 	}
43417 	break;
43418 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
43419 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
43420 	{
43421 		result = semStmtList__sem_13731(c, n, flags);
43422 	}
43423 	break;
43424 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
43425 	{
43426 		result = semRaise__sem_11562(c, n);
43427 	}
43428 	break;
43429 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
43430 	{
43431 		result = semVarOrLet__sem_10066(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
43432 	}
43433 	break;
43434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
43435 	{
43436 		result = semVarOrLet__sem_10066(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
43437 	}
43438 	break;
43439 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
43440 	{
43441 		result = semConst__sem_10429(c, n);
43442 	}
43443 	break;
43444 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
43445 	{
43446 		result = semTypeSection__sem_12312(c, n);
43447 	}
43448 	break;
43449 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
43450 	{
43451 		result = semDiscard__sem_9153(c, n);
43452 	}
43453 	break;
43454 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
43455 	{
43456 		result = semWhile__sem_9234(c, n, flags);
43457 	}
43458 	break;
43459 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
43460 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
43461 	{
43462 		result = semTry__sem_9422(c, n, flags);
43463 	}
43464 	break;
43465 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
43466 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
43467 	{
43468 		result = semBreakOrContinue__sem_9185(c, n);
43469 	}
43470 	break;
43471 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
43472 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
43473 	{
43474 		result = semFor__sem_11337(c, n, flags);
43475 	}
43476 	break;
43477 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
43478 	{
43479 		result = semCase__sem_11453(c, n, flags);
43480 	}
43481 	break;
43482 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
43483 	{
43484 		result = semReturn__sem_17871(c, n);
43485 	}
43486 	break;
43487 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124):
43488 	{
43489 		result = semUsing__sem_9768(c, n);
43490 	}
43491 	break;
43492 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
43493 	{
43494 		result = semAsm__sem_9228(c, n);
43495 	}
43496 	break;
43497 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
43498 	{
43499 		result = semYield__sem_18051(c, n);
43500 	}
43501 	break;
43502 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
43503 	{
43504 		pragma__pragmas_123(c, (*(*c).p).owner, n, TM__rF9caJawfOjYTjsgLVUSGFA_917, NIM_TRUE);
43505 	}
43506 	break;
43507 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
43508 	{
43509 		result = semIterator__sem_13400(c, n);
43510 	}
43511 	break;
43512 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
43513 	{
43514 		result = semProc__sem_9261(c, n);
43515 	}
43516 	break;
43517 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
43518 	{
43519 		result = semFunc__sem_13456(c, n);
43520 	}
43521 	break;
43522 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
43523 	{
43524 		result = semMethod__sem_13466(c, n);
43525 	}
43526 	break;
43527 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
43528 	{
43529 		result = semConverterDef__sem_13501(c, n);
43530 	}
43531 	break;
43532 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
43533 	{
43534 		result = semMacroDef__sem_13520(c, n);
43535 	}
43536 	break;
43537 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
43538 	{
43539 		result = semTemplateDef__sem_7666(c, n);
43540 	}
43541 	break;
43542 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
43543 	{
43544 		{
43545 			NimStringDesc* T292_;
43546 			if (!((NI)(((NI) 2) + (*c).compilesContextId) < (*(*c).currentScope).depthLevel)) goto LA290_;
43547 			T292_ = NIM_NIL;
43548 			T292_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_935));
43549 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T292_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_936, NIM_FALSE);
43550 		}
43551 		LA290_: ;
43552 		result = evalImport__importer_3854(c, n);
43553 	}
43554 	break;
43555 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
43556 	{
43557 		{
43558 			NIM_BOOL T296_;
43559 			NimStringDesc* T299_;
43560 			T296_ = (NIM_BOOL)0;
43561 			T296_ = isTopLevel__semdata_1091(c);
43562 			if (!!(T296_)) goto LA297_;
43563 			T299_ = NIM_NIL;
43564 			T299_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_935));
43565 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T299_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_937, NIM_FALSE);
43566 		}
43567 		LA297_: ;
43568 		result = evalImportExcept__importer_3935(c, n);
43569 	}
43570 	break;
43571 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
43572 	{
43573 		{
43574 			NIM_BOOL T303_;
43575 			NimStringDesc* T306_;
43576 			T303_ = (NIM_BOOL)0;
43577 			T303_ = isTopLevel__semdata_1091(c);
43578 			if (!!(T303_)) goto LA304_;
43579 			T306_ = NIM_NIL;
43580 			T306_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_938));
43581 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T306_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_939, NIM_FALSE);
43582 		}
43583 		LA304_: ;
43584 		result = evalFrom__importer_3909(c, n);
43585 	}
43586 	break;
43587 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
43588 	{
43589 		result = evalInclude__sem_13575(c, n);
43590 	}
43591 	break;
43592 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
43593 	{
43594 		{
43595 			NIM_BOOL T311_;
43596 			NimStringDesc* T314_;
43597 			T311_ = (NIM_BOOL)0;
43598 			T311_ = isTopLevel__semdata_1091(c);
43599 			if (!!(T311_)) goto LA312_;
43600 			T314_ = NIM_NIL;
43601 			T314_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_115));
43602 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T314_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_946, NIM_FALSE);
43603 		}
43604 		LA312_: ;
43605 		result = semExport__sem_19888(c, n);
43606 	}
43607 	break;
43608 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 119):
43609 	{
43610 		{
43611 			NIM_BOOL T318_;
43612 			NimStringDesc* T321_;
43613 			T318_ = (NIM_BOOL)0;
43614 			T318_ = isTopLevel__semdata_1091(c);
43615 			if (!!(T318_)) goto LA319_;
43616 			T321_ = NIM_NIL;
43617 			T321_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_115));
43618 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T321_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_953, NIM_FALSE);
43619 		}
43620 		LA319_: ;
43621 		result = semExportExcept__sem_19849(c, n);
43622 	}
43623 	break;
43624 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
43625 	{
43626 		result = semPragmaBlock__sem_13647(c, n);
43627 	}
43628 	break;
43629 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
43630 	{
43631 		result = semStaticStmt__sem_13685(c, n);
43632 	}
43633 	break;
43634 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
43635 	{
43636 		{
43637 			if (!((*c).currentScope == (*c).topLevelScope)) goto LA327_;
43638 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_959), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_960, NIM_FALSE);
43639 		}
43640 		LA327_: ;
43641 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
43642 		{
43643 			NIM_BOOL T331_;
43644 			NIM_BOOL T332_;
43645 			NIM_BOOL T334_;
43646 			T331_ = (NIM_BOOL)0;
43647 			T332_ = (NIM_BOOL)0;
43648 			T332_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
43649 			T331_ = !(T332_);
43650 			if (!(T331_)) goto LA333_;
43651 			T334_ = (NIM_BOOL)0;
43652 			T334_ = implicitlyDiscardable__sem_9282((*n)._kind_6.sons->data[((NI) 0)]);
43653 			T331_ = !(T334_);
43654 			LA333_: ;
43655 			if (!T331_) goto LA335_;
43656 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_961), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_962, NIM_FALSE);
43657 		}
43658 		LA335_: ;
43659 	}
43660 	break;
43661 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
43662 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
43663 	{
43664 		{
43665 			NIM_BOOL T340_;
43666 			NI T341_;
43667 			NI T343_;
43668 			T340_ = (NIM_BOOL)0;
43669 			T341_ = (NI)0;
43670 			T341_ = len__ast_3198(n);
43671 			T340_ = !((T341_ == ((NI) 1)));
43672 			if (!(T340_)) goto LA342_;
43673 			T343_ = (NI)0;
43674 			T343_ = len__ast_3198(n);
43675 			T340_ = !((T343_ == ((NI) 2)));
43676 			LA342_: ;
43677 			if (!T340_) goto LA344_;
43678 			illFormedAst__semdata_1071(n, (*(*c).graph).config);
43679 		}
43680 		LA344_: ;
43681 		{
43682 			NI i_3;
43683 			NI colontmp__2;
43684 			NI i_4;
43685 			i_3 = (NI)0;
43686 			colontmp__2 = (NI)0;
43687 			colontmp__2 = len__ast_3198(n);
43688 			i_4 = ((NI) 0);
43689 			{
43690 				while (1) {
43691 					if (!(i_4 < colontmp__2)) goto LA348;
43692 					i_3 = i_4;
43693 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), semExpr__sem_52(c, (*n)._kind_6.sons->data[i_3], 0));
43694 					i_4 += ((NI) 1);
43695 				} LA348: ;
43696 			}
43697 		}
43698 	}
43699 	break;
43700 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
43701 	{
43702 	}
43703 	break;
43704 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
43705 	{
43706 	}
43707 	break;
43708 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
43709 	{
43710 		{
43711 			if (!!(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)))) goto LA354_;
43712 			{
43713 				NIM_BOOL T358_;
43714 				NI T359_;
43715 				NI T363_;
43716 				T358_ = (NIM_BOOL)0;
43717 				T359_ = (NI)0;
43718 				T359_ = len__ast_3198(n);
43719 				T358_ = (((NI) 0) < T359_);
43720 				if (!(T358_)) goto LA360_;
43721 				T358_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
43722 				LA360_: ;
43723 				if (!T358_) goto LA361_;
43724 				asgnRef((void**) (&(*(*c).p).localBindStmts), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*(*c).p).localBindStmts), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
43725 				T363_ = (*(*c).p).localBindStmts->Sup.len++;
43726 				asgnRef((void**) (&(*(*c).p).localBindStmts->data[T363_]), n);
43727 			}
43728 			LA361_: ;
43729 		}
43730 		goto LA352_;
43731 		LA354_: ;
43732 		{
43733 			NimStringDesc* T365_;
43734 			NimStringDesc* T366_;
43735 			T365_ = NIM_NIL;
43736 			T366_ = NIM_NIL;
43737 			T366_ = renderTree__renderer_46(n, 4);
43738 			T365_ = rawNewString((T366_ ? T366_->Sup.len : 0) + 38);
43739 appendString(T365_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_963));
43740 appendString(T365_, T366_);
43741 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T365_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_964, NIM_FALSE);
43742 		}
43743 		LA352_: ;
43744 	}
43745 	break;
43746 	default:
43747 	{
43748 		NimStringDesc* T368_;
43749 		NimStringDesc* T369_;
43750 		T368_ = NIM_NIL;
43751 		T369_ = NIM_NIL;
43752 		T369_ = renderTree__renderer_46(n, 4);
43753 		T368_ = rawNewString((T369_ ? T369_->Sup.len : 0) + 20);
43754 appendString(T368_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_965));
43755 appendString(T368_, T369_);
43756 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T368_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_966, NIM_FALSE);
43757 	}
43758 	break;
43759 	}
43760 	{
43761 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA372_;
43762 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
43763 	}
43764 	LA372_: ;
43765 	}BeforeRet_: ;
43766 	return result;
43767 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprCheck__sem_13933)43768 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprCheck__sem_13933)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43769 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43770 	NIM_BOOL isEmpty;
43771 	NIM_BOOL isTypeError;
43772 	NIM_BOOL T5_;
43773 	result = NIM_NIL;
43774 	{
43775 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
43776 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
43777 	}
43778 	LA3_: ;
43779 	result = semExpr__sem_52(c, n, (flags | 2048));
43780 	isEmpty = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
43781 	T5_ = (NIM_BOOL)0;
43782 	T5_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
43783 	if (!(T5_)) goto LA6_;
43784 	T5_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
43785 	LA6_: ;
43786 	isTypeError = T5_;
43787 	{
43788 		NIM_BOOL T9_;
43789 		NimStringDesc* T13_;
43790 		NimStringDesc* T14_;
43791 		T9_ = (NIM_BOOL)0;
43792 		T9_ = isEmpty;
43793 		if (T9_) goto LA10_;
43794 		T9_ = isTypeError;
43795 		LA10_: ;
43796 		if (!T9_) goto LA11_;
43797 		T13_ = NIM_NIL;
43798 		T13_ = renderTree__renderer_46(result, 4);
43799 		T14_ = NIM_NIL;
43800 		T14_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T13_);
43801 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_967, NIM_FALSE);
43802 	}
43803 	LA11_: ;
43804 	{
43805 		if (!isEmpty) goto LA17_;
43806 		result = errorNode__semdata_1009(c, n);
43807 	}
43808 	LA17_: ;
43809 	return result;
43810 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprWithType__sem_56)43811 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprWithType__sem_56)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43812 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43813 	result = NIM_NIL;
43814 	result = semExprCheck__sem_13933(c, n, flags);
43815 	{
43816 		NIM_BOOL T3_;
43817 		T3_ = (NIM_BOOL)0;
43818 		T3_ = ((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
43819 		if (!(T3_)) goto LA4_;
43820 		T3_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0);
43821 		LA4_: ;
43822 		if (!T3_) goto LA5_;
43823 		asgnRef((void**) (&(*result).typ), (*c).voidType);
43824 	}
43825 	goto LA1_;
43826 	LA5_: ;
43827 	{
43828 		NIM_BOOL T8_;
43829 		NimStringDesc* T12_;
43830 		NimStringDesc* T13_;
43831 		T8_ = (NIM_BOOL)0;
43832 		T8_ = ((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
43833 		if (T8_) goto LA9_;
43834 		T8_ = ((*result).typ == (*c).enforceVoidContext);
43835 		LA9_: ;
43836 		if (!T8_) goto LA10_;
43837 		T12_ = NIM_NIL;
43838 		T12_ = renderTree__renderer_46(result, 4);
43839 		T13_ = NIM_NIL;
43840 		T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T12_);
43841 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_968, NIM_FALSE);
43842 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43843 	}
43844 	goto LA1_;
43845 	LA10_: ;
43846 	{
43847 		if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA15_;
43848 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43849 	}
43850 	goto LA1_;
43851 	LA15_: ;
43852 	{
43853 		{
43854 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA20_;
43855 			result = newDeref__lowerings_11(result);
43856 		}
43857 		LA20_: ;
43858 	}
43859 	LA1_: ;
43860 	return result;
43861 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstExpr__sem_611)43862 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstExpr__sem_611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
43863 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43864 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
43865 {	result = NIM_NIL;
43866 	e = semExprWithType__sem_56(c, n, 0);
43867 	{
43868 		if (!(e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
43869 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_360), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_969, NIM_FALSE);
43870 		result = n;
43871 		goto BeforeRet_;
43872 	}
43873 	LA3_: ;
43874 	{
43875 		NIM_BOOL T7_;
43876 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
43877 		T7_ = (NIM_BOOL)0;
43878 		T7_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
43879 		if (!(T7_)) goto LA8_;
43880 		T9_ = NIM_NIL;
43881 		T9_ = skipTypes__ast_3735((*(*e)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
43882 		T7_ = ((*T9_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
43883 		LA8_: ;
43884 		if (!T7_) goto LA10_;
43885 		result = e;
43886 		goto BeforeRet_;
43887 	}
43888 	LA10_: ;
43889 	result = getConstExpr__semfold_81((*c).module, e, (*c).Sup.idgen, (*c).graph);
43890 	{
43891 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA14_;
43892 		result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, e);
43893 		{
43894 			NIM_BOOL T18_;
43895 			T18_ = (NIM_BOOL)0;
43896 			T18_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
43897 			if (T18_) goto LA19_;
43898 			T18_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
43899 			LA19_: ;
43900 			if (!T18_) goto LA20_;
43901 			{
43902 				NIM_BOOL T24_;
43903 				T24_ = (NIM_BOOL)0;
43904 				T24_ = eqeq___msgs_993((*e).info, (*n).info);
43905 				if (!!(T24_)) goto LA25_;
43906 				pushInfoContext__msgs_490((*(*c).graph).config, (*n).info, ((NimStringDesc*) NIM_NIL));
43907 				liMessage__msgs_1118((*(*c).graph).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_360), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_970, NIM_FALSE);
43908 				popInfoContext__msgs_507((*(*c).graph).config);
43909 			}
43910 			goto LA22_;
43911 			LA25_: ;
43912 			{
43913 				liMessage__msgs_1118((*(*c).graph).config, (*e).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_360), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_971, NIM_FALSE);
43914 			}
43915 			LA22_: ;
43916 			result = e;
43917 		}
43918 		goto LA16_;
43919 		LA20_: ;
43920 		{
43921 			result = fixupTypeAfterEval__sem_570(c, result, e);
43922 		}
43923 		LA16_: ;
43924 	}
43925 	LA14_: ;
43926 	}BeforeRet_: ;
43927 	return result;
43928 }
N_NIMCALL(NIM_BOOL,hasUnresolvedParams__sem_9864)43929 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedParams__sem_9864)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43930 	NIM_BOOL result;
43931 	result = (NIM_BOOL)0;
43932 	result = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
43933 	return result;
43934 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOperand__sem_13900)43935 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOperand__sem_13900)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43936 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43937 	result = NIM_NIL;
43938 	{
43939 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
43940 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
43941 	}
43942 	LA3_: ;
43943 	result = semExpr__sem_52(c, n, (flags | 4096));
43944 	{
43945 		if (!!(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
43946 		{
43947 			NIM_BOOL T11_;
43948 			NimStringDesc* T15_;
43949 			NimStringDesc* T16_;
43950 			T11_ = (NIM_BOOL)0;
43951 			T11_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
43952 			if (!(T11_)) goto LA12_;
43953 			T11_ = hasUnresolvedParams__sem_9864(result, 4096);
43954 			LA12_: ;
43955 			if (!T11_) goto LA13_;
43956 			T15_ = NIM_NIL;
43957 			T15_ = renderTree__renderer_46(n, 0);
43958 			T16_ = NIM_NIL;
43959 			T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_762), T15_);
43960 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_972, NIM_FALSE);
43961 		}
43962 		LA13_: ;
43963 		{
43964 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA19_;
43965 			result = newDeref__lowerings_11(result);
43966 		}
43967 		LA19_: ;
43968 	}
43969 	goto LA5_;
43970 	LA7_: ;
43971 	{
43972 		if (!!(((384 & flags) == 0))) goto LA22_;
43973 		asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), c));
43974 	}
43975 	goto LA5_;
43976 	LA22_: ;
43977 	{
43978 		NimStringDesc* T25_;
43979 		NimStringDesc* T26_;
43980 		T25_ = NIM_NIL;
43981 		T25_ = renderTree__renderer_46(result, 4);
43982 		T26_ = NIM_NIL;
43983 		T26_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T25_);
43984 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_973, NIM_FALSE);
43985 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43986 	}
43987 	LA5_: ;
43988 	return result;
43989 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semInferredLambda__sem_12601)43990 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInferredLambda__sem_12601)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
43991 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43992 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
43993 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* original;
43994 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
43995 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
43996 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T9_;
43997 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
43998 	result = NIM_NIL;
43999 	n_2 = n;
44000 	original = (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
44001 	s = original;
44002 	n_2 = replaceTypesInBody__semtypinst_988(c, pt, n_2, original, NIM_FALSE);
44003 	result = n_2;
44004 	asgnRef((void**) (&(*s).ast), result);
44005 	asgnRef((void**) (&(*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym), s);
44006 	asgnRef((void**) (&(*n_2)._kind_6.sons->data[((NI) 2)]), (*(*c).graph).emptyNode);
44007 	params = copyTree__ast_4431((*(*n_2).typ).n);
44008 	asgnRef((void**) (&(*n_2)._kind_6.sons->data[((NI) 3)]), params);
44009 	asgnRef((void**) (&(*s).typ), (*n_2).typ);
44010 	{
44011 		NI i;
44012 		NI colontmp_;
44013 		NI i_2;
44014 		i = (NI)0;
44015 		colontmp_ = (NI)0;
44016 		colontmp_ = len__ast_3198(params);
44017 		i_2 = ((NI) 1);
44018 		{
44019 			while (1) {
44020 				if (!(i_2 < colontmp_)) goto LA3;
44021 				i = i_2;
44022 				{
44023 					NimStringDesc* T8_;
44024 					if (!((*(*(*params)._kind_6.sons->data[i]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*(*(*params)._kind_6.sons->data[i]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*(*(*params)._kind_6.sons->data[i]).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*(*(*params)._kind_6.sons->data[i]).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*(*(*params)._kind_6.sons->data[i]).typ).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*(*(*params)._kind_6.sons->data[i]).typ).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59) || (*(*(*params)._kind_6.sons->data[i]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA6_;
44025 					T8_ = NIM_NIL;
44026 					T8_ = rawNewString(((*(*(*(*params)._kind_6.sons->data[i])._kind_4.sym).name).s ? (*(*(*(*params)._kind_6.sons->data[i])._kind_4.sym).name).s->Sup.len : 0) + 32);
44027 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_974));
44028 appendString(T8_, (*(*(*(*params)._kind_6.sons->data[i])._kind_4.sym).name).s);
44029 					liMessage__msgs_1118((*(*c).graph).config, (*(*params)._kind_6.sons->data[i]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_975, NIM_FALSE);
44030 				}
44031 				LA6_: ;
44032 				i_2 += ((NI) 1);
44033 			} LA3: ;
44034 		}
44035 	}
44036 	T9_ = NIM_NIL;
44037 	T9_ = openScope__lookups_69(c);
44038 	pushOwner__semdata_322(c, s);
44039 	addParams__sem_96(c, params, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
44040 	pushProcCon__sem_898(c, s);
44041 	addResult__sem_12395(c, n_2, (*(*n_2).typ).sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
44042 	T10_ = NIM_NIL;
44043 	T10_ = semProcBody__sem_67(c, (*n_2)._kind_6.sons->data[((NI) 6)]);
44044 	asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T10_));
44045 	trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
44046 	popProcCon__semdata_389(c);
44047 	popOwner__semdata_329(c);
44048 	closeScope__lookups_101(c);
44049 	{
44050 		NIM_BOOL T13_;
44051 		T13_ = (NIM_BOOL)0;
44052 		T13_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
44053 		if (!(T13_)) goto LA14_;
44054 		T13_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
44055 		LA14_: ;
44056 		if (!T13_) goto LA15_;
44057 		asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
44058 	}
44059 	LA15_: ;
44060 	return result;
44061 }
N_NIMCALL(NI *,new__sem_20568)44062 N_LIB_PRIVATE N_NIMCALL(NI*, new__sem_20568)(void) {
44063 	NI* result;
44064 	NI* r;
44065 {	result = NIM_NIL;
44066 	r = NIM_NIL;
44067 	r = (NI*) newObj((&NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_), sizeof(NI));
44068 	result = r;
44069 	goto BeforeRet_;
44070 	}BeforeRet_: ;
44071 	return result;
44072 }
N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w *,myOpen__sem_20558)44073 N_LIB_PRIVATE N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, myOpen__sem_20558)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
44074 	tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* result;
44075 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44076 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
44077 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
44078 	tyProc__3cacbJ4la9bDJNibHybQSnA T7_;
44079 	tyProc__fMj9boIZZOt9cLWRnD3rtKhA T8_;
44080 	tyProc__7JwrY3AhkVNlleAJXClX9cw T9_;
44081 	result = NIM_NIL;
44082 	c = newContext__semdata_503(graph, module);
44083 	asgnRef((void**) (&(*c).Sup.idgen), idgen);
44084 	T1_ = nextTypeId__ast_3151(idgen);
44085 	asgnRef((void**) (&(*c).enforceVoidContext), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), T1_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
44086 	T2_ = nextTypeId__ast_3151(idgen);
44087 	asgnRef((void**) (&(*c).voidType), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), T2_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
44088 	{
44089 		if (!!(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)))) goto LA5_;
44090 		internalErrorImpl__msgs_1431((*graph).config, (*module).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_2), TM__rF9caJawfOjYTjsgLVUSGFA_3);
44091 	}
44092 	LA5_: ;
44093 	(*c).semConstExpr = semConstExpr__sem_611;
44094 	(*c).semExpr = semExpr__sem_52;
44095 	(*c).semTryExpr = tryExpr__sem_104;
44096 	(*c).semTryConstExpr = tryConstExpr__sem_582;
44097 	(*c).computeRequiresInit = computeRequiresInit__sem_135;
44098 	(*c).semOperand = semOperand__sem_13900;
44099 	(*c).semConstBoolExpr = semConstBoolExpr__sem_2877;
44100 	(*c).semOverloadedCall = semOverloadedCall__sem_2498;
44101 	nimZeroMem((void*)(&T7_), sizeof(tyProc__3cacbJ4la9bDJNibHybQSnA));
44102 	T7_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_976) (semInferredLambda__sem_12601)); T7_.ClE_0 = NIM_NIL;
44103 	asgnRef((void**) (&(*c).semInferredLambda.ClE_0), T7_.ClE_0);
44104 	(*c).semInferredLambda.ClP_0 = T7_.ClP_0;
44105 	nimZeroMem((void*)(&T8_), sizeof(tyProc__fMj9boIZZOt9cLWRnD3rtKhA));
44106 	T8_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_977) (generateInstance__sem_1295)); T8_.ClE_0 = NIM_NIL;
44107 	asgnRef((void**) (&(*c).semGenerateInstance.ClE_0), T8_.ClE_0);
44108 	(*c).semGenerateInstance.ClP_0 = T8_.ClP_0;
44109 	(*c).semTypeNode = semTypeNode__sem_80;
44110 	(*c).instTypeBoundOp = instTypeBoundOp__sigmatch_4327;
44111 	nimZeroMem((void*)(&T9_), sizeof(tyProc__7JwrY3AhkVNlleAJXClX9cw));
44112 	T9_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_978) (hasUnresolvedArgs__sem_142)); T9_.ClE_0 = NIM_NIL;
44113 	asgnRef((void**) (&(*c).hasUnresolvedArgs.ClE_0), T9_.ClE_0);
44114 	(*c).hasUnresolvedArgs.ClP_0 = T9_.ClP_0;
44115 	asgnRef((void**) (&(*c).templInstCounter), new__sem_20568());
44116 	pushProcCon__sem_898(c, module);
44117 	pushOwner__semdata_322(c, (*c).module);
44118 	asgnRef((void**) (&(*c).moduleScope), openScope__lookups_69(c));
44119 	strTableAdd__astalgo_3332((&(*(*c).moduleScope).symbols), module);
44120 	{
44121 		if (!(((*module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA12_;
44122 		asgnRef((void**) (&(*graph).systemModule), module);
44123 	}
44124 	LA12_: ;
44125 	asgnRef((void**) (&(*c).topLevelScope), openScope__lookups_69(c));
44126 	result = &c->Sup;
44127 	return result;
44128 }
N_NIMCALL(NIM_BOOL,isImportSystemStmt__sem_20680)44129 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportSystemStmt__sem_20680)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44130 	NIM_BOOL result;
44131 {	result = (NIM_BOOL)0;
44132 	{
44133 		if (!((*g).systemModule == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
44134 		result = NIM_FALSE;
44135 		goto BeforeRet_;
44136 	}
44137 	LA3_: ;
44138 	switch ((*n).kind) {
44139 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
44140 	{
44141 		{
44142 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
44143 			x = NIM_NIL;
44144 			{
44145 				NI i;
44146 				NI colontmp_;
44147 				NI i_2;
44148 				i = (NI)0;
44149 				colontmp_ = (NI)0;
44150 				colontmp_ = safeLen__ast_3191(n);
44151 				i_2 = ((NI) 0);
44152 				{
44153 					while (1) {
44154 						if (!(i_2 < colontmp_)) goto LA9;
44155 						i = i_2;
44156 						x = (*n)._kind_6.sons->data[i];
44157 						{
44158 							NI32 f;
44159 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA12_;
44160 							f = checkModuleName__modulepaths_21((*g).config, x, NIM_FALSE);
44161 							{
44162 								if (!(f == (*(*g).systemModule).info.fileIndex)) goto LA16_;
44163 								result = NIM_TRUE;
44164 								goto BeforeRet_;
44165 							}
44166 							LA16_: ;
44167 						}
44168 						LA12_: ;
44169 						i_2 += ((NI) 1);
44170 					} LA9: ;
44171 				}
44172 			}
44173 		}
44174 	}
44175 	break;
44176 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
44177 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
44178 	{
44179 		{
44180 			NI32 f_2;
44181 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA21_;
44182 			f_2 = checkModuleName__modulepaths_21((*g).config, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
44183 			{
44184 				if (!(f_2 == (*(*g).systemModule).info.fileIndex)) goto LA25_;
44185 				result = NIM_TRUE;
44186 				goto BeforeRet_;
44187 			}
44188 			LA25_: ;
44189 		}
44190 		LA21_: ;
44191 	}
44192 	break;
44193 	default:
44194 	{
44195 	}
44196 	break;
44197 	}
44198 	}BeforeRet_: ;
44199 	return result;
44200 }
N_NIMCALL(NIM_BOOL,isEmptyTree__sem_20701)44201 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyTree__sem_20701)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44202 	NIM_BOOL result;
44203 {	result = (NIM_BOOL)0;
44204 	switch ((*n).kind) {
44205 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
44206 	{
44207 		{
44208 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
44209 			it = NIM_NIL;
44210 			{
44211 				NI i;
44212 				NI colontmp_;
44213 				NI i_2;
44214 				i = (NI)0;
44215 				colontmp_ = (NI)0;
44216 				colontmp_ = safeLen__ast_3191(n);
44217 				i_2 = ((NI) 0);
44218 				{
44219 					while (1) {
44220 						if (!(i_2 < colontmp_)) goto LA5;
44221 						i = i_2;
44222 						it = (*n)._kind_6.sons->data[i];
44223 						{
44224 							NIM_BOOL T8_;
44225 							T8_ = (NIM_BOOL)0;
44226 							T8_ = isEmptyTree__sem_20701(it);
44227 							if (!!(T8_)) goto LA9_;
44228 							result = NIM_FALSE;
44229 							goto BeforeRet_;
44230 						}
44231 						LA9_: ;
44232 						i_2 += ((NI) 1);
44233 					} LA5: ;
44234 				}
44235 			}
44236 		}
44237 		result = NIM_TRUE;
44238 	}
44239 	break;
44240 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
44241 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
44242 	{
44243 		result = NIM_TRUE;
44244 	}
44245 	break;
44246 	default:
44247 	{
44248 		result = NIM_FALSE;
44249 	}
44250 	break;
44251 	}
44252 	}BeforeRet_: ;
44253 	return result;
44254 }
N_NIMCALL(void,gatherStmts__sem_12233)44255 N_LIB_PRIVATE N_NIMCALL(void, gatherStmts__sem_12233)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result) {
44256 	switch ((*n).kind) {
44257 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
44258 	{
44259 		{
44260 			NI i;
44261 			NI colontmp_;
44262 			NI i_2;
44263 			i = (NI)0;
44264 			colontmp_ = (NI)0;
44265 			colontmp_ = len__ast_3198(n);
44266 			i_2 = ((NI) 0);
44267 			{
44268 				while (1) {
44269 					NI32 f;
44270 					if (!(i_2 < colontmp_)) goto LA4;
44271 					i = i_2;
44272 					f = checkModuleName__modulepaths_21((*(*c).graph).config, (*n)._kind_6.sons->data[i], NIM_TRUE);
44273 					{
44274 						if (!!((f == ((NI32) -1)))) goto LA7_;
44275 						{
44276 							NIM_BOOL T11_;
44277 							NimStringDesc* T14_;
44278 							NimStringDesc* T15_;
44279 							T11_ = (NIM_BOOL)0;
44280 							T11_ = containsOrIncl__astalgo_402((&(*c).includedFiles), ((NI) (f)));
44281 							if (!T11_) goto LA12_;
44282 							T14_ = NIM_NIL;
44283 							T14_ = toMsgFilename__msgs_602((*(*c).graph).config, f);
44284 							T15_ = NIM_NIL;
44285 							T15_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), T14_);
44286 							liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_979, NIM_FALSE);
44287 						}
44288 						goto LA9_;
44289 						LA12_: ;
44290 						{
44291 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* code;
44292 							code = (*(*c).graph).includeFileCallback((*c).graph, (*c).module, f);
44293 							gatherStmts__sem_12233(c, code, result);
44294 							excl__reorder_264((&(*c).includedFiles), ((NI) (f)));
44295 						}
44296 						LA9_: ;
44297 					}
44298 					LA7_: ;
44299 					i_2 += ((NI) 1);
44300 				} LA4: ;
44301 			}
44302 		}
44303 	}
44304 	break;
44305 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
44306 	{
44307 		{
44308 			NI i_3;
44309 			NI colontmp__2;
44310 			NI i_4;
44311 			i_3 = (NI)0;
44312 			colontmp__2 = (NI)0;
44313 			colontmp__2 = len__ast_3198(n);
44314 			i_4 = ((NI) 0);
44315 			{
44316 				while (1) {
44317 					if (!(i_4 < colontmp__2)) goto LA20;
44318 					i_3 = i_4;
44319 					gatherStmts__sem_12233(c, (*n)._kind_6.sons->data[i_3], result);
44320 					i_4 += ((NI) 1);
44321 				} LA20: ;
44322 			}
44323 		}
44324 	}
44325 	break;
44326 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
44327 	{
44328 		(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
44329 		typeSectionLeftSidePass__sem_11722(c, n);
44330 		add__ast_4797(result, n);
44331 	}
44332 	break;
44333 	default:
44334 	{
44335 		add__ast_4797(result, n);
44336 	}
44337 	break;
44338 	}
44339 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAllTypeSections__sem_12229)44340 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAllTypeSections__sem_12229)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44341 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44342 	result = NIM_NIL;
44343 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
44344 	gatherStmts__sem_12233(c, n, result);
44345 	{
44346 		NI iX60gensym3174_;
44347 		NI colontmp_;
44348 		NI i;
44349 		iX60gensym3174_ = (NI)0;
44350 		colontmp_ = (NI)0;
44351 		colontmp_ = len__ast_3198(result);
44352 		i = ((NI) 0);
44353 		{
44354 			while (1) {
44355 				if (!(i < colontmp_)) goto LA3;
44356 				iX60gensym3174_ = i;
44357 				{
44358 					if (!((*(*result)._kind_6.sons->data[iX60gensym3174_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98))) goto LA6_;
44359 					typeSectionRightSidePass__sem_11843(c, (*result)._kind_6.sons->data[iX60gensym3174_]);
44360 				}
44361 				LA6_: ;
44362 				i += ((NI) 1);
44363 			} LA3: ;
44364 		}
44365 	}
44366 	{
44367 		NI iX60gensym3177_;
44368 		NI colontmp__2;
44369 		NI i_2;
44370 		iX60gensym3177_ = (NI)0;
44371 		colontmp__2 = (NI)0;
44372 		colontmp__2 = len__ast_3198(result);
44373 		i_2 = ((NI) 0);
44374 		{
44375 			while (1) {
44376 				if (!(i_2 < colontmp__2)) goto LA10;
44377 				iX60gensym3177_ = i_2;
44378 				{
44379 					if (!((*(*result)._kind_6.sons->data[iX60gensym3177_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98))) goto LA13_;
44380 					typeSectionFinalPass__sem_12118(c, (*result)._kind_6.sons->data[iX60gensym3177_]);
44381 				}
44382 				LA13_: ;
44383 				i_2 += ((NI) 1);
44384 			} LA10: ;
44385 		}
44386 	}
44387 	return result;
44388 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hloStmt__sem_794)44389 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloStmt__sem_794)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44390 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44391 {	result = NIM_NIL;
44392 	{
44393 		NIM_BOOL T3_;
44394 		NI T4_;
44395 		T3_ = (NIM_BOOL)0;
44396 		T4_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
44397 		T3_ = (T4_ == ((NI) 0));
44398 		if (T3_) goto LA5_;
44399 		T3_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 23))&31U)))!=0));
44400 		LA5_: ;
44401 		if (!T3_) goto LA6_;
44402 		result = n;
44403 		goto BeforeRet_;
44404 	}
44405 	LA6_: ;
44406 	(*c).hloLoopDetector = ((NI) 0);
44407 	result = hlo__sem_668(c, n);
44408 	}BeforeRet_: ;
44409 	return result;
44410 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildEchoStmt__sem_16718)44411 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildEchoStmt__sem_16718)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44412 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44413 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
44414 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
44415 	NimStringDesc* T9_;
44416 	NimStringDesc* T10_;
44417 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
44418 	result = NIM_NIL;
44419 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
44420 	T1_ = NIM_NIL;
44421 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_980));
44422 	e = systemModuleSym__modulegraphs_2829((*c).graph, T1_);
44423 	{
44424 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
44425 		if (!!((e == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA4_;
44426 		T6_ = NIM_NIL;
44427 		T6_ = newSymNode__ast_3716(e);
44428 		add__ast_4797(result, T6_);
44429 	}
44430 	goto LA2_;
44431 	LA4_: ;
44432 	{
44433 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym4377_;
44434 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
44435 		n2X60gensym4377_ = n;
44436 		liMessage__msgs_1118((*(*c).graph).config, (*n2X60gensym4377_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_981), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_982, NIM_FALSE);
44437 		T8_ = NIM_NIL;
44438 		T8_ = errorNode__semdata_1009(c, n2X60gensym4377_);
44439 		add__ast_4797(result, T8_);
44440 	}
44441 	LA2_: ;
44442 	add__ast_4797(result, n);
44443 	T9_ = NIM_NIL;
44444 	T10_ = NIM_NIL;
44445 	T10_ = typeToString__types_50((*n).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
44446 	T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 2);
44447 appendString(T9_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_281));
44448 appendString(T9_, T10_);
44449 	T11_ = NIM_NIL;
44450 	T11_ = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T9_);
44451 	add__ast_4797(result, T11_);
44452 	result = semExpr__sem_52(c, result, 0);
44453 	return result;
44454 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStmtAndGenerateGenerics__sem_20705)44455 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtAndGenerateGenerics__sem_20705)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44456 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44457 	result = NIM_NIL;
44458 	{
44459 		NIM_BOOL T3_;
44460 		NIM_BOOL T5_;
44461 		T3_ = (NIM_BOOL)0;
44462 		T3_ = ((*c).topStmts == ((NI) 0));
44463 		if (!(T3_)) goto LA4_;
44464 		T5_ = (NIM_BOOL)0;
44465 		T5_ = isImportSystemStmt__sem_20680((*c).graph, n);
44466 		T3_ = !(T5_);
44467 		LA4_: ;
44468 		if (!T3_) goto LA6_;
44469 		{
44470 			NIM_BOOL T10_;
44471 			NIM_BOOL T12_;
44472 			T10_ = (NIM_BOOL)0;
44473 			T10_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
44474 			if (!(T10_)) goto LA11_;
44475 			T12_ = (NIM_BOOL)0;
44476 			T12_ = isEmptyTree__sem_20701(n);
44477 			T10_ = !(T12_);
44478 			LA11_: ;
44479 			if (!T10_) goto LA13_;
44480 			strTableAdd__astalgo_3332((&(*(*c).moduleScope).symbols), (*(*c).graph).systemModule);
44481 			importAllSymbols__importer_2078(c, (*(*c).graph).systemModule);
44482 			(*c).topStmts += ((NI) 1);
44483 		}
44484 		LA13_: ;
44485 	}
44486 	goto LA1_;
44487 	LA6_: ;
44488 	{
44489 		(*c).topStmts += ((NI) 1);
44490 	}
44491 	LA1_: ;
44492 	{
44493 		if (!(((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA18_;
44494 		result = semAllTypeSections__sem_12229(c, n);
44495 	}
44496 	goto LA16_;
44497 	LA18_: ;
44498 	{
44499 		result = n;
44500 	}
44501 	LA16_: ;
44502 	result = semStmt__sem_84(c, result, 0);
44503 	result = hloStmt__sem_794(c, result);
44504 	{
44505 		NIM_BOOL T23_;
44506 		NIM_BOOL T25_;
44507 		T23_ = (NIM_BOOL)0;
44508 		T23_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 24));
44509 		if (!(T23_)) goto LA24_;
44510 		T25_ = (NIM_BOOL)0;
44511 		T25_ = isEmptyType__ast_4779((*result).typ);
44512 		T23_ = !(T25_);
44513 		LA24_: ;
44514 		if (!T23_) goto LA26_;
44515 		result = buildEchoStmt__sem_16718(c, result);
44516 	}
44517 	LA26_: ;
44518 	{
44519 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA30_;
44520 		appendToModule__ast_3540((*c).module, result);
44521 	}
44522 	LA30_: ;
44523 	trackStmt__sempass50_4915(c, (*c).module, result, NIM_TRUE);
44524 	return result;
44525 }
N_NIMCALL(void,recoverContext__sem_20740)44526 N_LIB_PRIVATE N_NIMCALL(void, recoverContext__sem_20740)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
44527 	asgnRef((void**) (&(*c).currentScope), (*c).topLevelScope);
44528 	{
44529 		while (1) {
44530 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
44531 			T3_ = NIM_NIL;
44532 			T3_ = getCurrOwner__semdata_315(c);
44533 			if (!!(((*T3_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA2;
44534 			popOwner__semdata_329(c);
44535 		} LA2: ;
44536 	}
44537 	{
44538 		while (1) {
44539 			NIM_BOOL T6_;
44540 			T6_ = (NIM_BOOL)0;
44541 			T6_ = !(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
44542 			if (!(T6_)) goto LA7_;
44543 			T6_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
44544 			LA7_: ;
44545 			if (!T6_) goto LA5;
44546 			asgnRef((void**) (&(*c).p), (*(*c).p).next);
44547 		} LA5: ;
44548 	}
44549 }
N_INLINE(Exception *,getCurrentException)44550 static N_INLINE(Exception*, getCurrentException)(void) {
44551 	Exception* result;
44552 	result = NIM_NIL;
44553 	result = currException__system_2566;
44554 	return result;
44555 }
N_INLINE(NIM_BOOL,isObjWithCache)44556 static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj, TNimType* subclass, TNimType** cache) {
44557 	NIM_BOOL result;
44558 {	result = (NIM_BOOL)0;
44559 	{
44560 		if (!(obj == subclass)) goto LA3_;
44561 		result = NIM_TRUE;
44562 		goto BeforeRet_;
44563 	}
44564 	LA3_: ;
44565 	{
44566 		if (!((*obj).base == subclass)) goto LA7_;
44567 		result = NIM_TRUE;
44568 		goto BeforeRet_;
44569 	}
44570 	LA7_: ;
44571 	{
44572 		if (!(cache[(((NI) 0))- 0] == obj)) goto LA11_;
44573 		result = NIM_FALSE;
44574 		goto BeforeRet_;
44575 	}
44576 	LA11_: ;
44577 	{
44578 		if (!(cache[(((NI) 1))- 0] == obj)) goto LA15_;
44579 		result = NIM_TRUE;
44580 		goto BeforeRet_;
44581 	}
44582 	LA15_: ;
44583 	result = isObjSlowPath__system_3313(obj, subclass, cache);
44584 	goto BeforeRet_;
44585 	}BeforeRet_: ;
44586 	return result;
44587 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,myProcess__sem_20754)44588 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myProcess__sem_20754)(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* context, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44589 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
44590 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44591 	result = NIM_NIL;
44592 	c = ((tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*) (context));
44593 	{
44594 		if (!((*(*(*c).graph).config).errorMax <= ((NI) 1))) goto LA3_;
44595 		result = semStmtAndGenerateGenerics__sem_20705(c, n);
44596 	}
44597 	goto LA1_;
44598 	LA3_: ;
44599 	{
44600 		NI oldContextLen;
44601 		NI oldInGenericInst;
44602 		TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_983;
44603 		oldContextLen = getInfoContextLen__msgs_476((*(*c).graph).config);
44604 		oldInGenericInst = (*c).inGenericInst;
44605 		pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_983);
44606 		TM__rF9caJawfOjYTjsgLVUSGFA_983.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_983.context);
44607 		if (TM__rF9caJawfOjYTjsgLVUSGFA_983.status == 0) {
44608 		result = semStmtAndGenerateGenerics__sem_20705(c, n);
44609 		popSafePoint();
44610 		}
44611 		else {
44612 			popSafePoint();
44613 			if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))||isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIesuggestdone__cDtWY9cE7zf8BAC5QcEZZkQ_))) {
44614 				TM__rF9caJawfOjYTjsgLVUSGFA_983.status = 0;
44615 				recoverContext__sem_20740(c);
44616 				(*c).inGenericInst = oldInGenericInst;
44617 				setInfoContextLen__msgs_483((*(*c).graph).config, oldContextLen);
44618 				{
44619 					Exception* T10_;
44620 					T10_ = NIM_NIL;
44621 					T10_ = getCurrentException();
44622 					if (!((T10_) && (isObjWithCache((*T10_).Sup.m_type, (&NTIesuggestdone__cDtWY9cE7zf8BAC5QcEZZkQ_), Nim_OfCheck_CACHE985)))) goto LA11_;
44623 					(*c).suggestionsMade = NIM_TRUE;
44624 					result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
44625 				}
44626 				goto LA8_;
44627 				LA11_: ;
44628 				{
44629 					result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
44630 				}
44631 				LA8_: ;
44632 				popCurrentException();
44633 			}
44634 		}
44635 		if (TM__rF9caJawfOjYTjsgLVUSGFA_983.status != 0) reraiseException();
44636 	}
44637 	LA1_: ;
44638 	storeRodNode__semdata_1178(c, result);
44639 	return result;
44640 }
N_NIMCALL(void,reportUnusedModules__sem_20768)44641 N_LIB_PRIVATE N_NIMCALL(void, reportUnusedModules__sem_20768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
44642 	{
44643 		NI i;
44644 		NI colontmp_;
44645 		NI T2_;
44646 		NI res;
44647 		i = (NI)0;
44648 		colontmp_ = (NI)0;
44649 		T2_ = (((*c).unusedImports ? (*c).unusedImports->Sup.len : 0)-1);
44650 		colontmp_ = T2_;
44651 		res = ((NI) 0);
44652 		{
44653 			while (1) {
44654 				if (!(res <= colontmp_)) goto LA4;
44655 				i = res;
44656 				{
44657 					if (!!((((*(*c).unusedImports->data[i].Field0).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0))&63U)))!=0))) goto LA7_;
44658 					liMessage__msgs_1118((*(*c).graph).config, (*c).unusedImports->data[i].Field1, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 36), (*(*(*c).unusedImports->data[i].Field0).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_985, NIM_FALSE);
44659 				}
44660 				LA7_: ;
44661 				res += ((NI) 1);
44662 			} LA4: ;
44663 		}
44664 	}
44665 }
N_NIMCALL(void,addCodeForGenerics__sem_20522)44666 N_LIB_PRIVATE N_NIMCALL(void, addCodeForGenerics__sem_20522)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44667 	NI T19_;
44668 	{
44669 		NI i;
44670 		NI colontmp_;
44671 		NI T2_;
44672 		NI i_2;
44673 		i = (NI)0;
44674 		colontmp_ = (NI)0;
44675 		T2_ = ((*c).generics ? (*c).generics->Sup.len : 0);
44676 		colontmp_ = T2_;
44677 		i_2 = (*c).lastGenericIdx;
44678 		{
44679 			while (1) {
44680 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
44681 				if (!(i_2 < colontmp_)) goto LA4;
44682 				i = i_2;
44683 				prc = (*(*c).generics->data[i].inst).sym;
44684 				{
44685 					NIM_BOOL T7_;
44686 					T7_ = (NIM_BOOL)0;
44687 					T7_ = ((94208 &((NU32)1<<((NU)((*prc).kind)&31U)))!=0);
44688 					if (!(T7_)) goto LA8_;
44689 					T7_ = ((*prc).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
44690 					LA8_: ;
44691 					if (!T7_) goto LA9_;
44692 					{
44693 						NIM_BOOL T13_;
44694 						NimStringDesc* T17_;
44695 						T13_ = (NIM_BOOL)0;
44696 						T13_ = ((*prc).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
44697 						if (T13_) goto LA14_;
44698 						T13_ = ((*(*prc).ast)._kind_6.sons->data[((NI) 6)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
44699 						LA14_: ;
44700 						if (!T13_) goto LA15_;
44701 						T17_ = NIM_NIL;
44702 						T17_ = rawNewString(((*(*prc).name).s ? (*(*prc).name).s->Sup.len : 0) + 12);
44703 appendString(T17_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_988));
44704 appendString(T17_, (*(*prc).name).s);
44705 						internalErrorImpl__msgs_1431((*(*c).graph).config, (*prc).info, T17_, TM__rF9caJawfOjYTjsgLVUSGFA_989);
44706 					}
44707 					goto LA11_;
44708 					LA15_: ;
44709 					{
44710 						add__ast_4797(n, (*prc).ast);
44711 					}
44712 					LA11_: ;
44713 				}
44714 				LA9_: ;
44715 				i_2 += ((NI) 1);
44716 			} LA4: ;
44717 		}
44718 	}
44719 	T19_ = ((*c).generics ? (*c).generics->Sup.len : 0);
44720 	(*c).lastGenericIdx = T19_;
44721 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,myClose__sem_20782)44722 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myClose__sem_20782)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* context, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44723 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44724 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44725 	result = NIM_NIL;
44726 	c = ((tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*) (context));
44727 	{
44728 		NIM_BOOL T3_;
44729 		T3_ = (NIM_BOOL)0;
44730 		T3_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11));
44731 		if (!(T3_)) goto LA4_;
44732 		T3_ = !((*c).suggestionsMade);
44733 		LA4_: ;
44734 		if (!T3_) goto LA5_;
44735 		suggestSentinel__sigmatch_6567(c);
44736 	}
44737 	LA5_: ;
44738 	closeScope__lookups_101(c);
44739 	rawCloseScope__lookups_99(c);
44740 	reportUnusedModules__sem_20768(c);
44741 	result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
44742 	{
44743 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
44744 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_986), TM__rF9caJawfOjYTjsgLVUSGFA_987);
44745 	}
44746 	LA9_: ;
44747 	addCodeForGenerics__sem_20522(c, result);
44748 	{
44749 		if (!!(((*(*c).module).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA13_;
44750 		add__ast_4797(result, (*(*c).module).ast);
44751 	}
44752 	LA13_: ;
44753 	popOwner__semdata_329(c);
44754 	popProcCon__semdata_389(c);
44755 	sealRodFile__semdata_3603(c);
44756 	return result;
44757 }
N_NIMCALL(void,compiler_semDatInit000)44758 N_LIB_PRIVATE N_NIMCALL(void, compiler_semDatInit000)(void) {
44759 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_362_3[3];
44760 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_374_2[2];
44761 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_809_2[2];
44762 static TNimNode TM__rF9caJawfOjYTjsgLVUSGFA_0[10];
44763 NTIobject__LF0eKAnygFo4etNDdpTetg_.size = sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg);
44764 NTIobject__LF0eKAnygFo4etNDdpTetg_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg);
44765 NTIobject__LF0eKAnygFo4etNDdpTetg_.kind = 17;
44766 NTIobject__LF0eKAnygFo4etNDdpTetg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44767 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[1];
44768 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].kind = 1;
44769 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, colonstate_);
44770 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44771 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].name = ":state";
44772 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[2];
44773 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].kind = 1;
44774 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, c1);
44775 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].typ = (&NTIpcontext__EjEifkTC8tg9afiUW4StSSA_);
44776 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].name = "c1";
44777 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[2] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[3];
44778 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].kind = 1;
44779 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, scope2);
44780 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].typ = (&NTIpscope__N89ckikRqMir57209a3tEeqw_);
44781 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].name = "scope2";
44782 TM__rF9caJawfOjYTjsgLVUSGFA_0[0].len = 3; TM__rF9caJawfOjYTjsgLVUSGFA_0[0].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[0].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_362_3[0];
44783 NTIobject__LF0eKAnygFo4etNDdpTetg_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[0];
44784 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.size = sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*);
44785 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*);
44786 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.kind = 22;
44787 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.base = (&NTIobject__LF0eKAnygFo4etNDdpTetg_);
44788 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.marker = Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ;
44789 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.size = sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw);
44790 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw);
44791 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.kind = 17;
44792 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44793 TM__rF9caJawfOjYTjsgLVUSGFA_374_2[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[5];
44794 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].kind = 1;
44795 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].offset = offsetof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw, colonstate_);
44796 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44797 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].name = ":state";
44798 TM__rF9caJawfOjYTjsgLVUSGFA_374_2[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[6];
44799 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].kind = 1;
44800 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].offset = offsetof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw, orig1);
44801 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
44802 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].name = "orig1";
44803 TM__rF9caJawfOjYTjsgLVUSGFA_0[4].len = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[4].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[4].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_374_2[0];
44804 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[4];
44805 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.size = sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*);
44806 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*);
44807 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.kind = 22;
44808 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.base = (&NTIobject__irrxU9bX4WBQP9bu3Q627FYw_);
44809 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.marker = Marker_tyRef__s6znTCfmZMSZG9absJgsa1w;
44810 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.size = sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ);
44811 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.align = NIM_ALIGNOF(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ);
44812 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.kind = 17;
44813 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44814 TM__rF9caJawfOjYTjsgLVUSGFA_809_2[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[8];
44815 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].kind = 1;
44816 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].offset = offsetof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ, colonstate_);
44817 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44818 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].name = ":state";
44819 TM__rF9caJawfOjYTjsgLVUSGFA_809_2[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[9];
44820 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].kind = 1;
44821 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].offset = offsetof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ, genericType1);
44822 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
44823 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].name = "genericType1";
44824 TM__rF9caJawfOjYTjsgLVUSGFA_0[7].len = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[7].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[7].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_809_2[0];
44825 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[7];
44826 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.size = sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*);
44827 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.align = NIM_ALIGNOF(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*);
44828 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.kind = 22;
44829 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.base = (&NTIobject__pOSGedHS6i9aexCYZEItHgQ_);
44830 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.marker = Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ;
44831 }
44832 
44833